diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 1a3df6462..fe4cd2c20 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -69,6 +69,10 @@ jobs: echo "VERSION=PACKAGE_VERSION" | cpp -P -imacros config.h | tr -d \" \ >> $GITHUB_ENV + - name: Build + run: | + make -C _build --jobs=$(($(nproc)+1)) + - name: Upload config.log uses: actions/upload-artifact@v4 if: failure() @@ -76,10 +80,6 @@ jobs: name: config-${{ matrix.os }}-${{ github.job }}.log path: _build/config.log - - name: Build - run: | - make -C _build --jobs=$(($(nproc)+1)) - # note: distcheck also creates the dist tarball - name: Build distribution archive & run tests run: | @@ -90,10 +90,10 @@ jobs: TESTSUITEFLAGS="--recheck --verbose" - name: Upload testsuite.log + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 - if: failure() with: - # Assume there's only one directory matching `_build/gnucobol-*`: + # Assume there's only one directory matching `build/gnucobol-*`: name: testsuite-${{ matrix.os }}-${{ github.job }}.log path: _build/gnucobol-${{ env.VERSION }}/_build/sub/tests/testsuite.log @@ -128,6 +128,35 @@ jobs: _build/tests/cobol85/**/*.out _build/tests/cobol85/**/duration.txt + trigger-more-workflows: + runs-on: ubuntu-latest + needs: build + steps: + - name: Get current workflow run ID + run: echo "RUN_ID=$GITHUB_RUN_ID" >> $GITHUB_ENV + + - name: Get the Current Branch + id: get_branch + run: | + # If the workflow was triggered by a pull request + if [ "${{ github.event.workflow_run.head_branch }}" ]; then + echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV + else + # Extract the branch name from ref (for push events) + echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV + fi + + - name: Trigger additional Workflows via API + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: ${{ env.BRANCH }} + run: | + curl -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + https://api.github.com/repos/${{ github.repository }}/actions/workflows/windows-msys1.yml/dispatches \ + -d '{"ref":"'"$BRANCH"'", "inputs": {"run_id": "'"${{ github.run_id }}"'"}}' + minmal_build: name: Build and test with minimal dependencies strategy: @@ -162,25 +191,25 @@ jobs: --without-xml2 --without-json \ --without-iconv --disable-nls + - name: Build + run: | + make -C _build --jobs=$(($(nproc)+1)) + - name: Upload config.log - uses: actions/upload-artifact@v4 if: failure() + uses: actions/upload-artifact@v4 with: name: config-${{ matrix.os }}-${{ github.job }}.log path: _build/config.log - - name: Build - run: | - make -C _build --jobs=$(($(nproc)+1)) - - name: run internal tests run: | make -C _build check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" || \ make -C _build check TESTSUITEFLAGS="--recheck --verbose" - name: Upload testsuite.log + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 - if: failure() with: name: testsuite-${{ matrix.os }}-${{ github.job }}.log path: _build/tests/testsuite.log @@ -199,6 +228,7 @@ jobs: --jobs=$(($(nproc)+1)) - name: Upload NIST85 Test Suite results + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 with: name: NIST85 results on ${{ matrix.os }}-${{ github.job }} @@ -211,24 +241,25 @@ jobs: coverage: name: Coverage and Warnings + needs: build runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - # note: less dependencies as we don't generate a dist tarball, one additional for lcov - name: Install dependencies run: | - sudo apt-get install automake libtool libdb5.3-dev libxml2-dev \ - libcjson-dev bison flex help2man gettext lcov + sudo apt-get install libdb5.3-dev libxml2-dev libcjson-dev lcov - - name: Bootstrap - run: | - ./build_aux/bootstrap + - name: Get CI dist tarball + uses: actions/download-artifact@v4 + with: + name: gnucobol-ci source distribution - name: Build environment setup run: | + tar -xvf gnucobol*.tar.* --strip-components=1 mkdir _build export TERM="vt100" echo "TERM=$TERM" >> $GITHUB_ENV @@ -241,20 +272,21 @@ jobs: run: | cd _build ../configure --enable-code-coverage \ + --with-db --with-xml2 --with-json=cjson --with-curses=ncursesw \ CPPFLAGS="-Werror=declaration-after-statement" \ CC="gcc -std=c89" + - name: Build + run: | + make -C _build --jobs=$(($(nproc)+1)) + - name: Upload config.log - uses: actions/upload-artifact@v4 if: failure() + uses: actions/upload-artifact@v4 with: name: config-${{ matrix.os }}-${{ github.job }}.log path: _build/config.log - - name: Build - run: | - make -C _build --jobs=$(($(nproc)+1)) - - name: Coverage run: | # make -C _build check-code-coverage # <- (ignores errors) @@ -264,8 +296,8 @@ jobs: CODE_COVERAGE_DIRECTORY="$(realpath .)/_build" - name: Upload testsuite.log + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 - if: failure() with: name: testsuite-${{ matrix.os }}-${{ github.job }}.log path: _build/tests/testsuite.log @@ -301,7 +333,7 @@ jobs: path: _build/extended-coverage - name: Upload coverage to codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 with: # token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos directory: _build diff --git a/.github/workflows/windows-msys1.yml b/.github/workflows/windows-msys1.yml index 67f3801c6..492d2c641 100644 --- a/.github/workflows/windows-msys1.yml +++ b/.github/workflows/windows-msys1.yml @@ -1,57 +1,72 @@ name: Windows MSYS1 Workflow on: - pull_request: - branches: [ gcos4gnucobol-3.x ] - push: - # manual run in actions tab - for all branches workflow_dispatch: - -env: - MSYS_ROOT: C:\MinGW - MSYS_BIN: C:\MinGW\msys\1.0\bin - BISON_PKGDATADIR: C:\MinGW\share\bison - - M4: m4 - - MSYSTEM: MINGW32 - MSYSPKGS: msys-m4 msys-flex msys-coreutils msys-help2man - - MINGW_BISON_VERS: bison-3.0.1 - MINGW_GMP_VERS: gmp-6.3.0 - MINGW_BDB_VERS: db-6.0.19.NC - MINGW_PDCM_VERS: 4.4.0 - MINGW_CJSON_VERS: 1.7.18 - MINGW_XML2_VERS: 2.8.0 + inputs: + run_id: + description: 'The run ID of the workflow providing the CI tarball' + required: true defaults: run: shell: cmd jobs: - build: + + msys_build_test_createdist: + + runs-on: windows-latest + timeout-minutes: 30 + + env: + MSYS_ROOT: C:\MinGW + MSYS_BIN: C:\MinGW\msys\1.0\bin + #BISON_PKGDATADIR: C:\MinGW\share\bison + + M4: m4 + + MSYSTEM: MINGW32 + MSYSPKGS: msys-m4 msys-flex msys-coreutils msys-help2man msys-bison msys-patch + # GC4+: + #MSYSPKGS: msys-m4 msys-flex msys-coreutils msys-help2man + #MINGW_BISON_VERS: bison-3.6 # minimal for GC 4.x+ + MINGW_GMP_VERS: gmp-6.3.0 # always update for performance reasons + MINGW_BDB_VERS: db-6.0.19.NC + MINGW_PDCM_VERS: 4.4.0 + MINGW_CJSON_VERS: 1.7.18 + MINGW_XML2_VERS: 2.8.0 + strategy: fail-fast: false matrix: - os: - - windows-latest - arch: - - x86 target: - debug - release - runs-on: ${{ matrix.os }} - timeout-minutes: 45 steps: - - name: Set git user - run: | - git config --global user.name github-actions - git config --global user.email github-actions-bot@users.noreply.github.com + #- name: Set git user + # run: | + # git config --global user.name github-actions + # git config --global user.email github-actions-bot@users.noreply.github.com - - name: Checkout code - uses: actions/checkout@v4 + #- name: Checkout code + # uses: actions/checkout@v4 + + - name: Get CI dist tarball + uses: actions/download-artifact@v4 + with: + name: gnucobol-ci source distribution + run-id: ${{ github.event.inputs.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + #- name: Display structure of downloaded files + # run: ls -R + + - name: Build environment setup + run: | + bash -lc "tar -xvf gnucobol*.tar.* --strip-components=1" + mkdir _build - name: Setup environment shell: pwsh @@ -67,61 +82,147 @@ jobs: echo CFGOPT="--enable-debug --enable-cobc-internal-checks --enable-hardening" >> $env:GITHUB_ENV } + - name: Restore MSYS1 cache id: restore-msys uses: actions/cache/restore@v4 with: - key: cache-msys-${{ matrix.target }} + key: cache-msys path: ${{ env.MSYS_ROOT }} - name: Install MSYS1 if: steps.restore-msys.outputs.cache-hit != 'true' run: | curl -O https://www.arnoldtrembley.com/MinGW-bkup02.7z - 7z x MinGW-bkup02.7z -o%MSYS_ROOT%\ + 7z x -y MinGW-bkup02.7z -o%MSYS_ROOT%\ - name: Install MSYS1 packages if: steps.restore-msys.outputs.cache-hit != 'true' run: | bash -lc "mingw-get install %MSYSPKGS%" - - name: Install Bison 3.0 + - name: Cleanup MSYS1 env if: steps.restore-msys.outputs.cache-hit != 'true' run: | - curl -L https://mirror.ibcp.fr/pub/gnu/bison/%MINGW_BISON_VERS%.tar.xz -o %MINGW_BISON_VERS%.tar.xz - tar -xvf %MINGW_BISON_VERS%.tar.xz - bash -lc "cd %MINGW_BISON_VERS% && ./configure --prefix=/mingw && make" - bash -lc "cd %MINGW_BISON_VERS% && make install" + rmdir /Q /S %MSYS_ROOT%\docs + rmdir /Q /S %MSYS_ROOT%\var + del /Q %MSYS_ROOT%\bin\gdb.exe + + - name: Save MSYS1 cache + if: steps.restore-msys.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + key: cache-msys + path: ${{ env.MSYS_ROOT }} + - # Note: actually unavailable, so skip (works with the GMP alredy provided) - # - name: Install GMP - # if: steps.restore-msys.outputs.cache-hit != 'true' + # - name: Restore Bison cache + # id: restore-bison + # uses: actions/cache/restore@v4 + # with: + # key: cache-msys-bison + # path: ${{ env.MINGW_BISON_VERS }} + + # - name: Install Bison + # if: steps.restore-bison.outputs.cache-hit != 'true' # run: | - # curl -L https://gmplib.org/download/gmp/%MINGW_GMP_VERS%.tar.xz -o %MINGW_GMP_VERS%.tar.xz - # tar -xvf %MINGW_GMP_VERS%.tar.xz - # bash -lc "cd %MINGW_GMP_VERS% && ./configure --prefix=/mingw --enable-fat --enable-shared --disable-static CFLAGS=\"-Wno-attributes -Wno-ignored-attributes\" ABI=32 && make" - # bash -lc "cd %MINGW_GMP_VERS% && make install" + # curl -L https://ftp.gnu.org/gnu/bison/%MINGW_BISON_VERS%.tar.gz -o %MINGW_BISON_VERS%.tar.gz + # tar -xvf %MINGW_BISON_VERS%.tar.gz + # bash -lc "cd %MINGW_BISON_VERS% && ./configure --prefix=/mingw && make" - - name: Install BDB - if: steps.restore-msys.outputs.cache-hit != 'true' + # - name: Install Bison + # run: | + # bash -lc "make -C %MINGW_BISON_VERS% install" + + # - name: Save Bison cache + # if: steps.restore-bison.outputs.cache-hit != 'true' + # uses: actions/cache/save@v4 + # with: + # key: cache-msys-bison + # path: ${{ env.MINGW_BISON_VERS }} + + + - name: Restore GMP cache + id: restore-gmp + uses: actions/cache/restore@v4 + with: + key: cache-msys-gmp + path: ${{ env.MINGW_GMP_VERS }} + + - name: Build GMP + if: steps.restore-gmp.outputs.cache-hit != 'true' + run: | + rem note: MSYS1 cannot connect to https://gmplib.org, so using GNU mirror side instead + curl -L https://ftp.gnu.org/gnu/gmp/%MINGW_GMP_VERS%.tar.xz -o %MINGW_GMP_VERS%.tar.xz + tar -xvf %MINGW_GMP_VERS%.tar.xz + bash -lc "cd %MINGW_GMP_VERS% && ./configure --prefix=/mingw --enable-fat --enable-shared --disable-static CFLAGS=\"-Wno-attributes -Wno-ignored-attributes\" ABI=32 && make --jobs=$(($(nproc)+1))" + + - name: Install GMP + run: | + bash -lc "make -C %MINGW_GMP_VERS% install" + + - name: Save GMP cache + if: steps.restore-gmp.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + key: cache-msys-gmp + path: ${{ env.MINGW_GMP_VERS }} + + + - name: Restore BDB cache + id: restore-bdb + uses: actions/cache/restore@v4 + with: + key: cache-msys-bdb + path: ${{ env.MINGW_BDB_VERS }} + + - name: Build BDB + if: steps.restore-bdb.outputs.cache-hit != 'true' run: | curl -L https://download.oracle.com/berkeley-db/%MINGW_BDB_VERS%.tar.gz -o %MINGW_BDB_VERS%.tar.gz + curl -L https://raw.githubusercontent.com/msys2/MINGW-packages/refs/heads/master/mingw-w64-db/0001-db-tls-m4-fix-pthread.patch -o db-tls-m4-fix-pthread.patch + curl -L https://raw.githubusercontent.com/msys2/MINGW-packages/refs/heads/master/mingw-w64-db/mingw.patch -o mingw.patch + curl -L https://raw.githubusercontent.com/msys2/MINGW-packages/refs/heads/master/mingw-w64-db/cclang_cxx_11.patch -o cx11.patch tar -xvf %MINGW_BDB_VERS%.tar.gz - sed -i 's/_tcsclen/strlen/' %MINGW_BDB_VERS%\src\os_windows\os_stat.c - bash -lc "cd %MINGW_BDB_VERS%/build_unix && ../dist/configure --prefix=/mingw --enable-mingw --enable-debug --disable-static --disable-replication --disable-tcl LIBCSO_LIBS=-lwsock32 && make || make" - bash -lc "cd %MINGW_BDB_VERS%/build_unix && make install" + sed -i 's/_tcsclen/_mbslen/' %MINGW_BDB_VERS%\src\os_windows\os_stat.c + bash -lc "cd %MINGW_BDB_VERS% && patch -p1 -i ../db-tls-m4-fix-pthread.patch" + bash -lc "cd %MINGW_BDB_VERS% && patch -p1 -i ../mingw.patch" + bash -lc "cd %MINGW_BDB_VERS% && patch -p1 -i ../cx11.patch" + bash -lc "cd %MINGW_BDB_VERS%/build_unix && ../dist/configure --prefix=/mingw --enable-mingw --enable-debug --disable-static --disable-replication --disable-tcl --without-cryptography LIBCSO_LIBS=-lwsock32 && make --jobs=$(($(nproc)+1))" - - name: Install PDCurses - if: steps.restore-msys.outputs.cache-hit != 'true' + - name: Install BDB + run: | + bash -lc "make -C %MINGW_BDB_VERS%/build_unix install" + + - name: Save BDB cache + if: steps.restore-bdb.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + key: cache-msys-bdb + path: ${{ env.MINGW_BDB_VERS }} + + + - name: Restore PDCursesMod cache + id: restore-pdcm + uses: actions/cache/restore@v4 + with: + key: cache-msys-pdcm + path: PDCursesMod-${{ env.MINGW_PDCM_VERS }} + + - name: Build PDCursesMod + if: steps.restore-pdcm.outputs.cache-hit != 'true' run: | curl -L https://github.com/Bill-Gray/PDCursesMod/archive/refs/tags/v%MINGW_PDCM_VERS%.tar.gz -o "PDCursesMod-%MINGW_PDCM_VERS%.tar.xz" tar -xvf PDCursesMod-%MINGW_PDCM_VERS%.tar.xz - bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS%\wincon && make INFOEX=N CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll" - bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS%\wingui && make CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll" - bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS%\vt && make CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll CFLAGS=\"-Wall -Wextra -pedantic -g -DPDCDEBUG -fPIC -DPDC_DLL_BUILD\"" + bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && make -C wincon --jobs=$(($(nproc)+1)) INFOEX=N CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll" + bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && make -C wingui --jobs=$(($(nproc)+1)) CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll" + bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && make -C vt --jobs=$(($(nproc)+1)) CHTYPE_64=Y DEBUG=Y DLL=Y DLLNAME=libpdcurses LIBNAME=libpdcurses.dll CFLAGS=\"-Wall -Wextra -pedantic -g -DPDCDEBUG -fPIC -DPDC_DLLbuild\"" echo #define CHTYPE_64 > PDCursesMod-%MINGW_PDCM_VERS%\pdcurses.h - echo #define PDC_DLL_BUILD >> PDCursesMod-%MINGW_PDCM_VERS%\pdcurses.h + echo #define PDC_DLLbuild >> PDCursesMod-%MINGW_PDCM_VERS%\pdcurses.h echo #include "pdcurses/curses.h" >> PDCursesMod-%MINGW_PDCM_VERS%\pdcurses.h + + - name: Install PDCursesMod + run: | bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && install wincon/libpdcurses.dll.a /mingw/lib/" bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && install wincon/libpdcurses.dll /mingw/bin/" bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && install wincon/libpdcurses.dll /mingw/bin/libpdcurses-wincon.dll" @@ -131,115 +232,130 @@ jobs: bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && install -m 0644 curses.h panel.h term.h /mingw/include/pdcurses/" bash -lc "cd PDCursesMod-%MINGW_PDCM_VERS% && install -m 0644 pdcurses.h /mingw/include/" - - name: Install LibXML2 - if: steps.restore-msys.outputs.cache-hit != 'true' + - name: Save PDCursesMod cache + if: steps.restore-pdcm.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + key: cache-msys-pdcm + path: PDCursesMod-${{ env.MINGW_PDCM_VERS }} + + + - name: Restore LibXML2 cache + id: restore-xml2 + uses: actions/cache/restore@v4 + with: + key: cache-msys-xml2 + path: libxml2-${{ env.MINGW_XML2_VERS }} + + - name: Build LibXML2 + if: steps.restore-xml2.outputs.cache-hit != 'true' run: | curl -L https://github.com/GNOME/libxml2/archive/refs/tags/v%MINGW_XML2_VERS%.tar.gz -o libxml2-%MINGW_XML2_VERS%.tar.xz tar -xvf libxml2-%MINGW_XML2_VERS%.tar.xz bash -lc "cd libxml2-%MINGW_XML2_VERS% && ./autogen.sh" - bash -lc "cd libxml2-%MINGW_XML2_VERS% && ./configure --prefix=/mingw && make" - bash -lc "cd libxml2-%MINGW_XML2_VERS% && make install" + bash -lc "cd libxml2-%MINGW_XML2_VERS% && ./configure --prefix=/mingw --enable-debug && make --jobs=$(($(nproc)+1))" - - name: Cleanup MSYS1 env - if: steps.restore-msys.outputs.cache-hit != 'true' + - name: Install LibXML2 run: | - rmdir /Q /S %MSYS_ROOT%\docs - rmdir /Q /S %MSYS_ROOT%\var - del /Q %MSYS_ROOT%\bin\gdb.exe + bash -lc "make -C libxml2-%MINGW_XML2_VERS% install" - - name: Save MSYS1 cache - if: steps.restore-msys.outputs.cache-hit != 'true' + - name: Save LibXML2 cache + if: steps.restore-xml2.outputs.cache-hit != 'true' uses: actions/cache/save@v4 with: - key: cache-msys-${{ matrix.target }} - path: ${{ env.MSYS_ROOT }} + key: cache-msys-xml2 + path: libxml2-${{ env.MINGW_XML2_VERS }} - - name: Download CJSON sources - run: | - curl -L https://github.com/DaveGamble/cJSON/archive/refs/tags/v%MINGW_CJSON_VERS%.tar.gz -o cjson-%MINGW_CJSON_VERS%.tar.xz - tar -xvf cjson-%MINGW_CJSON_VERS%.tar.xz - copy cjson-%MINGW_CJSON_VERS%\cJSON.* .\libcob - - name: Bootstrap GnuCOBOL + - name: get cJSON run: | - sed -i 's/AM_PROG_AR/m4_ifdef\(\[AM_PROG_AR\], \[AM_PROG_AR\]\)/g' .\configure.ac - sed -i 's/po extras doc tests/po extras tests/g' .\Makefile.am - bash -lc "./autogen.sh" + curl -L https://raw.githubusercontent.com/DaveGamble/cJSON/v%MINGW_CJSON_VERS%/cJSON.c -o .\libcob\cJSON.c + curl -L https://raw.githubusercontent.com/DaveGamble/cJSON/v%MINGW_CJSON_VERS%/cJSON.h -o .\libcob\cJSON.h + + + # - name: Bootstrap GnuCOBOL + # run: | + # sed -i 's/AM_PROG_AR/m4_ifdef\(\[AM_PROG_AR\], \[AM_PROG_AR\]\)/g' .\configure.ac + # sed -i 's/po extras doc tests/po extras tests/g' .\Makefile.am + # bash -lc "./autogen.sh" - name: Configure GnuCOBOL run: | - mkdir _build - sed -i 'N;s/else/else :;/g' .\configure - sed -i 's/\} else \:;/} else/g' .\configure - sed -i 's/#else \:;/#else/g' .\configure - bash -lc "cd _build && CFLAGS=\"-I ../libcob\" ../configure %CFGOPT% --with-db --prefix=/opt/cobol/gnucobol" + bash -lc "cd _build && ../configure %CFGOPT% --with-db --with-xml2 --with-json=local --with-curses=pdcurses --prefix=/mingw" + rem Note: GC4 may need CPPFLAGS="-I../libcob" for local cJSON + + - name: Build GnuCOBOL + run: | + bash -lc "CPATH=$(pwd) make -C _build --jobs=$(($(nproc)+1))" + rem Note: the extra CPATH above is only required in debug builds (otherwise gcc invoked from cobc does not find libcob.h [pre-inst-env]), for some reason... - name: Upload config-${{ matrix.target }}.log - uses: actions/upload-artifact@v4 if: failure() + uses: actions/upload-artifact@v4 with: name: config-${{ matrix.target }}.log - path: ${{ env.GITHUB_WORKSPACE }}/_build/config.log + path: _build/config.log - - name: Build GnuCOBOL - run: | - bash -lc "cd _build && CPATH=$(pwd)/.. make --jobs=$(($(nproc)+1))" - -# Note: the extra CPATH above is only required in debug builds, for some reason... - - - name: Install GnuCOBOL + - name: Run testsuite run: | - bash -lc "cd _build && make install" - bash -lc "cd _build && find /opt/cobol > install.log" + rem skip test as it sometimes works and sometimes not... + rem instead of + rem sed -i '/AT_SETUP(\[temporary path invalid\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/used_binaries.at + rem use (same name can only be used one time!) + sed -i '/^ "temporary path invalid"/a at_fn_check_skip 77 workflow:1' tests/testsuite + + rem change to expected fail if there's an error specific to the CI that we don't want to change + rem in the testsuite for expected result (should normally only be a temporary thing) + rem instead of + rem sed -i '/AT_SETUP(\[Compare FLOAT-LONG with floating-point literal\])/a AT_XFAIL_IF(\[true\])' tests/testsuite.src/run_fundamental.at + rem use + rem sed -i '/run_fundamental.at/{N;/Compare FLOAT-LONG with floating-point literal/{N;s/at_xfail=no/at_xfail=yes/;}}' tests/testsuite + + bash -lc "CPATH=$(pwd) make -C _build/tests check TESTSUITEFLAGS=\"--jobs=$(($(nproc)+1))\"" + rem Note: the extra CPATH above is only required in debug builds (otherwise gcc invoked from cobc does not find libcob.h [atlocal]), for some reason... - - name: Upload install-${{ matrix.target }}.log + - name: Upload testsuite-${{ matrix.target }}.log + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 with: - name: install-${{ matrix.target }}.log - path: ${{ env.GITHUB_WORKSPACE }}/_build/install.log + name: testsuite-${{ matrix.target }}.log + path: _build/tests/testsuite.log - - name: Run testsuite + - name: Cache newcob.val + uses: actions/cache@v4 + with: + path: _build/tests/cobol85/newcob.val + key: newcob-val + save-always: true + enableCrossOsArchive: true + + - name: Run NIST85 testsuite + # if we ever need to disable something in the tests: skip like here IF106A + # and later expect a failure + # perl -pi -e 's/^# OBNC1M/\$skip{IF106A} = 1; # OBNC1M/' tests/cobol85/report.pl + # bash -lc "CPATH=$(pwd) make -C _build/tests test --jobs=$(($(nproc)+1)) || echo \"WARNING: NIST85 did not pass!\"" run: | - sed -i '/AT_SETUP(\[temporary path invalid\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/used_binaries.at - - sed -i '/AT_SETUP(\[Compare FLOAT-LONG with floating-point literal\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_fundamental.at - sed -i '/AT_SETUP(\[Numeric operations (3) PACKED-DECIMAL\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_fundamental.at - sed -i '/AT_SETUP(\[Numeric operations (7)\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_fundamental.at - sed -i '/AT_SETUP(\[integer arithmetic on floating-point var\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_fundamental.at - sed -i '/AT_SETUP(\[FLOAT-DECIMAL w\/o SIZE ERROR\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_misc.at - sed -i '/AT_SETUP(\[FLOAT-SHORT \/ FLOAT-LONG w\/o SIZE ERROR\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_misc.at - sed -i '/AT_SETUP(\[FLOAT-LONG with SIZE ERROR\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_misc.at - sed -i '/AT_SETUP(\[FUNCTION ANNUITY\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_functions.at - sed -i '/AT_SETUP(\[FUNCTION INTEGER\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_functions.at - sed -i '/AT_SETUP(\[FUNCTION MOD (valid)\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_functions.at - sed -i '/AT_SETUP(\[FUNCTION SECONDS-FROM-FORMATTED-TIME\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_functions.at - sed -i '/AT_SETUP(\[GCOS floating-point usages\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/run_extensions.at - sed -i '/AT_SETUP(\[BINARY: 64bit unsigned arithmetic notrunc\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/data_binary.at - sed -i '/AT_SETUP(\[DISPLAY: ADD and SUBTRACT w\/o SIZE ERROR\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/data_display.at - sed -i '/AT_SETUP(\[DISPLAY: ADD and SUBTRACT, all ROUNDED MODEs\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/data_display.at - sed -i '/AT_SETUP(\[BCD ADD and SUBTRACT w\/o SIZE ERROR\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/data_packed.at - sed -i '/AT_SETUP(\[BCD ADD and SUBTRACT, all ROUNDED MODEs\])/a AT_SKIP_IF(\[true\])' tests/testsuite.src/data_packed.at - - bash -lc "cd _build/tests && CPATH=/opt/cobol/gnucobol/include make check TESTSUITEFLAGS=\"--jobs=$(($(nproc)+1))\"" - -# Note: the extra CPATH above is only required in debug builds, for some reason... - -# The NIST testsuite hangs forever in IF -# bash -lc "CPATH=/opt/cobol/gnucobol/include make test" + bash -lc "CPATH=$(pwd) make -C _build/tests test --jobs=$(($(nproc)+1))" + rem Note: the extra CPATH above is only required in debug builds (otherwise gcc invoked from cobc does not find libcob.h [atlocal]), for some reason... - - name: Upload testsuite-${{ matrix.target }}.log + - name: Upload NIST85 Test Suite results + if: ${{ ! cancelled() }} #-> always upload as build result documentation uses: actions/upload-artifact@v4 - if: failure() with: - name: testsuite-${{ matrix.target }}.log - path: ${{ env.GITHUB_WORKSPACE }}/_build/tests/testsuite.log + name: NIST85 results on ${{ matrix.target }} + path: | + _build/tests/cobol85/summary.* + _build/tests/cobol85/**/*.log + _build/tests/cobol85/**/*.out + _build/tests/cobol85/**/duration.txt + - name: Package GnuCOBOL run: | - bash -lc "cd _build && make distmingw" + bash -lc "make -C _build distmingw" - name: Upload GnuCOBOL_mingw-${{ matrix.target }} uses: actions/upload-artifact@v4 with: name: GnuCOBOL_mingw-${{ matrix.target }} - path: ${{ env.GITHUB_WORKSPACE }}/_build/${{ env.DISTDIR }} + path: _build/${{ env.DISTDIR }} diff --git a/cobc/typeck.c b/cobc/typeck.c index 3f87068dd..3c8820ba6 100644 --- a/cobc/typeck.c +++ b/cobc/typeck.c @@ -4688,9 +4688,7 @@ create_implicit_assign_dynamic_var (struct cb_program * const prog, _("variable '%s' will be implicitly defined"), CB_NAME (assign)); x = cb_build_implicit_field (assign, COB_FILE_MAX); p = CB_FIELD (x); -#if 0 - p->count++; -#endif + p->count = 1; x = CB_TREE (build_literal (CB_CATEGORY_ALPHANUMERIC, assign_name, strlen (assign_name))); p->values = CB_LIST_INIT (x); CB_FIELD_ADD (prog->working_storage, p); @@ -4716,6 +4714,7 @@ process_undefined_assign_name (struct cb_file * const f, if (cb_implicit_assign_dynamic_var) { cb_verify_x (CB_TREE (f), cb_assign_variable, _("ASSIGN [TO] variable in SELECT")); create_implicit_assign_dynamic_var (prog, assign); + cobc_xref_link(struct cb_xref *, const int, const int) } else { /* Remove reference */ for (l = prog->reference_list; diff --git a/tests/SYSUT2 b/tests/SYSUT2 new file mode 100644 index 000000000..e69de29bb diff --git a/tests/bug b/tests/bug new file mode 100755 index 000000000..51fbb6ab4 Binary files /dev/null and b/tests/bug differ diff --git a/tests/bug.c b/tests/bug.c new file mode 100644 index 000000000..c9c927ac5 --- /dev/null +++ b/tests/bug.c @@ -0,0 +1,365 @@ +/* Generated by cobc 3.3-dev.0 */ +/* Generated from bug.cob */ +/* Generated at Sep 30 2024 13:24:03 */ +/* GnuCOBOL build date Sep 30 2024 13:00:23 */ +/* GnuCOBOL package date Sep 30 2024 13:00:15 UTC */ +/* Compile command /workspace/gnucobol/build/cobc/.libs/cobc -xgj --verbose bug.cob */ + +#include /* for memcpy, memcmp and friends */ +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "bug.cob" +#define COB_PACKAGE_VERSION "3.3-dev" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "Sep 30 2024 13:24:03" +#define COB_MODULE_DATE 20240930 +#define COB_MODULE_TIME 132403 + +/* Global variables */ +#include "bug.c.h" + +/* Function prototypes */ + +static int bug988 (); +static int bug988_ (const int); +static void bug988_module_init (cob_module *module); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (bug988 ()); +} + +/* Functions */ + +static void gc_module_so_init () __attribute__ ((constructor)); +static void gc_module_so_init () +{ + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); +} + +/* PROGRAM-ID 'bug988' */ + +/* ENTRY 'bug988' */ + +static int +bug988 () +{ + return bug988_ (0); +} + +static int +bug988_ (const int entry) +{ + /* Program local variables */ + #include "bug.c.l.h" + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -10) + goto P_dump; + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + frame_ptr->return_address_ptr = &&P_cgerror; + frame_overflow = frame_ptr + 255 - 1; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 18 : Entry bug988 : bug.cob */ + l_2:; +#line 18 "bug.cob" + ENTRY_BUG988: cob_nop (); +#line 105 "bug.c" + + /* Line: 18 : OPEN : bug.cob */ +#line 18 "bug.cob" + cob_nop (); +#line 110 "bug.c" + cob_open (h_SYSUT2_FILE, COB_OPEN_OUTPUT, 0, NULL); + if (unlikely(cob_glob_ptr->cob_exception_code != 0)) + { + /* USE PROCEDURE Default Error Handler */ + frame_ptr++; + if (unlikely(frame_ptr == frame_overflow)) + cob_fatal_error (COB_FERROR_STACK); + frame_ptr->perform_through = 1; + frame_ptr->return_address_ptr = &&l_5; + goto l_1; + l_5: + frame_ptr--; + } + + /* Line: 19 : DISPLAY : bug.cob */ +#line 19 "bug.cob" + cob_nop (); +#line 128 "bug.c" + cob_display (0, 1, 1, &c_1); + + /* Line: 24 : MOVE : bug.cob */ +#line 24 "bug.cob" + cob_nop (); +#line 134 "bug.c" + cob_set_packed_int (COB_SET_FLD (f0, 2, b_20 + 2LL * 1LL, &a_2), 3); + + /* Line: 26 : CLOSE : bug.cob */ +#line 26 "bug.cob" + cob_nop (); +#line 140 "bug.c" + cob_close (h_SYSUT2_FILE, NULL, 0, 0); + if (unlikely(cob_glob_ptr->cob_exception_code != 0)) + { + /* USE PROCEDURE Default Error Handler */ + frame_ptr++; + if (unlikely(frame_ptr == frame_overflow)) + cob_fatal_error (COB_FERROR_STACK); + frame_ptr->perform_through = 1; + frame_ptr->return_address_ptr = &&l_6; + goto l_1; + l_6: + frame_ptr--; + } + + /* Line: 28 : OPEN : bug.cob */ +#line 28 "bug.cob" + cob_nop (); +#line 158 "bug.c" + cob_open (h_SYSUT2_FILE, COB_OPEN_INPUT, 0, NULL); + if (unlikely(cob_glob_ptr->cob_exception_code != 0)) + { + /* USE PROCEDURE Default Error Handler */ + frame_ptr++; + if (unlikely(frame_ptr == frame_overflow)) + cob_fatal_error (COB_FERROR_STACK); + frame_ptr->perform_through = 1; + frame_ptr->return_address_ptr = &&l_7; + goto l_1; + l_7: + frame_ptr--; + } + + /* Line: 29 : DISPLAY : bug.cob */ +#line 29 "bug.cob" + cob_nop (); +#line 176 "bug.c" + cob_display (0, 1, 1, &c_2); + + /* Line: 30 : CLOSE : bug.cob */ +#line 30 "bug.cob" + cob_nop (); +#line 182 "bug.c" + cob_close (h_SYSUT2_FILE, NULL, 0, 0); + if (unlikely(cob_glob_ptr->cob_exception_code != 0)) + { + /* USE PROCEDURE Default Error Handler */ + frame_ptr++; + if (unlikely(frame_ptr == frame_overflow)) + cob_fatal_error (COB_FERROR_STACK); + frame_ptr->perform_through = 1; + frame_ptr->return_address_ptr = &&l_8; + goto l_1; + l_8: + frame_ptr--; + } + + /* Line: 32 : DISPLAY : bug.cob */ +#line 32 "bug.cob" + cob_nop (); +#line 200 "bug.c" + cob_display (0, 1, 1, &c_3); + + /* Line: 33 : GOBACK : bug.cob */ +#line 33 "bug.cob" + cob_nop (); +#line 206 "bug.c" + goto exit_program; + + /* Program exit */ + + exit_program: + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + + /* Line: 0 : Paragraph Default Error Handler : bug.cob */ + l_1:; + + if (!(cob_glob_ptr->cob_error_file->flag_select_features & COB_SELECT_FILE_STATUS)) + cob_fatal_error (COB_FERROR_FILE); + + /* Implicit Default Error Handler return */ + if (frame_ptr->perform_through == 1) + goto *frame_ptr->return_address_ptr; + + /* Fatal error if reached */ + cob_fatal_error (COB_FERROR_CODEGEN); + + P_cgerror: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + bug988_module_init (module); + + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->xml_code = NULL; + module->xml_event = NULL; + module->xml_information = NULL; + module->xml_namespace = NULL; + module->xml_namespace_prefix = NULL; + module->xml_nnamespace = NULL; + module->xml_nnamespace_prefix = NULL; + module->xml_ntext = NULL; + module->xml_text = NULL; + module->json_code = NULL; + module->json_status = NULL; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + /* initialize field RETURN-CODE */ + b_2 = 0; + + /* initialize SOME-VAR: init first record */ + { + /* initialize field SOME-VAR */ +#line 15 "bug.cob" + cob_nop (); +#line 276 "bug.c" + cob_set_packed_zero (COB_SET_FLD (f0, 2, b_20, &a_2)); + /* initialize SOME-VAR: copy initialized record to later occurrences */ + { + cob_u8_ptr b_ptr = b_20; + memcpy (b_ptr + 2, b_ptr, 2); /* SOME-VAR: 2 thru 2 */ + } + } + + + /* File initialization for SYSUT2-FILE */ + cob_file_malloc (&h_SYSUT2_FILE, NULL, 0, 0); + h_SYSUT2_FILE->select_name = (const char *)"SYSUT2-FILE"; + h_SYSUT2_FILE->file_status = h_SYSUT2_FILE_status; + memset (h_SYSUT2_FILE_status, '0', 2); + h_SYSUT2_FILE->assign = &f_22; + h_SYSUT2_FILE->record = &f_19; + h_SYSUT2_FILE->variable_record = NULL; + h_SYSUT2_FILE->record_min = 1; + h_SYSUT2_FILE->record_max = 1; + h_SYSUT2_FILE->file = NULL; + h_SYSUT2_FILE->organization = 0; + h_SYSUT2_FILE->access_mode = 1; + h_SYSUT2_FILE->lock_mode = 0; + h_SYSUT2_FILE->open_mode = 0; + h_SYSUT2_FILE->flag_optional = 0; + h_SYSUT2_FILE->flag_line_adv = 0; + h_SYSUT2_FILE->flag_select_features = 0; + + if (0 == 1) goto P_cgerror; + initialized = 1; + goto P_ret_initialize; + + P_dump: + return 0; + + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) + return 0; + if (module && module->module_active) + cob_fatal_error (COB_FERROR_CANCEL); + + initialized = 0; + + P_clear_decimal: + return 0; + +} + +/* End PROGRAM-ID 'bug988' */ + +/* Initialize module structure for bug988 */ +static void bug988_module_init (cob_module *module) +{ + module->module_name = "bug988"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->gc_version = COB_PACKAGE_VERSION; + module->module_entry.funcptr = (void *(*)())bug988; + module->module_cancel.funcptr = (void *(*)())bug988_; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + module->flag_debug_trace = 0; + module->flag_dump_ready = 0; + module->xml_mode = 1; + module->module_stmt = 0; + module->module_sources = NULL; +} + +/* End functions */ + diff --git a/tests/bug.c.h b/tests/bug.c.h new file mode 100644 index 000000000..538557ad0 --- /dev/null +++ b/tests/bug.c.h @@ -0,0 +1,29 @@ +/* Generated by cobc 3.3-dev.0 */ +/* Generated from bug.cob */ +/* Generated at Sep 30 2024 13:24:03 */ +/* GnuCOBOL build date Sep 30 2024 13:00:23 */ +/* GnuCOBOL package date Sep 30 2024 13:00:15 UTC */ +/* Compile command /workspace/gnucobol/build/cobc/.libs/cobc -xgj --verbose bug.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x1000, NULL}; +static const cob_field_attr a_2 = {0x12, 2, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x0000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {18, (cob_u8_ptr)"OPEN OUTPUT worked", &a_1}; +static const cob_field c_2 = {17, (cob_u8_ptr)"OPEN INPUT worked", &a_1}; +static const cob_field c_3 = {13, (cob_u8_ptr)"Test finished", &a_1}; + + +#define cob_nop if (!module) cob_nop + diff --git a/tests/bug.c.l.h b/tests/bug.c.l.h new file mode 100644 index 000000000..6ca4008c7 --- /dev/null +++ b/tests/bug.c.l.h @@ -0,0 +1,60 @@ +/* Generated by cobc 3.3-dev.0 */ +/* Generated from bug.cob */ +/* Generated at Sep 30 2024 13:24:03 */ +/* GnuCOBOL build date Sep 30 2024 13:00:23 */ +/* GnuCOBOL package date Sep 30 2024 13:00:15 UTC */ +/* Compile command /workspace/gnucobol/build/cobc/.libs/cobc -xgj --verbose bug.cob */ + +/* Program local variables for 'bug988' */ + +/* Module initialization indicator */ +static unsigned int initialized = 0; + +/* Module structure pointer */ +static cob_module *module = NULL; + +/* Global variable pointer */ +cob_global *cob_glob_ptr; + + +/* File SYSUT2-FILE */ +static cob_file *h_SYSUT2_FILE = NULL; +static unsigned char h_SYSUT2_FILE_status[4]; + +/* LINKAGE SECTION (Items not referenced by USING clause) */ +static unsigned char *b_9 = NULL; /* XML-NAMESPACE */ +static unsigned char *b_10 = NULL; /* XML-NAMESPACE-PREFIX */ +static unsigned char *b_11 = NULL; /* XML-NNAMESPACE */ +static unsigned char *b_12 = NULL; /* XML-NNAMESPACE-PREFIX */ +static unsigned char *b_13 = NULL; /* XML-NTEXT */ +static unsigned char *b_14 = NULL; /* XML-TEXT */ + + +/* Local cob_field items */ +cob_field f0; + + +/* Call parameters */ +cob_field *cob_procedure_params[1]; + +/* Perform frame stack */ +struct cob_frame *frame_overflow; +struct cob_frame *frame_ptr; +struct cob_frame frame_stack[255]; + + +/* Data storage */ +static int b_2; /* RETURN-CODE */ +static cob_u8_t b_19[1] __attribute__((aligned)); /* SYSUT2-FILE Record */ +static cob_u8_t b_20[4] __attribute__((aligned)); /* FILLER 2 */ +static cob_u8_t b_22[4095] __attribute__((aligned)); /* SYSUT2 */ + +/* End of local data storage */ + + +/* Fields (local) */ +static cob_field f_19 = {1, b_19, &a_3}; /* SYSUT2-FILE Record */ +static cob_field f_22 = {4095, b_22, &a_3}; /* SYSUT2 */ + +/* End of fields */ + diff --git a/tests/bug.cob b/tests/bug.cob new file mode 100644 index 000000000..90cff1df2 --- /dev/null +++ b/tests/bug.cob @@ -0,0 +1,33 @@ + IDENTIFICATION DIVISION. + PROGRAM-ID. bug988. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT SYSUT2-FILE ASSIGN TO SYSUT2 + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD SYSUT2-FILE. + 01 SYSUT2-DATA. + 05 PIC X. + WORKING-STORAGE SECTION. + 01 filler. + 05 SOME-VAR OCCURS 2 TIMES PIC 9(02) COMP-3. + * 05 SOME-VAR OCCURS 2 TIMES PIC X(02). + PROCEDURE DIVISION. + OPEN OUTPUT SYSUT2-FILE. + DISPLAY "OPEN OUTPUT worked". + * + *> Generate Error by using any "temporary" cob_field + *> note: this does not happen if we have an optimized "direct memory set" + *> like in 3.2 with USAGE DISPLAY vars + MOVE 3 TO SOME-VAR (02) + * + CLOSE SYSUT2-FILE. + * + OPEN INPUT SYSUT2-FILE. + DISPLAY "OPEN INPUT worked". + CLOSE SYSUT2-FILE. + * + DISPLAY "Test finished". + GOBACK. diff --git a/tests/bug.i b/tests/bug.i new file mode 100644 index 000000000..0810cf2c0 --- /dev/null +++ b/tests/bug.i @@ -0,0 +1,34 @@ +#line 1 "bug.cob" + IDENTIFICATION DIVISION. + PROGRAM-ID. bug988. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT SYSUT2-FILE ASSIGN TO SYSUT2 + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD SYSUT2-FILE. + 01 SYSUT2-DATA. + 05 PIC X. + WORKING-STORAGE SECTION. + 01 filler. + 05 SOME-VAR OCCURS 2 TIMES PIC 9(02) COMP-3. + + PROCEDURE DIVISION. + OPEN OUTPUT SYSUT2-FILE. + DISPLAY "OPEN OUTPUT worked". + + + + + MOVE 3 TO SOME-VAR (02) + + CLOSE SYSUT2-FILE. + + OPEN INPUT SYSUT2-FILE. + DISPLAY "OPEN INPUT worked". + CLOSE SYSUT2-FILE. + + DISPLAY "Test finished". + GOBACK. diff --git a/tests/testsuite.orig b/tests/testsuite.orig new file mode 100644 index 000000000..bd1c428f1 --- /dev/null +++ b/tests/testsuite.orig @@ -0,0 +1,232702 @@ +#! /bin/sh +# Generated from testsuite.at by GNU Autoconf 2.71. +# +# Test cases Copyright (C) 2023 Free Software Foundation, Inc. +# +# Written by Keisuke Nishida, Roger While, Simon Sobisch, Edward Hart, +# Ron Norman, Brian Tiffin, Dave Pitts +# +# Copyright (C) 2009-2017, 2020-2021 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 +as_nop=: +if test ${ZSH_VERSION+y} && (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 $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; 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 + + +# 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (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 \$as_nop + 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 \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || 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_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + 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'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$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_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# 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=`printf "%s\n" "$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 || +printf "%s\n" 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_nop + 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_nop + 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$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 || +printf "%s\n" 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" || + { printf "%s\n" "$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 +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +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 + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +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 +# 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:27;compiler help and information;runmisc cobc; +2;used_binaries.at:51;compiler warnings;runmisc cobc warning; +3;used_binaries.at:188;compiler outputs (general);runmisc cobc; +4;used_binaries.at:228;compiler outputs (file specified);runmisc cobc gen-c-line-directives gen-c-labels gen line labels copy; +5;used_binaries.at:309;compiler outputs (path specified);runmisc cobc; +6;used_binaries.at:338;compiler outputs (assembler);runmisc cobc; +7;used_binaries.at:373;source file not found;cobc runmisc; +8;used_binaries.at:383;temporary path invalid;cobc runmisc; +9;used_binaries.at:418;use of full path for cobc;runmisc; +10;used_binaries.at:436;save-temps in sub-directory;runmisc cobc; +11;used_binaries.at:507;C Compiler optimizations;runmisc cobc optimization; +12;used_binaries.at:544;invalid cobc option;runmisc cobc; +13;used_binaries.at:564;cobcrun help and information;runmisc cobcrun; +14;used_binaries.at:580;cobcrun validation;runmisc; +15;used_binaries.at:620;cobcrun -M DSO entry argument;runmisc preload; +16;used_binaries.at:706;cobcrun -M directory/ default;runmisc; +17;used_binaries.at:745;cobcrun -M directory/dso alternate;runmisc preload; +18;used_binaries.at:796;cobcrun -M DSO entry multiple arguments;runmisc preload; +19;used_binaries.at:842;cobcrun error messages;runmisc; +20;used_binaries.at:876;run job with unsuccessful compilation;runmisc cobcrun; +21;used_binaries.at:895;run job after compilation;runmisc cobcrun; +22;used_binaries.at:912;run job after compilation (path specified);runmisc cobcrun; +23;used_binaries.at:930;run job with optional arguments;runmisc cobcrun; +24;used_binaries.at:952;compile from stdin;runmisc cobc cobcrun; +25;used_binaries.at:980;run job after compilation from stdin;runmisc cobc cobcrun; +26;used_binaries.at:1004;cobc diagnostics show caret;; +27;used_binaries.at:1097;check include header file;; +28;configuration.at:22;cobc with standard configuration file;configuration misc; +29;configuration.at:43;cobc dialect features for all -std;configuration misc; +30;configuration.at:105;cobc with configuration file via -std;configuration misc; +31;configuration.at:126;cobc with standard configuration file via -conf;configuration misc; +32;configuration.at:147;cobc with own configuration file via -conf;configuration misc; +33;configuration.at:176;cobc configuration: recursive include;configuration misc; +34;configuration.at:214;cobc with -std and -conf;configuration misc; +35;configuration.at:241;cobc compiler flag on command line;configuration misc; +36;configuration.at:260;cobc compiler flag on command line (priority);configuration misc; +37;configuration.at:293;cobc configuration: entries;configuration misc; +38;configuration.at:340;cobc configuration: conf missing;configuration misc; +39;configuration.at:368;cobc configuration: conf optional;configuration misc; +40;configuration.at:404;cobc configuration: incomplete;configuration misc; +41;configuration.at:546;runtime configuration;configuration misc; +42;configuration.at:565;runtime configuration file;configuration misc; +43;configuration.at:608;runtime configuration: recursive include;configuration misc; +44;configuration.at:637;runtime configuration: environment priority;configuration misc; +45;configuration.at:650;runtime configuration: entries;configuration misc; +46;configuration.at:731;runtime configuration: conf missing;configuration misc; +47;configuration.at:760;runtime configuration: conf optional;configuration misc; +48;configuration.at:773;runtime configuration: strings and environment;configuration environment variable; +49;configuration.at:787;validation of COB_CONFIG_DIR;runtime configuration environment variable; +50;configuration.at:827;cobc configuration: source format;configuration misc format; +51;configuration.at:885;cobc configuration: ebcdic-table;configuration misc ebcdic collating sequence alphabet collation; +52;syn_copy.at:23;COPY: IN / OF / -I;copy cobc; +53;syn_copy.at:125;COPY: relative copybooks;copy cobc; +54;syn_copy.at:170;COPY: extension;copy cobc in of -i; +55;syn_copy.at:257;COPY: within comment;copy; +56;syn_copy.at:286;COPY: file not found;copy case fold-copy; +57;syn_copy.at:342;COPY: recursive;copy; +58;syn_copy.at:382;COPY: replacement order;copy; +59;syn_copy.at:409;COPY: separators;copy; +60;syn_copy.at:438;COPY: partial replacement;copy; +61;syn_copy.at:468;COPY: LEADING replacement;copy; +62;syn_copy.at:498;COPY: TRAILING replacement;copy; +63;syn_copy.at:528;COPY: partial replacement BY literal;copy gcos; +64;syn_copy.at:630;COPY: recursive replacement;copy; +65;syn_copy.at:660;COPY: fixed/free format;copy; +66;syn_copy.at:686;REPLACE: partial replacement BY SPACE;replace gcos acu figurative constant spaces; +67;syn_copy.at:739;COPY: simple partial match;copy; +68;syn_copy.at:766;COPY: with LEADING, multiple partial matches;copy; +69;syn_copy.at:804;COPY: multiple partial matches with an error;copy; +70;syn_copy.at:844;COPY: Multiple partial matches (1);copy; +71;syn_copy.at:884;COPY: Multiple partial matches (2);copy; +72;syn_copy.at:923;COPY and REPLACE in same file;replacing preprocess; +73;syn_copy.at:997;COPY and REPLACE errors;copy; +74;syn_copy.at:1041;COPY and REPLACE with reserved words;copy; +75;syn_copy.at:1077;Option --copy COPYBOOK;argument; +76;syn_copy.at:1124;COPY LONG REPLACE;copy replace; +77;syn_definition.at:25;Invalid source name;definition; +78;syn_definition.at:37;Invalid PROGRAM-ID;definition underscore hyphen entry; +79;syn_definition.at:89;Invalid PROGRAM-ID type clause (1);definition; +80;syn_definition.at:106;invalid PROGRAM-ID type clause (2);definition; +81;syn_definition.at:123;INITIAL / RECURSIVE before COMMON;program-id definition; +82;syn_definition.at:155;Undefined data name;definition; +83;syn_definition.at:173;Undefined group name;definition; +84;syn_definition.at:194;Undefined data name in group;definition; +85;syn_definition.at:217;Reference not a group name;definition; +86;syn_definition.at:239;Incomplete 01 definition;definition; +87;syn_definition.at:257;error handling in conditions;definition; +88;syn_definition.at:333;Same paragraphs in different sections;definition procedures label go to; +89;syn_definition.at:376;GO TO sections and foreign paragraphs;definition procedures section paragraph; +90;syn_definition.at:413;Redefinition of 01 items;definition; +91;syn_definition.at:442;Redefinition of 01 and 02 items;definition; +92;syn_definition.at:462;Redefinition of 02 items;definition redefines; +93;syn_definition.at:495;Redefinition of 77 items;definition; +94;syn_definition.at:515;Redefinition of 01 and 77 items;definition; +95;syn_definition.at:535;Redefinition of 88 items;definition; +96;syn_definition.at:556;Redefinition of program-name by other programs;definition; +97;syn_definition.at:636;Redefinition of program-name within program;definition; +98;syn_definition.at:666;Redefinition of function-prototype name;definition; +99;syn_definition.at:691;PROCEDURE DIVISION RETURNING OMITTED: main;runmisc; +100;syn_definition.at:711;PROCEDURE DIVISION RETURNING OMITTED: FUNCTION;runmisc; +101;syn_definition.at:730;PROCEDURE DIVISION RETURNING item;runmisc; +102;syn_definition.at:825;Data item with same name as program-name;definition; +103;syn_definition.at:852;Ambiguous reference to 02 items;definition; +104;syn_definition.at:878;Ambiguous reference to 02 and 03 items;definition; +105;syn_definition.at:903;Ambiguous reference with qualification;definition; +106;syn_definition.at:931;Unique reference with ambiguous qualifiers;definition; +107;syn_definition.at:955;SYNCHRONIZED clause;definition sync; +108;syn_definition.at:998;Undefined procedure name;definition; +109;syn_definition.at:1018;Redefinition of section names;definition; +110;syn_definition.at:1043;Redefinition of section and paragraph names;definition; +111;syn_definition.at:1069;Redefinition of label and variable names;definition; +112;syn_definition.at:1106;Redefinition of paragraph names;definition; +113;syn_definition.at:1132;Ambiguous reference to paragraph name;definition; +114;syn_definition.at:1158;Non-matching level numbers (extension);definition; +115;syn_definition.at:1190;CALL BY VALUE alphanumeric item (extension);definition content; +116;syn_definition.at:1212;CALL BY VALUE national item (extension);definition content; +117;syn_definition.at:1235;CALL BY VALUE figurative constants;definition; +118;syn_definition.at:1269;Duplicate identification division header;definition; +119;syn_definition.at:1284;RETURNING in STOP RUN / GOBACK / EXIT PROGRAM;definition return-code; +120;syn_definition.at:1335;OSVS register CURRENT-DATE and TIME-OF-DAY;definition; +121;syn_definition.at:1405;Invalid ENVIRONMENT DIVISION order;definition; +122;syn_definition.at:1430;Function without END FUNCTION;definition functions; +123;syn_definition.at:1444;Nested programs without END PROGRAM;definition; +124;syn_definition.at:1466;Nested programs not in procedure division;definition; +125;syn_definition.at:1485;Screen section starts with 78-level;screen definition; +126;syn_definition.at:1501;Invalid PICTURE strings;definition usage; +127;syn_definition.at:1747;PICTURE string with control character;definition; +128;syn_definition.at:1765;PICTURE strings invalid with BLANK WHEN ZERO;definition; +129;syn_definition.at:1788;PICTURE strings invalid with USAGE;definition; +130;syn_definition.at:1808;Edited monetary PICTURE strings;definition; +131;syn_definition.at:1835;ALPHABET definition;definition; +132;syn_definition.at:1858;PROGRAM COLLATING SEQUENCE;definition alphabet; +133;syn_definition.at:2065;RENAMES item;definition 66; +134;syn_definition.at:2139;RENAMES of 01-, 66- and 77-level items;definition 66 extensions; +135;syn_definition.at:2165;SAME AS clause;definition external global; +136;syn_definition.at:2229;TYPEDEF clause;definition external global type usage listing symbols xref; +137;syn_definition.at:2581;LIKE clause;definition external global; +138;syn_definition.at:2639;APPLY COMMIT clause;definition i-o-control rollback; +139;syn_definition.at:2744;GLOBAL record-names;definition alternate indexed; +140;syn_definition.at:2863;Invalid USE BEFORE;use; +141;syn_definition.at:2882;POINTER TO typedef-name;pointer typedef; +142;syn_definition.at:2902;FUNCTION-POINTER TO function-name;function-pointer; +143;syn_definition.at:2921;PROGRAM-POINTER TO program-prototype;program-pointer prototype; +144;syn_subscripts.at:23;Non-numeric subscript;subscripts; +145;syn_subscripts.at:50;Subscript range check;subscripts; +146;syn_subscripts.at:98;Subscript bounds with OCCURS DEPENDING ON;runsubscripts subscripts odo; +147;syn_subscripts.at:125;Subscripted item requires OCCURS clause;subscripts; +148;syn_subscripts.at:151;Number of subscripts;subscripts; +149;syn_subscripts.at:195;SET SSRANGE syntax;subscripts directive extensions; +150;syn_occurs.at:29;OCCURS with level 01 and 77;; +151;syn_occurs.at:84;OCCURS with level 66;renames; +152;syn_occurs.at:103;OCCURS with level 78;; +153;syn_occurs.at:121;OCCURS with level 88;; +154;syn_occurs.at:143;OCCURS with variable-occurrence data item;nested depending extensions odo odoslide directive; +155;syn_occurs.at:248;OCCURS UNBOUNDED;; +156;syn_occurs.at:359;OCCURS data-items for INDEXED and KEY;ascending descending; +157;syn_occurs.at:399;Nested OCCURS clause;; +158;syn_occurs.at:436;OCCURS DEPENDING with wrong size;range; +159;syn_occurs.at:475;OCCURS DEPENDING followed by another field;extensions; +160;syn_occurs.at:517;OCCURS with unmatched DEPENDING / TO phrases;odo; +161;syn_occurs.at:560;OCCURS INDEXED before KEY;ascending descending; +162;syn_occurs.at:598;OCCURS size check;limit; +163;syn_redefines.at:28;REDEFINES: not following entry-name;redefines; +164;syn_redefines.at:53;REDEFINES: level 02 by 01;redefines; +165;syn_redefines.at:74;REDEFINES: level 03 by 02;redefines; +166;syn_redefines.at:96;REDEFINES: level 66;redefines; +167;syn_redefines.at:118;REDEFINES: level 88;redefines; +168;syn_redefines.at:146;REDEFINES: lower level number;redefines; +169;syn_redefines.at:172;REDEFINES: with OCCURS;redefines; +170;syn_redefines.at:196;REDEFINES: with subscript;redefines; +171;syn_redefines.at:219;REDEFINES: with variable occurrence;redefines; +172;syn_redefines.at:254;REDEFINES: with qualification;redefines; +173;syn_redefines.at:280;REDEFINES: multiple redefinition;redefines; +174;syn_redefines.at:308;REDEFINES: size exceeds;redefines; +175;syn_redefines.at:359;REDEFINES: with VALUE;redefines; +176;syn_redefines.at:392;REDEFINES: with intervention;redefines; +177;syn_redefines.at:424;REDEFINES: within REDEFINES;redefines; +178;syn_redefines.at:467;REDEFINES: for ANY LENGTH item;redefines; +179;syn_redefines.at:500;REDEFINES: non-referenced ambiguous item;redefines extensions; +180;syn_value.at:28;bad VALUES / VALUES ARE in format-1;value; +181;syn_value.at:76;OCCURS too many VALUEs;initialize value; +182;syn_value.at:162;Numeric item (integer);value size; +183;syn_value.at:189;Numeric item (non-integer);value size; +184;syn_value.at:213;Numeric item with picture P;value size; +185;syn_value.at:245;Signed numeric literal;value; +186;syn_value.at:271;Alphabetic item;value size; +187;syn_value.at:299;Alphanumeric item;value size; +188;syn_value.at:325;Alphanumeric group item;value size; +189;syn_value.at:352;National item;value size; +190;syn_value.at:389;Numeric-edited item;value editing size; +191;syn_value.at:425;Alphanumeric-edited item;value editing size; +192;syn_value.at:494;Implicit picture from value;value; +193;syn_file.at:23;Missing SELECT;file; +194;syn_file.at:50;Duplicated SELECT;file; +195;syn_file.at:82;Missing FD;file; +196;syn_file.at:108;Duplicated FD;file; +197;syn_file.at:137;ASSIGN to device-name;file disk device; +198;syn_file.at:204;ASSIGN to printer-name;file printer print device; +199;syn_file.at:271;ASSIGN to lsq-device-name;file printer device; +200;syn_file.at:326;ASSIGN to variable;file; +201;syn_file.at:431;SELECT without ASSIGN;file; +202;syn_file.at:459;START on SEQUENTIAL file;file; +203;syn_file.at:496;OPEN SEQUENTIAL file REVERSED;file; +204;syn_file.at:544;OPEN SEQUENTIAL file NO REWIND;file; +205;syn_file.at:583;valid key items;file record alternate; +206;syn_file.at:633;INDEXED file invalid key items;record alternate split; +207;syn_file.at:697;variable record length;file; +208;syn_file.at:808;variable record length DEPENDING item;file; +209;syn_file.at:910;DECLARATIVES invalid procedure reference (1);file goto go perform; +210;syn_file.at:999;DECLARATIVES invalid procedure reference (2);file; +211;syn_file.at:1040;EXTERNAL file;file; +212;syn_file.at:1068;RECORDING MODE;file extensions; +213;syn_file.at:1097;CODE-SET clause;file; +214;syn_file.at:1147;CODE-SET FOR clause;file extensions; +215;syn_file.at:1180;WRITE / REWRITE FROM clause and FILE;file record condition-name level-88 88; +216;syn_file.at:1241;Clauses following invalid ACCESS clause;file; +217;syn_file.at:1265;RELATIVE KEY type validation;relative file; +218;syn_file.at:1325;Mismatched KEY clause;file relative indexed; +219;syn_file.at:1352;RECORD DELIMITER;file; +220;syn_file.at:1460;FILE STATUS;file status; +221;syn_file.at:1557;VSAM status;file status extensions; +222;syn_file.at:1603;INDEXED file PASSWORD clause;file external split key; +223;syn_file.at:1654;RECORD clause equal limits;file; +224;syn_file.at:1694;FILE ... FROM literal;file; +225;syn_file.at:1751;WRITE / REWRITE on REPORT files;file; +226;syn_file.at:1788;SELECT without fd-name;file; +227;syn_file.at:1809;Undeclared FILE-ID variable;file; +228;syn_file.at:1834;ASSIGN external-name matching filename;file external; +229;syn_file.at:1862;Undeclared ASSIGN variable;file global; +230;syn_file.at:1941;ACCESS RANDOM with ORG SEQUENTIAL;file; +231;syn_file.at:1968;ALTERNATE RECORD KEY SUPPRESS WHEN;file; +232;syn_file.at:2013;RECORD definition with SOURCE IS / =;file; +233;syn_file.at:2064;ALTERNATE RECORD definition WITH NO DUPLICATES;file; +234;syn_file.at:2094;ALTERNATE RECORD definition omitting RECORD;file; +235;syn_file.at:2123;SELECT/OPEN syntax extensions;file select open mass-update bulk-addition lock; +236;syn_file.at:2218;GLOBAL FD nested progam;global-fd; +237;syn_file.at:2256;Invalid file name in SELECT;file; +238;syn_reportwriter.at:23;REPORT error/warning;report; +239;syn_reportwriter.at:124;REPORT not positive integers in COL / LINE PLUS;lines cols columns; +240;syn_reportwriter.at:177;Missing PICTURE for SOURCE;report; +241;syn_reportwriter.at:218;Missing DETAIL line;report; +242;syn_reportwriter.at:261;REPORT LINE PLUS ZERO;report; +243;syn_reportwriter.at:311;Incorrect REPORT NAME;report; +244;syn_reportwriter.at:428;REPORT with PLUS RIGHT/CENTER;report; +245;syn_reportwriter.at:521;PAGE LIMITS clause;report; +246;syn_reportwriter.at:556;Report FD without period;report; +247;syn_reportwriter.at:598;REPORT with unreferenced control field;report; +248;syn_reportwriter.at:626;Incorrect USAGE clause;report; +249;syn_refmod.at:26;valid reference-modification;refmod; +250;syn_refmod.at:55;invalid reference-modification;refmod condition-name; +251;syn_refmod.at:79;Static out of bounds;refmod; +252;syn_refmod.at:123;constant-folding out of bounds;refmod expression; +253;syn_refmod.at:163;no static bound check for ANY LENGTH;refmod; +254;syn_misc.at:23;ambiguous AND/OR;misc expression; +255;syn_misc.at:54;warn constant expressions;misc expression; +256;syn_misc.at:120;warn literal size;misc numeric constant expression; +257;syn_misc.at:388;warn literal size in constant expr. (level 88);misc numeric constant expression; +258;syn_misc.at:438;Invalid conditional expression (1);misc; +259;syn_misc.at:570;Invalid conditional expression (2);misc; +260;syn_misc.at:639;Invalid conditional expression (3);expression condition; +261;syn_misc.at:703;Valid conditional expression;misc; +262;syn_misc.at:736;missing headers;misc; +263;syn_misc.at:793;one line program;misc; +264;syn_misc.at:814;empty program;misc; +265;syn_misc.at:862;INITIALIZE constant;misc; +266;syn_misc.at:889;CLASS duplicate values;misc; +267;syn_misc.at:922;INSPECT invalid size;misc refmod; +268;syn_misc.at:969;INSPECT invalid target;misc; +269;syn_misc.at:992;INSPECT missing keyword;misc; +270;syn_misc.at:1013;INSPECT repeated keywords;misc; +271;syn_misc.at:1049;INSPECT incomplete clause;misc; +272;syn_misc.at:1071;INSPECT multiple BEFORE/AFTER clauses;misc; +273;syn_misc.at:1094;EXAMINE invalid literals;misc; +274;syn_misc.at:1130;maximum data size;misc max; +275;syn_misc.at:1178;unreachable statement;misc extensions; +276;syn_misc.at:1228;CRT STATUS;special-names misc; +277;syn_misc.at:1270;SPECIAL-NAMES clause;misc extensions cursor crt status; +278;syn_misc.at:1371;CURRENCY SIGN;special-names misc; +279;syn_misc.at:1483;SWITCHES;runmisc extensions; +280;syn_misc.at:1609;unexpected mnemonic-name location;misc; +281;syn_misc.at:1636;wrong device for mnemonic-name;misc accept display special-names; +282;syn_misc.at:1661;missing mnemonic-name declaration;misc accept special-names; +283;syn_misc.at:1682;unknown device in dialect;misc accept display special-names; +284;syn_misc.at:1712;ACCEPT WITH ( NO ) UPDATE / DEFAULT;misc extensions; +285;syn_misc.at:1737;ACCEPT WITH AUTO / TAB;auto-skip autoterminate misc extensions screen; +286;syn_misc.at:1762;ACCEPT WITH LOWER / UPPER;misc extensions screen; +287;syn_misc.at:1784;ACCEPT WITH SIZE;protected size misc extensions screen; +288;syn_misc.at:1813;DISPLAY WITH SIZE;size misc extensions screen; +289;syn_misc.at:1838;source text after program-text area;misc fixed; +290;syn_misc.at:1859;line overflow in fixed-form / free-form;misc; +291;syn_misc.at:1917;missing newline in fixed-form / free-form;misc; +292;syn_misc.at:1951;continuation of COBOL words;misc fixed literals; +293;syn_misc.at:1973;line and floating comments;misc extensions indicator; +294;syn_misc.at:2126;word length;misc word-length; +295;syn_misc.at:2289;Segmentation Module;misc; +296;syn_misc.at:2381;ACCEPT FROM ESCAPE KEY;misc; +297;syn_misc.at:2407;ACUCOBOL USAGE FLOAT / DOUBLE;misc acu extensions reserved; +298;syn_misc.at:2436;ACUCOBOL USAGE HANDLE;misc acu extensions reserved call destroy window menu thread; +299;syn_misc.at:2546;ACUCOBOL WINDOW statements;misc acu extensions screen; +300;syn_misc.at:2637;ACUCOBOL GRAPHICAL controls;misc acu extensions screen modify inquire; +301;syn_misc.at:2715;DISPLAY MESSAGE BOX;misc acu extensions screen; +302;syn_misc.at:2758;DISPLAY OMITTED;misc extensions screen; +303;syn_misc.at:2779;CGI: EXTERNAL-FORM;misc acu extensions accept display; +304;syn_misc.at:2834;adding/removing reserved words;misc extensions configuration; +305;syn_misc.at:2864;adding aliases;misc extensions configuration reserved; +306;syn_misc.at:2898;overriding default words;misc extensions configuration reserved; +307;syn_misc.at:2929;complete specified word list;misc extensions configuration reserved; +308;syn_misc.at:2949;ANY LENGTH item as formal parameter;misc; +309;syn_misc.at:2984;ANY LENGTH item as BY VALUE formal parameter;misc by value; +310;syn_misc.at:3007;swapped SOURCE- and OBJECT-COMPUTER;misc extensions; +311;syn_misc.at:3029;CONF. SECTION paragraphs in wrong order;misc extensions; +312;syn_misc.at:3101;NOT ON EXCEPTION with STATIC CALL convention;misc call-convention; +313;syn_misc.at:3149;NOT ON EXCEPTION phrases before ON EXCEPTION;misc; +314;syn_misc.at:3213;wrong dialect hints;misc configuration reserved; +315;syn_misc.at:3238;redundant periods;misc redundant-periods; +316;syn_misc.at:3268;missing periods;misc cobol85 area-a missing-periods; +317;syn_misc.at:3309;missing periods with COPYs;misc cobol85 area-a missing-periods copy; +318;syn_misc.at:3397;statement in Area A;misc cobol85 areacheck; +319;syn_misc.at:3440;pseudotext replacement with text in area A;misc cobol85 gcos copy missing-periods; +320;syn_misc.at:3507;IF-ELSE statement list with invalid syntax;misc; +321;syn_misc.at:3540;EVALUATE statement with invalid syntax;misc expression; +322;syn_misc.at:3589;COBOL-WORDS directive;misc reserved words; +323;syn_misc.at:3663;MF reserved word directives;misc extensions addrsv addsyn makesyn override remove; +324;syn_misc.at:3725;TURN directive;misc; +325;syn_misc.at:3758;STRING / UNSTRING with invalid syntax;misc; +326;syn_misc.at:3823;STRING / UNSTRING POINTER clause;misc; +327;syn_misc.at:3898;STRING with non-DISPLAY;initialize; +328;syn_misc.at:3937;UNSTRING COUNT clause;misc; +329;syn_misc.at:3985;use of program-prototype-names;misc prototype prototypes; +330;syn_misc.at:4012;checking prototypes and definitions match;misc prototype; +331;syn_misc.at:4149;invalid INSPECT/TRANSFORM operands;misc inspect transform; +332;syn_misc.at:4202;SIGN clause checks;misc; +333;syn_misc.at:4227;conflicting entry conventions;misc entry-convention call-convention linkage; +334;syn_misc.at:4296;conflicting call conventions;misc call-convention linkage; +335;syn_misc.at:4325;dangling LINKAGE items;misc; +336;syn_misc.at:4381;duplicate PROCEDURE DIVISION/ENTRY USING items;misc division entry reference; +337;syn_misc.at:4402;duplicate CALL USING BY REFERENCE items;misc; +338;syn_misc.at:4428;ADD / SUBTRACT TABLE;misc; +339;syn_misc.at:4471;USE FOR DEBUGGING invalid ref-mod / subscripts;misc; +340;syn_misc.at:4516;USE FOR DEBUGGING duplicate targets;misc; +341;syn_misc.at:4569;USE FOR DEBUGGING implicit statements;misc; +342;syn_misc.at:4617;USE FOR DEBUGGING syntax-checks (1);misc debug-item debug-name debug-line debug-contents debug-sub-1 debug-sub-2 debug-sub-3; +343;syn_misc.at:4710;USE FOR DEBUGGING syntax-checks (2);misc debug-item debug-line; +344;syn_misc.at:4783;Empty PERFORM with DEBUGGING MODE;misc; +345;syn_misc.at:4811;whitespace handling;misc; +346;syn_misc.at:4899;STOP identifier;misc extensions; +347;syn_misc.at:4925;01 CONSTANT;mirc reserved; +348;syn_misc.at:4973;78 VALUE;constant; +349;syn_misc.at:5020;level 78 NEXT / START OF;extensions constant length; +350;syn_misc.at:5079;SYMBOLIC CONSTANT;misc special-names; +351;syn_misc.at:5128;Constant Expressions (1);condition expression refmod if evaluate; +352;syn_misc.at:5253;Constant Expressions (2);condition expression unreachable 78; +353;syn_misc.at:5309;Constant Expressions (3);condition expression refmod undefined; +354;syn_misc.at:5400;Constant Expressions (4);condition expression refmod; +355;syn_misc.at:5434;Constant Expressions (5);condition expression unreachable; +356;syn_misc.at:5534;Missing imperative statements;condition expression if evaluate when perform; +357;syn_misc.at:5626;Fall-Through to WHEN OTHER;condition expression evaluate when; +358;syn_misc.at:5664;CONSTANT LENGTH / BYTE-LENGTH;misc; +359;syn_misc.at:5688;ANY LENGTH/NUMERIC with incorrect PIC;misc; +360;syn_misc.at:5734;VOLATILE clause;extensions; +361;syn_misc.at:5778;SET SOURCEFORMAT syntax checks;misc extensions source directives; +362;syn_misc.at:5813;WHEN-COMPILED register in dialect;misc extensions; +363;syn_misc.at:5839;LIN / COL register;misc extensions; +364;syn_misc.at:5871;tokens consisting of multiple words;misc; +365;syn_misc.at:5899;@OPTIONS parsing;misc options fujitsu; +366;syn_misc.at:5943;PROCESS / CBL parsing;misc ibm; +367;syn_misc.at:6008;*CONTROL / *CBL parsing;misc ibm; +368;syn_misc.at:6041;system routines with wrong number of parameters;misc call 91 c\$toupper cbl_gc_fork; +369;syn_misc.at:6070;invalid use of condition-name;misc move string unstring compute; +370;syn_misc.at:6134;XML GENERATE syntax checks;extensions; +371;syn_misc.at:6352;BASED clause, ALLOCATE / FREE statements;based; +372;syn_misc.at:6433;CONTINUE statement;based; +373;syn_misc.at:6477;conflict markers;; +374;syn_misc.at:6536;SORT syntax;misc fundamental key; +375;syn_misc.at:6590;OSVS I/O extensions;ibm file extensions; +376;syn_misc.at:6657;EQUALS in expressions;misc; +377;syn_misc.at:6683;SEARCH ALL checks;misc; +378;syn_misc.at:6803;Invalid parentheses around condition;misc; +379;syn_misc.at:6826;DISPLAY directive (1);misc directive; +380;syn_misc.at:6849;DISPLAY directive (2);misc extension directive; +381;syn_misc.at:6869;DISPLAY directive (3);misc extension directive; +382;syn_misc.at:6888;SET CONSTANT directive;misc directives extensions; +383;syn_misc.at:6987;conditional / define directives (1);misc directive; +384;syn_misc.at:7012;conditional / define directives (2);misc directive; +385;syn_misc.at:7040;conditional / define directives (3);misc directive; +386;syn_misc.at:7070;conditional / define directives (4);misc directive; +387;syn_misc.at:7092;error handling in conditional directives;misc directive; +388;syn_misc.at:7120;conditional directives with lvl 78 (1);misc extensions directive; +389;syn_misc.at:7155;conditional directives with lvl 78 (2);misc extensions directive; +390;syn_misc.at:7205;Missing reserved word with DEBUGGING MODE;misc cobol-85; +391;syn_misc.at:7234;Invalid PERFORM statement;misc; +392;syn_misc.at:7265;PERFORM THRU syntax checks;misc warning; +393;syn_misc.at:7313;VALIDATE parsing;misc 2002 bit typedef strong validate-status present when destination; +394;syn_misc.at:7460;field-tree via COBC_GEN_DUMP_COMMENTS;misc binaries dump; +395;syn_misc.at:7740;CONTROL DIVISION;control gcos; +396;syn_misc.at:7792;CONTROL: empty default section;control gcos; +397;syn_misc.at:7818;CONTROL: default section;control gcos; +398;syn_misc.at:7852;CONTROL: substitution & default section;control gcos; +399;syn_misc.at:7931;CONTROL DIVISION & AREACHECK;gcos; +400;syn_misc.at:7967;PICTURE L;extensions gcos picture-l; +401;syn_misc.at:8062;AREACHECK / NOAREACHECK directives;misc directive continue; +402;syn_misc.at:8102;AREACHECK / NOAREACHECK directives (2);misc directive missing-periods; +403;syn_misc.at:8154;optional dots;misc missing-periods; +404;syn_misc.at:8209;optional dots before PROCEDURE DIVISION;misc missing-periods; +405;syn_misc.at:8246;AREACHECK;misc; +406;syn_misc.at:8286;autodetect format;cobc free fixed format; +407;syn_misc.at:8360;context sensitive alias;misc context alias; +408;syn_misc.at:8383;PROTOTYPE parameter validation;prototypes value; +409;syn_move.at:38;MOVE SPACE TO numeric or numeric-edited item;move editing; +410;syn_move.at:64;MOVE ZERO TO alphabetic item;move; +411;syn_move.at:90;MOVE alphabetic TO x;move; +412;syn_move.at:124;MOVE alphanumeric TO x;move; +413;syn_move.at:155;MOVE alphanumeric-edited TO x;move editing; +414;syn_move.at:189;MOVE numeric (integer) TO x;move; +415;syn_move.at:222;MOVE numeric (non-integer) TO x;move; +416;syn_move.at:258;MOVE numeric-edited TO x;move editing; +417;syn_move.at:293;MOVE national TO x;move; +418;syn_move.at:330;MOVE national-edited TO x;move editing national; +419;syn_move.at:374;CORRESPONDING - Operands must be groups;move; +420;syn_move.at:404;CORRESPONDING - Target has no matching items;move; +421;syn_move.at:430;MOVE to erroneous field;move; +422;syn_move.at:453;Overlapping MOVE;move; +423;syn_move.at:552;invalid source for MOVE;move label program-prototype; +424;syn_move.at:582;invalid target for MOVE;move constant label program-prototype; +425;syn_move.at:618;SET error;set-move; +426;syn_move.at:653;MOVE FIGURATIVE to NUMERIC;move; +427;syn_multiply.at:28;Category check of Format 1;multiply; +428;syn_multiply.at:64;Category check of Format 2;multiply; +429;syn_multiply.at:102;Category check of literals;multiply; +430;syn_screen.at:24;Flexible ACCEPT/DISPLAY syntax;screen accept display; +431;syn_screen.at:92;Duplicate ACCEPT/DISPLAY clauses;screen accept display; +432;syn_screen.at:121;AT clause;screen extensions; +433;syn_screen.at:175;ACCEPT/DISPLAY extensions detection;at line column accept display screen extensions; +434;syn_screen.at:221;FROM clause;screen; +435;syn_screen.at:250;Incorrect USAGE clause;screen; +436;syn_screen.at:283;SCREEN SECTION clause numbers;screen; +437;syn_screen.at:315;Screen clauses;full required leftline rightline overline underline grid; +438;syn_screen.at:341;ACCEPT ON EXCEPTION/ESCAPE;screen; +439;syn_screen.at:371;Referencing 88-level;screen; +440;syn_screen.at:402;Conflicting screen clauses;screen; +441;syn_screen.at:473;Redundant screen clauses;screen; +442;syn_screen.at:506;Screen item OCCURS w-/wo relative LINE/COL;occurs; +443;syn_screen.at:566;VALUE clause missing;screen; +444;syn_screen.at:592;FULL on numeric item;screen; +445;syn_screen.at:616;Compiler-specific SCREEN SECTION clause rules;screen; +446;syn_screen.at:774;MS-COBOL position-spec;screen position lin col; +447;syn_screen.at:822;Screen with invalid FROM clause;screen constant; +448;syn_screen.at:867;DISPLAY WITH CONVERSION;display; +449;syn_screen.at:887;VALUE ALL in SCREEN SECTION;; +450;syn_set.at:24;SET ADDRESS OF item;set; +451;syn_set.at:53;SET item TO 88-level;set; +452;syn_functions.at:22;ANY LENGTH / NUMERIC as function RETURNING item;functions extensions; +453;syn_functions.at:64;REPOSITORY INTRINSIC phrase;functions; +454;syn_functions.at:87;REPOSITORY FUNCTION phrase;functions; +455;syn_functions.at:135;Redundant REPOSITORY entries;functions; +456;syn_functions.at:174;Missing prototype/definition;functions programs prototypes; +457;syn_functions.at:205;Empty function;functions; +458;syn_functions.at:232;Function definition inside program;functions; +459;syn_functions.at:255;Intrinsic functions: dialect;functions; +460;syn_functions.at:280;Intrinsic functions: replaced;functions substitute; +461;syn_functions.at:324;Intrinsic functions: number of arguments;functions; +462;syn_functions.at:364;Intrinsic functions: reference modification;functions refmod; +463;syn_functions.at:410;Intrinsic functions: argument type;functions; +464;syn_functions.at:433;invalid formatted date/time args;functions formatted-date formatted-current-date formatted-time formatted-datetime integer-of-formatted-date seconds-from-formatted-time; +465;syn_functions.at:514;invalid formats w/ DECIMAL-POINT IS COMMA;functions formatted-time formatted-datetime; +466;syn_functions.at:544;Specified offset and SYSTEM-OFFSET;functions formatted-time formatted-datetime; +467;syn_functions.at:568;FUNCTION LENGTH / BYTE-LENGTH;functions prefixed; +468;syn_literals.at:25;continuation Indicator - too many lines;misc fixed literals listing; +469;syn_literals.at:583;literal too long;misc literals literal-length continuation listing; +470;syn_literals.at:819;numeric literals;misc numeric-literal-length; +471;syn_literals.at:998;floating-point literals;misc; +472;syn_literals.at:1105;X literals;misc; +473;syn_literals.at:1140;national literals;misc; +474;syn_literals.at:1178;NX literals;misc; +475;syn_literals.at:1216;binary literals;misc extensions; +476;syn_literals.at:1252;binary-hexadecimal literals;misc extensions; +477;syn_literals.at:1281;HP COBOL octal literals;misc extensions; +478;syn_literals.at:1317;ACUCOBOL literals;misc acu extensions binary octal hexadecimal; +479;syn_literals.at:1379;ACUCOBOL 32bit literal size;extensions literals; +480;syn_literals.at:1412;zero-length literals;misc; +481;syn_literals.at:1472;long literal in error message;misc literals; +482;syn_literals.at:1504;literal missing terminating character;misc literals terminator; +483;syn_literals.at:1525;GCOS literals with EBCDIC symbols (syntax);extensions; +484;listings.at:21;Minimal lines per listing pages;listing symbols options; +485;listings.at:85;COPY within comment;listing; +486;listings.at:149;Replacement w/o strings;listing symbols; +487;listings.at:205;Partial replacement with literals;listing gcos; +488;listings.at:269;COPY replacement with partial match;listing copy; +489;listings.at:318;COPY replacement with multiple partial matches;listing copy; +490;listings.at:517;COPY replacement order;listing symbols; +491;listings.at:608;COPY separators;listing symbols; +492;listings.at:667;COPY partial replacement;listing symbols; +493;listings.at:869;COPY LEADING replacement;listing symbols; +494;listings.at:932;COPY TRAILING replacement;listing symbols; +495;listings.at:996;COPY recursive replacement;listing symbols; +496;listings.at:1055;COPY multiple files;listing symbols based external global; +497;listings.at:1269;Error/Warning messages;listing error warning warnings symbols; +498;listings.at:1590;Two source files;listing; +499;listings.at:1651;Multiple programs in one file;listing symbols; +500;listings.at:1860;Multiple programs in one compilation group;listing; +501;listings.at:2038;command line;listing; +502;listings.at:2102;Wide listing;listing; +503;listings.at:2178;Symbols: simple;listing symbols comp; +504;listings.at:2320;Symbols: pointer;listing symbols 64bit; +505;listings.at:2598;Symbols: multiple programs/functions;listing symbols program function; +506;listings.at:2718;Symbols: OCCURS and REDEFINES;listing symbols unbounded; +507;listings.at:2808;Conditional compilation;listing cdf; +508;listings.at:2907;File descriptions;listing; +509;listings.at:3245;Invalid PICTURE strings;listing; +510;listings.at:3674;Variable format;listing overflow; +511;listings.at:3711;MFCOMMENT;listing; +512;listings.at:3773;LISTING directive;cdf; +513;listings.at:3869;LISTING directive free-form reference-format;cdf; +514;listings.at:3965;Listing-directive statements;listing directive eject skip1 skip2 skip3 title; +515;listings.at:4027;Eject page;listing directive; +516;listings.at:4205;Cross reference;listing xref; +517;listings.at:5701;Report Writer;listing; +518;listings.at:6003;huge REPLACE;listing; +519;listings.at:6913;Long concatenated literal;listing overflow; +520;run_fundamental.at:25;DISPLAY literals;fundamental; +521;run_fundamental.at:72;DISPLAY literals, DECIMAL-POINT is COMMA;fundamental; +522;run_fundamental.at:105;Hexadecimal literal;fundamental; +523;run_fundamental.at:146;DISPLAY data items with VALUE clause;fundamental; +524;run_fundamental.at:193;DISPLAY data items with MOVE statement;fundamental; +525;run_fundamental.at:247;MOVE to edited item (1);fundamental editing; +526;run_fundamental.at:296;MOVE to edited item (2);fundamental editing; +527;run_fundamental.at:345;MOVE to edited item (3);fundamental editing; +528;run_fundamental.at:450;MOVE to edited item (4);fundamental editing; +529;run_fundamental.at:2128;MOVE to edited item (5);fundamental editing; +530;run_fundamental.at:2433;MOVE to item with simple and floating insertion;fundamental edited editing; +531;run_fundamental.at:2513;MOVE to JUSTIFIED item;fundamental; +532;run_fundamental.at:2558;MOVE integer literal to alphanumeric;fundamental typing; +533;run_fundamental.at:2594;Compare FLOAT-LONG with floating-point literal;fundamental literal exponent; +534;run_fundamental.at:2647;equality of FLOAT-SHORT / FLOAT-LONG;fundamental; +535;run_fundamental.at:2770;equality of FLOAT-SHORT / FLOAT-EXTENDED;fundamental; +536;run_fundamental.at:2901;Overlapping MOVE (GnuCOBOL);fundamental; +537;run_fundamental.at:2985;Overlapping MOVE (IBM);fundamental; +538;run_fundamental.at:3066;ALPHABETIC test;fundamental; +539;run_fundamental.at:3098;ALPHABETIC-UPPER test;fundamental; +540;run_fundamental.at:3130;ALPHABETIC-LOWER test;fundamental; +541;run_fundamental.at:3162;GLOBAL at same level;fundamental; +542;run_fundamental.at:3211;GLOBAL at lower level;fundamental; +543;run_fundamental.at:3260;GLOBAL CONSTANT;fundamental; +544;run_fundamental.at:3344;GLOBAL identifiers from ENVIRONMENT DIVISION;fundamental function currency sign returning; +545;run_fundamental.at:3425;GLOBAL REDEFINES;fundamental; +546;run_fundamental.at:3444;function with variable-length RETURNING item;fundamental udf; +547;run_fundamental.at:3527;Entry point visibility (1);fundamental call; +548;run_fundamental.at:3559;Entry point visibility (2);fundamental call; +549;run_fundamental.at:3597;Contained program visibility (1);fundamental call; +550;run_fundamental.at:3652;Contained program visibility (2);fundamental call; +551;run_fundamental.at:3705;Contained program visibility (3);fundamental call; +552;run_fundamental.at:3756;Contained program visibility (4);fundamental call; +553;run_fundamental.at:3811;CALL alphanumeric data-name;fundamental cancel; +554;run_fundamental.at:3899;CALL program-pointer;fundamental cancel set address pointer; +555;run_fundamental.at:3995;CALL/CANCEL/SET ADDRESS program-prototype-name;fundamental call cancel set; +556;run_fundamental.at:4099;GLOBAL FD (1);fundamental; +557;run_fundamental.at:4150;GLOBAL FD (2);fundamental; +558;run_fundamental.at:4202;GLOBAL FD (3);fundamental; +559;run_fundamental.at:4252;GLOBAL FD (4);fundamental; +560;run_fundamental.at:4304;CANCEL test (1);fundamental call; +561;run_fundamental.at:4331;CANCEL test (2);fundamental call; +562;run_fundamental.at:4368;CANCEL test (3);fundamental call; +563;run_fundamental.at:4406;Separate sign positions (1);fundamental; +564;run_fundamental.at:4430;Separate sign positions (2);fundamental; +565;run_fundamental.at:4463;Context sensitive words (1);fundamental byte-length; +566;run_fundamental.at:4486;Context sensitive words (2);fundamental yyyymmdd; +567;run_fundamental.at:4510;Context sensitive words (3);fundamental yyyyddd; +568;run_fundamental.at:4534;Context sensitive words (4);fundamental intrinsic; +569;run_fundamental.at:4559;Context sensitive words (5);fundamental recursive; +570;run_fundamental.at:4582;Context sensitive words (6);fundamental normal; +571;run_fundamental.at:4604;Context sensitive words (7);fundamental compute away-from-zero; +572;run_fundamental.at:4631;Context sensitive words (8);fundamental ibm unbounded attributes; +573;run_fundamental.at:4658;ROUNDED AWAY-FROM-ZERO;fundamental compute; +574;run_fundamental.at:4721;ROUNDED NEAREST-AWAY-FROM-ZERO;fundamental compute; +575;run_fundamental.at:4784;ROUNDED NEAREST-EVEN;fundamental compute; +576;run_fundamental.at:4847;ROUNDED NEAREST-TOWARD-ZERO;fundamental compute; +577;run_fundamental.at:4910;ROUNDED TOWARD-GREATER;fundamental compute; +578;run_fundamental.at:4973;ROUNDED TOWARD-LESSER;fundamental compute; +579;run_fundamental.at:5036;ROUNDED TRUNCATION;fundamental compute; +580;run_fundamental.at:5099;Numeric operations (1);fundamental add subtract; +581;run_fundamental.at:5135;Numeric operations (2) DISPLAY;fundamental add subtract; +582;run_fundamental.at:5371;Numeric operations (3) PACKED-DECIMAL;fundamental add subtract comp-3; +583;run_fundamental.at:5675;Numeric operations (4) BINARY;fundamental add subtract comp; +584;run_fundamental.at:5910;Numeric operations (5) COMP-5;fundamental add subtract; +585;run_fundamental.at:6145;Numeric operations (6);fundamental add; +586;run_fundamental.at:6205;Numeric operations (7);fundamental add compute literal; +587;run_fundamental.at:6495;Numeric operations (8);fundamental compute literal; +588;run_fundamental.at:6545;ADD CORRESPONDING;fundamental corresponding; +589;run_fundamental.at:6593;ADD CORRESPONDING no match;fundamental corresponding; +590;run_fundamental.at:6643;SYNC in OCCURS;fundamental synchronize; +591;run_fundamental.at:6683;88 level with THRU;runmisc; +592;run_fundamental.at:6778;88 level with FILLER;runmisc; +593;run_fundamental.at:6807;88 level with FALSE IS clause;runmisc; +594;run_fundamental.at:6835;BLANK WHEN ZERO;fundamental; +595;run_fundamental.at:6865;MULTIPLY BY literal in INITIAL program;decimal constants fundamental; +596;run_fundamental.at:6894;DIVIDE complex;decimal constants fundamental; +597;run_fundamental.at:7015;COMPUTE with decimal constants;fundamental; +598;run_fundamental.at:7051;decimal constant with multiple programs;fundamental external initial; +599;run_fundamental.at:7084;debugging lines (not active);fundamental; +600;run_fundamental.at:7107;debugging lines (-fdebugging-line);fundamental; +601;run_fundamental.at:7130;debugging lines (WITH DEBUGGING MODE);fundamental extensions; +602;run_fundamental.at:7156;debugging lines, free format (not active);fundamental extensions; +603;run_fundamental.at:7179;debugging lines, free format (-fdebugging-line);fundamental extensions; +604;run_fundamental.at:7202;USE FOR DEBUGGING (no DEBUGGING MODE);fundamental configuration; +605;run_fundamental.at:7247;USE FOR DEBUGGING (COB_SET_DEBUG deactivated);fundamental configuration; +606;run_fundamental.at:7292;USE FOR DEBUGGING ON ALL PROCEDURES;fundamental debug-item; +607;run_fundamental.at:7343;USE FOR DEBUGGING ON procedure;fundamental; +608;run_fundamental.at:7391;USE FOR DEBUGGING (COB_SET_DEBUG switched);fundamental configuration set environment; +609;run_fundamental.at:7440;USE FOR DEBUGGING ON [ALL] REFERENCES OF field;fundamental; +610;run_fundamental.at:7520;USE FOR DEBUGGING, reference within DEBUGGING;fundamental; +611;run_fundamental.at:7561;USE FOR DEBUGGING, time of execution;fundamental debugging; +612;run_fundamental.at:7611;USE FOR DEBUGGING, reference with OCCURS;fundamental debugging; +613;run_fundamental.at:7644;USE FOR DEBUGGING, referencing BASED item;fundamental debugging free allocate; +614;run_fundamental.at:7699;USE FOR DEBUGGING file;fundamental open write read close; +615;run_fundamental.at:7742;Simple Expressions with figurative constants;expression conditional; +616;run_fundamental.at:8085;Expression numeric vs. DISPLAY;expression conditional; +617;run_fundamental.at:8140;Abbreviated Expressions;expression conditional; +618;run_fundamental.at:8252;integer arithmetic on floating-point var;fundamental literal; +619;run_fundamental.at:8294;TYPEDEF application;fundamental external; +620;run_fundamental.at:8356;Alphanumeric VALUE longer than PIC;fundamental size; +621;run_fundamental.at:8388;DISPLAY with P fields;fundamental runmisc pretty-display pretty-printing pretty packed-decimal; +622;run_fundamental.at:8474;condition IS ZERO AND;fundamental if; +623;run_fundamental.at:8525;abbreviated conditions;fundamental if; +624;run_fundamental.at:8562;invalid use of condition-names;fundamental if; +625;run_fundamental.at:8590;MOVE with JUSTIFIED clause;fundamental right; +626;run_fundamental.at:8635;MOVE with PICTURE P;fundamental; +627;run_fundamental.at:8839;MOVE with de-editting to USAGE DISPLAY;fundamental; +628;run_fundamental.at:8891;MOVE with de-editting to DECIMAL IS COMMA;fundamental; +629;run_fundamental.at:8949;MOVE with de-editting to BINARY;fundamental; +630;run_fundamental.at:9000;MOVE with de-editting to COMP-3;fundamental packed-decimal; +631;run_fundamental.at:9052;MOVE with de-editting to COMP-5;fundamental; +632;run_fundamental.at:9104;MOVE with de-editting to NUMERIC DISPLAY (2);fundamental; +633;run_fundamental.at:9233;MOVE misc. edited;fundamental; +634;run_fundamental.at:9307;MOVE between USAGEs;fundamental comp-1 comp-2 comp-3 comp-4 comp-5 comp-6 display binary packed-decimal binary-c-long binary-char binary-double binary-int binary-long signed unsigned binary-long-long binary-short float-decimal-16 float-decimal-34 float-short signed-int signed-long signed-short unsigned-int unsigned-long unsigned-short; +635;run_fundamental.at:11090;MOVE to editted ZERO;fundamental; +636;run_fundamental.at:11135;SPECIAL-NAMES CLASS;fundamental; +637;run_subscripts.at:26;Subscript out of bounds;runsubscripts subscripts; +638;run_subscripts.at:71;Value of DEPENDING ON N out of bounds;runsubscripts subscripts; +639;run_subscripts.at:122;Subscript bounds with OCCURS DEPENDING ON (1);runsubscripts subscripts odo; +640;run_subscripts.at:148;Subscript bounds with OCCURS DEPENDING ON (2);runsubscripts subscripts odo if; +641;run_subscripts.at:176;Subscript bounds with OCCURS DEPENDING ON (3);runsubscripts subscripts odo evaluate when; +642;run_subscripts.at:211;Subscript by arithmetic expression;runsubscripts subscripts; +643;run_subscripts.at:242;length of ODO w/- reference-modification;runsubscripts subscripts; +644;run_subscripts.at:298;SEARCH ALL with OCCURS DEPENDING ON;runsubscripts subscripts odo; +645;run_subscripts.at:351;enable / disable subscript check;runsubscripts subscripts debug exception-name turn bound nobound; +646;run_subscripts.at:396;enable / disable subscript check with ODO;runsubscripts subscripts odo debug; +647;run_subscripts.at:437;BOUND and NOBOUND directives;runsubscripts subscripts extensions directive; +648;run_subscripts.at:506;SSRANGE and NOSSRANGE directives;runsubscripts subscripts extensions directive; +649;run_subscripts.at:542;CALL with OCCURS DEPENDING ON;runsubscripts subscripts odo; +650;run_refmod.at:25;Static reference-modification;refmod; +651;run_refmod.at:57;Dynamic reference-modification;refmod; +652;run_refmod.at:94;Offset underflow;refmod; +653;run_refmod.at:118;Offset overflow;refmod; +654;run_refmod.at:145;Length underflow;refmod; +655;run_refmod.at:189;Length overflow;refmod; +656;run_refmod.at:231;Length overflow with offset (1);refmod; +657;run_refmod.at:254;Length overflow with offset (2);refmod if; +658;run_refmod.at:280;Length overflow with offset (3);refmod evaluate when; +659;run_refmod.at:313;enable / disable ref-mod check;refmod debug exception-name; +660;run_refmod.at:388;MF SSRANGE and NOSSRANGE directives;refmod extensions directive; +661;run_accept.at:29;ACCEPT OMITTED (simple);extensions; +662;run_accept.at:51;ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (1);inspect converting configuration cob_current_date; +663;run_accept.at:141;ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (2);configuration cob_current_date microsecond microsecond-time extensions acu; +664;run_accept.at:283;ACCEPT DATE / DAY and intrinsic functions (1);function integer-of-date day-of-integer; +665;run_accept.at:320;ACCEPT DATE / DAY and intrinsic functions (2);configuration function integer-of-date day-of-integer cob_current_date; +666;run_accept.at:367;ACCEPT OMITTED (SCREEN);extensions; +667;run_initialize.at:29;INITIALIZE group entry with OCCURS;initialize; +668;run_initialize.at:57;INITIALIZE OCCURS with numeric edited;initialize editing; +669;run_initialize.at:90;INITIALIZE OCCURS with SIGN LEADING / TRAILING;initialize display; +670;run_initialize.at:161;INITIALIZE complex group (1);initialize; +671;run_initialize.at:189;INITIALIZE complex group (2);initialize; +672;run_initialize.at:217;initial value for group item with VALUE;initialize; +673;run_initialize.at:249;Value for group item with VALUE;initialize; +674;run_initialize.at:298;INITIALIZE group item;initialize; +675;run_initialize.at:415;INITIALIZE with REDEFINES;initialize; +676;run_initialize.at:442;INITIALIZE with FILLER;initialize; +677;run_initialize.at:509;INITIALIZE of EXTERNAL data items;initialize; +678;run_initialize.at:560;INITIALIZE with reference-modification;initialize; +679;run_initialize.at:596;INITIALIZE big table with VALUE;value occurs nested; +680;run_initialize.at:655;INITIALIZE to table-format VALUES ARE;value occurs extension nested; +681;run_misc.at:23;Comma separator without space;runmisc; +682;run_misc.at:44;DECIMAL-POINT is COMMA (1);misc extensions; +683;run_misc.at:72;DECIMAL-POINT is COMMA (2);misc extensions; +684;run_misc.at:100;DECIMAL-POINT is COMMA (3);misc extensions; +685;run_misc.at:128;DECIMAL-POINT is COMMA (4);misc extensions; +686;run_misc.at:156;DECIMAL-POINT is COMMA (5);misc extensions; +687;run_misc.at:190;CURRENCY SIGN;misc fundamental; +688;run_misc.at:221;CURRENCY SIGN WITH PICTURE SYMBOL;misc fundamental; +689;run_misc.at:268;LOCAL-STORAGE (1);runmisc; +690;run_misc.at:304;LOCAL-STORAGE (2);runmisc; +691;run_misc.at:348;LOCAL-STORAGE (3);runmisc occurs index indexed; +692;run_misc.at:437;EXTERNAL data item;runmisc; +693;run_misc.at:475;EXTERNAL AS data item;runmisc; +694;run_misc.at:518;EXTERNAL data item size mismatch;runmisc; +695;run_misc.at:599;MOVE to itself;runmisc; +696;run_misc.at:623;MOVE with refmod;runmisc; +697;run_misc.at:645;MOVE with refmod (variable);runmisc; +698;run_misc.at:669;MOVE with group refmod;runmisc; +699;run_misc.at:692;MOVE indexes;runmisc; +700;run_misc.at:716;MOVE X'00';runmisc; +701;run_misc.at:751;MOVE Z'literal';runmisc literal; +702;run_misc.at:793;Floating continuation indicator;runmisc; +703;run_misc.at:815;Fixed continuation indicator;; +704;run_misc.at:857;Concatenation operator;runmisc; +705;run_misc.at:881;SOURCE FIXED/FREE directives;runmisc sourceformat fixed free; +706;run_misc.at:917;TURN directive;runmisc bound nobound directives; +707;run_misc.at:958;OCCURS on level 01;runmisc toplevel value set address bound depending odo; +708;run_misc.at:1043;Class check with reference-modification;runmisc; +709;run_misc.at:1065;Index and parenthesized expression;runmisc; +710;run_misc.at:1087;Alphanumeric and binary numeric;runmisc; +711;run_misc.at:1111;Non-numeric data in numeric items;runmisc; +712;run_misc.at:1175;MOVE of invalid data from numeric to alphanumeric item;runmisc; +713;run_misc.at:1211;Dynamic call with static linking;runmisc; +714;run_misc.at:1240;Static call with static linking;runmisc; +715;run_misc.at:1271;Dynamic CALL with ON EXCEPTION;runmisc; +716;run_misc.at:1303;Static CALL with ON EXCEPTION;runmisc; +717;run_misc.at:1343;CALL m1. CALL m2. CALL m1.;runmisc; +718;run_misc.at:1394;Recursive CALL of RECURSIVE program;runmisc cancel external; +719;run_misc.at:1452;Recursive CALL of INITIAL program;runmisc; +720;run_misc.at:1503;Recursive CALL with RECURSIVE assumed;runmisc; +721;run_misc.at:1549;Recursive CALL with ON EXCEPTION;runmisc exception-status; +722;run_misc.at:1606;Multiple calls of INITIAL program;runmisc call; +723;run_misc.at:1663;CALL binary literal parameter/LENGTH OF;runmisc; +724;run_misc.at:1717;INSPECT REPLACING LEADING ZEROS BY SPACES;runmisc; +725;run_misc.at:1739;INSPECT: no repeat conversion;runmisc inspect; +726;run_misc.at:1765;TRANSFORM statement;runmisc converting alphabet; +727;run_misc.at:1798;INSPECT CONVERTING alphabet;runmisc ascii ebcdic; +728;run_misc.at:1847;INSPECT CONVERTING TO figurative constant;runmisc; +729;run_misc.at:1869;INSPECT CONVERTING NULL;runmisc; +730;run_misc.at:1891;INSPECT CONVERTING TO NULL;runmisc; +731;run_misc.at:1913;INSPECT CONVERTING complex;runmisc; +732;run_misc.at:1942;INSPECT numeric signed;runmisc; +733;run_misc.at:2083;INSPECT TALLYING BEFORE;runmisc; +734;run_misc.at:2116;INSPECT TALLYING AFTER;runmisc; +735;run_misc.at:2149;INSPECT TALLYING BEFORE and AFTER;runmisc; +736;run_misc.at:2185;INSPECT TALLYING REPLACING BEFORE and AFTER;runmisc; +737;run_misc.at:2222;INSPECT REPLACING figurative constant;runmisc; +738;run_misc.at:2246;SWITCHES (environment COB_SWITCH_n and SET);runmisc; +739;run_misc.at:2327;Nested PERFORM;runmisc; +740;run_misc.at:2350;PERFORM VARYING BY -0.2 decimal;runmisc; +741;run_misc.at:2376;PERFORM VARYING Float;perform; +742;run_misc.at:2415;PERFORM VARYING BY phrase omitted;runmisc; +743;run_misc.at:2446;EXIT PERFORM;runmisc; +744;run_misc.at:2469;EXIT PERFORM CYCLE;runmisc; +745;run_misc.at:2492;EXIT PARAGRAPH;runmisc; +746;run_misc.at:2526;EXIT SECTION;runmisc; +747;run_misc.at:2567;implicit GOBACK at end of PROCEDURE DIVISION;runmisc; +748;run_misc.at:2590;PERFORM FOREVER / PERFORM UNTIL EXIT;runmisc extension; +749;run_misc.at:2631;PERFORM inline (1);runmisc; +750;run_misc.at:2657;PERFORM inline (2);runmisc; +751;run_misc.at:2681;Non-overflow after overflow;runmisc; +752;run_misc.at:2708;PERFORM ... CONTINUE;runmisc; +753;run_misc.at:2725;STRING with subscript reference;runmisc; +754;run_misc.at:2751;STRING WITH POINTER ON OVERFLOW with DELIMITER;runmisc exceptions; +755;run_misc.at:2835;STRING / UNSTRING [NOT] ON OVERFLOW;runmisc exceptions; +756;run_misc.at:2952;UNSTRING DELIMITED ALL LOW-VALUE;runmisc; +757;run_misc.at:2983;UNSTRING DELIMITED ALL SPACE-2;runmisc; +758;run_misc.at:3036;UNSTRING DELIMITED POINTER;runmisc; +759;run_misc.at:3084;UNSTRING DELIMITER IN;runmisc; +760;run_misc.at:3126;UNSTRING combined;runmisc; +761;run_misc.at:3240;UNSTRING with FUNCTION / literal;runmisc; +762;run_misc.at:3310;SORT: table;runmisc sort; +763;run_misc.at:3344;SORT: table (2);runmisc sort; +764;run_misc.at:3469;SORT: table (3);runmisc sort; +765;run_misc.at:3561;SORT: table (toplevel);runmisc sort; +766;run_misc.at:3583;SORT: EBCDIC table;runmisc sort alphabet object-computer; +767;run_misc.at:3648;Alphanum comparison with default COLLATING SEQUENCE;runmisc ebcdic ascii default-colseq; +768;run_misc.at:3676;SORT: table with default COLLATING SEQUENCE;runmisc sort ebcdic ascii default-colseq; +769;run_misc.at:3712;JUSTIFIED and VALUE clauses;runmisc just right initialize ibm; +770;run_misc.at:3966;SEARCH ALL: table with default COLLATING SEQUENCE;runmisc ebcdic ascii default-colseq; +771;run_misc.at:4006;PIC ZZZ-, ZZZ+;runmisc editing; +772;run_misc.at:4047;PERFORM type OSVS;runmisc; +773;run_misc.at:4083;Sticky LINKAGE;runmisc call; +774;run_misc.at:4125;COB_PRE_LOAD;runmisc; +775;run_misc.at:4151;COB_PRE_LOAD with entry points;runmisc; +776;run_misc.at:4222;Lookup ENTRY from main executable;runmisc; +777;run_misc.at:4263;COB_LOAD_CASE=UPPER;runmisc call cob_load_case; +778;run_misc.at:4289;ALLOCATE / FREE with BASED item (1);runmisc; +779;run_misc.at:4315;ALLOCATE / FREE with BASED item (2);runmisc; +780;run_misc.at:4359;ALLOCATE CHARACTERS INITIALIZED (TO);runmisc; +781;run_misc.at:4406;Initialized value with defaultbyte;runmisc; +782;run_misc.at:4430;CALL with OMITTED parameter;runmisc; +783;run_misc.at:4466;direct CALL in from C w/wo error;runmisc cobcall cob_call cob_init cob_runtime_hint; +784;run_misc.at:4547;direct CALL in from C w/wo error; no exit;runmisc cobcall cob_call cob_call_with_exception_check cob_runtime_hint; +785;run_misc.at:4681;CALL in from C, cob_call_params explicitly set;runmisc; +786;run_misc.at:4740;CALL in from C, cob_call_params unknown;runmisc; +787;run_misc.at:4793;CALL C with callback, PROCEDURE DIVISION EXTERN;runmisc extensions call-convention; +788;run_misc.at:4863;CALL C with callback, ENTRY-CONVENTION EXTERN;runmisc call-convention linkage options; +789;run_misc.at:5014;CALL in from C with init missing / implicit;runmisc implicit-init; +790;run_misc.at:5062;CALL STATIC C from COBOL;runmisc; +791;run_misc.at:5118;ANY LENGTH (1);runmisc call; +792;run_misc.at:5157;ANY LENGTH (2);runmisc call; +793;run_misc.at:5197;ANY LENGTH (3);runmisc call; +794;run_misc.at:5240;ANY LENGTH (4);runmisc if call; +795;run_misc.at:5283;ANY LENGTH (5);runmisc call; +796;run_misc.at:5308;access to BASED item without allocation;runmisc; +797;run_misc.at:5347;access to OPTIONAL LINKAGE item not passed;runmisc call; +798;run_misc.at:5385;STOP RUN WITH NORMAL STATUS;runmisc; +799;run_misc.at:5403;STOP RUN WITH ERROR STATUS;runmisc; +800;run_misc.at:5421;STOP ERROR;runmisc; +801;run_misc.at:5446;SYMBOLIC clause;runmisc alphabet; +802;run_misc.at:5479;OCCURS clause with 1 entry;runmisc; +803;run_misc.at:5520;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 packed-decimal comp-5 comp-6 comp-x comp-n float-decimal-16 float-decimal-34 float-long float-short; +804;run_misc.at:6045;Computing of different USAGEs w/- decimal point;runmisc binary-c-long binary-char binary-double binary-long comp comp-1 comp-2 comp-3 packed-decimal comp-5 comp-6 comp-n comp-x float-decimal-16 float-decimal-34 float-long float-short; +805;run_misc.at:6534;compilation-group with decimal;runmisc function numval; +806;run_misc.at:6574;C/C++ reserved words/predefined identifiers;runmisc; +807;run_misc.at:7030;PICTURE with Edit mask;numeric; +808;run_misc.at:7103;POINTER;numeric; +809;run_misc.at:7139;CALL RETURNING POINTER;run_extensions; +810;run_misc.at:7209;ON EXCEPTION clause of DISPLAY;runmisc exceptions screen; +811;run_misc.at:7234;EC-SCREEN-LINE-NUMBER and -STARTING-COLUMN;runmisc exceptions screen; +812;run_misc.at:7275;LINE/COLUMN 0 exceptions;line column runmisc exceptions extensions screen; +813;run_misc.at:7313;SET LAST EXCEPTION TO OFF;runmisc exceptions exception-status exception-location; +814;run_misc.at:7349;void PROCEDURE;runmisc; +815;run_misc.at:7378;Figurative constants to numeric field;numeric; +816;run_misc.at:7440;MF FIGURATIVE to NUMERIC;move; +817;run_misc.at:7575;CALL RETURNING;runmisc giving return-code; +818;run_misc.at:7614;void PROCEDURE, NOTHING return;runmisc procedure using returning omitted call giving; +819;run_misc.at:7649;READY TRACE / RESET TRACE;runmisc -ftrace -ftraceall -fsource-location call recursive return-code search cob_physical_cancel cob_pre_load; +820;run_misc.at:8122;Trace feature with subroutine;; +821;run_misc.at:10247;stack and dump feature;stacktrace configuration cob_stacktrace cob_dump_file call; +822;run_misc.at:11064;dump feature with NULL address;stack stacktrace; +823;run_misc.at:11340;CALL with program prototypes;runmisc; +824;run_misc.at:11419;REDEFINES values on FILLER and INITIALIZE;runmisc initialize; +825;run_misc.at:11474;PICTURE with constant-name;runmisc; +826;run_misc.at:11502;Quote marks in comment paragraphs;runmisc; +827;run_misc.at:11528;Numeric MOVE with/without -fbinary-truncate;runmisc size binary-truncate; +828;run_misc.at:11598;Alphanumeric MOVE with truncation;misc fundamental size; +829;run_misc.at:11649;PROGRAM-ID / CALL literal/variable with spaces;runmisc; +830;run_misc.at:11717;PROGRAM-ID / CALL with hyphen and underscore;runmisc; +831;run_misc.at:11754;CALL with directory;runmisc; +832;run_misc.at:11812;C-API (param based);runmisc call api; +833;run_misc.at:12048;C-API (field based);runmisc call api; +834;run_misc.at:12277;OPTIONS paragraph, DEFAULT ROUNDED MODE;runmisc; +835;run_misc.at:12307;OCCURS INDEXED ASCENDING;occurs extension; +836;run_misc.at:12408;ZERO unsigned and negative binary subscript;runmisc; +837;run_misc.at:12485;Default Arithmetic (1);runmisc; +838;run_misc.at:12589;Default Arithmetic Test (2);runmisc; +839;run_misc.at:12640;OSVS Arithmetic (1);runmisc; +840;run_misc.at:12757;OSVS Arithmetic Test (2);runmisc; +841;run_misc.at:12814;SET CONSTANT directive;misc directives extensions; +842;run_misc.at:12917;DEFINE OVERRIDE;cdf directive; +843;run_misc.at:12983;DEFINE Defaults;cdf directive; +844;run_misc.at:13049;78 VALUE;constant misc; +845;run_misc.at:13117;01 CONSTANT;misc; +846;run_misc.at:13197;DISPLAY UPON;chaining printer pipe console syserr syspch syspunch cob_display_print_pipe cob_display_print_file cob_display_punch_file; +847;run_misc.at:13299;FLOAT-DECIMAL w/o SIZE ERROR;numeric runmisc overflow float-decimal-16 float-decimal-34 display compute; +848;run_misc.at:13473;FLOAT-SHORT / FLOAT-LONG w/o SIZE ERROR;numeric runmisc overflow comp-1 comp-2 display compute; +849;run_misc.at:13672;FLOAT-SHORT with SIZE ERROR;comp-1 overflow; +850;run_misc.at:13723;FLOAT-LONG with SIZE ERROR;comp-2 overflow; +851;run_misc.at:13781;EC-SIZE-ZERO-DIVIDE;misc fundamental exceptions divide compute exception-status; +852;run_misc.at:13824;EC-SIZE-OVERFLOW;misc fundamental exceptions; +853;run_misc.at:13855;Constant Expressions;runmisc condition expression; +854;run_misc.at:13944;ENTRY FOR GO TO / GO TO ENTRY;runmisc condition expression; +855;run_misc.at:14034;runtime checks within conditions;runmisc condition expression; +856;run_misc.at:14148;runtime check: write to internal storage (1);runmisc call bounds exceptions; +857;run_misc.at:14248;runtime check: write to internal storage (2);runmisc call bounds exceptions; +858;run_misc.at:14343;libcob version check;runmisc; +859;run_misc.at:14448;assorted math;runmisc expression; +860;run_misc.at:14485;compare numeric DISPLAY SPACE with ZERO;runmisc expression; +861;run_misc.at:14626;Decimal constants and programs in same source;runmisc initial cancel call; +862;run_misc.at:14686;run profiling;cobc profiling; +863;run_misc.at:14758;run profiling with no paragraph/section names;cobc profiling; +864;run_misc.at:14788;run profiling with no section names;cobc profiling; +865;run_misc.at:14821;profiling depth overflow;cobc; +866;run_misc.at:14847;run profiling with recursion, entries and CALL;cobc; +867;run_misc.at:14908;profiling two modules with CALL;cobc; +868;run_misc.at:14998;profiling multiple programs;cobc; +869;run_misc.at:15066;profiling out of test mode;cobc; +870;run_file.at:23;OPEN EXTEND and CLOSE, SEQUENTIAL;runfile empty close optional write read; +871;run_file.at:93;CLOSE WITH LOCK;runfile open write read delete file; +872;run_file.at:167;CLOSE WITH LOCK, EXTERNAL FILE;runfile open write read delete file; +873;run_file.at:241;variable-length SEQUENTIAL data integrity;runfile record open; +874;run_file.at:306;DELETE FILE, SEQUENTIAL;runfile file open i-o optional; +875;run_file.at:376;OUTPUT on SEQUENTIAL file to missing directory;runfile open assign; +876;run_file.at:413;OPEN EXTEND and CLOSE, INDEXED;runfile empty close optional write read; +877;run_file.at:485;DELETE FILE, INDEXED;runfile file open i-o optional; +878;run_file.at:558;OUTPUT on INDEXED file to missing directory;runfile open assign; +879;run_file.at:598;READ INTO data item AT-END sequence;runfile; +880;run_file.at:635;First READ on empty SEQUENTIAL INDEXED file;runfile; +881;run_file.at:675;READ NEXT without previous START;runfile write indexed; +882;run_file.at:753;REWRITE a RELATIVE file with RANDOM access;runfile; +883;run_file.at:823;ASSIGN DYNAMIC and EXTERNAL;extensions runfile; +884;run_file.at:871;ASSIGN EXTERNAL parsing;extensions runfile; +885;run_file.at:905;ASSIGN directive;extensions runfile; +886;run_file.at:948;ASSIGN filename expansion;extensions runfile; +887;run_file.at:975;ASSIGN filename mapping;extensions runfile optional; +888;run_file.at:1151;ASSIGN with COB_FILE_PATH;extensions runfile; +889;run_file.at:1188;ASSIGN DYNAMIC with LOCAL-STORAGE item;runfile; +890;run_file.at:1225;ASSIGN DYNAMIC with LOCAL-STORAGE item, INITIAL;runfile; +891;run_file.at:1265;ASSIGN DYNAMIC with BASED data item;runfile status; +892;run_file.at:1351;ASSIGN DYNAMIC with data item in LINKAGE;runfile-control file status call; +893;run_file.at:1523;ASSIGN DYNAMIC with empty data item;runfile status; +894;run_file.at:1563;ASSIGN DYNAMIC with unset implicit data item;runfile status; +895;run_file.at:1595;INDEXED file key-name;runfile split key; +896;run_file.at:1637;INDEXED file sparse/split keys;runfile split key sparse suppress; +897;run_file.at:2158;INDEXED file split keys WITH DUPLICATES;runfile key extfh; +898;run_file.at:2324;INDEXED file variable length record;runfile optional suppress write start read; +899;run_file.at:2600;INDEXED sample;runfile optional file status read write duplicates start unlock cob_sync; +900;run_file.at:3101;WRITE + REWRITE FILE name;runfile relative cob_sync; +901;run_file.at:3262;START RELATIVE (1);fundamental runfile delete file; +902;run_file.at:3311;START RELATIVE (2);fundamental runfile; +903;run_file.at:3387;START RELATIVE (3);runfile; +904;run_file.at:3463;READ on OPTIONAL missing RELATIVE / SEQUENTIAL;runfile; +905;run_file.at:3585;READ on OPTIONAL missing INDEXED file;runfile; +906;run_file.at:3635;EXTERNAL RELATIVE file;runfile; +907;run_file.at:3699;DECLARATIVES procedure referencing;runfile; +908;run_file.at:3739;DECLARATIVES procedure referencing (multiple);runfile; +909;run_file.at:3783;System routines for directories (1);extensions runfile cbl_create_dir cbl_change_dir cbl_delete_dir; +910;run_file.at:3825;System routines for directories (2);runfile extensions cbl_create_dir cbl_create_file cbl_close_file cbl_check_file_exist cbl_delete_dir cbl_purge_dir; +911;run_file.at:3922;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; +912;run_file.at:4119;System routines for files - filename mapping;extensions runfile cbl_open_file cbl_close_file; +913;run_file.at:4236;System routine CBL_COPY_FILE;extensions runfile; +914;run_file.at:4271;Default file external name;runfile; +915;run_file.at:4345;SEQUENTIAL basic I/O;runfile read write rewrite cob_sync; +916;run_file.at:4394;LINE SEQUENTIAL basic I/O;runfile read write rewrite; +917;run_file.at:4460;LINE SEQUENTIAL WRITE AFTER;runfile; +918;run_file.at:4506;LINE SEQUENTIAL record truncation (1);runfile extensions read configuration cob_ls_split split; +919;run_file.at:4610;LINE SEQUENTIAL record truncation (2);runfile extensions read write configuration cob_ls_split split; +920;run_file.at:4746;LINE SEQUENTIAL standard record overflow;runfile read write configuration cob_ls_split split; +921;run_file.at:4882;LINAGE and LINAGE-COUNTER sample;runfile optional file status read write end-of-page line sequential configuration cob_current_date date; +922;run_file.at:5169;EXTFH: LINAGE and LINAGE-COUNTER sample;runfile extfh optional file status read write end-of-page line sequential; +923;run_file.at:5459;SEQUENTIAL file I/O with variable records;runfile; +924;run_file.at:5534;LINE SEQUENTIAL file I/O with variable records;runfile; +925;run_file.at:5608;SEQUENTIAL file REWRITE;runfile; +926;run_file.at:5720;SEQUENTIAL file with LOCK MODE EXCLUSIVE;runfile; +927;run_file.at:5790;SEQUENTIAL file with OPEN WITH LOCK;runfile; +928;run_file.at:5858;SEQUENTIAL file with SHARING NO;runfile; +929;run_file.at:5928;SEQUENTIAL file with SHARING READ ONLY;runfile; +930;run_file.at:6003;SEQUENTIAL file with blocked lock;runfile; +931;run_file.at:6076;RELATIVE SEQUENTIAL basic I/O;runfile; +932;run_file.at:6110;RELATIVE RANDOM basic I/O;runfile; +933;run_file.at:6160;RELATIVE SEQUENTIAL with variable records;runfile; +934;run_file.at:6234;INDEXED SEQUENTIAL basic I/O;runfile; +935;run_file.at:6272;INDEXED SEQUENTIAL with variable records;runfile; +936;run_file.at:6354;INDEXED file with LOCK MODE EXCLUSIVE;runfile; +937;run_file.at:6433;INDEXED file with OPEN WITH LOCK;runfile; +938;run_file.at:6511;INDEXED file with SHARING NO;runfile; +939;run_file.at:6590;INDEXED file with SHARING READ ONLY;runfile; +940;run_file.at:6676;INDEXED file with blocked lock;runfile; +941;run_file.at:6758;INDEXED file with LOCK AUTOMATIC (1);runfile; +942;run_file.at:6849;INDEXED file with LOCK AUTOMATIC (2);runfile; +943;run_file.at:6941;INDEXED file with LOCK MANUAL;runfile; +944;run_file.at:7031;START INDEXED;runfile; +945;run_file.at:7110;INDEXED partial keys;runfile; +946;run_file.at:7257;INDEXED undeclared keys;runfile; +947;run_file.at:7428;READ INPUT pipe & WRITE OUTPUT pipe;runfile; +948;run_file.at:7526;EXTFH: using ISAM callback;runfile extfh indexed; +949;run_file.at:8226;EXTFH: Indexed with FH--FCD;runfile extfh fcdreg fh--keydef isam; +950;run_file.at:8839;EXTFH: SEQUENTIAL files;runfile extfh; +951;run_file.at:9251;EXTFH: LINE SEQUENTIAL files, direct EXTFH;runfile; +952;run_file.at:9430;EXTFH: LINE SEQUENTIAL files (2);runfile extfh; +953;run_file.at:9623;EXTFH: FIXED SEQUENTIAL;runfile extfh; +954;run_file.at:9820;EXTFH: operation OP_GETINFO / QUERY-FILE;runfile extfh getinfo query; +955;run_file.at:10002;EXTFH: changing record address;runfile extfh; +956;run_file.at:10323;EXTFH: INDEXED with multiple keys;runfile extfh; +957;run_file.at:10654;EXTFH: RELATIVE files;extfh; +958;run_file.at:10843;EXTFH: reading two files with one FCD;runfile extfh; +959;run_file.at:11024;EXTFH: auto-conversion FCD2 <-> FCD3 on 32bit;runfile extfh; +960;run_file.at:11390;RELATIVE Multi-Record;runfile; +961;run_file.at:11640;INDEXED File READ/DELETE/READ;runfile read delete extfh; +962;run_file.at:12447;INDEXED files under ASCII/EBCDIC collation;runfile write delete read ebcdic; +963;run_file.at:12772;INDEXED file numeric keys ordering;runfile; +964;run_file.at:12865;TURN EC-I-O;runfile directive; +965;run_file.at:12962;LINE SEQUENTIAL REWRITE;runfile cob_sync read write; +966;run_file.at:13234;LINE SEQUENTIAL data;runfile ls_nulls ls_validate; +967;run_file.at:13422;Concatenated Files;runfile status; +968;run_file.at:13566;File SORT, SEQUENTIAL;runfile sort using giving; +969;run_file.at:13616;File SORT, SEQUENTIAL variable records;runfile sort using giving; +970;run_file.at:13702;File SORT, LINE SEQUENTIAL;runfile sort using giving; +971;run_file.at:13761;File SORT, LINE SEQUENTIAL same file;runfile sort using giving; +972;run_file.at:13808;File SORT, LINE SEQUENTIAL;runfile sort using giving; +973;run_file.at:13872;EXTFH: File SORT, LINE SEQUENTIAL;runfile sort using giving extfh; +974;run_file.at:13939;File MERGE, LINE SEQUENTIAL variable records;runfile; +975;run_file.at:14030;SORT nonexistent file;runfile; +976;run_file.at:14065;SORT with INPUT/OUTPUT PROCEDUREs;runfile; +977;run_file.at:14155;SORT with key1 ASCENDING, key2 DESCENDING;runfile; +978;run_file.at:14222;Scope of FD GLOBAL in nested programs;file; +979;run_file.at:14379;OPEN / CLOSE with multiple filenames;declaratives file error; +980;run_reportwriter.at:23;Report Line Order;report file mapping; +981;run_reportwriter.at:120;REPORT COL PLUS;report runfile; +982;run_reportwriter.at:189;Report Overlapping Fields;report runfile; +983;run_reportwriter.at:258;EMPTY REPORT;report runfile; +984;run_reportwriter.at:327;PAGE LIMIT REPORT;report runfile; +985;run_reportwriter.at:388;PAGE LIMIT REPORT 2;report runfile; +986;run_reportwriter.at:460;Sample Customer Report;report runfile; +987;run_reportwriter.at:775;Sample Charge Report;report runfile; +988;run_reportwriter.at:1128;Sample Charge Report 2;report runfile; +989;run_reportwriter.at:1498;Sample Charge Report 3;report runfile; +990;run_reportwriter.at:1798;Sample Charge Report 4;report runfile; +991;run_reportwriter.at:2214;Sample Payroll Report;report runfile; +992;run_reportwriter.at:2895;Sample REPORT with RIGHT/CENTER;report runfile; +993;run_reportwriter.at:3063;STUDENT REPORT with INITIAL;report runfile; +994;run_reportwriter.at:3215;ORDER REPORT; Test substring;report runfile; +995;run_reportwriter.at:3563;Sample Control Break;report runfile; +996;run_reportwriter.at:3792;Sample Inventory Report;report runfile; +997;run_reportwriter.at:3986;Duplicate Detail Line;report runfile; +998;run_reportwriter.at:4114;Report with OCCURS;report runfile; +999;run_reportwriter.at:4218;Report CODE and LIMIT COLUMNS;report runfile occurs; +1000;run_reportwriter.at:4436;Test Report dump DECLARATIVES;dump; +1001;run_reportwriter.at:4581;Duplicate INITIATE;report runfile; +1002;run_reportwriter.at:4647;Missing INITIATE and GENERATE;report runfile; +1003;run_reportwriter.at:4707;Missing INITIATE and TERMINATE;report runfile; +1004;run_reportwriter.at:4761;Next Group Next Page;report runfile; +1005;run_reportwriter.at:9084;Report PRESENT AFTER;report runfile; +1006;run_reportwriter.at:9346;Varying and Nested OCCURS;report; +1007;run_reportwriter.at:9520;BEFORE REPORTING;report; +1008;run_returncode.at:23;RETURN-CODE moving;returncode; +1009;run_returncode.at:49;RETURN-CODE passing;returncode; +1010;run_returncode.at:101;RETURN-CODE nested;returncode; +1011;run_functions.at:24;FUNCTION ABS;functions; +1012;run_functions.at:46;FUNCTION ACOS;functions packed-decimal comp-3 comp-6; +1013;run_functions.at:80;FUNCTION ANNUITY;functions; +1014;run_functions.at:102;FUNCTION ASIN;functions packed-decimal comp-3 comp-6; +1015;run_functions.at:141;FUNCTION ATAN;functions; +1016;run_functions.at:165;FUNCTION BYTE-LENGTH;functions length; +1017;run_functions.at:221;FUNCTION CHAR;functions; +1018;run_functions.at:259;FUNCTION COMBINED-DATETIME;functions; +1019;run_functions.at:284;FUNCTION CONCAT / CONCATENATE;functions; +1020;run_functions.at:331;FUNCTION CONCATENATE with reference modding;functions; +1021;run_functions.at:359;FUNCTION BIT-OF and BIT-TO-CHAR;functions literal ibm; +1022;run_functions.at:416;FUNCTION HEX-OF and HEX-TO-CHAR;functions literal ibm national; +1023;run_functions.at:547;FUNCTION CONTENT-LENGTH;functions length; +1024;run_functions.at:581;FUNCTION CONTENT-OF;functions pointer literal based allocate free exception-status; +1025;run_functions.at:656;FUNCTION as CALL parameter BY CONTENT;functions; +1026;run_functions.at:692;FUNCTION COS;functions; +1027;run_functions.at:716;FUNCTION CURRENCY-SYMBOL;functions; +1028;run_functions.at:739;FUNCTION CURRENT-DATE;functions; +1029;run_functions.at:810;FUNCTION DATE-OF-INTEGER;functions; +1030;run_functions.at:835;FUNCTION DATE-TO-YYYYMMDD;functions; +1031;run_functions.at:860;FUNCTION DAY-OF-INTEGER;functions; +1032;run_functions.at:885;FUNCTION DAY-TO-YYYYDDD;functions; +1033;run_functions.at:910;FUNCTION E;functions; +1034;run_functions.at:934;FUNCTION EXCEPTION-FILE;functions exceptions; +1035;run_functions.at:969;FUNCTION EXCEPTION-LOCATION;functions exceptions; +1036;run_functions.at:1057;FUNCTION EXCEPTION-STATEMENT;functions exceptions; +1037;run_functions.at:1092;FUNCTION EXCEPTION-STATUS;functions exceptions; +1038;run_functions.at:1127;FUNCTION EXP;functions; +1039;run_functions.at:1151;FUNCTION EXP10;functions; +1040;run_functions.at:1176;FUNCTION FACTORIAL;functions; +1041;run_functions.at:1201;FUNCTION FORMATTED-CURRENT-DATE;functions; +1042;run_functions.at:1229;FUNCTION FORMATTED-DATE;functions; +1043;run_functions.at:1292;FUNCTION FORMATTED-DATE with ref modding;functions; +1044;run_functions.at:1317;FUNCTION FORMATTED-DATETIME;functions; +1045;run_functions.at:1374;FUNCTION FORMATTED-DATETIME with ref modding;functions; +1046;run_functions.at:1400;FUNCTION FORMATTED-TIME;functions; +1047;run_functions.at:1487;FUNCTION FORMATTED-TIME DP.COMMA;functions; +1048;run_functions.at:1518;FUNCTION FORMATTED-TIME with ref modding;functions; +1049;run_functions.at:1543;FUNCTION FRACTION-PART;functions; +1050;run_functions.at:1574;FUNCTION HIGHEST-ALGEBRAIC;functions; +1051;run_functions.at:1642;FUNCTION INTEGER;functions; +1052;run_functions.at:1675;FUNCTION INTEGER-OF-DATE;functions; +1053;run_functions.at:1700;FUNCTION INTEGER-OF-DAY;functions; +1054;run_functions.at:1725;FUNCTION INTEGER-OF-FORMATTED-DATE;functions; +1055;run_functions.at:1775;FUNCTION INTEGER-PART;functions; +1056;run_functions.at:1801;FUNCTION LENGTH;functions; +1057;run_functions.at:1883;FUNCTION LOCALE-COMPARE;functions; +1058;run_functions.at:1913;FUNCTION LOCALE-DATE;functions; +1059;run_functions.at:1939;FUNCTION LOCALE-TIME;functions; +1060;run_functions.at:1965;FUNCTION LOCALE-TIME-FROM-SECONDS;functions; +1061;run_functions.at:1991;FUNCTION LOG;functions; +1062;run_functions.at:2015;FUNCTION LOG10;functions; +1063;run_functions.at:2039;FUNCTION LOWER-CASE;functions; +1064;run_functions.at:2067;FUNCTION LOWER-CASE with reference modding;functions; +1065;run_functions.at:2093;FUNCTION LOWEST-ALGEBRAIC;functions; +1066;run_functions.at:2146;FUNCTION MAX;functions; +1067;run_functions.at:2168;FUNCTION MEAN;functions; +1068;run_functions.at:2190;FUNCTION MEDIAN;functions; +1069;run_functions.at:2212;FUNCTION MIDRANGE;functions; +1070;run_functions.at:2234;FUNCTION MIN;functions; +1071;run_functions.at:2256;FUNCTION MOD (valid);functions; +1072;run_functions.at:2286;FUNCTION MOD (invalid);functions exceptions; +1073;run_functions.at:2317;FUNCTION MODULE-CALLER-ID;functions; +1074;run_functions.at:2351;FUNCTION MODULE-DATE;functions; +1075;run_functions.at:2376;FUNCTION MODULE-FORMATTED-DATE;functions; +1076;run_functions.at:2401;FUNCTION MODULE-ID;functions; +1077;run_functions.at:2422;FUNCTION MODULE-PATH;functions; +1078;run_functions.at:2447;FUNCTION MODULE-SOURCE;functions; +1079;run_functions.at:2468;FUNCTION MODULE-TIME;functions; +1080;run_functions.at:2493;FUNCTION MONETARY-DECIMAL-POINT;functions; +1081;run_functions.at:2516;FUNCTION MONETARY-THOUSANDS-SEPARATOR;functions; +1082;run_functions.at:2539;FUNCTION NUMERIC-DECIMAL-POINT;functions; +1083;run_functions.at:2562;FUNCTION NUMERIC-THOUSANDS-SEPARATOR;functions; +1084;run_functions.at:2585;FUNCTION NUMVAL;functions; +1085;run_functions.at:2658;FUNCTION NUMVAL-C;functions numval; +1086;run_functions.at:2719;FUNCTION NUMVAL-C DP.COMMA;functions numval; +1087;run_functions.at:2747;FUNCTION NUMVAL-F;functions numval; +1088;run_functions.at:2782;FUNCTION ORD;functions; +1089;run_functions.at:2803;FUNCTION ORD-MAX;functions; +1090;run_functions.at:2824;FUNCTION ORD-MIN;functions; +1091;run_functions.at:2845;FUNCTION PI;functions; +1092;run_functions.at:2867;FUNCTION PRESENT-VALUE;functions; +1093;run_functions.at:2888;FUNCTION RANDOM;functions; +1094;run_functions.at:2910;FUNCTION RANGE;functions; +1095;run_functions.at:2932;FUNCTION REM (valid);functions; +1096;run_functions.at:2954;FUNCTION REM (invalid);functions exceptions; +1097;run_functions.at:2981;FUNCTION REVERSE;functions; +1098;run_functions.at:3004;FUNCTION REVERSE with reference modding;functions; +1099;run_functions.at:3027;FUNCTION SECONDS-FROM-FORMATTED-TIME;functions; +1100;run_functions.at:3082;FUNCTION SECONDS-PAST-MIDNIGHT;functions; +1101;run_functions.at:3104;FUNCTION SIGN;functions; +1102;run_functions.at:3148;FUNCTION SIN;functions; +1103;run_functions.at:3170;FUNCTION SQRT;functions; +1104;run_functions.at:3192;FUNCTION STANDARD-DEVIATION;functions; +1105;run_functions.at:3214;FUNCTION STORED-CHAR-LENGTH;functions; +1106;run_functions.at:3238;FUNCTION SUBSTITUTE;functions; +1107;run_functions.at:3265;FUNCTION SUBSTITUTE with reference modding;functions; +1108;run_functions.at:3291;FUNCTION SUBSTITUTE-CASE;functions; +1109;run_functions.at:3316;FUNCTION SUBSTITUTE-CASE with reference mod;functions; +1110;run_functions.at:3342;FUNCTION SUM;functions; +1111;run_functions.at:3364;FUNCTION TAN;functions; +1112;run_functions.at:3386;FUNCTION TEST-DATE-YYYYMMDD;functions; +1113;run_functions.at:3408;FUNCTION TEST-DAY-YYYYDDD;functions; +1114;run_functions.at:3430;FUNCTION TEST-FORMATTED-DATETIME with dates;functions; +1115;run_functions.at:3531;FUNCTION TEST-FORMATTED-DATETIME with times;functions; +1116;run_functions.at:3612;FUNCTION TEST-FORMATTED-DATETIME with datetimes;functions; +1117;run_functions.at:3665;FUNCTION TEST-FORMATTED-DATETIME DP.COMMA;functions; +1118;run_functions.at:3706;FUNCTION TEST-NUMVAL;functions; +1119;run_functions.at:3857;FUNCTION TEST-NUMVAL-C;functions numval; +1120;run_functions.at:3957;FUNCTION TEST-NUMVAL-F;functions numval; +1121;run_functions.at:4057;FUNCTION TRIM;functions; +1122;run_functions.at:4083;FUNCTION TRIM with reference modding;functions; +1123;run_functions.at:4109;FUNCTION TRIM zero length;functions; +1124;run_functions.at:4136;FUNCTION UPPER-CASE;functions; +1125;run_functions.at:4161;FUNCTION UPPER-CASE with reference modding;functions; +1126;run_functions.at:4186;FUNCTION VARIANCE;functions compute decimal; +1127;run_functions.at:4216;FUNCTION WHEN-COMPILED;functions; +1128;run_functions.at:4270;FUNCTION YEAR-TO-YYYY;functions; +1129;run_functions.at:4294;Formatted funcs w/ invalid variable format;functions formatted-current-date formatted-date formatted-time formatted-datetime; +1130;run_functions.at:4375;FORMATTED-(DATE)TIME with SYSTEM-OFFSET;functions formatted-time formatted-datetime extensions; +1131;run_functions.at:4413;Intrinsics without FUNCTION keyword (1);functions; +1132;run_functions.at:4434;Intrinsics without FUNCTION keyword (2);functions; +1133;run_functions.at:4457;User-Defined FUNCTION with/without parameter;functions; +1134;run_functions.at:4508;UDF in COMPUTE;functions; +1135;run_functions.at:4551;UDF replacing intrinsic function;functions substitute; +1136;run_functions.at:4594;UDF with recursion;functions local-storage; +1137;run_extensions.at:25;CALL BY CONTENT binary and literal;extensions literals; +1138;run_extensions.at:72;Numeric Boolean literals;extensions; +1139;run_extensions.at:101;ACUCOBOL literals;extensions acu binary octal hexadecimal; +1140;run_extensions.at:127;HP COBOL octal literals;extensions; +1141;run_extensions.at:188;Hexadecimal numeric literals;extensions; +1142;run_extensions.at:217;Semi-parenthesized condition;extensions; +1143;run_extensions.at:237;ADDRESS OF;extensions; +1144;run_extensions.at:287;LENGTH OF;extensions value renames; +1145;run_extensions.at:451;SET TO SIZE OF;extensions acu length; +1146;run_extensions.at:488;WHEN-COMPILED;extensions; +1147;run_extensions.at:517;Complex OCCURS DEPENDING ON (1);extensions; +1148;run_extensions.at:546;Complex OCCURS DEPENDING ON (2);extensions; +1149;run_extensions.at:609;Complex OCCURS DEPENDING ON (3);extensions; +1150;run_extensions.at:673;Complex OCCURS DEPENDING ON (4);extensions; +1151;run_extensions.at:739;Complex OCCURS DEPENDING ON (5);extensions; +1152;run_extensions.at:805;Complex OCCURS DEPENDING ON (6);extensions runsubscripts nested subscripts odo odoslide; +1153;run_extensions.at:846;OCCURS UNBOUNDED (1);extensions runsubscripts subscripts; +1154;run_extensions.at:908;OCCURS UNBOUNDED (2);extensions runsubscripts depending odo subscripts; +1155;run_extensions.at:1048;INITIALIZE OCCURS UNBOUNDED;extensions runsubscripts subscripts refmod exceptions ibm; +1156;run_extensions.at:1151;INITIALIZE OCCURS ODOSLIDE;extensions runsubscripts subscripts ibm; +1157;run_extensions.at:1248;DEPENDING ON with ODOSLIDE;nested odo; +1158;run_extensions.at:1463;DEPENDING ON with ODOSLIDE for IBM;occurs odo; +1159;run_extensions.at:1568;INITIALIZE level 01 OCCURS;extensions; +1160;run_extensions.at:1625;MOVE of non-integer to alphanumeric;extensions; +1161;run_extensions.at:1715;CALL USING file-name;extensions; +1162;run_extensions.at:1761;CALL unusual PROGRAM-ID.;extensions; +1163;run_extensions.at:1826;CALL / GOBACK with LOCAL-STORAGE;extensions; +1164;run_extensions.at:1877;CALL BY VALUE alphanumeric item;extensions; +1165;run_extensions.at:1914;CALL BY VALUE numeric literal with SIZE IS;extensions; +1166;run_extensions.at:2019;CALL BY VALUE to C;extensions size chaining; +1167;run_extensions.at:2101;Case-sensitive PROGRAM-ID;extensions; +1168;run_extensions.at:2126;Quoted PROGRAM-ID;extensions; +1169;run_extensions.at:2149;PROGRAM-ID AS clause;extensions; +1170;run_extensions.at:2172;NUMBER-OF-CALL-PARAMETERS;extensions; +1171;run_extensions.at:2260;TALLY register;extensions; +1172;run_extensions.at:2292;Redefining TALLY;extensions register; +1173;run_extensions.at:2328;PROCEDURE DIVISION USING BY ...;extensions; +1174;run_extensions.at:2381;PROCEDURE DIVISION CHAINING;extensions call initialize; +1175;run_extensions.at:2504;STOP RUN RETURNING/GIVING;extensions; +1176;run_extensions.at:2560;GOBACK/EXIT PROGRAM RETURNING/GIVING;extensions; +1177;run_extensions.at:2610;ENTRY;extensions exceptions ibm; +1178;run_extensions.at:2665;ASSIGN to KEYBOARD/DISPLAY;extensions; +1179;run_extensions.at:2723;SORT ASSIGN KEYBOARD to ASSIGN DISPLAY;extensions; +1180;run_extensions.at:2785;Environment/Argument variable;extensions; +1181;run_extensions.at:2831;78 Level (1);extensions; +1182;run_extensions.at:2854;78 Level (2);extensions; +1183;run_extensions.at:2880;78 Level (3);extensions; +1184;run_extensions.at:2904;SWITCHES with non-standard names;runmisc extensions; +1185;run_extensions.at:3017;Larger REDEFINES lengths;extensions; +1186;run_extensions.at:3082;REDEFINES: non-referenced ambiguous item;extensions redefines mf; +1187;run_extensions.at:3108;Obsolete 2002 keywords with COBOL2014;extensions; +1188;run_extensions.at:3138;System routine with wrong number of parameters;extensions narg; +1189;run_extensions.at:3181;System routine C\$NARG;extensions narg; +1190;run_extensions.at:3258;System routine C\$PARAMSIZE;extensions; +1191;run_extensions.at:3300;System routine C\$CALLEDBY;extensions; +1192;run_extensions.at:3346;System routine C\$JUSTIFY;extensions; +1193;run_extensions.at:3371;System routine C\$PRINTABLE;extensions; +1194;run_extensions.at:3400;System routine C\$MAKEDIR;extensions; +1195;run_extensions.at:3421;System routine C\$GETPID;extensions; +1196;run_extensions.at:3446;System routine C\$TOUPPER;extensions; +1197;run_extensions.at:3471;System routine C\$TOLOWER;extensions; +1198;run_extensions.at:3496;System routine CBL_OR;extensions; +1199;run_extensions.at:3523;System routine CBL_NOR;extensions; +1200;run_extensions.at:3550;System routine CBL_AND;extensions; +1201;run_extensions.at:3577;System routine CBL_XOR;extensions; +1202;run_extensions.at:3604;System routine CBL_IMP;extensions; +1203;run_extensions.at:3631;System routine CBL_NIMP;extensions; +1204;run_extensions.at:3658;System routine CBL_NOT;extensions; +1205;run_extensions.at:3684;System routine CBL_EQ;extensions; +1206;run_extensions.at:3711;System routine CBL_GC_GETOPT;extensions; +1207;run_extensions.at:4148;System routine CBL_GC_FORK;extensions c\$getpid; +1208;run_extensions.at:4216;System routine CBL_GC_WAITPID;extensions cbl_gc_fork; +1209;run_extensions.at:4268;System routine CBL_GC_HOSTED;extensions errno external based pointer; +1210;run_extensions.at:4398;System routine SYSTEM, parameter handling;chaining trim; +1211;run_extensions.at:4509;System routine CBL_EXIT_PROC;extensions; +1212;run_extensions.at:4619;System routine CBL_ERROR_PROC (1);extensions exceptions error exception-location exception-statement exception-file exception-status; +1213;run_extensions.at:4718;System routine CBL_ERROR_PROC (2);extensions exceptions error local-storage recursive exception-location exception-statement exception-file exception-status; +1214;run_extensions.at:4799;System routine x'91' function NN;extensions; +1215;run_extensions.at:4815;CALL own PROGRAM-ID and RECURSIVE attribute;extensions exceptions; +1216;run_extensions.at:4880;DISPLAY DIRECTIVE and \$DISPLAY;extensions; +1217;run_extensions.at:4913;Conditional / define directives (1);extensions directive; +1218;run_extensions.at:4938;Conditional / define directives (2);extensions directive; +1219;run_extensions.at:4963;Conditional / define directives (3);extensions directive; +1220;run_extensions.at:4991;Conditional / define directives (4);extensions directive; +1221;run_extensions.at:5017;Invalid source format;extensions runmisc; +1222;run_extensions.at:5046;Variable format;extensions runmisc; +1223;run_extensions.at:5085;COBOLX format;extensions runmisc; +1224;run_extensions.at:5124;X/Open free-form format;fundamental xopen extensions; +1225;run_extensions.at:5173;TERMINAL format;fundamental extensions; +1226;run_extensions.at:5257;MF FREE format (X/Open);fundamental xopen extensions directives; +1227;run_extensions.at:5307;Binary COMP-1 (1);extensions; +1228;run_extensions.at:5338;Binary COMP-1 (2);extensions directive; +1229;run_extensions.at:5374;EXHIBIT statement;extensions osvs sort-return tally; +1230;run_extensions.at:5404;Bit Operations;bit-wise; +1231;run_extensions.at:5507;Bit Shift Operations;bit-wise; +1232;run_extensions.at:5582;GCOS floating-point usages;gcos; +1233;run_extensions.at:5621;PICTURE L (basic);extensions gcos picture-l odo; +1234;run_extensions.at:5751;PICTURE L (under/over shoot);extensions gcos picture-l odo; +1235;run_extensions.at:5806;PICTURE L (MOVE CORRESPONDING);extensions gcos picture-l odo; +1236;run_extensions.at:5884;PICTURE L (OCCURS ... PIC L);extensions gcos picture-l odo; +1237;run_extensions.at:5953;PICTURE L (REDEFINES);extensions gcos picture-l odo; +1238;run_extensions.at:6041;INSPECT TRAILING;extensions; +1239;run_extensions.at:6111;INSPECT REPLACING TRAILING ZEROS BY SPACES;runmisc figurative constant; +1240;run_extensions.at:6133;INSPECT REPLACING complex;runmisc characters trailing; +1241;run_extensions.at:6170;EXAMINE TALLYING;runmisc; +1242;run_extensions.at:6227;EXAMINE REPLACING;runmisc; +1243;run_extensions.at:6263;GCOS literals with EBCDIC symbols (run);extensions; +1244;run_ml.at:19;XML GENERATE general;extensions; +1245;run_ml.at:127;XML GENERATE SUPPRESS;extensions; +1246;run_ml.at:204;XML GENERATE exceptions;extensions xml-code; +1247;run_ml.at:316;XML GENERATE record selection;extensions; +1248;run_ml.at:360;XML GENERATE trimming;extensions; +1249;run_ml.at:457;XML DPC-IN-DATA directive;extensions; +1250;run_ml.at:488;XML dpc-in-data config option;extensions; +1251;run_ml.at:532;JSON GENERATE general;extensions; +1252;run_ml.at:589;JSON GENERATE SUPPRESS;extensions; +1253;run_ml.at:628;JSON GENERATE exceptions;extensions json-code; +1254;run_ml.at:693;JSON GENERATE record selection;extensions; +1255;run_ml.at:737;JSON GENERATE trimming;extensions; +1256;run_ml.at:837;JSON DPC-IN-DATA directive;extensions; +1257;run_ml.at:868;JSON dpc-in-data config option;extensions; +1258;data_binary.at:23;BINARY: 2-4-8 big-endian;binary; +1259;data_binary.at:205;BINARY: 2-4-8 native;binary; +1260;data_binary.at:393;BINARY: 1-2-4-8 big-endian;binary; +1261;data_binary.at:575;BINARY: 1-2-4-8 native;binary; +1262;data_binary.at:763;BINARY: 1--8 big-endian;binary; +1263;data_binary.at:945;BINARY: 1--8 native;binary; +1264;data_binary.at:1133;BINARY: full-print;binary; +1265;data_binary.at:1185;BINARY: 64bit unsigned compare;binary; +1266;data_binary.at:1215;BINARY: 64bit unsigned arithmetic notrunc;binary; +1267;data_binary.at:1242;BINARY: 64bit signed negative constant range;binary; +1268;data_binary.at:1262;COMP-4 Truncate;binary numeric; +1269;data_binary.at:1323;COMP-4 No Truncate;binary numeric; +1270;data_binary.at:1409;MOVE DISPLAY to BINARY;fundamental ppp; +1271;data_binary.at:1595;MOVE PACKED-DECIMAL to BINARY;fundamental ppp; +1272;data_binary.at:1781;MOVE BINARY to PACKED-DECIMAL;fundamental ppp; +1273;data_binary.at:1961;MOVE BINARY to BINARY;fundamental ppp; +1274;data_binary.at:2143;PPP COMP-5;fundamental binary move display add subtract multiply divide; +1275;data_binary.at:2217;arithmetic truncation with USAGE BINARY;fundamental compute; +1276;data_display.at:22;DISPLAY: Sign ASCII;display; +1277;data_display.at:81;DISPLAY: Sign ASCII (2);display; +1278;data_display.at:127;DISPLAY: Sign EBCDIC;display; +1279;data_display.at:172;DISPLAY: unsigned;display; +1280;data_display.at:226;MOVE DISPLAY to DISPLAY;fundamental ppp; +1281;data_display.at:408;PPP DISPLAY;fundamental move add subtract multiply divide; +1282;data_display.at:480;arithmetic truncation with USAGE DISPLAY;fundamental compute; +1283;data_display.at:533;DISPLAY: ADD and SUBTRACT w/o SIZE ERROR;display fundamental arithmetic; +1284;data_display.at:16940;DISPLAY: ADD and SUBTRACT, all ROUNDED MODEs;display fundamental arithmetic subtract mode away-from-zero nearest-away-from-zero nearest-even nearest-toward-zero toward-greater toward-lesser prohibited truncation; +1285;data_packed.at:27;PACKED-DECIMAL dump;packed-decimal comp-3; +1286;data_packed.at:163;PACKED-DECIMAL used with DISPLAY;packed-decimal comp-3; +1287;data_packed.at:221;PACKED-DECIMAL used with MOVE;display; +1288;data_packed.at:459;MOVE PACKED-DECIMAL to PACKED-DECIMAL;fundamental ppp; +1289;data_packed.at:639;MOVE PACKED-DECIMAL to DISPLAY;fundamenta pppl; +1290;data_packed.at:825;MOVE DISPLAY to PACKED-DECIMAL;fundamental ppp; +1291;data_packed.at:1026;PACKED-DECIMAL used with INITIALIZE;packed-decimal display; +1292;data_packed.at:1063;PACKED-DECIMAL arithmetic;packed-decimal comp-3; +1293;data_packed.at:1187;PACKED-DECIMAL comparison;packed-decimal comp-3; +1294;data_packed.at:1269;PACKED-DECIMAL numeric test (1);packed-decimal comp-3; +1295;data_packed.at:1333;PACKED-DECIMAL numeric test (2);packed-decimal comp-3; +1296;data_packed.at:1399;COMP-6 used with DISPLAY;packed-decimal comp-3; +1297;data_packed.at:1432;COMP-6 used with MOVE;packed-decimal comp-3; +1298;data_packed.at:1474;COMP-6 arithmetic;packed-decimal comp-3; +1299;data_packed.at:1563;COMP-6 numeric;packed-decimal comp-3; +1300;data_packed.at:1609;COMP-6 comparison;packed-decimal comp-3; +1301;data_packed.at:1671;COMP-3 vs. COMP-6 - BCD comparison;packed-decimal; +1302;data_packed.at:1971;PPP COMP-3;packed-decimal fundamental move display add subtract multiply divide; +1303;data_packed.at:2083;PPP COMP-6;packed-decimal fundamental move display add subtract multiply divide; +1304;data_packed.at:2174;arithmetic truncation with USAGE PACKED-DECIMAL;fundamental compute comp-3; +1305;data_packed.at:2236;MOVE between several BCD fields;fundamental comp-3 comp-6 packed-decimal; +1306;data_packed.at:12326;BCD ADD and SUBTRACT w/o SIZE ERROR;fundamental arithmetic comp-3 comp-6 packed-decimal; +1307;data_packed.at:28746;BCD ADD and SUBTRACT, DEFAULT ROUNDING MODE;fundamental arithmetic packed-decimal rounded; +1308;data_packed.at:28785;BCD ADD and SUBTRACT, all ROUNDED MODEs;fundamental arithmetic subtract mode comp-3 comp-6 packed-decimal away-from-zero nearest-away-from-zero nearest-even nearest-toward-zero toward-greater toward-lesser prohibited truncation; +1309;data_pointer.at:21;POINTER: display;pointer 64bit; +1310;backcomp.at:44;STRING WITH POINTER ON OVERFLOW with DELIMITER;backcomp runmisc exceptions; +1311;backcomp.at:464;UNSTRING DELIMITED POINTER;backcomp runmisc; +1312;backcomp.at:816;UNSTRING with FUNCTION / literal;backcomp runmisc; +1313;backcomp.at:1200;SORT: EBCDIC table;runmisc sort alphabet object-computer; +1314;backcomp.at:1867;COLLATING SEQUENCE alphanum comparison;runmisc ebcdic ascii; +1315;backcomp.at:2462;SORT: table with default COLLATING SEQUENCE;runmisc sort ebcdic ascii; +1316;backcomp.at:3401;INSPECT/STRING/UNSTRING statements;backcomp inspect string unstring; +" +# List of the all the test groups. +at_groups_all=`printf "%s\n" "$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 1316; then + printf "%s\n" "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 +} +# List of the tested programs. +at_tested='"cobc" +"cobcrun"' + + +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 + + 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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$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=`printf "%s\n" "$at_groups_selected" | + grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` + done + # Smash the keywords. + at_groups_selected=`printf "%s\n" "$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=`printf "%s\n" "$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'" + ;; + + *) printf "%s\n" "$as_me: invalid option: $at_option" >&2 + printf "%s\n" "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=`printf "%s\n" "$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 . +GnuCOBOL home page: . +_ATEOF + exit $at_write_fail +fi + +# List of tests. +if $at_list_p; then + cat <<_ATEOF || at_write_fail=1 +GnuCOBOL 3.3-dev 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. + printf "%s\n" "$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 + printf "%s\n" "$as_me (GnuCOBOL 3.3-dev)" && + cat <<\_ATEOF || at_write_fail=1 + +Test cases Copyright (C) 2023 Free Software Foundation, Inc. + +Written by Keisuke Nishida, Roger While, Simon Sobisch, Edward Hart, +Ron Norman, Brian Tiffin, Dave Pitts + +Copyright (C) 2021 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:32 +# Category starts at test group 1. +at_banner_text_1="General tests of used binaries" +# Banner 2. testsuite.at:37 +# Category starts at test group 52. +at_banner_text_2="Syntax tests" +# Banner 3. testsuite.at:57 +# Category starts at test group 484. +at_banner_text_3="Listing tests" +# Banner 4. testsuite.at:62 +# Category starts at test group 520. +at_banner_text_4="Run tests" +# Banner 5. testsuite.at:78 +# Category starts at test group 1258. +at_banner_text_5="Data Representation" +# Banner 6. testsuite.at:86 +# Category starts at test group 1310. +at_banner_text_6="Backward compatibility" + +# 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=`printf "%s\n" "$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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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. +printf "%s\n" "## -------------------------------------------- ## +## GnuCOBOL 3.3-dev test suite: GnuCOBOL Tests. ## +## -------------------------------------------- ##" +{ + printf "%s\n" "## -------------------------------------------- ## +## GnuCOBOL 3.3-dev test suite: GnuCOBOL Tests. ## +## -------------------------------------------- ##" + echo + + printf "%s\n" "$as_me: command line was:" + printf "%s\n" " \$ $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 + printf "%s\n" "## ---------- ## +## 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 + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "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 + printf "%s\n" "$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 + printf "%s\n" "$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)" + printf "%s\n" "$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 () +{ + printf "%s\n" "$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 printf "%s\n" "$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=: + printf "%s\n" "$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=: + printf "%s\n" "$3: hard failure"; exit 99;; + *) printf "%s\n" "$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+y} && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + printf "%s\n" "cd '$at_dir'" && + printf "%s\n" "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. ## +## -------------------------------- ## +{ + printf "%s\n" "## ---------------- ## +## Tested programs. ## +## ---------------- ##" + echo +} >&5 + +# Report what programs are being tested. +for at_program in : `eval echo $at_tested` +do + case $at_program in #( + :) : + continue ;; #( + [\\/]* | ?:[\\/]*) : + at_program_=$at_program ;; #( + *) : + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + 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 + { + printf "%s\n" "$at_srcdir/testsuite.at:26: $at_program_ --version" + "$at_program_" --version &5 2>&1 + else + as_fn_error $? "cannot find $at_program" "$LINENO" 5 + fi +done + +{ + printf "%s\n" "## ------------------ ## +## Running the tests. ## +## ------------------ ##" +} >&5 + +at_start_date=`date` +at_start_time=`date +%s 2>/dev/null` +printf "%s\n" "$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 || + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +printf "%s\n" "$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 printf %s "$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 . +_ATEOF + printf "%s\n" "$at_setup_line" >"$at_check_line_file" + at_status=99 + fi + $at_verbose printf %s "$at_group. $at_setup_line: " + printf %s "$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 + printf "%s\n" "$at_desc_line $at_color$at_msg$at_std" + else + # Make sure there is a separator even with long titles. + printf "%s\n" " $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 + printf "%s\n" "$at_log_msg" >> "$at_group_log" + printf "%s\n" "$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. + printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +printf "%s\n" "$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+y} && 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=`printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +printf "%s\n" "$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` +printf "%s\n" "$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" + printf "%s\n" "$as_me: test suite duration: $at_duration" >&5 + ;; +esac + +echo +printf "%s\n" "## ------------- ## +## Test results. ## +## ------------- ##" +echo +{ + echo + printf "%s\n" "## ------------- ## +## 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 + printf "%s\n" "## ------------------------ ## +## 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 + printf "%s\n" "## ---------------------- ## +## 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 + at_msg1a=${at_xpass_list:+', '} + at_msg1=$at_fail_list${at_fail_list:+" failed$at_msg1a"} + at_msg2=$at_xpass_list${at_xpass_list:+" passed unexpectedly"} + + printf "%s\n" "Please send $at_msg and all information you think might help: + + To: + Subject: [GnuCOBOL 3.3-dev] $as_me: $at_msg1$at_msg2 + +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:27' \ + "compiler help and information" " " 1 +at_xfail=no +( + printf "%s\n" "1. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: check at least some parts of the output by using $GREP +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:31: \$COBC --version" +at_fn_check_prepare_dynamic "$COBC --version" "used_binaries.at:31" +( $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:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:32: \$COBC -v --version" +at_fn_check_prepare_dynamic "$COBC -v --version" "used_binaries.at:32" +( $at_check_trace; $COBC -v --version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:33: \$COBC -q --version" +at_fn_check_prepare_dynamic "$COBC -q --version" "used_binaries.at:33" +( $at_check_trace; $COBC -q --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:33" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:34: \$COBC --help" +at_fn_check_prepare_dynamic "$COBC --help" "used_binaries.at:34" +( $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:34" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:35: \$COBC --info" +at_fn_check_prepare_dynamic "$COBC --info" "used_binaries.at:35" +( $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:35" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:36: \$COBC -v --info" +at_fn_check_prepare_dynamic "$COBC -v --info" "used_binaries.at:36" +( $at_check_trace; $COBC -v --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:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:37: \$COBC -q --info" +at_fn_check_prepare_dynamic "$COBC -q --info" "used_binaries.at:37" +( $at_check_trace; $COBC -q --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:37" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:38: \$COBC --list-reserved" +at_fn_check_prepare_dynamic "$COBC --list-reserved" "used_binaries.at:38" +( $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:38" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:39: \$COBC --list-registers" +at_fn_check_prepare_dynamic "$COBC --list-registers" "used_binaries.at:39" +( $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:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:40: \$COBC --list-intrinsics" +at_fn_check_prepare_dynamic "$COBC --list-intrinsics" "used_binaries.at:40" +( $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:40" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:41: \$COBC --list-mnemonics" +at_fn_check_prepare_dynamic "$COBC --list-mnemonics" "used_binaries.at:41" +( $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:41" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:42: \$COBC -std=mf --list-reserved" +at_fn_check_prepare_dynamic "$COBC -std=mf --list-reserved" "used_binaries.at:42" +( $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:42" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:43: \$COBC -std=acu --list-registers" +at_fn_check_prepare_dynamic "$COBC -std=acu --list-registers" "used_binaries.at:43" +( $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:43" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:44: \$COBC -std=cobol2002 --list-intrinsics" +at_fn_check_prepare_dynamic "$COBC -std=cobol2002 --list-intrinsics" "used_binaries.at:44" +( $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:44" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:45: \$COBC -std=ibm --list-mnemonics" +at_fn_check_prepare_dynamic "$COBC -std=ibm --list-mnemonics" "used_binaries.at:45" +( $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:45" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:46: \$COBC --list-system" +at_fn_check_prepare_dynamic "$COBC --list-system" "used_binaries.at:46" +( $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:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:47: \$COBC --list-exceptions" +at_fn_check_prepare_dynamic "$COBC --list-exceptions" "used_binaries.at:47" +( $at_check_trace; $COBC --list-exceptions +) >>"$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: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_1 +#AT_START_2 +at_fn_group_banner 2 'used_binaries.at:51' \ + "compiler warnings" " " 1 +at_xfail=no +( + printf "%s\n" "2. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 var1 pic 9. + 77 var2 pic 99. + PROCEDURE DIVISION. + PERFORM UNTIL 0 = 1 + DISPLAY 'BLA' + END-PERFORM. + MOVE var1 to var2 + MOVE var2 to var1 + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:69: \$COBC -fsyntax-only prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only prog.cob" "used_binaries.at:69" +( $at_check_trace; $COBC -fsyntax-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/used_binaries.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + +# increasing to more warnings +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:71: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wadditional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wadditional prog.cob" "used_binaries.at:71" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wadditional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:74: \$COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Wadditional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Wadditional prog.cob" "used_binaries.at:74" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Wadditional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: PERFORM FOREVER since UNTIL 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/used_binaries.at:74" +$at_failed && at_fn_log_failure +$at_traceon; } + +# which in this case is also included in -Wall +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:78: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog.cob" "used_binaries.at:78" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: expression '0' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:9: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + +# -Wextra is more descriptive ... +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:83: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra prog.cob" "used_binaries.at:83" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: expression '0' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:9: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +prog.cob:10: warning: DISPLAY statement not terminated by END-DISPLAY [-Wterminator] +prog.cob:13: warning: some digits may be truncated [-Wpossible-truncate] +prog.cob:7: note: 'var2' defined here as PIC 99 [-Wpossible-truncate] +prog.cob:6: note: 'var1' defined here as PIC 9 [-Wpossible-truncate] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + +# ... the old -W is in for backwards portability +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:92: \$COBC -fsyntax-only -fdiagnostics-plain-output -W prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -W prog.cob" "used_binaries.at:92" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -W prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: expression '0' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:9: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +prog.cob:10: warning: DISPLAY statement not terminated by END-DISPLAY [-Wterminator] +prog.cob:13: warning: some digits may be truncated [-Wpossible-truncate] +prog.cob:7: note: 'var2' defined here as PIC 99 [-Wpossible-truncate] +prog.cob:6: note: 'var1' defined here as PIC 9 [-Wpossible-truncate] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +# a global "error" use implies no warning settings +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:101: \$COBC -fsyntax-only -Werror prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -Werror prog.cob" "used_binaries.at:101" +( $at_check_trace; $COBC -fsyntax-only -Werror prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:101" +$at_failed && at_fn_log_failure +$at_traceon; } + +# a concrete "error" use implies setting the warning +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:103: \$COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional prog.cob" "used_binaries.at:103" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: PERFORM FOREVER since UNTIL is always FALSE [-Werror=additional] +" | \ + $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:103" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:106: \$COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Werror=additional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Werror=additional prog.cob" "used_binaries.at:106" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -fno-diagnostics-show-option -Werror=additional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: PERFORM FOREVER since UNTIL is always FALSE +" | \ + $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:106" +$at_failed && at_fn_log_failure +$at_traceon; } + +# a "no-error" use implies nothing +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:110: \$COBC -fsyntax-only -Wno-error=additional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -Wno-error=additional prog.cob" "used_binaries.at:110" +( $at_check_trace; $COBC -fsyntax-only -Wno-error=additional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +# ... now combined +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:112: \$COBC -fsyntax-only -Werror -Wno-error=additional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -Werror -Wno-error=additional prog.cob" "used_binaries.at:112" +( $at_check_trace; $COBC -fsyntax-only -Werror -Wno-error=additional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:113: \$COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional -Wno-error prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional -Wno-error prog.cob" "used_binaries.at:113" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Werror=additional -Wno-error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: PERFORM FOREVER since UNTIL is always FALSE [-Werror=additional] +" | \ + $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:113" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:116: \$COBC -fsyntax-only -fdiagnostics-plain-output -w -Werror=additional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -w -Werror=additional prog.cob" "used_binaries.at:116" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -w -Werror=additional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: PERFORM FOREVER since UNTIL is always FALSE [-Werror=additional] +" | \ + $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:116" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:119: \$COBC -fsyntax-only -fdiagnostics-plain-output -w -Wadditional prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -w -Wadditional prog.cob" "used_binaries.at:119" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -w -Wadditional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:122: \$COBC -fsyntax-only -fdiagnostics-plain-output -w -Wpossible-truncate prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -w -Wpossible-truncate prog.cob" "used_binaries.at:122" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -w -Wpossible-truncate prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: warning: some digits may be truncated [-Wpossible-truncate] +prog.cob:7: note: 'var2' defined here as PIC 99 [-Wpossible-truncate] +prog.cob:6: note: 'var1' defined here as PIC 9 [-Wpossible-truncate] +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$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; } + +# TODO: unknown warnings should only get a diagnostic (in verbose mode) +#AT_CHECK([$COBC -fsyntax-only -Wunknown-warning prog.cob], [0], [], []) +#AT_CHECK([$COBC -fsyntax-only -Wno-unknown-warning prog.cob], [0], [], []) +#AT_CHECK([$COBC -fsyntax-only -v -Wunknown-warning prog.cob], [0], [], +#[cobc: unknown warning option 'unknown-warning' +#]) +#AT_CHECK([$COBC -fsyntax-only -v -Wno-unknown-warning prog.cob], [0], [], +#[cobc: unknown warning option 'unknown-warning' +#]) + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TEST-VAR PIC 9(2) VALUE 'A'. + COPY 'CRUD.CPY'. + PROCEDURE DIVISION. + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + MOVE 12 TO TEST-VAR + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + STOP RUN. + COPY 'CRUD2.CPY'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:154: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog2.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog2.cob" "used_binaries.at:154" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wall prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: CRUD.CPY: No such file or directory +prog2.cob:15: error: CRUD2.CPY: No such file or directory +prog2.cob:6: warning: numeric value is expected [-Wothers] +" | \ + $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:154" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:160: \$COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=0 -Wall prog2.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=0 -Wall prog2.cob" "used_binaries.at:160" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=0 -Wall prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: CRUD.CPY: No such file or directory +prog2.cob:15: error: CRUD2.CPY: No such file or directory +prog2.cob:6: warning: numeric value is expected [-Wothers] +" | \ + $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:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:166: \$COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=1 prog2.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=1 prog2.cob" "used_binaries.at:166" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -fmax-errors=1 prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: CRUD.CPY: No such file or directory +prog2.cob:15: error: CRUD2.CPY: No such file or directory +cobc: too many errors [-fmax-errors=1] + +cobc: aborting compile of prog2.cob at line 15 (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/used_binaries.at:166" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:174: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wfatal-errors prog2.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wfatal-errors prog2.cob" "used_binaries.at:174" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wfatal-errors prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: CRUD.CPY: No such file or directory +cobc: too many errors [-Wfatal-errors] + +cobc: aborting compile of prog2.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/used_binaries.at:174" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:181: \$COBC -q -Wfatal-errors=123 prog.cob" +at_fn_check_prepare_dynamic "$COBC -q -Wfatal-errors=123 prog.cob" "used_binaries.at:181" +( $at_check_trace; $COBC -q -Wfatal-errors=123 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobc: option '-Wfatal-errors' doesn't allow an argument +" | \ + $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:181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:188' \ + "compiler outputs (general)" " " 1 +at_xfail=no +( + printf "%s\n" "3. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:202: \$COBC -C prog.cob" +at_fn_check_prepare_dynamic "$COBC -C prog.cob" "used_binaries.at:202" +( $at_check_trace; $COBC -C prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:203: \$COBC -v -c prog.c" +at_fn_check_prepare_dynamic "$COBC -v -c prog.c" "used_binaries.at:203" +( $at_check_trace; $COBC -v -c prog.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:203" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:204: \$COBC -v prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "$COBC -v prog.$COB_OBJECT_EXT" "used_binaries.at:204" +( $at_check_trace; $COBC -v prog.$COB_OBJECT_EXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:205: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "used_binaries.at:205" +( $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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:206: \$COBC -x -C prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -C prog.cob" "used_binaries.at:206" +( $at_check_trace; $COBC -x -C prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:207: \$COBC -v -x -c prog.c" +at_fn_check_prepare_dynamic "$COBC -v -x -c prog.c" "used_binaries.at:207" +( $at_check_trace; $COBC -v -x -c prog.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:207" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:208: \$COBC -v -x prog.\$COB_OBJECT_EXT -o progo" +at_fn_check_prepare_dynamic "$COBC -v -x prog.$COB_OBJECT_EXT -o progo" "used_binaries.at:208" +( $at_check_trace; $COBC -v -x prog.$COB_OBJECT_EXT -o progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:208" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:209: \$COBCRUN_DIRECT ./progo" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progo" "used_binaries.at:209" +( $at_check_trace; $COBCRUN_DIRECT ./progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:209" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:210: \$COBC -E prog.cob" +at_fn_check_prepare_dynamic "$COBC -E prog.cob" "used_binaries.at:210" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "#line 1 \"prog.cob\" + + 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. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:210" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:222: \$COBC -E -o prog.i prog.cob" +at_fn_check_prepare_dynamic "$COBC -E -o prog.i prog.cob" "used_binaries.at:222" +( $at_check_trace; $COBC -E -o prog.i prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:222" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:223: \$COBC -x prog.i" +at_fn_check_prepare_dynamic "$COBC -x prog.i" "used_binaries.at:223" +( $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:223" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:224: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:224" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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:228' \ + "compiler outputs (file specified)" " " 1 +at_xfail=no +( + printf "%s\n" "4. $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. + MAIN-PROC SECTION. + 00. + COPY PROC. + END-PROC SECTION. + COPY PROCE in "sub". + EX. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:247: mkdir -p sub/copy" +at_fn_check_prepare_trace "used_binaries.at:247" +( $at_check_trace; mkdir -p sub/copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:247" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >sub/copy/PROC.cpy <<'_ATEOF' + + DISPLAY BLA NO ADVANCING. +_ATEOF + +cat >sub/PROCE.cpy <<'_ATEOF' + + DISPLAY ' END' NO ADVANCING. +_ATEOF + + + + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:259: \$COBC -I sub/copy prog.cob -o prog.c" +at_fn_check_prepare_dynamic "$COBC -I sub/copy prog.cob -o prog.c" "used_binaries.at:259" +( $at_check_trace; $COBC -I sub/copy prog.cob -o 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:259" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:260: \$COBC -I sub/copy prog.c -o prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "$COBC -I sub/copy prog.c -o prog.$COB_OBJECT_EXT" "used_binaries.at:260" +( $at_check_trace; $COBC -I sub/copy prog.c -o 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:260" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:261: \$COBC -I sub/copy prog.\$COB_OBJECT_EXT -o prog.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "$COBC -I sub/copy prog.$COB_OBJECT_EXT -o prog.$COB_MODULE_EXT" "used_binaries.at:261" +( $at_check_trace; $COBC -I sub/copy prog.$COB_OBJECT_EXT -o prog.$COB_MODULE_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:261" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:262: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "used_binaries.at:262" +( $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"; printf "%s\n" "bluBb END" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:262" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:263: \$COBC -I sub/copy -x prog.cob -o prog.c" +at_fn_check_prepare_dynamic "$COBC -I sub/copy -x prog.cob -o prog.c" "used_binaries.at:263" +( $at_check_trace; $COBC -I sub/copy -x prog.cob -o 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:263" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:264: \$COBC -I sub/copy -x prog.c -o prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "$COBC -I sub/copy -x prog.c -o prog.$COB_OBJECT_EXT" "used_binaries.at:264" +( $at_check_trace; $COBC -I sub/copy -x prog.c -o 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:264" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:265: \$COBC -I sub/copy -x prog.\$COB_OBJECT_EXT -o progo\$COB_EXE_EXT" +at_fn_check_prepare_dynamic "$COBC -I sub/copy -x prog.$COB_OBJECT_EXT -o progo$COB_EXE_EXT" "used_binaries.at:265" +( $at_check_trace; $COBC -I sub/copy -x prog.$COB_OBJECT_EXT -o progo$COB_EXE_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:265" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:266: \$COBCRUN_DIRECT ./progo" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progo" "used_binaries.at:266" +( $at_check_trace; $COBCRUN_DIRECT ./progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "bluBb END" | \ + $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 \ +"prog.i" \ +"prog.c" +$at_traceon; } + +# making the extension explicit here to not let case-insensitive file-systems catch a .CPY... +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:268: \$COBC -I sub/copy prog.cob -ext=cpy -o prog.i" +at_fn_check_prepare_dynamic "$COBC -I sub/copy prog.cob -ext=cpy -o prog.i" "used_binaries.at:268" +( $at_check_trace; $COBC -I sub/copy prog.cob -ext=cpy -o 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:268" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:269: \$COBC -x prog.i -o prog\$COB_EXE_EXT" +at_fn_check_prepare_dynamic "$COBC -x prog.i -o prog$COB_EXE_EXT" "used_binaries.at:269" +( $at_check_trace; $COBC -x prog.i -o prog$COB_EXE_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:269" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:270: \$COBCRUN_DIRECT ./prog\$COB_EXE_EXT" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog$COB_EXE_EXT" "used_binaries.at:270" +( $at_check_trace; $COBCRUN_DIRECT ./prog$COB_EXE_EXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "bluBb END" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:270" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:271: \$COBC -x prog.i -fgen-c-line-directives -fgen-c-labels -save-temps" +at_fn_check_prepare_dynamic "$COBC -x prog.i -fgen-c-line-directives -fgen-c-labels -save-temps" "used_binaries.at:271" +( $at_check_trace; $COBC -x prog.i -fgen-c-line-directives -fgen-c-labels -save-temps +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:271" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:272: \$GREP 'prog.i' prog.c" +at_fn_check_prepare_dynamic "$GREP 'prog.i' prog.c" "used_binaries.at:272" +( $at_check_trace; $GREP 'prog.i' prog.c +) >>"$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:272" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:273: \$GREP 'prog.i' prog.c | \$GREP '#line'" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:273" +( $at_check_trace; $GREP 'prog.i' prog.c | $GREP '#line' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:273" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:274: \$GREP 'prog.cob' prog.c | \$GREP '#line'" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:274" +( $at_check_trace; $GREP 'prog.cob' prog.c | $GREP '#line' +) >>"$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:274" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:275: \$GREP 'PROC.cpy' prog.c | \$GREP '#line'" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:275" +( $at_check_trace; $GREP 'PROC.cpy' prog.c | $GREP '#line' +) >>"$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:275" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:276: \$GREP 'ENTRY_PROG:' prog.c" +at_fn_check_prepare_dynamic "$GREP 'ENTRY_PROG:' prog.c" "used_binaries.at:276" +( $at_check_trace; $GREP 'ENTRY_PROG:' prog.c +) >>"$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:276" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:277: \$GREP 'SECTION_END__PROC:' prog.c" +at_fn_check_prepare_dynamic "$GREP 'SECTION_END__PROC:' prog.c" "used_binaries.at:277" +( $at_check_trace; $GREP 'SECTION_END__PROC:' prog.c +) >>"$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:277" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:278: \$GREP 'PARAGRAPH_00_l_4:' prog.c" +at_fn_check_prepare_dynamic "$GREP 'PARAGRAPH_00_l_4:' prog.c" "used_binaries.at:278" +( $at_check_trace; $GREP 'PARAGRAPH_00_l_4:' prog.c +) >>"$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:278" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:279: \$GREP 'PARAGRAPH_EX_l_7:' prog.c" +at_fn_check_prepare_dynamic "$GREP 'PARAGRAPH_EX_l_7:' prog.c" "used_binaries.at:279" +( $at_check_trace; $GREP 'PARAGRAPH_EX_l_7:' prog.c +) >>"$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:279" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:280: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:280" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "bluBb END" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:280" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:283: \$COBC -I sub/copy prog.cob -ext=cpy -o prog.i -MF prog.d -MT \"prog.c prog.h\" -MT prog\$COB_EXE_EXT -MT prog.\$COB_OBJECT_EXT -MT prog.i -fsyntax-only" +at_fn_check_prepare_dynamic "$COBC -I sub/copy prog.cob -ext=cpy -o prog.i -MF prog.d -MT \"prog.c prog.h\" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only" "used_binaries.at:283" +( $at_check_trace; $COBC -I sub/copy prog.cob -ext=cpy -o prog.i -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:283" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:284: \$GREP 'prog.c prog.h ' prog.d" +at_fn_check_prepare_dynamic "$GREP 'prog.c prog.h ' prog.d" "used_binaries.at:284" +( $at_check_trace; $GREP 'prog.c prog.h ' prog.d +) >>"$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:284" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:285: \$GREP ' prog.i:' prog.d" +at_fn_check_prepare_dynamic "$GREP ' prog.i:' prog.d" "used_binaries.at:285" +( $at_check_trace; $GREP ' prog.i:' prog.d +) >>"$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:285" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP 'sub/copy/PROC.cpy' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub/copy/PROC.cpy' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP 'sub/copy/PROC.cpy' prog.d +) >>"$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:286" +if $at_failed +then : + + # Previous test "failed" --> no entry with slash available, check backslash for this and following tests + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP ' sub\\\\copy\\\\PROC.cpy \\\\' prog.d" +at_fn_check_prepare_dynamic "$GREP ' sub\\\\copy\\\\PROC.cpy \\\\' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP ' sub\\copy\\PROC.cpy \\' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP ' sub\\\\PROCE.cpy' prog.d" +at_fn_check_prepare_dynamic "$GREP ' sub\\\\PROCE.cpy' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP ' sub\\PROCE.cpy' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP 'sub\\\\copy\\\\PROC.cpy:' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub\\\\copy\\\\PROC.cpy:' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP 'sub\\copy\\PROC.cpy:' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP 'sub\\\\PROCE.cpy:' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub\\\\PROCE.cpy:' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP 'sub\\PROCE.cpy:' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + +else $as_nop + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP ' sub/copy/PROC.cpy \\\\' prog.d" +at_fn_check_prepare_dynamic "$GREP ' sub/copy/PROC.cpy \\\\' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP ' sub/copy/PROC.cpy \\' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP ' sub/PROCE.cpy' prog.d" +at_fn_check_prepare_dynamic "$GREP ' sub/PROCE.cpy' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP ' sub/PROCE.cpy' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP 'sub/copy/PROC.cpy:' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub/copy/PROC.cpy:' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP 'sub/copy/PROC.cpy:' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:286: \$GREP 'sub/PROCE.cpy:' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub/PROCE.cpy:' prog.d" "used_binaries.at:286" +( $at_check_trace; $GREP 'sub/PROCE.cpy:' prog.d +) >>"$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:286" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + +# test again with trailing slash which should not result in different files +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:300: \$COBC -I sub/copy/ prog.cob -ext=cpy -o prog.i -MF prog.d -MT \"prog.c prog.h\" -MT prog\$COB_EXE_EXT -MT prog.\$COB_OBJECT_EXT -MT prog.i -fsyntax-only" +at_fn_check_prepare_dynamic "$COBC -I sub/copy/ prog.cob -ext=cpy -o prog.i -MF prog.d -MT \"prog.c prog.h\" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only" "used_binaries.at:300" +( $at_check_trace; $COBC -I sub/copy/ prog.cob -ext=cpy -o prog.i -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:300" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:301: \$GREP 'sub/copy/PROC.cpy' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub/copy/PROC.cpy' prog.d" "used_binaries.at:301" +( $at_check_trace; $GREP 'sub/copy/PROC.cpy' prog.d +) >>"$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:301" +if $at_failed +then : + + # Previous test "failed" --> no entry with slash available, check backslash for this test + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:301: \$GREP 'sub\\\\copy\\\\PROC.cpy' prog.d" +at_fn_check_prepare_dynamic "$GREP 'sub\\\\copy\\\\PROC.cpy' prog.d" "used_binaries.at:301" +( $at_check_trace; $GREP 'sub\\copy\\PROC.cpy' prog.d +) >>"$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:301" +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure \ +"prog.i" \ +"prog.c" \ +"prog.d" +$at_traceon; } + + + set +x + $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:309' \ + "compiler outputs (path specified)" " " 1 +at_xfail=no +( + printf "%s\n" "5. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:323: mkdir -p sub" +at_fn_check_prepare_trace "used_binaries.at:323" +( $at_check_trace; mkdir -p sub +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:323" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:324: \$COBC prog.cob -o sub/prog.c" +at_fn_check_prepare_dynamic "$COBC prog.cob -o sub/prog.c" "used_binaries.at:324" +( $at_check_trace; $COBC prog.cob -o sub/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:324" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:325: \$COBC \$(_return_path \"sub/prog.c\") -o \$(_return_path \"sub/prog.\$COB_OBJECT_EXT\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:325" +( $at_check_trace; $COBC $(_return_path "sub/prog.c") -o $(_return_path "sub/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:325" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:326: \$COBC \$(_return_path \"sub/prog.\$COB_OBJECT_EXT\") -o \$(_return_path \"sub/prog\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:326" +( $at_check_trace; $COBC $(_return_path "sub/prog.$COB_OBJECT_EXT") -o $(_return_path "sub/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/used_binaries.at:326" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:327: \$COBCRUN -M \$(_return_path \"sub/\") prog" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:327" +( $at_check_trace; $COBCRUN -M $(_return_path "sub/") 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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:327" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:328: \$COBC -x prog.cob -o \$(_return_path \"sub/prog.c\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:328" +( $at_check_trace; $COBC -x prog.cob -o $(_return_path "sub/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:328" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:329: \$COBC -x \$(_return_path \"sub/prog.c\") -o \$(_return_path \"sub/prog.\$COB_OBJECT_EXT\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:329" +( $at_check_trace; $COBC -x $(_return_path "sub/prog.c") -o $(_return_path "sub/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:329" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:330: \$COBC -x \$(_return_path \"sub/prog.\$COB_OBJECT_EXT\") -o \$(_return_path \"sub/progo\$COB_EXE_EXT\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:330" +( $at_check_trace; $COBC -x $(_return_path "sub/prog.$COB_OBJECT_EXT") -o $(_return_path "sub/progo$COB_EXE_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:330" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:331: \$COBCRUN_DIRECT ./sub/progo" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./sub/progo" "used_binaries.at:331" +( $at_check_trace; $COBCRUN_DIRECT ./sub/progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:331" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:332: \$COBC prog.cob -o \$(_return_path \"sub/prog.i\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:332" +( $at_check_trace; $COBC prog.cob -o $(_return_path "sub/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:332" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:333: \$COBC -x sub/prog.i -o \$(_return_path \"sub/prog\$COB_EXE_EXT\")" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:333" +( $at_check_trace; $COBC -x sub/prog.i -o $(_return_path "sub/prog$COB_EXE_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:333" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:334: \$COBCRUN_DIRECT ./sub/prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./sub/prog" "used_binaries.at:334" +( $at_check_trace; $COBCRUN_DIRECT ./sub/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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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:338' \ + "compiler outputs (assembler)" " " 1 +at_xfail=no +( + printf "%s\n" "6. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:352: \$COBC -v -S prog.cob" +at_fn_check_prepare_dynamic "$COBC -v -S prog.cob" "used_binaries.at:352" +( $at_check_trace; $COBC -v -S prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:352" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:353: test -f prog.s" +at_fn_check_prepare_trace "used_binaries.at:353" +( $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:353" +if $at_failed +then : + # Previous test "failed" --> prog.s not available --> likely a VS build +# only check for file as cl.exe cannot create executables from self-created +# assembler sources +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:353: test -f prog.asm" +at_fn_check_prepare_trace "used_binaries.at:353" +( $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:353" +$at_failed && at_fn_log_failure +$at_traceon; } + +else $as_nop + # Previous test "passed" --> prog.s is available, test compilation and run +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:353: \$COBC -v prog.s" +at_fn_check_prepare_dynamic "$COBC -v prog.s" "used_binaries.at:353" +( $at_check_trace; $COBC -v prog.s +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:353" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:353: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "used_binaries.at:353" +( $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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:353" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:361: \$COBC -v -x -S prog.cob" +at_fn_check_prepare_dynamic "$COBC -v -x -S prog.cob" "used_binaries.at:361" +( $at_check_trace; $COBC -v -x -S prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:361" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:362: test -f prog.s" +at_fn_check_prepare_trace "used_binaries.at:362" +( $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:362" +if $at_failed +then : + # Previous test "failed" --> prog.s not available --> likely a VS build +# only check for file as cl.exe cannot create executables from self-created +# assembler sources +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:362: test -f prog.asm" +at_fn_check_prepare_trace "used_binaries.at:362" +( $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:362" +$at_failed && at_fn_log_failure +$at_traceon; } + +else $as_nop + # Previous test "passed" --> prog.s is available, test compilation and run +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:362: \$COBC -v -x prog.s" +at_fn_check_prepare_dynamic "$COBC -v -x prog.s" "used_binaries.at:362" +( $at_check_trace; $COBC -v -x prog.s +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:362: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:362" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "bluBb" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:362" +$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_6 +#AT_START_7 +at_fn_group_banner 7 'used_binaries.at:373' \ + "source file not found" " " 1 +at_xfail=no +( + printf "%s\n" "7. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:376: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "used_binaries.at:376" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:376" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:383' \ + "temporary path invalid" " " 1 +at_xfail=no +( + printf "%s\n" "8. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: may be either removed completely as there was a report about +# this test "failing" - or skipped as this very often fails for +# WIN32 builds + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + EXIT PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:399: TMPDIR=\"\" TMP=\"notthere\" TEMP=\"\" \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "TMPDIR=\"\" TMP=\"notthere\" TEMP=\"\" $COMPILE prog.cob" "used_binaries.at:399" +( $at_check_trace; TMPDIR="" TMP="notthere" TEMP="" $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: Temporary directory TMP is invalid, adjust TMPDIR! +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:399" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:402: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:402" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:402" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:403: TMPDIR=\"\" TMP=\"\" TEMP=\"./prog.cob\" \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "TMPDIR=\"\" TMP=\"\" TEMP=\"./prog.cob\" $COMPILE prog.cob" "used_binaries.at:403" +( $at_check_trace; TMPDIR="" TMP="" TEMP="./prog.cob" $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: Temporary directory TEMP is invalid, adjust TMPDIR! +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:403" +$at_failed && at_fn_log_failure +$at_traceon; } + +# TMPDIR is only checked when actually needed which is currently only the case +# for SORT +#AT_CHECK([TMPDIR="./prog.cob" $COBCRUN_DIRECT ./prog], [0], [OK], +#[libcob: warning: Temporary directory TEMP is invalid, adjust TMPDIR! +#]) +#AT_CHECK([COB_DISABLE_WARNINGS=1 TMPDIR="./prog.cob" $COBCRUN_DIRECT ./prog], [0], [OK], +#[libcob: warning: Temporary directory TEMP is invalid, adjust TMPDIR! +#]) + + set +x + $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:418' \ + "use of full path for cobc" " " 1 +at_xfail=no +( + printf "%s\n" "9. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + EXIT PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:430: \$COMPILE \"\$(_return_path \"\$(pwd)/prog.cob\")\"" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:430" +( $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:430" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:431: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:431" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:431" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:436' \ + "save-temps in sub-directory" " " 1 +at_xfail=no +( + printf "%s\n" "10. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + EXIT PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:448: mkdir debug" +at_fn_check_prepare_trace "used_binaries.at:448" +( $at_check_trace; mkdir debug +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:448" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:450: \$COMPILE -save-temps=debug -o prog.exe prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -o prog.exe prog.cob" "used_binaries.at:450" +( $at_check_trace; $COMPILE -save-temps=debug -o prog.exe prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:450" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:451: \$COBCRUN_DIRECT ./prog.exe" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog.exe" "used_binaries.at:451" +( $at_check_trace; $COBCRUN_DIRECT ./prog.exe +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:451" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:452: test -f debug/prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "test -f debug/prog.$COB_OBJECT_EXT" "used_binaries.at:452" +( $at_check_trace; test -f debug/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:452" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:453: test -f debug/prog.c" +at_fn_check_prepare_trace "used_binaries.at:453" +( $at_check_trace; test -f debug/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:453" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:454: test -f debug/prog.s" +at_fn_check_prepare_trace "used_binaries.at:454" +( $at_check_trace; test -f debug/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 1 $at_status "$at_srcdir/used_binaries.at:454" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:455: test -f debug/prog.asm" +at_fn_check_prepare_trace "used_binaries.at:455" +( $at_check_trace; test -f debug/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 1 $at_status "$at_srcdir/used_binaries.at:455" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:456: test -f debug/prog.i" +at_fn_check_prepare_trace "used_binaries.at:456" +( $at_check_trace; test -f debug/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:456" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:457: test -f debug/prog.c.h" +at_fn_check_prepare_trace "used_binaries.at:457" +( $at_check_trace; test -f debug/prog.c.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:457" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:458: test -f debug/prog.c.l.h" +at_fn_check_prepare_trace "used_binaries.at:458" +( $at_check_trace; test -f debug/prog.c.l.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:458" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check with -c + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:462: test -f prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "test -f prog.$COB_OBJECT_EXT" "used_binaries.at:462" +( $at_check_trace; test -f 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 1 $at_status "$at_srcdir/used_binaries.at:462" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:463: \$COMPILE -save-temps=debug -c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -c prog.cob" "used_binaries.at:463" +( $at_check_trace; $COMPILE -save-temps=debug -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:463" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:464: test -f prog.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "test -f prog.$COB_OBJECT_EXT" "used_binaries.at:464" +( $at_check_trace; test -f 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:464" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:465: \$COMPILE -save-temps=debug -c -o program.\$COB_OBJECT_EXT prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -c -o program.$COB_OBJECT_EXT prog.cob" "used_binaries.at:465" +( $at_check_trace; $COMPILE -save-temps=debug -c -o program.$COB_OBJECT_EXT prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:465" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:466: test -f program.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "test -f program.$COB_OBJECT_EXT" "used_binaries.at:466" +( $at_check_trace; test -f program.$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:466" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check with -C + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:470: test -f prog.c" +at_fn_check_prepare_trace "used_binaries.at:470" +( $at_check_trace; test -f 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 1 $at_status "$at_srcdir/used_binaries.at:470" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:471: \$COMPILE -save-temps=debug -C prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -C prog.cob" "used_binaries.at:471" +( $at_check_trace; $COMPILE -save-temps=debug -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:471" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:472: test -f prog.c" +at_fn_check_prepare_trace "used_binaries.at:472" +( $at_check_trace; test -f 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:472" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:473: test -f prog.c.h" +at_fn_check_prepare_trace "used_binaries.at:473" +( $at_check_trace; test -f prog.c.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:473" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:474: test -f prog.c.l.h" +at_fn_check_prepare_trace "used_binaries.at:474" +( $at_check_trace; test -f prog.c.l.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:474" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:475: \$COMPILE -save-temps=debug -C -o program.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -C -o program.c prog.cob" "used_binaries.at:475" +( $at_check_trace; $COMPILE -save-temps=debug -C -o program.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:475" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:476: test -f program.c" +at_fn_check_prepare_trace "used_binaries.at:476" +( $at_check_trace; test -f program.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:476" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:477: test -f program.c.h" +at_fn_check_prepare_trace "used_binaries.at:477" +( $at_check_trace; test -f program.c.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:477" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:478: test -f program.c.l.h" +at_fn_check_prepare_trace "used_binaries.at:478" +( $at_check_trace; test -f program.c.l.h +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:478" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check with -E + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:482: test -f prog.i" +at_fn_check_prepare_trace "used_binaries.at:482" +( $at_check_trace; test -f 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 1 $at_status "$at_srcdir/used_binaries.at:482" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:483: \$COMPILE -save-temps=debug -E -o prog.i prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -E -o prog.i prog.cob" "used_binaries.at:483" +( $at_check_trace; $COMPILE -save-temps=debug -E -o prog.i prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:483" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:484: test -f prog.i" +at_fn_check_prepare_trace "used_binaries.at:484" +( $at_check_trace; test -f 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:484" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:485: \$COMPILE -save-temps=debug -E -o program.i prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -E -o program.i prog.cob" "used_binaries.at:485" +( $at_check_trace; $COMPILE -save-temps=debug -E -o program.i prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:485" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:486: test -f program.i" +at_fn_check_prepare_trace "used_binaries.at:486" +( $at_check_trace; test -f program.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:486" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check with -S (last as we skip the testsuite entry for some compilers by returning 77) + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:490: test -f prog.s" +at_fn_check_prepare_trace "used_binaries.at:490" +( $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 1 $at_status "$at_srcdir/used_binaries.at:490" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:491: test -f prog.asm" +at_fn_check_prepare_trace "used_binaries.at:491" +( $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 1 $at_status "$at_srcdir/used_binaries.at:491" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:492: \$COMPILE -save-temps=debug -S prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -S prog.cob" "used_binaries.at:492" +( $at_check_trace; $COMPILE -save-temps=debug -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:492" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: test -f prog.s" +at_fn_check_prepare_trace "used_binaries.at:493" +( $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:493" +if $at_failed +then : + # Previous test "failed" --> prog.s not available --> likely a VS build +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: test -f prog.asm" +at_fn_check_prepare_trace "used_binaries.at:493" +( $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:493" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: \$COMPILE -save-temps=debug -S -o program.asm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -S -o program.asm prog.cob" "used_binaries.at:493" +( $at_check_trace; $COMPILE -save-temps=debug -S -o program.asm prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:493" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: test -f program.asm" +at_fn_check_prepare_trace "used_binaries.at:493" +( $at_check_trace; test -f program.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:493" +$at_failed && at_fn_log_failure +$at_traceon; } + + +else $as_nop + # Previous test "passed" - .s is the extension to be used +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: \$COMPILE -save-temps=debug -S -o program.s prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -save-temps=debug -S -o program.s prog.cob" "used_binaries.at:493" +( $at_check_trace; $COMPILE -save-temps=debug -S -o program.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:493" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:493: test -f program.s" +at_fn_check_prepare_trace "used_binaries.at:493" +( $at_check_trace; test -f program.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:493" +$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_10 +#AT_START_11 +at_fn_group_banner 11 'used_binaries.at:507' \ + "C Compiler optimizations" " " 1 +at_xfail=no +( + printf "%s\n" "11. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + EXIT PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:519: \$COMPILE -v -O -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -v -O -o prog prog.cob" "used_binaries.at:519" +( $at_check_trace; $COMPILE -v -O -o prog prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:519" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:520: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:520" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:520" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:522: \$COMPILE -v -O2 -o prog2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -v -O2 -o prog2 prog.cob" "used_binaries.at:522" +( $at_check_trace; $COMPILE -v -O2 -o prog2 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:522" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:523: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "used_binaries.at:523" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:523" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:525: \$COMPILE -v -Os -o progs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -v -Os -o progs prog.cob" "used_binaries.at:525" +( $at_check_trace; $COMPILE -v -Os -o progs prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:525" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:526: \$COBCRUN_DIRECT ./progs" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progs" "used_binaries.at:526" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:526" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:528: \$COMPILE -v -O3 -o prog3 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -v -O3 -o prog3 prog.cob" "used_binaries.at:528" +( $at_check_trace; $COMPILE -v -O3 -o prog3 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:528" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:529: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "used_binaries.at:529" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:529" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:531: \$COMPILE -v -O0 -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -v -O0 -o prog prog.cob" "used_binaries.at:531" +( $at_check_trace; $COMPILE -v -O0 -o prog prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:531" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:532: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "used_binaries.at:532" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:532" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# last test with O2 (strips output) and output name +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:535: mkdir -p sub" +at_fn_check_prepare_trace "used_binaries.at:535" +( $at_check_trace; mkdir -p sub +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:535" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:536: \$COMPILE_MODULE -v -O2 -o \$(_return_path \"sub/prog\") prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:536" +( $at_check_trace; $COMPILE_MODULE -v -O2 -o $(_return_path "sub/prog") prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:536" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:537: \$COBCRUN -M sub/ prog" +at_fn_check_prepare_dynamic "$COBCRUN -M sub/ prog" "used_binaries.at:537" +( $at_check_trace; $COBCRUN -M sub/ 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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:537" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:538: \$COMPILE -v -O2 -o \$(_return_path \"sub/prog\$COB_EXE_EXT\") prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:538" +( $at_check_trace; $COMPILE -v -O2 -o $(_return_path "sub/prog$COB_EXE_EXT") prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:538" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:539: \$COBCRUN_DIRECT ./sub/prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./sub/prog" "used_binaries.at:539" +( $at_check_trace; $COBCRUN_DIRECT ./sub/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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.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_11 +#AT_START_12 +at_fn_group_banner 12 'used_binaries.at:544' \ + "invalid cobc option" " " 1 +at_xfail=no +( + printf "%s\n" "12. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. +_ATEOF + + +# normal option +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:553: \$COMPILE -q --thisoptiondoesntexist prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -q --thisoptiondoesntexist prog.cob" "used_binaries.at:553" +( $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"; printf "%s\n" "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:553" +$at_failed && at_fn_log_failure +$at_traceon; } + +# flag +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:557: \$COMPILE -q -flagdoesntexist prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -q -flagdoesntexist prog.cob" "used_binaries.at:557" +( $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"; printf "%s\n" "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:557" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:564' \ + "cobcrun help and information" " " 1 +at_xfail=no +( + printf "%s\n" "13. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: check at least some parts of the output by using $GREP +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:568: \$COBCRUN --version" +at_fn_check_prepare_dynamic "$COBCRUN --version" "used_binaries.at:568" +( $at_check_trace; $COBCRUN --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:568" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:569: \$COBCRUN -v --version" +at_fn_check_prepare_dynamic "$COBCRUN -v --version" "used_binaries.at:569" +( $at_check_trace; $COBCRUN -v --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:569" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:570: \$COBCRUN -q --version" +at_fn_check_prepare_dynamic "$COBCRUN -q --version" "used_binaries.at:570" +( $at_check_trace; $COBCRUN -q --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:570" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:571: \$COBCRUN --help" +at_fn_check_prepare_dynamic "$COBCRUN --help" "used_binaries.at:571" +( $at_check_trace; $COBCRUN --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:571" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:572: \$COBCRUN --info" +at_fn_check_prepare_dynamic "$COBCRUN --info" "used_binaries.at:572" +( $at_check_trace; $COBCRUN --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:572" +$at_failed && at_fn_log_failure +$at_traceon; } + +# we explicit do not want to run this here, as it initializes curses +# AT_CHECK([$COBCRUN -v --info], [0], [ignore], []) +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:575: \$COBCRUN -q --info" +at_fn_check_prepare_dynamic "$COBCRUN -q --info" "used_binaries.at:575" +( $at_check_trace; $COBCRUN -q --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:575" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:576: \$COBCRUN --dumpversion" +at_fn_check_prepare_dynamic "$COBCRUN --dumpversion" "used_binaries.at:576" +( $at_check_trace; $COBCRUN --dumpversion +) >>"$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:576" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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:580' \ + "cobcrun validation" " " 1 +at_xfail=no +( + printf "%s\n" "14. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:613: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "used_binaries.at:613" +( $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:613" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:614: \$COMPILE_MODULE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE caller.cob" "used_binaries.at:614" +( $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:614" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:615: \$COBCRUN caller" +at_fn_check_prepare_dynamic "$COBCRUN caller" "used_binaries.at:615" +( $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"; printf "%s\n" "HelloWorld" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:615" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:620' \ + "cobcrun -M DSO entry argument" " " 1 +at_xfail=no +( + printf "%s\n" "15. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:623: \$COBCRUN -M \"\" nope" +at_fn_check_prepare_dynamic "$COBCRUN -M \"\" nope" "used_binaries.at:623" +( $at_check_trace; $COBCRUN -M "" nope +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "invalid module argument '' +" | \ + $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:623" +$at_failed && at_fn_log_failure +$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 + + +cat >caller2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. inside2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 EXT-VAR PIC X(5) EXTERNAL. + 01 CLA-VAR PIC X(5). + PROCEDURE DIVISION. + DISPLAY "Aloha2". + CALL "inside". + GOBACK. *> never gets here + END PROGRAM inside2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:682: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "used_binaries.at:682" +( $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:682" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:683: \$COMPILE_MODULE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE caller.cob" "used_binaries.at:683" +( $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:683" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:684: \$COBCRUN -M ./caller inside again" +at_fn_check_prepare_dynamic "$COBCRUN -M ./caller inside again" "used_binaries.at:684" +( $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"; printf "%s\n" "Aloha +World +again +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:684" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:690: \$COMPILE_MODULE caller2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE caller2.cob" "used_binaries.at:690" +( $at_check_trace; $COMPILE_MODULE caller2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:690" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:691: COB_PRE_LOAD=caller2 \$COBCRUN -M ./caller inside2 again" +at_fn_check_prepare_dynamic "COB_PRE_LOAD=caller2 $COBCRUN -M ./caller inside2 again" "used_binaries.at:691" +( $at_check_trace; COB_PRE_LOAD=caller2 $COBCRUN -M ./caller inside2 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"; printf "%s\n" "Aloha2 +Aloha +World +again +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:691" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'used_binaries.at:706' \ + "cobcrun -M directory/ default" " " 1 +at_xfail=no +( + printf "%s\n" "16. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:734: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "used_binaries.at:734" +( $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:734" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:735: \$COMPILE_MODULE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE caller.cob" "used_binaries.at:735" +( $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:735" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:736: \$COBCRUN -M ./ caller" +at_fn_check_prepare_dynamic "$COBCRUN -M ./ caller" "used_binaries.at:736" +( $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"; printf "%s\n" "Hello +World +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.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_16 +#AT_START_17 +at_fn_group_banner 17 'used_binaries.at:745' \ + "cobcrun -M directory/dso alternate" " " 1 +at_xfail=no +( + printf "%s\n" "17. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:786: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "used_binaries.at:786" +( $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:786" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:787: \$COMPILE_MODULE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE caller.cob" "used_binaries.at:787" +( $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:787" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:788: \$COBCRUN -M ./caller inside" +at_fn_check_prepare_dynamic "$COBCRUN -M ./caller inside" "used_binaries.at:788" +( $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"; printf "%s\n" "Aloha +World +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:788" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'used_binaries.at:796' \ + "cobcrun -M DSO entry multiple arguments" " " 1 +at_xfail=no +( + printf "%s\n" "18. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:823: \$COBC -b \${FLAGS} mainer.cob called.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:823" +( $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:823" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:824: \$COBCRUN -M ./mainer called \"first argument\" \"second\" \"third\"" +at_fn_check_prepare_dynamic "$COBCRUN -M ./mainer called \"first argument\" \"second\" \"third\"" "used_binaries.at:824" +( $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"; printf "%s\n" "first argument second third:second +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:824" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# additional test with environment configuration settings removed: +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:829: unset COB_PRE_LOAD COB_LIBRARY_PATH ; \\ + \$COBCRUN -M ./mainer called \"first argument\" \"second\" \"third\"" +at_fn_check_prepare_notrace 'an embedded newline' "used_binaries.at:829" +( $at_check_trace; unset COB_PRE_LOAD COB_LIBRARY_PATH ; \ + $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"; printf "%s\n" "first argument second third:second +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:829" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# additional test with showing the preloaded environment +# FIXME: check at least some parts of the output ("configuration" and the expected output) by using $GREP +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:836: \$COBCRUN -M ./mainer --runtime-conf called \"first argument\" \"second\" \"third\"" +at_fn_check_prepare_dynamic "$COBCRUN -M ./mainer --runtime-conf called \"first argument\" \"second\" \"third\"" "used_binaries.at:836" +( $at_check_trace; $COBCRUN -M ./mainer --runtime-conf 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 stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.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_18 +#AT_START_19 +at_fn_group_banner 19 'used_binaries.at:842' \ + "cobcrun error messages" " " 1 +at_xfail=no +( + printf "%s\n" "19. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:845: \$COBCRUN -q" +at_fn_check_prepare_dynamic "$COBCRUN -q" "used_binaries.at:845" +( $at_check_trace; $COBCRUN -q +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobcrun: missing PROGRAM name +Try 'cobcrun --help' for more information. +" | \ + $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:845" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:849: \$COBCRUN -q -prog" +at_fn_check_prepare_dynamic "$COBCRUN -q -prog" "used_binaries.at:849" +( $at_check_trace; $COBCRUN -q -prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobcrun: unrecognized option '-prog' +" | \ + $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:849" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:852: \$COBCRUN noprog" +at_fn_check_prepare_dynamic "$COBCRUN noprog" "used_binaries.at:852" +( $at_check_trace; $COBCRUN noprog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: module 'noprog' not found +" | \ + $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:852" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:855: \$COBCRUN -q -M" +at_fn_check_prepare_dynamic "$COBCRUN -q -M" "used_binaries.at:855" +( $at_check_trace; $COBCRUN -q -M +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobcrun: option requires an argument -- 'M' +" | \ + $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:855" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:858: \$COBCRUN -q -M noprog" +at_fn_check_prepare_dynamic "$COBCRUN -q -M noprog" "used_binaries.at:858" +( $at_check_trace; $COBCRUN -q -M noprog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobcrun: missing PROGRAM name +Try 'cobcrun --help' for more information. +" | \ + $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:858" +$at_failed && at_fn_log_failure +$at_traceon; } + +# this was previously checked in cobcrun, now only done in the runtime +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:863: \$COBCRUN ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL" +at_fn_check_prepare_dynamic "$COBCRUN ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL" "used_binaries.at:863" +( $at_check_trace; $COBCRUN ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL: PROGRAM name exceeds 31 characters +" | \ + $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:863" +$at_failed && at_fn_log_failure +$at_traceon; } + +# it would be allowed for preloading +# this was previously checked in cobcrun, now only done in the runtime +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:868: \$COBCRUN -q -M ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL noprog" +at_fn_check_prepare_dynamic "$COBCRUN -q -M ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL noprog" "used_binaries.at:868" +( $at_check_trace; $COBCRUN -q -M ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL noprog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: preloading of 'ThisIsANameThatIsReallyNotAllowedAsProgIdInCOBOL' failed +libcob: error: module 'noprog' not found +" | \ + $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: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_19 +#AT_START_20 +at_fn_group_banner 20 'used_binaries.at:876' \ + "run job with unsuccessful compilation" " " 1 +at_xfail=no +( + printf "%s\n" "20. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "jobby" + EXIT HERE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:888: \$COMPILE -j prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -j prog.cob" "used_binaries.at:888" +( $at_check_trace; $COMPILE -j prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: 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/used_binaries.at:888" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'used_binaries.at:895' \ + "run job after compilation" " " 1 +at_xfail=no +( + printf "%s\n" "21. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "job" WITH NO ADVANCING END-DISPLAY + STOP RUN WITH NORMAL STATUS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:906: \$COMPILE -jd prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -jd prog.cob" "used_binaries.at:906" +( $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"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:906" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:907: \$COMPILE_MODULE -jd prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -jd prog.cob" "used_binaries.at:907" +( $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"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.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_21 +#AT_START_22 +at_fn_group_banner 22 'used_binaries.at:912' \ + "run job after compilation (path specified)" " " 1 +at_xfail=no +( + printf "%s\n" "22. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "job" WITH NO ADVANCING END-DISPLAY + STOP RUN WITH NORMAL STATUS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:923: mkdir -p sub" +at_fn_check_prepare_trace "used_binaries.at:923" +( $at_check_trace; mkdir -p sub +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:923" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:924: \$COMPILE_MODULE -jd -o \$(_return_path \"sub/prog\") prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:924" +( $at_check_trace; $COMPILE_MODULE -jd -o $(_return_path "sub/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=: +echo >>"$at_stdout"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:924" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:925: \$COMPILE -jd -o \$(_return_path \"sub/prog\$COB_EXE_EXT\") prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:925" +( $at_check_trace; $COMPILE -jd -o $(_return_path "sub/prog$COB_EXE_EXT") 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"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.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_22 +#AT_START_23 +at_fn_group_banner 23 'used_binaries.at:930' \ + "run job with optional arguments" " " 1 +at_xfail=no +( + printf "%s\n" "23. $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 +printf "%s\n" "$at_srcdir/used_binaries.at:945: \$COMPILE -j=\"job 123\" prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -j=\"job 123\" prog.cob" "used_binaries.at:945" +( $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"; printf "%s\n" "job 123 " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:945" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:946: \$COMPILE -jdg prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -jdg prog.cob" "used_binaries.at:946" +( $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"; printf "%s\n" " " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:946" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:947: \$COMPILE_MODULE --job=job123 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE --job=job123 prog.cob" "used_binaries.at:947" +( $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"; printf "%s\n" "job123 " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:947" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'used_binaries.at:952' \ + "compile from stdin" " " 1 +at_xfail=no +( + printf "%s\n" "24. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. a. + PROCEDURE DIVISION. + STOP RUN WITH NORMAL STATUS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:962: cat prog.cob | \$COMPILE_MODULE -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:962" +( $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:962" +if $at_failed +then : + # Previous test failed run again with full verbose output +# leading to an (expected) fail, but with decent messages +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:962: cat prog.cob | \$COMPILE_MODULE -vv -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:962" +( $at_check_trace; cat prog.cob | $COMPILE_MODULE -vv - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:962" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:967: \$COBCRUN a" +at_fn_check_prepare_dynamic "$COBCRUN a" "used_binaries.at:967" +( $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:967" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:969: cat prog.cob | \$COMPILE -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:969" +( $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:969" +if $at_failed +then : + # more to debug ... +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:969: cat prog.cob | \$COMPILE -vv -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:969" +( $at_check_trace; cat prog.cob | $COMPILE -vv - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:969" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:973: \$COBCRUN_DIRECT ./a.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./a.out" "used_binaries.at:973" +( $at_check_trace; $COBCRUN_DIRECT ./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:973" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $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 'used_binaries.at:980' \ + "run job after compilation from stdin" " " 1 +at_xfail=no +( + printf "%s\n" "25. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. a. + PROCEDURE DIVISION. + DISPLAY "job" WITH NO ADVANCING END-DISPLAY + STOP RUN WITH NORMAL STATUS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:991: cat prog.cob | \$COMPILE -j -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:991" +( $at_check_trace; cat prog.cob | $COMPILE -j - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:991" +if $at_failed +then : + # Previous test failed run again with full verbose output +# leading to an (expected) fail, but with decent messages +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:991: cat prog.cob | \$COMPILE -vv -j -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:991" +( $at_check_trace; cat prog.cob | $COMPILE -vv -j - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:991" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:996: cat prog.cob | \$COMPILE_MODULE -j -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:996" +( $at_check_trace; cat prog.cob | $COMPILE_MODULE -j - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "job" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:996" +if $at_failed +then : + # more to debug ... +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:996: cat prog.cob | \$COMPILE_MODULE -vv -j -" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:996" +( $at_check_trace; cat prog.cob | $COMPILE_MODULE -vv -j - +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:996" +$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_25 +#AT_START_26 +at_fn_group_banner 26 'used_binaries.at:1004' \ + "cobc diagnostics show caret" " " 1 +at_xfail=no +( + printf "%s\n" "26. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([cobc diagnostics]) + +cat >progprep.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. # + 01 TEST-VAR PIC 9(2) VALUE 'A'. + COPY 'CRUD.CPY'. + PROCEDURE DIVISION. + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + MOVE 12 TO TEST-VAR + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + STOP RUN... +_ATEOF + + +# Testcase includes trailing whitespace, setup by dropping '#' +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1024: cat progprep.cob | tr -d '#' > prog.cob" +at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:1024" +( $at_check_trace; cat progprep.cob | tr -d '#' > prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1024" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1026: \$COBC -fdiagnostics-plain-output -Wall prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -Wall prog.cob" "used_binaries.at:1026" +( $at_check_trace; $COBC -fdiagnostics-plain-output -Wall prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: CRUD.CPY: No such file or directory +prog.cob:6: warning: numeric value is expected [-Wothers] +prog.cob:14: warning: ignoring redundant . [-Wothers] +" | \ + $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:1026" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1031: \$COBC -fdiagnostics-show-caret -fdiagnostics-show-line-numbers prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-show-caret -fdiagnostics-show-line-numbers prog.cob" "used_binaries.at:1031" +( $at_check_trace; $COBC -fdiagnostics-show-caret -fdiagnostics-show-line-numbers prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: CRUD.CPY: No such file or directory + 5 | WORKING-STORAGE SECTION. + 6 | 01 TEST-VAR PIC 9(2) VALUE 'A'. + 7 > COPY 'CRUD.CPY'. + 8 | PROCEDURE DIVISION. + 9 | DISPLAY TEST-VAR NO ADVANCING +prog.cob:6: warning: numeric value is expected [-Wothers] + 4 | DATA DIVISION. + 5 | WORKING-STORAGE SECTION. + 6 > 01 TEST-VAR PIC 9(2) VALUE 'A'. + 7 | COPY 'CRUD.CPY'. + 8 | PROCEDURE DIVISION. +prog.cob:14: warning: ignoring redundant . [-Wothers] + 12 | DISPLAY TEST-VAR NO ADVANCING + 13 | END-DISPLAY + 14 > STOP RUN... + 15 | +" | \ + $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:1031" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1051: \$COBC -fdiagnostics-plain-output -fdiagnostics-show-caret prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -fdiagnostics-show-caret prog.cob" "used_binaries.at:1051" +( $at_check_trace; $COBC -fdiagnostics-plain-output -fdiagnostics-show-caret prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: CRUD.CPY: No such file or directory + WORKING-STORAGE SECTION. + 01 TEST-VAR PIC 9(2) VALUE 'A'. + > COPY 'CRUD.CPY'. + PROCEDURE DIVISION. + DISPLAY TEST-VAR NO ADVANCING +prog.cob:6: warning: numeric value is expected [-Wothers] + DATA DIVISION. + WORKING-STORAGE SECTION. + > 01 TEST-VAR PIC 9(2) VALUE 'A'. + COPY 'CRUD.CPY'. + PROCEDURE DIVISION. +prog.cob:14: warning: ignoring redundant . [-Wothers] + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + > STOP RUN... + +" | \ + $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:1051" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testcase for line too long and printing only one line +cat >longgy.cob <<'_ATEOF' +ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +_ATEOF + + +# note: this is actually an error in the parser line number, +# but until that is solved, it is a nice edge case of "line not available" +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1077: \$COBC -fdiagnostics-plain-output -fdiagnostics-show-caret -Wno-others longgy.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -fdiagnostics-show-caret -Wno-others longgy.cob" "used_binaries.at:1077" +( $at_check_trace; $COBC -fdiagnostics-plain-output -fdiagnostics-show-caret -Wno-others longgy.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "longgy.cob:2: error: PROGRAM-ID header missing + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd.. + > +" | \ + $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:1077" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1083: \$COMPILE -fdiagnostics-absolute-paths -Wall prog.cob 2> compiler.output" +at_fn_check_prepare_dynamic "$COMPILE -fdiagnostics-absolute-paths -Wall prog.cob 2> compiler.output" "used_binaries.at:1083" +( $at_check_trace; $COMPILE -fdiagnostics-absolute-paths -Wall prog.cob 2> compiler.output +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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/used_binaries.at:1083" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# note: -fdiagnostics-absolute-paths will show the realpath, +# so for MSYS/MSVC builds that will be x:\something\prog.cob, not the output of PWD, +# but the _return_path function from atlocal may adjust that +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1088: cat compiler.output | tr '\\\\' '/' | \$SED \"s|\$(_return_path \"\$(pwd)\")|DIR|\"" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:1088" +( $at_check_trace; cat compiler.output | tr '\\' '/' | $SED "s|$(_return_path "$(pwd)")|DIR|" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "DIR/prog.cob:7: error: CRUD.CPY: No such file or directory +DIR/prog.cob:6: warning: numeric value is expected +DIR/prog.cob:14: warning: ignoring redundant . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:1088" +if $at_failed +then : + echo set: $SED "s|$(_return_path "$(pwd)")|DIR|" +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_26 +#AT_START_27 +at_fn_group_banner 27 'used_binaries.at:1097' \ + "check include header file" " " 1 +at_xfail=no +( + printf "%s\n" "27. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([cobc copy]) + +cat >filec.h <<'_ATEOF' + +/* COB_EXT_IMPORT will be defined by libcob.h up-front */ +COB_EXT_IMPORT void f (char *, long); +_ATEOF + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + CALL "f" USING "Hello". +_ATEOF + + +# dynamic call - program seems correct +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1112: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "used_binaries.at:1112" +( $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/used_binaries.at:1112" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# mismatch in function signature - we ignore the error output, as it depends +# on the C compiler in use (and also stdout as some [MSVC] put errors there...) +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1116: \$COMPILE_MODULE --include \$(_return_path \"\$(pwd)/filec.h\") -fstatic-call prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:1116" +( $at_check_trace; $COMPILE_MODULE --include $(_return_path "$(pwd)/filec.h") -fstatic-call prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:1116" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 long USAGE BINARY-C-LONG. + PROCEDURE DIVISION. + CALL "f" USING "Hello" BY VALUE long RETURNING NOTHING. +_ATEOF + + +# note: we likely need to build an import library for some environments +cat >filec.c <<'_ATEOF' + +/* for COB_EXT_EXPORT */ +#include +COB_EXT_EXPORT void f (char *str, long num) {}; +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1134: \$COMPILE_MODULE --save-temps filec.c -o libfilec.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "$COMPILE_MODULE --save-temps filec.c -o libfilec.$COB_MODULE_EXT" "used_binaries.at:1134" +( $at_check_trace; $COMPILE_MODULE --save-temps filec.c -o libfilec.$COB_MODULE_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:1134" +$at_failed && at_fn_log_failure +$at_traceon; } + +# cater for environments that do not use a lib prefix +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1136: \$COMPILE_MODULE --save-temps filec.c -o filec.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "$COMPILE_MODULE --save-temps filec.c -o filec.$COB_MODULE_EXT" "used_binaries.at:1136" +( $at_check_trace; $COMPILE_MODULE --save-temps filec.c -o filec.$COB_MODULE_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:1136" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# static build with correct function signature +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1140: \$COMPILE_MODULE --include \$(_return_path \"\$(pwd)/filec.h\") -fstatic-call prog2.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:1140" +( $at_check_trace; $COMPILE_MODULE --include $(_return_path "$(pwd)/filec.h") -fstatic-call 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/used_binaries.at:1140" +if $at_failed +then : + + # Previous test "failed" --> retry with import library + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1140: \$COMPILE_MODULE --include \$(_return_path \"\$(pwd)/filec.h\") -fstatic-call -L. -lfilec prog2.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:1140" +( $at_check_trace; $COMPILE_MODULE --include $(_return_path "$(pwd)/filec.h") -fstatic-call -L. -lfilec prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:1140" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1144: \$COMPILE_MODULE -I . --include \"filec.h\" -fstatic-call prog2.cob -o prog2b" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -I . --include \"filec.h\" -fstatic-call prog2.cob -o prog2b" "used_binaries.at:1144" +( $at_check_trace; $COMPILE_MODULE -I . --include "filec.h" -fstatic-call prog2.cob -o prog2b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1144" +if $at_failed +then : + + # Previous test "failed" --> retry with import library + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1144: \$COMPILE_MODULE -I . --include \"filec.h\" -fstatic-call -L. -lfilec prog2.cob -o prog2b" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -I . --include \"filec.h\" -fstatic-call -L. -lfilec prog2.cob -o prog2b" "used_binaries.at:1144" +( $at_check_trace; $COMPILE_MODULE -I . --include "filec.h" -fstatic-call -L. -lfilec prog2.cob -o prog2b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:1144" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + +# We can use --copy to check a CALL against a prototype. However, this +# feature is not fully supported by GnuCOBOL yet, so we get some +# warnings. For exemple: +# * not putting RETURNING triggers an error +# * putting RETURNING NOTHING is not supported +# * putting RETURNING OMITTED is ok, but triggers a warning (see stderr) + +cat >f.copy <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. f PROTOTYPE. + DATA DIVISION. + LINKAGE SECTION. + 01 a PIC X(20). + 01 b BINARY-C-LONG. + PROCEDURE DIVISION USING a BY VALUE b RETURNING OMITTED. + END PROGRAM f. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1167: \$COMPILE_MODULE -Wno-unfinished --copy \"f.copy\" -fstatic-call prog2.cob -o prog2c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -Wno-unfinished --copy \"f.copy\" -fstatic-call prog2.cob -o prog2c" "used_binaries.at:1167" +( $at_check_trace; $COMPILE_MODULE -Wno-unfinished --copy "f.copy" -fstatic-call prog2.cob -o prog2c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:8: warning: unexpected RETURNING item +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:1167" +if $at_failed +then : + + # Previous test "failed" --> retry with import library + { set +x +printf "%s\n" "$at_srcdir/used_binaries.at:1167: \$COMPILE_MODULE -Wno-unfinished --copy \"f.copy\" -fstatic-call -L. -lfilec prog2.cob -o prog2c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -Wno-unfinished --copy \"f.copy\" -fstatic-call -L. -lfilec prog2.cob -o prog2c" "used_binaries.at:1167" +( $at_check_trace; $COMPILE_MODULE -Wno-unfinished --copy "f.copy" -fstatic-call -L. -lfilec prog2.cob -o prog2c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:1167" +$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_27 +#AT_START_28 +at_fn_group_banner 28 'configuration.at:22' \ + "cobc with standard configuration file" " " 1 +at_xfail=no +( + printf "%s\n" "28. $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 +printf "%s\n" "$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"; printf "%s\n" "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_28 +#AT_START_29 +at_fn_group_banner 29 'configuration.at:43' \ + "cobc dialect features for all -std" " " 1 +at_xfail=no +( + printf "%s\n" "29. $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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "prog.cob:4: error: AUTHOR does not conform to BS2000 COBOL +" | \ + $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:74" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$at_srcdir/configuration.at:86: \$COMPILE_ONLY -std=realia-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=realia-strict prog.cob" "configuration.at:86" +( $at_check_trace; $COMPILE_ONLY -std=realia-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/configuration.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:87: \$COMPILE_ONLY -std=mvs-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs-strict prog.cob" "configuration.at:87" +( $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"; printf "%s\n" "prog.cob:4: warning: AUTHOR is obsolete in IBM COBOL for MVS & VM +" | \ + $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:87" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:90: \$COMPILE_ONLY -std=gcos-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=gcos-strict prog.cob" "configuration.at:90" +( $at_check_trace; $COMPILE_ONLY -std=gcos-strict prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:4: warning: AUTHOR is obsolete in GCOS +" | \ + $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:90" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:93: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "configuration.at:93" +( $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:93" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:94: \$COMPILE_ONLY -std=bs2000 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=bs2000 prog.cob" "configuration.at:94" +( $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:94" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:95: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "configuration.at:95" +( $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:95" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:96: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "configuration.at:96" +( $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:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:97: \$COMPILE_ONLY -std=rm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm prog.cob" "configuration.at:97" +( $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:97" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:98: \$COMPILE_ONLY -std=realia prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=realia prog.cob" "configuration.at:98" +( $at_check_trace; $COMPILE_ONLY -std=realia prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:98" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:99: \$COMPILE_ONLY -std=mvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs prog.cob" "configuration.at:99" +( $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:99" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:100: \$COMPILE_ONLY -std=gcos prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=gcos prog.cob" "configuration.at:100" +( $at_check_trace; $COMPILE_ONLY -std=gcos prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:100" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:105' \ + "cobc with configuration file via -std" " " 1 +at_xfail=no +( + printf "%s\n" "30. $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 +printf "%s\n" "$at_srcdir/configuration.at:119: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "configuration.at:119" +( $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"; printf "%s\n" "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:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:126' \ + "cobc with standard configuration file via -conf" "" 1 +at_xfail=no +( + printf "%s\n" "31. $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 +printf "%s\n" "$at_srcdir/configuration.at:140: \$COMPILE_ONLY -conf=cobol2014.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=cobol2014.conf prog.cob" "configuration.at:140" +( $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"; printf "%s\n" "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: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_31 +#AT_START_32 +at_fn_group_banner 32 'configuration.at:147' \ + "cobc with own configuration file via -conf" " " 1 +at_xfail=no +( + printf "%s\n" "32. $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 +printf "%s\n" "$at_srcdir/configuration.at:167: \$COMPILE_ONLY -conf=test.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:167" +( $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:167" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# check if configuration file loading with full path works +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:170: \$COMPILE_ONLY \\ +-conf=\"\$(_return_path \"\$(pwd)/test.conf\")\" prog.cob" +at_fn_check_prepare_notrace 'a $(...) command substitution' "configuration.at:170" +( $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:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:176' \ + "cobc configuration: recursive include" " " 1 +at_xfail=no +( + printf "%s\n" "33. $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 +printf "%s\n" "$at_srcdir/configuration.at:203: \$COMPILE_ONLY -conf=test.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:203" +( $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"; printf "%s\n" "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: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_33 +#AT_START_34 +at_fn_group_banner 34 'configuration.at:214' \ + "cobc with -std and -conf" " " 1 +at_xfail=no +( + printf "%s\n" "34. $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 +printf "%s\n" "$at_srcdir/configuration.at:234: \$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:234" +( $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"; printf "%s\n" "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:234" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:241' \ + "cobc compiler flag on command line" " " 1 +at_xfail=no +( + printf "%s\n" "35. $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 +printf "%s\n" "$at_srcdir/configuration.at:254: \$COMPILE_ONLY -fcomment-paragraphs=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomment-paragraphs=ok prog.cob" "configuration.at:254" +( $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: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_35 +#AT_START_36 +at_fn_group_banner 36 'configuration.at:260' \ + "cobc compiler flag on command line (priority)" " " 1 +at_xfail=no +( + printf "%s\n" "36. $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 +printf "%s\n" "$at_srcdir/configuration.at:280: \$COMPILE_ONLY \\ +-fcomment-paragraphs=ok prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:280" +( $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:280" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# configuration flag on command line must override all (no matter where it's used) +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:284: \$COMPILE_ONLY \\ +-fcomment-paragraphs=ok -conf=test.conf prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:284" +( $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:284" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:286: \$COMPILE_ONLY \\ +-conf=test.conf -fcomment-paragraphs=ok prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:286" +( $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:286" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:293' \ + "cobc configuration: entries" " " 1 +at_xfail=no +( + printf "%s\n" "37. $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 + + +# conf entries must be clean +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:306: \$COMPILE_ONLY -q \\ +-fcomment-paragraphsok prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:306" +( $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"; printf "%s\n" "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:306" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "configuration error: +-fassign-clause=cobol-2002: invalid value 'cobol-2002' for configuration tag 'assign-clause'; + should be one of the following values: dynamic, external, 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 +printf "%s\n" "$at_srcdir/configuration.at:316: \$COMPILE_ONLY \\ +-freserved-words=default prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:316" +( $at_check_trace; $COMPILE_ONLY \ +-freserved-words=default prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:316" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:318: \$COMPILE_ONLY \\ +-freserved-words=defaults prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:318" +( $at_check_trace; $COMPILE_ONLY \ +-freserved-words=defaults prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "configuration error: +-freserved-words=defaults: Could not access word list for 'defaults' +defaults.words: 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:318" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:324: \$COMPILE_ONLY \\ +-fword-length=thirty prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:324" +( $at_check_trace; $COMPILE_ONLY \ +-fword-length=thirty prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "configuration error: +-fword-length=thirty: invalid value 'thirty' for configuration tag 'word-length'; + must be numeric +" | \ + $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:324" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:330: \$COMPILE_ONLY \\ +-fstandard-define=99 prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:330" +( $at_check_trace; $COMPILE_ONLY \ +-fstandard-define=99 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "configuration error: +-fstandard-define=99: invalid value '99' for configuration tag 'standard-define'; + maximum value: 9 +" | \ + $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:330" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:340' \ + "cobc configuration: conf missing" " " 1 +at_xfail=no +( + printf "%s\n" "38. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >defunc.conf <<'_ATEOF' + +include "notthere.conf" +_ATEOF + + +cat >defunc2.conf <<'_ATEOF' + +include +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:351: \$COMPILE_ONLY -conf=notthere.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=notthere.conf prog.cob" "configuration.at:351" +( $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"; printf "%s\n" "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:351" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:355: \$COMPILE_ONLY -conf=defunc.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc.conf prog.cob" "configuration.at:355" +( $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"; printf "%s\n" "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:355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:360: \$COMPILE_ONLY -conf=defunc2.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc2.conf prog.cob" "configuration.at:360" +( $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"; printf "%s\n" "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: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_38 +#AT_START_39 +at_fn_group_banner 39 'configuration.at:368' \ + "cobc configuration: conf optional" " " 1 +at_xfail=no +( + printf "%s\n" "39. $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 +printf "%s\n" "$at_srcdir/configuration.at:396: \$COMPILE_ONLY -conf=defunc.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc.conf prog.cob" "configuration.at:396" +( $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"; printf "%s\n" "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:396" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:399: \$COMPILE_ONLY -conf=test.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:399" +( $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:399" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:404' \ + "cobc configuration: incomplete" " " 1 +at_xfail=no +( + printf "%s\n" "40. $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 +printf "%s\n" "$at_srcdir/configuration.at:412: \$COMPILE_ONLY -conf=test.conf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:412" +( $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"; printf "%s\n" "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 'defaultbyte' + no definition of 'standard-define' + no definition of 'format' + no definition of 'binary-size' + no definition of 'binary-byteorder' + no definition of 'assign-clause' + no definition of 'screen-section-rules' + no definition of 'dpc-in-data' + no definition of 'subscript-check' + no definition of 'filename-mapping' + no definition of 'pretty-display' + no definition of 'binary-truncate' + no definition of 'complex-odo' + no definition of 'odoslide' + no definition of 'init-justify' + no definition of 'indirect-redefines' + no definition of 'relax-syntax-checks' + no definition of 'ref-mod-zero-length' + no definition of 'relax-level-hierarchy' + no definition of 'select-working' + no definition of 'local-implies-recursive' + 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 'line-col-zero-default' + no definition of 'display-special-fig-consts' + no definition of 'binary-comp-1' + no definition of 'numeric-pointer' + no definition of 'move-non-numeric-lit-to-numeric-is-zero' + no definition of 'implicit-assign-dynamic-var' + no definition of 'device-mnemonics' + no definition of 'xml-parse-xmlss' + no definition of 'areacheck' + no definition of 'comment-paragraphs' + no definition of 'control-division' + no definition of 'partial-replace-when-literal-src' + 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 'same-as-clause' + no definition of 'type-to-clause' + no definition of 'usage-type' + no definition of 'synchronized-clause' + no definition of 'sync-left-right' + no definition of 'special-names-clause' + no definition of 'goto-statement-without-name' + no definition of 'stop-literal-statement' + no definition of 'stop-identifier-statement' + no definition of 'stop-error-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-space-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 'national-character-literals' + no definition of 'hp-octal-literals' + no definition of 'acu-literals' + no definition of 'ebcdic-symbolic-characters' + 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 'larger-redefines' + no definition of 'symbolic-constant' + no definition of 'constant-78' + no definition of 'constant-01' + no definition of 'perform-varying-without-by' + no definition of 'reference-out-of-declaratives' + no definition of 'program-prototypes' + no definition of 'call-convention-mnemonic' + no definition of 'call-convention-linkage' + no definition of 'using-optional' + no definition of 'numeric-value-for-edited-item' + no definition of 'incorrect-conf-sec-order' + no definition of 'define-constant-directive' + no definition of 'free-redefines-position' + no definition of 'records-mismatch-record-clause' + no definition of 'record-delimiter' + no definition of 'sequential-delimiters' + no definition of 'record-delim-with-fixed-recs' + no definition of 'missing-statement' + no definition of 'missing-period' + no definition of 'zero-length-literals' + no definition of 'xml-generate-extra-phrases' + no definition of 'continue-after' + no definition of 'goto-entry' + no definition of 'assign-variable' + no definition of 'assign-using-variable' + no definition of 'assign-ext-dyn' + no definition of 'assign-disk-from' + no definition of 'vsam-status' + no definition of 'self-call-recursive' + no definition of 'record-contains-depending-clause' + no definition of 'picture-l' +" | \ + $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:412" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:546' \ + "runtime configuration" " " 1 +at_xfail=no +( + printf "%s\n" "41. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# check if --runtime-conf exits without error +# don't compare stdout +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:551: \$COBCRUN --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN --runtime-conf" "configuration.at:551" +( $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:551" +$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 split +# into two lines +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:556: \$COBCRUN --runtime-conf | tr -d '\\n ' | \\ +\$GREP \"runtime_empty.cfg\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:556" +( $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:556" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:558: COB_RUNTIME_CONFIG=\"\" \$COBCRUN --runtime-conf | tr -d '\\n ' \\ +| \$GREP \"runtime.cfg\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:558" +( $at_check_trace; 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: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_41 +#AT_START_42 +at_fn_group_banner 42 'configuration.at:565' \ + "runtime configuration file" " " 1 +at_xfail=no +( + printf "%s\n" "42. $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 + + + +# verify that default for physical cancel is still "no" +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:582: \$COBCRUN --runtime-conf | \\ +\$GREP \"COB_PHYSICAL_CANCEL\" | \$GREP \"no\" | \$GREP \"default\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:582" +( $at_check_trace; $COBCRUN --runtime-conf | \ +$GREP "COB_PHYSICAL_CANCEL" | $GREP "no" | $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:582" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that override via -c works and if include works +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:586: \$COBCRUN -c test2.cfg --runtime-conf | \\ +\$GREP \"physical_cancel\" | \$GREP \"yes\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:586" +( $at_check_trace; $COBCRUN -c test2.cfg --runtime-conf | \ +$GREP "physical_cancel" | $GREP "yes" +) >>"$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:586" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:588: \$COBCRUN -c test.cfg --runtime-conf | \\ +\$GREP \"physical_cancel\" | \$GREP \"yes\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:588" +( $at_check_trace; $COBCRUN -c test.cfg --runtime-conf | \ +$GREP "physical_cancel" | $GREP "yes" +) >>"$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:588" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:590: \$COBCRUN -c test3.cfg --runtime-conf | \\ +\$GREP \"COB_PHYSICAL_CANCEL\" | \$GREP \"yes\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:590" +( $at_check_trace; $COBCRUN -c test3.cfg --runtime-conf | \ +$GREP "COB_PHYSICAL_CANCEL" | $GREP "yes" +) >>"$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:590" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that that long option works +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:594: \$COBCRUN --config=test3.cfg --runtime-conf | \\ +\$GREP \"COB_PHYSICAL_CANCEL\" | \$GREP \"yes\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:594" +( $at_check_trace; $COBCRUN --config=test3.cfg --runtime-conf | \ +$GREP "COB_PHYSICAL_CANCEL" | $GREP "yes" +) >>"$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:594" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that that environment setting works +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:598: COB_RUNTIME_CONFIG=test3.cfg \$COBCRUN --runtime-conf | \\ +\$GREP \"COB_PHYSICAL_CANCEL\" | \$GREP \"yes\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:598" +( $at_check_trace; COB_RUNTIME_CONFIG=test3.cfg $COBCRUN --runtime-conf | \ +$GREP "COB_PHYSICAL_CANCEL" | $GREP "yes" +) >>"$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:598" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that configuration file loading with full path works +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:602: \$COBCRUN -c \"\$(_return_path \"\$(pwd)/test.cfg\")\" --runtime-conf" +at_fn_check_prepare_notrace 'a $(...) command substitution' "configuration.at:602" +( $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:602" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:608' \ + "runtime configuration: recursive include" " " 1 +at_xfail=no +( + printf "%s\n" "43. $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 +printf "%s\n" "$at_srcdir/configuration.at:626: \$COBCRUN -c test.cfg -r" +at_fn_check_prepare_dynamic "$COBCRUN -c test.cfg -r" "configuration.at:626" +( $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"; printf "%s\n" "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:626" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:637' \ + "runtime configuration: environment priority" " " 1 +at_xfail=no +( + printf "%s\n" "44. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >test.cfg <<'_ATEOF' + +physical_cancel true +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:644: COB_PHYSICAL_CANCEL=false \$COBCRUN -c test.cfg --runtime-conf | \\ +\$GREP \"COB_PHYSICAL_CANCEL\" | \$GREP \"no\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:644" +( $at_check_trace; COB_PHYSICAL_CANCEL=false $COBCRUN -c test.cfg --runtime-conf | \ +$GREP "COB_PHYSICAL_CANCEL" | $GREP "no" +) >>"$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:644" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:650' \ + "runtime configuration: entries" " " 1 +at_xfail=no +( + printf "%s\n" "45. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:653: echo \"\$PATHSEP\"" +at_fn_check_prepare_dynamic "echo \"$PATHSEP\"" "configuration.at:653" +( $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"; printf "%s\n" "; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:653" +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 +printf "%s\n" "$at_srcdir/configuration.at:653: \$COBCRUN -c defunc.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:653" +( $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"; printf "%s\n" "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:653" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +else $as_nop + +# 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 +printf "%s\n" "$at_srcdir/configuration.at:653: \$COBCRUN -c defunc.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:653" +( $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"; printf "%s\n" "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:653" +$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_45 +#AT_START_46 +at_fn_group_banner 46 'configuration.at:731' \ + "runtime configuration: conf missing" " " 1 +at_xfail=no +( + printf "%s\n" "46. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >defunc.cfg <<'_ATEOF' + +include "notthere.cfg" +_ATEOF + + +cat >defunc2.cfg <<'_ATEOF' + +include +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:742: \$COBCRUN -c notthere.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c notthere.cfg --runtime-conf" "configuration.at:742" +( $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"; printf "%s\n" "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:742" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:746: \$COBCRUN -c defunc.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:746" +( $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"; printf "%s\n" "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:746" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:752: \$COBCRUN -c defunc2.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c defunc2.cfg --runtime-conf" "configuration.at:752" +( $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"; printf "%s\n" "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: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_46 +#AT_START_47 +at_fn_group_banner 47 'configuration.at:760' \ + "runtime configuration: conf optional" " " 1 +at_xfail=no +( + printf "%s\n" "47. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >defunc.cfg <<'_ATEOF' + +include "runtime_empty.cfg" +includeif "notthere.cfg" +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:768: \$COBCRUN -c defunc.cfg --runtime-conf" +at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:768" +( $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: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_47 +#AT_START_48 +at_fn_group_banner 48 'configuration.at:773' \ + "runtime configuration: strings and environment" " " 1 +at_xfail=no +( + printf "%s\n" "48. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:776: unset greet name ; \\ + TESTME=\"this is a test\" \\ + COB_EXIT_MSG='\${greet:Bye} \${name:-user}, \${TESTME}' \\ + \$COBCRUN --runtime-conf | \\ +\$GREP \"COB_EXIT_MSG\" | \$GREP \"Bye user, this is a test\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configuration.at:776" +( $at_check_trace; unset greet name ; \ + TESTME="this is a test" \ + COB_EXIT_MSG='${greet:Bye} ${name:-user}, ${TESTME}' \ + $COBCRUN --runtime-conf | \ +$GREP "COB_EXIT_MSG" | $GREP "Bye user, this is a test" +) >>"$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:776" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:781: \$COBCRUN --runtime-conf | \\ +\$GREP \"COB_EXIT_MSG\" | \$GREP \"end of program, please press a key to exit\"" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:781" +( $at_check_trace; $COBCRUN --runtime-conf | \ +$GREP "COB_EXIT_MSG" | $GREP "end of program, please press a key to exit" +) >>"$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:781" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:787' \ + "validation of COB_CONFIG_DIR" " " 1 +at_xfail=no +( + printf "%s\n" "49. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:797: echo \"\$PATHSEP\"" +at_fn_check_prepare_dynamic "echo \"$PATHSEP\"" "configuration.at:797" +( $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"; printf "%s\n" "; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:797" +if $at_failed +then : + # Previous test "failed" --> PATHSEP isn't ; + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:802: COB_CONFIG_DIR=\".:/temp:/tmp\" \\ +\$COMPILE prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:802" +( $at_check_trace; 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"; printf "%s\n" "cobc: environment variable 'COB_CONFIG_DIR' is '.:/temp:/tmp'; should not contain ':' +configuration error: +./default.conf: No such file or directory +cobc: error: please check environment variables as noted above +" | \ + $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:802" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +else $as_nop + # Previous test "passed" --> PATHSEP is ; + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:814: COB_CONFIG_DIR=\".;C:\\temp;C:\\tmp\" \\ +\$COMPILE prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:814" +( $at_check_trace; 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"; printf "%s\n" "cobc: environment variable 'COB_CONFIG_DIR' is '.;C:\\temp;C:\\tmp'; should not contain ';' +configuration error: +.\\default.conf: No such file or directory +cobc: error: please check environment variables as noted above +" | \ + $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:814" +$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_49 +#AT_START_50 +at_fn_group_banner 50 'configuration.at:827' \ + "cobc configuration: source format" " " 1 +at_xfail=no +( + printf "%s\n" "50. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >fixed.cob <<'_ATEOF' + + *Example prog in fixed format (the default) + IDENTIFICATION DIVISION. + PROGRAM-ID. fixed. + DATA DIVISION. + WORKING-STORAGE SECTION. + / + PROCEDURE DIVISION. + D DISPLAY 'START' + DISPLAY ' 20 30 40 50 60 ' + DISPLAY ' 20 30 40 50 60 + - ' 70' + D DISPLAY 'STOP' + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:846: \$COMPILE_ONLY -fformat=unknown fixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=unknown fixed.cob" "configuration.at:846" +( $at_check_trace; $COMPILE_ONLY -fformat=unknown fixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "configuration error: +-fformat=unknown: invalid value 'unknown' for configuration tag 'format'; + should be one of the following values: FIXED, FREE, COBOL85, VARIABLE, XOPEN, XCARD, CRT, TERMINAL, COBOLX +" | \ + $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:846" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:851: \$COMPILE_ONLY -fixed fixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fixed fixed.cob" "configuration.at:851" +( $at_check_trace; $COMPILE_ONLY -fixed fixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:851" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:852: \$COMPILE_ONLY -fformat=fixed fixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed fixed.cob" "configuration.at:852" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed fixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:852" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:853: \$COMPILE_ONLY -fformat=cobol85 fixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 fixed.cob" "configuration.at:853" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 fixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:853" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >wide.cob <<'_ATEOF' + + *Example prog in fixed format with wider record length + IDENTIFICATION DIVISION. + PROGRAM-ID. wide. + DATA DIVISION. + WORKING-STORAGE SECTION. + / + PROCEDURE DIVISION. + DISPLAY ' 20 30 40 50 60 70 ' + DISPLAY ' 20 30 40 50 60 70 + - ' 80' + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:868: \$COMPILE_ONLY -fformat=fixed wide.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed wide.cob" "configuration.at:868" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed wide.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "wide.cob:10: error: continuation character expected +wide.cob:9: error: invalid literal: ' ...' +wide.cob:9: note: missing terminating ' character +wide.cob:9: warning: optional period used +" | \ + $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:868" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:874: \$COMPILE_ONLY -fformat=cobol85 wide.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 wide.cob" "configuration.at:874" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 wide.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "wide.cob:10: error: continuation character expected +wide.cob:9: error: invalid literal: ' ...' +wide.cob:9: note: missing terminating ' character +wide.cob:9: warning: optional period used +" | \ + $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:874" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:880: \$COMPILE_ONLY -ftext-column=80 wide.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -ftext-column=80 wide.cob" "configuration.at:880" +( $at_check_trace; $COMPILE_ONLY -ftext-column=80 wide.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:880" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'configuration.at:885' \ + "cobc configuration: ebcdic-table" " " 1 +at_xfail=no +( + printf "%s\n" "51. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + OBJECT-COMPUTER. + PROGRAM COLLATING SEQUENCE IS an-ebcdic. + SPECIAL-NAMES. + ALPHABET an-ebcdic IS EBCDIC. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +# Note: these tests need compile to C, as -febcdic-table handling is postponed to codegen + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:903: \$COMPILE -C -febcdic-table=default prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=default prog.cob" "configuration.at:903" +( $at_check_trace; $COMPILE -C -febcdic-table=default prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:903" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:904: \$COMPILE -C -febcdic-table=alternate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=alternate prog.cob" "configuration.at:904" +( $at_check_trace; $COMPILE -C -febcdic-table=alternate prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:904" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:905: \$COMPILE -C -febcdic-table=ebcdic500_ascii7bit prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=ebcdic500_ascii7bit prog.cob" "configuration.at:905" +( $at_check_trace; $COMPILE -C -febcdic-table=ebcdic500_ascii7bit prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:905" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:906: \$COMPILE -C -febcdic-table=ebcdic500_ascii8bit prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=ebcdic500_ascii8bit prog.cob" "configuration.at:906" +( $at_check_trace; $COMPILE -C -febcdic-table=ebcdic500_ascii8bit prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:906" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:907: \$COMPILE -C -febcdic-table=ebcdic500_latin1 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=ebcdic500_latin1 prog.cob" "configuration.at:907" +( $at_check_trace; $COMPILE -C -febcdic-table=ebcdic500_latin1 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:907" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:908: \$COMPILE -C -febcdic-table=unknown prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=unknown prog.cob" "configuration.at:908" +( $at_check_trace; $COMPILE -C -febcdic-table=unknown prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: can't open translation table 'unknown' +cobc: error: invalid parameter: -febcdic-table +" | \ + $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:908" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >valid.ttbl <<'_ATEOF' + +000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F80818283840A171B +88898A8B8C050607909116939495960498999A9B14159E1A20A0E2E4E0E1E3E5E7F15B2E3C282B21 +26E9EAEBE8EDEEEFECDF5D242A293B5E2D2FC2C4C0C1C3C5C7D1A62C255F3E3FF8C9CACBC8CDCECF +CC603A2340273D22D8616263646566676869ABBBF0FDFEB1B06A6B6C6D6E6F707172AABAE6B8C6A4 +B57E737475767778797AA1BFD0DDDEAEA2A3A5B7A9A7B6BCBDBEAC7CAFA8B4D77B41424344454647 +4849ADF4F6F2F3F57D4A4B4C4D4E4F505152B9FBFCF9FAFF5CF7535455565758595AB2D4D6D2D3D5 +30313233343536373839B3DBDCD9DA9F +_ATEOF + + +cat >valid2.ttbl <<'_ATEOF' + +# we may have any comments in here +00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 +8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 + +# even within + +96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 5B 2E 3C 28 2B 21 26 +E9 EA EB E8 ED EE EF EC DF 5D 24 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C +25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 D8 61 62 63 64 65 66 +67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 7E +73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 A7 B6 BC BD BE AC 7C AF +A8 B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 +51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 +33 34 35 36 37 38 39 B3 DB DC D9 DA 9F +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:940: \$COMPILE -C -febcdic-table=./valid.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./valid.ttbl prog.cob" "configuration.at:940" +( $at_check_trace; $COMPILE -C -febcdic-table=./valid.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:940" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:941: \$COMPILE -C -febcdic-table=./valid2.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./valid2.ttbl prog.cob" "configuration.at:941" +( $at_check_trace; $COMPILE -C -febcdic-table=./valid2.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:941" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >invalid.ttbl <<'_ATEOF' + +000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F80818283840A171B +88898A8B8C050607909116939495960498999A9B14159E1A20A0E2E4E0E1E3E5E7F15B2E3C282B21 +26E9EAEBE8EDEEEFECDF5D242A293B5E2D2FC2C4C0C1C3C5C7D1A62X255F3E3FF8C9CACBC8CDCECF +CC60YA2340273D22D8616263646566676869ABBBF0FDFEB1B06A6B6C6D6E6F707172AABAE6B8C6A4 +B57E737475767778797AA1BFD0DDDEAEA2A3A5B7A9A7B6BCBDBEAC7CAFA8B4D77B41424344454647 +4849ADF4F6F2F3F57D4A4B4C4D4E4F505152B9FBFCF9FAFF5CF7535455565758595AB2D4D6D2D3D5 +30313233343536373839B3DBDCD9DA9F +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:953: \$COMPILE -C -febcdic-table=./invalid.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./invalid.ttbl prog.cob" "configuration.at:953" +( $at_check_trace; $COMPILE -C -febcdic-table=./invalid.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: errors in translation table './invalid.ttbl': +libcob: error: invalid hex byte on line 4: '2X' +libcob: error: invalid hex byte on line 5: 'YA' +cobc: error: invalid parameter: -febcdic-table +" | \ + $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:953" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >shorter.ttbl <<'_ATEOF' + +0102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F80818283840A171B88 +898A8B8C050607909116939495960498999A9B14159E1A20A0E2E4E0E1E3E5E7F15B2E3C282B2126 +E9EAEBE8EDEEEFECDF5D242A293B5E2D2FC2C4C0C1C3C5C7D1A62C255F3E3FF8C9CACBC8CDCECFCC +603A2340273D22D8616263646566676869ABBBF0FDFEB1B06A6B6C6D6E6F707172AABAE6B8C6A4B5 +7E737475767778797AA1BFD0DDDEAEA2A3A5B7A9A7B6BCBDBEAC7CAFA8B4D77B4142434445464748 +49ADF4F6F2F3F57D4A4B4C4D4E4F505152B9FBFCF9FAFF5CF7535455565758595AB2D4D6D2D3D530 +313233343536373839B3DBDCD9DA9F +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:970: \$COMPILE -C -febcdic-table=./shorter.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./shorter.ttbl prog.cob" "configuration.at:970" +( $at_check_trace; $COMPILE -C -febcdic-table=./shorter.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: not enough data in translation table './shorter.ttbl' +cobc: error: invalid parameter: -febcdic-table +" | \ + $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:970" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >shorter_longer.ttbl <<'_ATEOF' + +000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F80818283840A171B +88898A8B8C050607909116939495960498999A9B14159E1A20A0E2E4E0E1E3E5E7F15B2E3C282B21 +26E9EAEBE8EDEEEFECDF5D242A293B5E2D2FC2C4C0C1C3C5C7D1A62C255F3E3FF8C9CACBC8CDCECF +CC603A2340273D22D8616263646566676869ABBBF0FDFEB1B06A6B6C6D6E6F707172AABAE6B8C6A4 +B57E737475767778797AA1BFD0DDDEAEA2A3A5B7A9A7B6BCBDBEAC7CAFA8B4D77B41424344454647 +4849ADF4F6F2F3F57D4A4B4C4D4E4F505152B9FBFCF9FAFF5CF7535455565758595AB2D4D6D2D3D5 +30313233343536373839B3DBDCD9DA9FFF +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:985: \$COMPILE -C -febcdic-table=./shorter_longer.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./shorter_longer.ttbl prog.cob" "configuration.at:985" +( $at_check_trace; $COMPILE -C -febcdic-table=./shorter_longer.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: either not enough or too much data in translation table './shorter_longer.ttbl' +cobc: error: invalid parameter: -febcdic-table +" | \ + $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:985" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >longer.ttbl <<'_ATEOF' + +000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F80818283840A171B +88898A8B8C050607909116939495960498999A9B14159E1A20A0E2E4E0E1E3E5E7F15B2E3C282B21 +26E9EAEBE8EDEEEFECDF5D242A293B5E2D2FC2C4C0C1C3C5C7D1A62C255F3E3FF8C9CACBC8CDCECF +CC603A2340273D22D8616263646566676869ABBBF0FDFEB1B06A6B6C6D6E6F707172AABAE6B8C6A4 +B57E737475767778797AA1BFD0DDDEAEA2A3A5B7A9A7B6BCBDBEAC7CAFA8B4D77B41424344454647 +4849ADF4F6F2F3F57D4A4B4C4D4E4F505152B9FBFCF9FAFF5CF7535455565758595AB2D4D6D2D3D5 +30313233343536373839B3DBDCD9DA9F +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/configuration.at:1007: \$COMPILE -C -febcdic-table=./longer.ttbl prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -febcdic-table=./longer.ttbl prog.cob" "configuration.at:1007" +( $at_check_trace; $COMPILE -C -febcdic-table=./longer.ttbl prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: too much data in translation table './longer.ttbl' +cobc: error: invalid parameter: -febcdic-table +" | \ + $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:1007" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:23' \ + "COPY: IN / OF / -I" " " 2 +at_xfail=no +( + printf "%s\n" "52. $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" IN SUB. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" OF SUB. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" OF SUB. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +# TODO: Should default to auto-folding when IN "sub2" (literal) is used +# and therefore don't work on case-sensitive file-systems +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" IN sub2. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc". + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog5.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" IN CBD. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:94: mkdir -p SUB" +at_fn_check_prepare_trace "syn_copy.at:94" +( $at_check_trace; mkdir -p SUB +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:94" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >SUB/copy.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE '1'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:99: mkdir -p sub2" +at_fn_check_prepare_trace "syn_copy.at:99" +( $at_check_trace; mkdir -p sub2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:99" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >sub2/copy.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE '2'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:104: mkdir -p SUB/UNDER" +at_fn_check_prepare_trace "syn_copy.at:104" +( $at_check_trace; mkdir -p SUB/UNDER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:104" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >SUB/UNDER/copy.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE '3'. +_ATEOF + +cat >copy.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE '4'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:112: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:112" +( $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:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:113: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_copy.at:113" +( $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_copy.at:113" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:114: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_copy.at:114" +( $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_copy.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:115: \$COMPILE_ONLY prog4.cob -I SUB" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob -I SUB" "syn_copy.at:115" +( $at_check_trace; $COMPILE_ONLY prog4.cob -I SUB +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:115" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:116: unset COB_COPY_LIB_CBD; \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "unset COB_COPY_LIB_CBD; $COMPILE_ONLY prog5.cob" "syn_copy.at:116" +( $at_check_trace; unset COB_COPY_LIB_CBD; $COMPILE_ONLY prog5.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog5.cob:6: warning: copybook not found in library 'CBD', library-name ignored +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:116" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:119: COB_COPY_LIB_CBD=\"./SUB/UNDER\" \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "COB_COPY_LIB_CBD=\"./SUB/UNDER\" $COMPILE_ONLY prog5.cob" "syn_copy.at:119" +( $at_check_trace; COB_COPY_LIB_CBD="./SUB/UNDER" $COMPILE_ONLY 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_copy.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:120: COB_COPY_LIB_CBD=\"\" \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "COB_COPY_LIB_CBD=\"\" $COMPILE_ONLY prog5.cob" "syn_copy.at:120" +( $at_check_trace; COB_COPY_LIB_CBD="" $COMPILE_ONLY 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_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_52 +#AT_START_53 +at_fn_group_banner 53 'syn_copy.at:125' \ + "COPY: relative copybooks" " " 2 +at_xfail=yes +( + printf "%s\n" "53. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO - the source for the COPY statement is currently completely ignored + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:131: mkdir -p SUB/SUB2/SUB3" +at_fn_check_prepare_trace "syn_copy.at:131" +( $at_check_trace; mkdir -p SUB/SUB2/SUB3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:131" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >SUB/prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" IN SUB2. + PROCEDURE DIVISION. + DISPLAY TEST-VAR TEST-VAR2. + STOP RUN. +_ATEOF + + + +cat >SUB/SUB2/copy.inc <<'_ATEOF' + + COPY "copy2.inc" IN SUB3. +_ATEOF + +cat >SUB/SUB2/SUB3/copy2.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE '1'. + COPY "copy3.inc". +_ATEOF + +# for compatibility reasons (older GC versions) it was considered to add +# the current working directory, but this idea was dropped: +# explicit add via -I. or COB_COPY_DIR/COBCPY (where both "empty" and "." work) +cat >copy3.inc <<'_ATEOF' + + COPY "copy4.inc" IN "SUBX". +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:158: mkdir -p SUBX" +at_fn_check_prepare_trace "syn_copy.at:158" +( $at_check_trace; mkdir -p SUBX +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:158" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >SUBX/copy4.inc <<'_ATEOF' + + 77 TEST-VAR2 PIC X VALUE '2'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:163: \$COMPILE_ONLY -I. SUB/prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -I. SUB/prog.cob" "syn_copy.at:163" +( $at_check_trace; $COMPILE_ONLY -I. SUB/prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:163" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:164: COB_COPY_DIR=\".\" \$COMPILE_ONLY SUB/prog.cob" +at_fn_check_prepare_dynamic "COB_COPY_DIR=\".\" $COMPILE_ONLY SUB/prog.cob" "syn_copy.at:164" +( $at_check_trace; COB_COPY_DIR="." $COMPILE_ONLY SUB/prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:164" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:165: COB_COPY_DIR=\":\" \$COMPILE_ONLY SUB/prog.cob" +at_fn_check_prepare_dynamic "COB_COPY_DIR=\":\" $COMPILE_ONLY SUB/prog.cob" "syn_copy.at:165" +( $at_check_trace; COB_COPY_DIR=":" $COMPILE_ONLY SUB/prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:165" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:170' \ + "COPY: extension" " " 2 +at_xfail=no +( + printf "%s\n" "54. $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. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy". + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "sub.inc" OF SUB. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "sub" OF SUB. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog5.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "sub" OF "..". + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >prog6.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "sub". + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >copy.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE 'V'. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:242: mkdir -p SUB/OSUB" +at_fn_check_prepare_trace "syn_copy.at:242" +( $at_check_trace; mkdir -p SUB/OSUB +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:242" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >SUB/sub.inc <<'_ATEOF' + + 77 TEST-VAR PIC X VALUE 'V'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:247: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:247" +( $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:247" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:248: \$COMPILE_ONLY prog2.cob -ext=inc" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob -ext=inc" "syn_copy.at:248" +( $at_check_trace; $COMPILE_ONLY prog2.cob -ext=inc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:248" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:249: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_copy.at:249" +( $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_copy.at:249" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:250: \$COMPILE_ONLY prog4.cob -ext=inc" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob -ext=inc" "syn_copy.at:250" +( $at_check_trace; $COMPILE_ONLY prog4.cob -ext=inc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:250" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:251: \$COMPILE_ONLY prog5.cob -ext=inc -I SUB/OSUB" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob -ext=inc -I SUB/OSUB" "syn_copy.at:251" +( $at_check_trace; $COMPILE_ONLY prog5.cob -ext=inc -I SUB/OSUB +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:251" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:252: \$COMPILE_ONLY prog6.cob -ext=inc -I SUB" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog6.cob -ext=inc -I SUB" "syn_copy.at:252" +( $at_check_trace; $COMPILE_ONLY prog6.cob -ext=inc -I SUB +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:252" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:257' \ + "COPY: within comment" " " 2 +at_xfail=no +( + printf "%s\n" "55. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:280: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:280" +( $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:280" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:281: \$COMPILE_ONLY -free prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog2.cob" "syn_copy.at:281" +( $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:281" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:286' \ + "COPY: file not found" " " 2 +at_xfail=no +( + printf "%s\n" "56. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: possibly move "name without literal" to an extra test +# also testing the library name part (as "found", because +# of different slash) + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:303: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:303" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY copy.inc. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:317: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_copy.at:317" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.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:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY copy.INC.inc. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:331: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_copy.at:331" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:6: error: COPY.INC.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:331" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:335: \$COMPILE_ONLY -ffold-copy=lower prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -ffold-copy=lower prog3.cob" "syn_copy.at:335" +( $at_check_trace; $COMPILE_ONLY -ffold-copy=lower prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:6: error: copy.inc.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: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_56 +#AT_START_57 +at_fn_group_banner 57 'syn_copy.at:342' \ + "COPY: recursive" " " 2 +at_xfail=no +( + printf "%s\n" "57. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY copy1. + PROCEDURE DIVISION. + DISPLAY TEST-VAR. + STOP RUN. +_ATEOF + + +cat >copy1.CPY <<'_ATEOF' + + COPY copy2. + 01 TEST-VAR PIC X(2) VALUE "V1". +_ATEOF + + +cat >copy2.CPY <<'_ATEOF' + + 01 TEST-VAR2 PIC X(2) VALUE "V2". + COPY copy3. +_ATEOF + + +cat >copy3.CPY <<'_ATEOF' + COPY "copy1.CPY". + 01 TEST-VAR3 PIC X(2) VALUE "V3". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:371: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:371" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "in file included from prog.cob:6: +in file included from copy1.CPY:2: +in file included from copy2.CPY:3: +in file included from copy3.CPY:1: +copy1.CPY: error: recursive inclusion +" | \ + $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:371" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:382' \ + "COPY: replacement order" " " 2 +at_xfail=no +( + printf "%s\n" "58. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:403: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:403" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:403" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:404: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:404" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.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_58 +#AT_START_59 +at_fn_group_banner 59 'syn_copy.at:409' \ + "COPY: separators" " " 2 +at_xfail=no +( + printf "%s\n" "59. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:432: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:432" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:432" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:433: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:433" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:433" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:438' \ + "COPY: partial replacement" " " 2 +at_xfail=no +( + printf "%s\n" "60. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:462: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:462" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:462" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:463: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:463" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:463" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:468' \ + "COPY: LEADING replacement" " " 2 +at_xfail=no +( + printf "%s\n" "61. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:492: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:492" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:492" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:493: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:493" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:493" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:498' \ + "COPY: TRAILING replacement" " " 2 +at_xfail=no +( + printf "%s\n" "62. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:522: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:522" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:522" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:523: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:523" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:523" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:528' \ + "COPY: partial replacement BY literal" " " 2 +at_xfail=no +( + printf "%s\n" "63. $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". + 01 X PIC X(2) VALUE "OK". +_ATEOF + + +cat >copy2.inc <<'_ATEOF' + + 01 TEST-FIRST PIC X(2) VALUE "OK". + 01 TEST-SECND PIC X(2) VALUE "OK". + 01 Y PIC X(2) VALUE "OK". +_ATEOF + + +# When `-fpartial-replace-when-literal-src' is "skip", X and +# Y are available: partial replacement with a source literal does not +# apply when the replacement does not lead to a valid word (cf GCOS +# reference manual, pp 537--538, 542). +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" + LEADING "X" BY "". + COPY "copy2.inc" + REPLACING TRAILING "FIRST" BY "VAR1" + TRAILING "SECND" BY "VAR2" + TRAILING "Y" BY "". + PROCEDURE DIVISION. + DISPLAY FIRST-VAR NO ADVANCING END-DISPLAY. + DISPLAY SECOND-VAR NO ADVANCING END-DISPLAY. + DISPLAY X NO ADVANCING END-DISPLAY. + DISPLAY TEST-VAR1 NO ADVANCING END-DISPLAY. + DISPLAY TEST-VAR2 NO ADVANCING END-DISPLAY. + DISPLAY Y NO ADVANCING END-DISPLAY. + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:569: \$COMPILE -fpartial-replace-when-literal-src=skip -o prog-skip prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fpartial-replace-when-literal-src=skip -o prog-skip prog.cob" "syn_copy.at:569" +( $at_check_trace; $COMPILE -fpartial-replace-when-literal-src=skip -o prog-skip prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:569" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:570: \$COBCRUN_DIRECT ./prog-skip" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-skip" "syn_copy.at:570" +( $at_check_trace; $COBCRUN_DIRECT ./prog-skip +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OKOKOKOKOKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:570" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:571: \$COMPILE -fpartial-replace-when-literal-src=ok -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fpartial-replace-when-literal-src=ok -o prog prog.cob" "syn_copy.at:571" +( $at_check_trace; $COMPILE -fpartial-replace-when-literal-src=ok -o prog prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "copy.inc:2: error: parentheses must be preceded by a picture symbol +copy.inc:2: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +copy.inc:3: error: parentheses must be preceded by a picture symbol +copy.inc:3: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +copy.inc:4: error: parentheses must be preceded by a picture symbol +copy.inc:4: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:17: error: 'X' cannot be used here +prog.cob:20: error: 'Y' 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_copy.at:571" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:581: \$COMPILE_ONLY -fpartial-replace-when-literal-src=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=error prog.cob" "syn_copy.at:581" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: partial replacing with literal used +prog.cob:7: error: partial replacing with literal used +prog.cob:8: error: partial replacing with literal used +prog.cob:8: error: partial replacing with literal used +prog.cob:9: error: partial replacing with literal used +prog.cob:9: error: partial replacing with literal used +prog.cob:11: error: partial replacing with literal used +prog.cob:11: error: partial replacing with literal used +prog.cob:12: error: partial replacing with literal used +prog.cob:12: error: partial replacing with literal used +prog.cob:13: error: partial replacing with literal used +prog.cob:13: error: partial replacing with literal used +copy.inc:2: error: parentheses must be preceded by a picture symbol +copy.inc:2: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +copy.inc:3: error: parentheses must be preceded by a picture symbol +copy.inc:3: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +copy.inc:4: error: parentheses must be preceded by a picture symbol +copy.inc:4: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:17: error: 'X' cannot be used here +prog.cob:20: error: 'Y' 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_copy.at:581" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_err.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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:616: \$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob" "syn_copy.at:616" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err.cob:7: error: unexpected COBOL word in partial replacement phrase +prog_err.cob:8: error: unexpected COBOL word in partial replacement 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_copy.at:616" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:620: \$COMPILE_ONLY -fpartial-replace-when-literal-src=unconformable prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=unconformable prog_err.cob" "syn_copy.at:620" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=unconformable prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err.cob:7: error: unexpected COBOL word in partial replacement phrase +prog_err.cob:7: error: partial replacing with literal does not conform to GnuCOBOL +prog_err.cob:8: error: partial replacing with literal does not conform to GnuCOBOL +prog_err.cob:8: error: unexpected COBOL word in partial replacement 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_copy.at:620" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:630' \ + "COPY: recursive replacement" " " 2 +at_xfail=no +( + printf "%s\n" "64. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:654: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:654" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:654" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:655: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:655" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:655" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:660' \ + "COPY: fixed/free format" " " 2 +at_xfail=no +( + printf "%s\n" "65. $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 +printf "%s\n" "$at_srcdir/syn_copy.at:680: \$COMPILE -free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -free prog.cob" "syn_copy.at:680" +( $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:680" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:681: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:681" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:681" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:686' \ + "REPLACE: partial replacement BY SPACE" " " 2 +at_xfail=no +( + printf "%s\n" "66. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + REPLACE LEADING "PREFIX-" BY SPACES + TRAILING "-SUFFIX" BY SPACE. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 PREFIX-VAR1 PIC X(2) VALUE "OK". + 01 VAR2-SUFFIX PIC X(2) VALUE "OK". + PROCEDURE DIVISION. + DISPLAY "VAR1: " VAR1 NO ADVANCING. + DISPLAY "VAR1: " VAR2 NO ADVANCING. + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:703: \$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog.cob" "syn_copy.at:703" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=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_copy.at:703" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:704: \$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog.cob" "syn_copy.at:704" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:704" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + COPY prog REPLACING LEADING "VAR1" BY SPACES. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:709: \$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog2.cob" "syn_copy.at:709" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=ok 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:709" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_err.cob <<'_ATEOF' + + COPY prog REPLACING LEADING SPACES BY "PREFIX-". +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:714: \$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err.cob" "syn_copy.at:714" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err.cob:2: error: unexpected COBOL word in partial replacement 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_copy.at:714" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:717: \$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob" "syn_copy.at:717" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=skip prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err.cob:2: error: unexpected COBOL word in partial replacement 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_copy.at:717" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check that partial replacement rejects spaces in right operand: +cat >prog_err2.cob <<'_ATEOF' + + COPY prog REPLACING LEADING "VAR" BY "VAR1 ". +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:725: \$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err2.cob" "syn_copy.at:725" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err2.cob:2: error: invalid partial replacing operand +" | \ + $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:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_err3.cob <<'_ATEOF' + + COPY prog REPLACING LEADING "VAR" BY " VAR1". +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:732: \$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err3.cob" "syn_copy.at:732" +( $at_check_trace; $COMPILE_ONLY -fpartial-replace-when-literal-src=ok prog_err3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err3.cob:2: error: invalid partial replacing operand +" | \ + $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:732" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:739' \ + "COPY: simple partial match" " " 2 +at_xfail=no +( + printf "%s\n" "67. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-CC PIC X(4) VALUE "OK 2". +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" REPLACING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-EE == BY == 02 TEST-FF ==. + PROCEDURE DIVISION. + main. + DISPLAY TEST-AVR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:761: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:761" +( $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: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_67 +#AT_START_68 +at_fn_group_banner 68 'syn_copy.at:766' \ + "COPY: with LEADING, multiple partial matches" " " 2 +at_xfail=no +( + printf "%s\n" "68. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" + REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + ==TEST-CC== BY ==TEST-DD== + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + main. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:799: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:799" +( $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:799" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:804' \ + "COPY: multiple partial matches with an error" " " 2 +at_xfail=no +( + printf "%s\n" "69. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" REPLACING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + ==TEST-CC== BY ==TEST-DD== + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + main. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:836: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:836" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'main': +prog.cob:15: error: 'TEST-AVR-BIS' 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_copy.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_69 +#AT_START_70 +at_fn_group_banner 70 'syn_copy.at:844' \ + "COPY: Multiple partial matches (1)" " " 2 +at_xfail=no +( + printf "%s\n" "70. $at_setup_line: testing $at_desc ..." + $at_traceon + +# testing with multiple spaces in the including source file + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" + REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + == TEST-CC == BY == TEST-DD == + == 02 TEST-EE == + BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + main. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:879: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:879" +( $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:879" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:884' \ + "COPY: Multiple partial matches (2)" " " 2 +at_xfail=no +( + printf "%s\n" "71. $at_setup_line: testing $at_desc ..." + $at_traceon + +# testing with multiple spaces in the included coypbook + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" + REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + ==TEST-CC== BY ==TEST-DD== + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + main. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:918: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:918" +( $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:918" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:923' \ + "COPY and REPLACE in same file" " " 2 +at_xfail=no +( + printf "%s\n" "72. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# See Bug #831 +# the issue with this example is that the outer REPLACE +# _could_ only see the result of the inner REPLACING: +# "COLON", but needs to see "VAR-COLON". + +cat >copy.inc <<'_ATEOF' + + 01 VAR-:TEST: PIC X(2) VALUE "OK". +_ATEOF + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + REPLACE ==VAR-COLON== BY ==VAR-COMMA==. + COPY "copy.inc" + REPLACING ==:TEST:== BY ==COLON==. + PROCEDURE DIVISION. + DISPLAY VAR-COLON NO ADVANCING + END-DISPLAY. + STOP RUN. + REPLACE OFF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:949: \$COMPILE_ONLY -P- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -P- prog.cob" "syn_copy.at:949" +( $at_check_trace; $COMPILE_ONLY -P- 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"; printf "%s\n" " 1 + 2 IDENTIFICATION DIVISION. + 3 PROGRAM-ID. prog. + 4 DATA DIVISION. + 5 WORKING-STORAGE SECTION. + 6 + 7 + 8 + 9 01 VAR-COMMA PIC X(2) VALUE \"OK\". + 10 + 11 PROCEDURE DIVISION. + 12 DISPLAY VAR-COMMA NO ADVANCING + 13 END-DISPLAY. + 14 STOP RUN. + 15 + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:949" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:968: \$COMPILE_LISTING -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- prog.cob" "syn_copy.at:968" +( $at_check_trace; $COMPILE_LISTING -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 REPLACE ==VAR-COLON== BY ==VAR-COMMA==. +000007 COPY \"copy.inc\" +000001C +000002C 01 VAR-:TEST: PIC X(2) VALUE \"OK\". +000007 REPLACING ==:TEST:== BY ==COLON==. +000008 PROCEDURE DIVISION. +000009 DISPLAY VAR-COMMA NO ADVANCING +000010 END-DISPLAY. +000011 STOP RUN. +000012 REPLACE OFF. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:968" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:997' \ + "COPY and REPLACE errors" " " 2 +at_xfail=no +( + printf "%s\n" "73. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 05 VAR PIC XX. +_ATEOF + + +# see Bug #890 - the buffer for the copybook was switched +# already before parsing the DOT; additional the error did +# not stopped at the DOT, so there was max. one error printed + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "copy.inc" A. + COPY "copy.inc" ==A== BY B. + COPY "copy.inc" REPLACING. + COPY "copy.inc" REPLACING ABC. + COPY "copy.inc" REPLACING 'POST' IN. + COPY "copy.inc" REPLACING 'POST' BY BY. + COPY "copy.inc" + REPLACING ==some-name== BY ==other-name== + REPLACING "some lit" BY "other literal". + COPY "copy.inc". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1027: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:1027" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: syntax error, unexpected Word or Literal, expecting . +prog.cob:7: error: syntax error, unexpected ==, expecting . +prog.cob:8: error: syntax error, unexpected ., expecting == or LEADING or TRAILING or Word or Literal +prog.cob:9: error: syntax error, unexpected ., expecting BY +prog.cob:10: error: syntax error, unexpected ., expecting Word or Literal +prog.cob:11: error: syntax error, unexpected BY, expecting == or IN or OF or Word or Literal +prog.cob:14: error: syntax error, unexpected REPLACING, expecting . +copy.inc:2: error: level number must begin with 01 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_copy.at:1027" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:1041' \ + "COPY and REPLACE with reserved words" " " 2 +at_xfail=no +( + printf "%s\n" "74. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see Bug #23 +cat >copy.inc <<'_ATEOF' + + 05 WS-'POST' PIC XX. + 05 'POST'-A PIC XX. + 05 'POST'-WS PIC XX. +_ATEOF + +cat >proc.inc <<'_ATEOF' + + DISPLAY VAR VAR-2 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 INPUT-REC. + COPY "copy.inc" + REPLACING 'POST' BY IN. + PROCEDURE DIVISION. + DISPLAY WS-IN IN-A IN-WS NO ADVANCING. + IF WS-IN EQUALS IN-A + COPY "proc.inc" + REPLACING VAR BY IN-A IN INPUT-REC + ==VAR-2== BY ==IN-WS (1:1)==. + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1072: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:1072" +( $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: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_74 +#AT_START_75 +at_fn_group_banner 75 'syn_copy.at:1077' \ + "Option --copy COPYBOOK" " " 2 +at_xfail=no +( + printf "%s\n" "75. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copybook1.CPY <<'_ATEOF' + + REPLACE ==BEGIN PROGRAM== BY ==IDENTIFICATION DIVISION. + PROGRAM-ID.==. +_ATEOF + +cat >copybook2.CPY <<'_ATEOF' + + REPLACE ALSO ==output== BY =="Hello world"==. +_ATEOF + +cat >copybook3.CPY <<'_ATEOF' + + REPLACE ALSOO ==output== BY =="Hello world"==. +_ATEOF + +cat >prog.cob <<'_ATEOF' + + BEGIN PROGRAM prog. + PROCEDURE DIVISION. + DISPLAY output + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1097: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:1097" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2: error: SPECIAL-NAMES header missing +prog.cob:2: error: invalid system-name 'BEGIN' +prog.cob:2: error: syntax error, unexpected PROGRAM, expecting CRT or Identifier +prog.cob:2: error: invalid system-name 'prog' +prog.cob:2: error: syntax error, unexpected ., expecting CRT or Identifier +prog.cob:3: error: syntax error, unexpected PROCEDURE +prog.cob:4: 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_copy.at:1097" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1110: \$COMPILE_ONLY --copy copybook1 --copy copybook2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY --copy copybook1 --copy copybook2 prog.cob" "syn_copy.at:1110" +( $at_check_trace; $COMPILE_ONLY --copy copybook1 --copy copybook2 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1110" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1112: \$COMPILE_ONLY --copy copybook1 --copy copybook3 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY --copy copybook1 --copy copybook3 prog.cob" "syn_copy.at:1112" +( $at_check_trace; $COMPILE_ONLY --copy copybook1 --copy copybook3 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "copybook3.CPY:2: error: syntax error, unexpected ==, expecting BY +copybook3.CPY:2: 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_copy.at:1112" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1117: \$COMPILE_ONLY --copy copybook1 --copy copybook4 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY --copy copybook1 --copy copybook4 prog.cob" "syn_copy.at:1117" +( $at_check_trace; $COMPILE_ONLY --copy copybook1 --copy copybook4 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobc: error: fatal error: could not find --copy argument copybook4 +" | \ + $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:1117" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_copy.at:1124' \ + "COPY LONG REPLACE" " " 2 +at_xfail=no +( + printf "%s\n" "76. $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==. + REPLACE == + 01 TEST-VAR1 PIC X(2) VALUE "OK". + 01 TEST-VAR2 PIC X(2) VALUE "OK". + == BY == + PROCEDURE DIVISION. + DISPLAY TEST-VAR1 NO ADVANCING + END-DISPLAY. + DISPLAY TEST-VAR2 NO ADVANCING + END-DISPLAY. + STOP RUN. + ==. + COPY "copy.inc" + REPLACING TRAILING ==FIRST== BY ==VAR1== + TRAILING ==SECOND== BY ==VAR2==. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1155: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:1155" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1155" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_copy.at:1157: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_copy.at:1157" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:1157" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:25' \ + "Invalid source name" " " 2 +at_xfail=no +( + printf "%s\n" "77. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +: >short.cob + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:30: \$COMPILE_ONLY short.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY short.cob" "syn_definition.at:30" +( $at_check_trace; $COMPILE_ONLY short.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "short.cob: error: invalid file base name '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:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:37' \ + "Invalid PROGRAM-ID" " " 2 +at_xfail=no +( + printf "%s\n" "78. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: the name check is identical for the ENTRY statement + +cat >SHORT.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. short. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:49: \$COMPILE_ONLY SHORT.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY SHORT.cob" "syn_definition.at:49" +( $at_check_trace; $COMPILE_ONLY SHORT.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "SHORT.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:49" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >SHORT2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. "_short". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:60: \$COMPILE_ONLY SHORT2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY SHORT2.cob" "syn_definition.at:60" +( $at_check_trace; $COMPILE_ONLY SHORT2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +cat >SHORT3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. _short. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:70: \$COMPILE_ONLY SHORT3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY SHORT3.cob" "syn_definition.at:70" +( $at_check_trace; $COMPILE_ONLY SHORT3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "SHORT3.cob:3: error: invalid symbol '_' - skipping word +SHORT3.cob:4: 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_definition.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >SHORT4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. "-short". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:82: \$COMPILE_ONLY SHORT4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY SHORT4.cob" "syn_definition.at:82" +( $at_check_trace; $COMPILE_ONLY SHORT4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "SHORT4.cob:3: error: invalid PROGRAM-ID '-short' - name cannot begin with space or hyphen +" | \ + $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: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_78 +#AT_START_79 +at_fn_group_banner 79 'syn_definition.at:89' \ + "Invalid PROGRAM-ID type clause (1)" " " 2 +at_xfail=no +( + printf "%s\n" "79. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:99: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:99" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:99" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:106' \ + "invalid PROGRAM-ID type clause (2)" " " 2 +at_xfail=no +( + printf "%s\n" "80. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:116: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:116" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_80 +#AT_START_81 +at_fn_group_banner 81 'syn_definition.at:123' \ + "INITIAL / RECURSIVE before COMMON" " " 2 +at_xfail=no +( + printf "%s\n" "81. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >containing-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 +printf "%s\n" "$at_srcdir/syn_definition.at:145: \$COMPILE_ONLY containing-prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY containing-prog.cob" "syn_definition.at:145" +( $at_check_trace; $COMPILE_ONLY containing-prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:155' \ + "Undefined data name" " " 2 +at_xfail=no +( + printf "%s\n" "82. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY X. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "prog.cob:5: error: 'X' 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_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_82 +#AT_START_83 +at_fn_group_banner 83 'syn_definition.at:173' \ + "Undefined group name" " " 2 +at_xfail=no +( + printf "%s\n" "83. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:187: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:187" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:187" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:194' \ + "Undefined data name in group" " " 2 +at_xfail=no +( + printf "%s\n" "84. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:210: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.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"; printf "%s\n" "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: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_84 +#AT_START_85 +at_fn_group_banner 85 'syn_definition.at:217' \ + "Reference not a group name" " " 2 +at_xfail=no +( + printf "%s\n" "85. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:232: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.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"; printf "%s\n" "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: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_85 +#AT_START_86 +at_fn_group_banner 86 'syn_definition.at:239' \ + "Incomplete 01 definition" " " 2 +at_xfail=no +( + printf "%s\n" "86. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:250: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:250" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:250" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:257' \ + "error handling in conditions" " " 2 +at_xfail=no +( + printf "%s\n" "87. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TESTME PIC X(1). + + PROCEDURE DIVISION. + + EVALUATE TRUE + WHEN TESTME IS NOT-DEFINED + CONTINUE + WHEN TESTME = 'A' + CONTINUE + WHEN OTHER + IF NOT TESTME IS NOT-DEFINED + THEN + CONTINUE + ELSE + CONTINUE + END-IF + END-EVALUATE + EVALUATE TRUE + WHEN TESTME IS 'ABC' + CONTINUE + WHEN TESTME = 'B' + CONTINUE + END-EVALUATE + EVALUATE TRUE + WHEN TESTME IS TESTME + CONTINUE + WHEN TESTME = 'C' + CONTINUE + END-EVALUATE + EVALUATE TRUE + WHEN TESTME NOT = NOT-DEFINED + CONTINUE + WHEN TESTME = 'D' + CONTINUE + END-EVALUATE + EVALUATE TRUE + WHEN TESTME ELSE NOT-DEFINED + CONTINUE + WHEN TESTME = 'E' + CONTINUE + END-EVALUATE + EVALUATE broken + WHEN NOT-DEFINED + continue + END-EVALUATE + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:314: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:314" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: error: syntax error, unexpected Identifier +prog.cob:11: error: WHEN without imperative statement +prog.cob:16: error: syntax error, unexpected Identifier +prog.cob:24: error: syntax error, unexpected Literal +prog.cob:24: error: WHEN without imperative statement +prog.cob:30: error: syntax error, unexpected Identifier +prog.cob:30: error: WHEN without imperative statement +prog.cob:36: error: 'NOT-DEFINED' is not defined +prog.cob:42: error: syntax error, unexpected ELSE +prog.cob:42: error: syntax error, unexpected Identifier +prog.cob:42: error: WHEN without imperative statement +prog.cob:42: error: incomplete expression +prog.cob:47: error: 'broken' 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: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_87 +#AT_START_88 +at_fn_group_banner 88 'syn_definition.at:333' \ + "Same paragraphs in different sections" " " 2 +at_xfail=no +( + printf "%s\n" "88. $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 + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + PROCEDURE DIVISION. + S-1 SECTION. + L. + + S-2 SECTION. + L. + + S-3 SECTION. + GO TO L. + K. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:366: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:366" +( $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:366" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:367: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.at:367" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob: in section 'S-3': +prog2.cob:12: error: 'L' is ambiguous; needs qualification +prog2.cob:6: note: 'L IN S-1' defined here +prog2.cob:9: note: '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:367" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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:376' \ + "GO TO sections and foreign paragraphs" " " 2 +at_xfail=no +( + printf "%s\n" "89. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + S-1 SECTION. + GO TO S-2. + E-1. + IF FUNCTION SECONDS-PAST-MIDNIGHT = 10 + GO TO S-1. *> check that go to its own section is not warned + + S-2 SECTION. + GO TO E-3. + E-2. + + S-3 SECTION. + E-3. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:397: \$COBC -fdiagnostics-plain-output -fsyntax-only prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -fsyntax-only prog.cob" "syn_definition.at:397" +( $at_check_trace; $COBC -fdiagnostics-plain-output -fsyntax-only prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'S-1': +prog.cob:6: warning: GO TO SECTION 'S-2' [-Wgoto-section] +" | \ + $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:397" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:401: \$COBC -fdiagnostics-plain-output -fsyntax-only -Wall -Werror=goto-section prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -fsyntax-only -Wall -Werror=goto-section prog.cob" "syn_definition.at:401" +( $at_check_trace; $COBC -fdiagnostics-plain-output -fsyntax-only -Wall -Werror=goto-section prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'S-1': +prog.cob:6: error: GO TO SECTION 'S-2' [-Werror=goto-section] +prog.cob: in section 'S-2': +prog.cob:12: warning: GO TO paragraph 'E-3' which is defined in another SECTION [-Wgoto-different-section] +prog.cob:16: note: 'E-3 IN S-3' defined here [-Wgoto-different-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:401" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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:413' \ + "Redefinition of 01 items" " " 2 +at_xfail=no +( + printf "%s\n" "90. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:425: \$COBC -fsyntax-only prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only prog.cob" "syn_definition.at:425" +( $at_check_trace; $COBC -fsyntax-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:425" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:426: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:426" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'X' +prog.cob:6: note: '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:426" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:430: \$COMPILE_ONLY -Wno-redefinition prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-redefinition prog.cob" "syn_definition.at:430" +( $at_check_trace; $COMPILE_ONLY -Wno-redefinition prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:430" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:431: \$COMPILE_ONLY -Werror=redefinition prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Werror=redefinition prog.cob" "syn_definition.at:431" +( $at_check_trace; $COMPILE_ONLY -Werror=redefinition prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: redefinition of 'X' +prog.cob:6: note: 'X' 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:431" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:435: \$COMPILE_ONLY -fdiagnostics-show-option -Werror=redefinition prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Werror=redefinition prog.cob" "syn_definition.at:435" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Werror=redefinition prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: redefinition of 'X' [-Werror=redefinition] +prog.cob:6: note: 'X' previously defined here [-Werror=redefinition] +" | \ + $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: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_90 +#AT_START_91 +at_fn_group_banner 91 'syn_definition.at:442' \ + "Redefinition of 01 and 02 items" " " 2 +at_xfail=no +( + printf "%s\n" "91. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:454: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:454" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'X' +prog.cob:6: note: '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:454" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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:462' \ + "Redefinition of 02 items" " " 2 +at_xfail=no +( + printf "%s\n" "92. $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 + + +# validation for #881 - error if redefinition on redefines +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G. + 02 X PIC X. + 02 X REDEFINES X PIC X. + 02 Y PIC 9. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:487: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.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"; printf "%s\n" "prog2.cob:8: warning: redefinition of 'X' +prog2.cob:7: note: '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:487" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:495' \ + "Redefinition of 77 items" " " 2 +at_xfail=no +( + printf "%s\n" "93. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:507: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:507" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'X' +prog.cob:6: note: '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:507" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:515' \ + "Redefinition of 01 and 77 items" " " 2 +at_xfail=no +( + printf "%s\n" "94. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:527: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:527" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'X' +prog.cob:6: note: '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:527" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:535' \ + "Redefinition of 88 items" " " 2 +at_xfail=no +( + printf "%s\n" "95. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:548: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:548" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: redefinition of 'A' +prog.cob:7: note: '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:548" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:556' \ + "Redefinition of program-name by other programs" " " 2 +at_xfail=no +( + printf "%s\n" "96. $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 (clashes with COMMON subprog foo) + 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. + + *> This should cause an error + IDENTIFICATION DIVISION. + PROGRAM-ID. samename. + IDENTIFICATION DIVISION. + PROGRAM-ID. samename. + END PROGRAM samename. + END PROGRAM samename. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:613: \$COMPILE_ONLY --ffold-call=upper -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY --ffold-call=upper -fdiagnostics-show-option prog.cob" "syn_definition.at:613" +( $at_check_trace; $COMPILE_ONLY --ffold-call=upper -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'prog' [-Wredefinition] +prog.cob:3: note: 'prog' previously defined here [-Wredefinition] +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: note: 'foo' previously defined here [-Wredefinition] +prog.cob:42: error: redefinition of program name 'foo' +prog.cob:49: error: PROCEDURE DIVISION header missing +prog.cob:50: error: redefinition of program name 'samename' +" | \ + $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:613" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:625: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:625" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:23: error: redefinition of program ID 'foo' +prog.cob:31: error: redefinition of program ID 'prog' +prog.cob:42: error: redefinition of program ID 'foo' +prog.cob:49: error: PROCEDURE DIVISION header missing +prog.cob:50: error: redefinition of program ID 'samename' +" | \ + $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:625" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:636' \ + "Redefinition of program-name within program" " " 2 +at_xfail=no +( + printf "%s\n" "97. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:653: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:653" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: redefinition of 'prog' +prog.cob:7: note: '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:653" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:657: \$COMPILE_ONLY -fno-program-name-redefinition prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fno-program-name-redefinition prog.cob" "syn_definition.at:657" +( $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"; printf "%s\n" "prog.cob:7: warning: redefinition of 'prog' +prog.cob:3: note: 'prog' previously defined here +prog.cob:10: error: redefinition of 'prog' +prog.cob:3: note: '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:657" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:666' \ + "Redefinition of function-prototype name" " " 2 +at_xfail=no +( + printf "%s\n" "98. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:683: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.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"; printf "%s\n" "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: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_98 +#AT_START_99 +at_fn_group_banner 99 'syn_definition.at:691' \ + "PROCEDURE DIVISION RETURNING OMITTED: main" " " 2 +at_xfail=no +( + printf "%s\n" "99. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:703: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "syn_definition.at:703" +( $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:703" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:704: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_definition.at:704" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:704" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:711' \ + "PROCEDURE DIVISION RETURNING OMITTED: FUNCTION" " " 2 +at_xfail=no +( + printf "%s\n" "100. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:723: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:723" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:723" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:730' \ + "PROCEDURE DIVISION RETURNING item" " " 2 +at_xfail=no +( + printf "%s\n" "101. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:806: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:806" +( $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:806" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:807: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.at:807" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:807" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:810: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_definition.at:810" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:810" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:814: \$COMPILE_ONLY prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_definition.at:814" +( $at_check_trace; $COMPILE_ONLY prog4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:814" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:817: \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_definition.at:817" +( $at_check_trace; $COMPILE_ONLY prog5.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_101 +#AT_START_102 +at_fn_group_banner 102 'syn_definition.at:825' \ + "Data item with same name as program-name" " " 2 +at_xfail=no +( + printf "%s\n" "102. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:847: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:847" +( $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:847" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:852' \ + "Ambiguous reference to 02 items" " " 2 +at_xfail=no +( + printf "%s\n" "103. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:869: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:869" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: error: 'X' is ambiguous; needs qualification +prog.cob:7: note: 'X IN G1' defined here +prog.cob:9: note: '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: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_103 +#AT_START_104 +at_fn_group_banner 104 'syn_definition.at:878' \ + "Ambiguous reference to 02 and 03 items" " " 2 +at_xfail=no +( + printf "%s\n" "104. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:894: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:894" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: 'X' is ambiguous; needs qualification +prog.cob:7: note: 'X IN G' defined here +prog.cob:8: note: '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:894" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:903' \ + "Ambiguous reference with qualification" " " 2 +at_xfail=no +( + printf "%s\n" "105. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:922: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:922" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: 'Y IN X' is ambiguous; needs qualification +prog.cob:8: note: 'Y IN X IN G1' defined here +prog.cob:11: note: '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:922" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:931' \ + "Unique reference with ambiguous qualifiers" " " 2 +at_xfail=no +( + printf "%s\n" "106. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:950: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:950" +( $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:950" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:955' \ + "SYNCHRONIZED clause" " " 2 +at_xfail=no +( + printf "%s\n" "107. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# GC simply ignored RIGHT which is wrong according to ANSI/ISO; +# most dialects just skip this, but according to docs IBM handles it + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CS-FULL PICTURE 9(4) COMPUTATIONAL SYNCHRONIZED. + 77 CS PIC 9(4) COMP SYNC. + 77 CSL PIC 9(4) COMP SYNC LEFT. + 77 CSR PIC 9(4) COMP SYNC RIGHT. + PROCEDURE DIVISION. + MOVE 1 TO CS-FULL, CS, CSL, CSR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:975: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_definition.at:975" +( $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/syn_definition.at:975" +$at_failed && at_fn_log_failure +$at_traceon; } + +# currently is: +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:977: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:977" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: SYNCHRONIZED LEFT/RIGHT is not implemented +prog.cob:9: warning: SYNCHRONIZED LEFT/RIGHT 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_definition.at:977" +$at_failed && at_fn_log_failure +$at_traceon; } + +# TODO: should be +#AT_CHECK([$COMPILE_ONLY prog.cob], [0], [], []) + + set +x + $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_definition.at:998' \ + "Undefined procedure name" " " 2 +at_xfail=no +( + printf "%s\n" "108. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1009: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1009" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1009" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1018' \ + "Redefinition of section names" " " 2 +at_xfail=no +( + printf "%s\n" "109. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1030: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1030" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'L': +prog.cob:6: error: redefinition of 'L' +prog.cob:5: note: '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:1030" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# FIXME: as long as there is no direct reference to the section +# this should be not more than a warning, +# maybe depending on a compiler configuration + + set +x + $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_definition.at:1043' \ + "Redefinition of section and paragraph names" " " 2 +at_xfail=no +( + printf "%s\n" "110. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1055: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1055" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'L': +prog.cob:6: error: redefinition of 'L' +prog.cob:5: note: '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:1055" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# FIXME: as long as there is no direct reference to +# the paragraph/section this should be not more +# than a warning, maybe depending on a compiler +# configuration + + set +x + $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_definition.at:1069' \ + "Redefinition of label and variable names" " " 2 +at_xfail=yes +( + printf "%s\n" "111. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# currently failing, see FR #260 + + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. WORD. + data division. + working-storage section. + *----------------------------------------------------------------- + 77 word pic 9. + *----------------------------------------------------------------- + PROCEDURE DIVISION. + main section. + * + move 0 to word + perform word + * + stop run returning word. + *----------------------------------------------------------------- + word section. + add 1 to word. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1095: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:1095" +( $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"; printf "%s\n" "prog.cob: in section 'main': +prog.cob:17: error: user-defined word re-used with different type does not conform to COBOL 2014 +prog.cob:17: error: redefinition of 'word' as label-name +prog.cob:7: note: 'word' previously defined here as data-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:1095" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1101: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1101" +( $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:1101" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1106' \ + "Redefinition of paragraph names" " " 2 +at_xfail=no +( + printf "%s\n" "112. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1118: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1118" +( $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:1118" +$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_112 +#AT_START_113 +at_fn_group_banner 113 'syn_definition.at:1132' \ + "Ambiguous reference to paragraph name" " " 2 +at_xfail=no +( + printf "%s\n" "113. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1148: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1148" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'S-3': +prog.cob:10: error: 'L' is ambiguous; needs qualification +prog.cob:6: note: 'L IN S-1' defined here +prog.cob:8: note: '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: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_113 +#AT_START_114 +at_fn_group_banner 114 'syn_definition.at:1158' \ + "Non-matching level numbers (extension)" " " 2 +at_xfail=no +( + printf "%s\n" "114. $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. + 05 F PIC X. + 04 D2. + 05 E2 PIC X. + 04 D3. + 05 E3 PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1180: \$COMPILE_ONLY -frelax-level-hierarchy prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-level-hierarchy prog.cob" "syn_definition.at:1180" +( $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"; printf "%s\n" "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:1180" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1183: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1183" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: 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 1 $at_status "$at_srcdir/syn_definition.at:1183" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1190' \ + "CALL BY VALUE alphanumeric item (extension)" " " 2 +at_xfail=no +( + printf "%s\n" "115. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1205: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1205" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: BY CONTENT assumed for alphanumeric item 'X' +" | \ + $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:1205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1212' \ + "CALL BY VALUE national item (extension)" " " 2 +at_xfail=no +( + printf "%s\n" "116. $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 N(4). + PROCEDURE DIVISION. + CALL "PROG2" USING BY VALUE N + END-CALL. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1227: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1227" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed +prog.cob:8: warning: BY CONTENT assumed for national item 'N' +" | \ + $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: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_116 +#AT_START_117 +at_fn_group_banner 117 'syn_definition.at:1235' \ + "CALL BY VALUE figurative constants" " " 2 +at_xfail=no +( + printf "%s\n" "117. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + CALL "PROG2" USING BY VALUE + low-value + high-value + space + quote + zero + END-CALL. + CALL "PROG2" USING + low-value + high-value + space + quote + zero + END-CALL. + CALL "PROG3" USING + null + END-CALL. + STOP RUN. +_ATEOF + + +# FIXME: should raise an error with -std=cobolNNNN, no warning with -std=default +# --> revise after rw-merge +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1264: \$COMPILE_ONLY -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -w prog.cob" "syn_definition.at:1264" +( $at_check_trace; $COMPILE_ONLY -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_definition.at:1264" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1269' \ + "Duplicate identification division header" " " 2 +at_xfail=no +( + printf "%s\n" "118. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1278: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1278" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1278" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1284' \ + "RETURNING in STOP RUN / GOBACK / EXIT PROGRAM" " " 2 +at_xfail=no +( + printf "%s\n" "119. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1323: \$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:1323" +( $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:1323" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1325: \$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:1325" +( $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"; printf "%s\n" "prog1.cob:5: error: RETURNING/GIVING not allowed for non-returning runtime elements +prog2.cob:5: error: RETURNING/GIVING not allowed for non-returning runtime elements +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: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_119 +#AT_START_120 +at_fn_group_banner 120 'syn_definition.at:1335' \ + "OSVS register CURRENT-DATE and TIME-OF-DAY" " " 2 +at_xfail=yes +( + printf "%s\n" "120. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# special "special register" - the value is dynamic like a function so needs to +# be either handled as an "internal" function call with c/s reserved words or +# new codegen branch for "set variable on use" which would allow register handling + + + +cat >prog1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog1. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 display-out pic x(10). + PROCEDURE DIVISION. + MOVE CURRENT-DATE TO DISPLAY-OUT + MOVE TIME-OF-DAY TO DISPLAY-OUT + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 current-date pic x(08). + PROCEDURE DIVISION. + MOVE 'unknown' TO CURRENT-DATE + STOP RUN. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + PROCEDURE DIVISION. + MOVE 'unknown' TO CURRENT-DATE + STOP RUN. +_ATEOF + + +# this extension is NOT available with Enterprise COBOL (also not by default for MF) +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1376: \$COMPILE_ONLY -std=cobol85 prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog1.cob" "syn_definition.at:1376" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog1.cob:8: error: 'CURRENT-DATE' is not defined +prog1.cob:9: error: 'TIME-OF-DAY' 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:1376" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1380: \$COMPILE_ONLY -std=ibm-strict prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog1.cob" "syn_definition.at:1380" +( $at_check_trace; $COMPILE_ONLY -std=ibm-strict prog1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog1.cob:8: error: 'CURRENT-DATE' is not defined +prog1.cob:9: error: 'TIME-OF-DAY' 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:1380" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1384: \$COMPILE_ONLY -std=mf prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog1.cob" "syn_definition.at:1384" +( $at_check_trace; $COMPILE_ONLY -std=mf prog1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog1.cob:8: error: 'CURRENT-DATE' is not defined +prog1.cob:9: error: 'TIME-OF-DAY' 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:1384" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1389: \$COMPILE_ONLY prog1.cob prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog1.cob prog2.cob" "syn_definition.at:1389" +( $at_check_trace; $COMPILE_ONLY prog1.cob prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog1.cob:8: error: 'CURRENT-DATE' is not defined +prog1.cob:9: error: 'TIME-OF-DAY' 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:1389" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1393: \$COMPILE_ONLY -fregister=current-date,time-of-day \\ + prog1.cob prog2.cob prog3.cob" +at_fn_check_prepare_notrace 'an embedded newline' "syn_definition.at:1393" +( $at_check_trace; $COMPILE_ONLY -fregister=current-date,time-of-day \ + prog1.cob prog2.cob prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:6: warning: redefinition of 'CURRENT-DATE' +prog2.cob:8: error: 'CURRENT-DATE' is ambiguous; needs qualification +prog2.cob:8: note: 'CURRENT-DATE' is a special register +prog2.cob:6: note: 'CURRENT-DATE' defined here +prog3.cob:5: 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_definition.at:1393" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:1405' \ + "Invalid ENVIRONMENT DIVISION order" " " 2 +at_xfail=no +( + printf "%s\n" "121. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1423: \$COMPILE_ONLY -fincorrect-conf-sec-order=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fincorrect-conf-sec-order=error prog.cob" "syn_definition.at:1423" +( $at_check_trace; $COMPILE_ONLY -fincorrect-conf-sec-order=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: duplicate SPECIAL-NAMES +prog.cob:13: error: SOURCE-COMPUTER incorrectly after SPECIAL-NAMES 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_definition.at:1423" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1430' \ + "Function without END FUNCTION" " " 2 +at_xfail=no +( + printf "%s\n" "122. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + FUNCTION-ID. func. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1438: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1438" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1438" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1444' \ + "Nested programs without END PROGRAM" " " 2 +at_xfail=no +( + printf "%s\n" "123. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-2. + PROCEDURE DIVISION. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-3. + + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1462: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1462" +( $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:1462" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1466' \ + "Nested programs not in procedure division" " " 2 +at_xfail=no +( + printf "%s\n" "124. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-2. + + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1479: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1479" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1479" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1485' \ + "Screen section starts with 78-level" " " 2 +at_xfail=no +( + printf "%s\n" "125. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:1497: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1497" +( $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:1497" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1501' \ + "Invalid PICTURE strings" " " 2 +at_xfail=no +( + printf "%s\n" "126. $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 multiple-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). *> CHECKME: should this be really valid? + + + 01 PC-COLOR-BACKGROUND-TABLE. + 05 BIT-BACKGROUND-BLACK PIC 1(8) BIT VALUE B"00000000". + 05 BIT-BACKGROUND-BLUE PIC 1(8) BIT VALUE B"00010000". + 05 BIT-BACKGROUND-GREEN PIC 1(8) BIT VALUE B"00100000". + 05 BIT-BACKGROUND-CYAN PIC 1(8) BIT VALUE B"00110000". + 05 BIT-BACKGROUND-RED PIC 1(8) BIT VALUE B"01000000". + 05 BIT-BACKGROUND-MAGENTA PIC 1(8) BIT VALUE B"01010000". + 05 BIT-BACKGROUND-BROWN PIC 1(8) BIT VALUE B"01100000". + 05 BIT-BACKGROUND-LIGHT-GRAY PIC 1(8) BIT VALUE B"01110000". + 01 FILLER REDEFINES PC-COLOR-BACKGROUND-TABLE. + 05 COLOR-BACKGROUND + OCCURS 8 TIMES PIC 1(8) BIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1602: \$COMPILE_ONLY -std=cobol2014 -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 -fmax-errors=0 prog.cob" "syn_definition.at:1602" +( $at_check_trace; $COMPILE_ONLY -std=cobol2014 -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: floating '+' symbols cannot have a '9' between them +prog.cob:22: error: floating '\$' symbols cannot have a '9' between them +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 10 significant digits are permitted within parentheses +prog.cob:29: error: parentheses must be preceded by a picture symbol +prog.cob:30: error: unbalanced parentheses +prog.cob:31: error: parentheses must be preceded by a picture symbol +prog.cob:32: error: parentheses must contain an unsigned 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: only one of the symbols '-' , '+' or '\$' may occur multiple times 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: only one of the symbols '-' , '+' or '\$' may occur multiple times in a PICTURE string +prog.cob:46: error: floating '+' symbols cannot have a '9' between them +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: B, 0 or / cannot follow a trailing currency symbol +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, U, 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, U, 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, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:67: error: 'STR-CONSTANT' is not an unsigned positive integer +prog.cob:68: error: 'FLOAT-CONSTANT' is not an unsigned positive integer +prog.cob:69: error: 'SIGNED-CONSTANT' is not an unsigned positive integer +prog.cob:70: error: 'UNSEEN-CONSTANT' is not defined +prog.cob:81: warning: uncommon parentheses +prog.cob:86: warning: USAGE BIT is not implemented +prog.cob:87: warning: USAGE BIT is not implemented +prog.cob:88: warning: USAGE BIT is not implemented +prog.cob:89: warning: USAGE BIT is not implemented +prog.cob:90: warning: USAGE BIT is not implemented +prog.cob:91: warning: USAGE BIT is not implemented +prog.cob:92: warning: USAGE BIT is not implemented +prog.cob:93: warning: USAGE BIT is not implemented +prog.cob:96: warning: USAGE BIT 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_definition.at:1602" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1674: \$COMPILE_ONLY -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmax-errors=0 prog.cob" "syn_definition.at:1674" +( $at_check_trace; $COMPILE_ONLY -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: floating '+' symbols cannot have a '9' between them +prog.cob:22: error: floating '\$' symbols cannot have a '9' between them +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 10 significant digits are permitted within parentheses +prog.cob:29: error: parentheses must be preceded by a picture symbol +prog.cob:30: error: unbalanced parentheses +prog.cob:31: error: parentheses must be preceded by a picture symbol +prog.cob:32: error: parentheses must contain an unsigned 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: only one of the symbols '-' , '+' or '\$' may occur multiple times 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: only one of the symbols '-' , '+' or '\$' may occur multiple times in a PICTURE string +prog.cob:46: error: floating '+' symbols cannot have a '9' between them +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: B, 0 or / cannot follow a trailing currency symbol +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, U, 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, U, 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, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:67: error: 'STR-CONSTANT' is not an unsigned positive integer +prog.cob:68: error: 'FLOAT-CONSTANT' is not an unsigned positive integer +prog.cob:69: error: 'SIGNED-CONSTANT' is not an unsigned positive integer +prog.cob:70: error: 'UNSEEN-CONSTANT' is not defined +prog.cob:81: warning: uncommon parentheses +prog.cob:86: warning: USAGE BIT is not implemented +prog.cob:87: warning: USAGE BIT is not implemented +prog.cob:88: warning: USAGE BIT is not implemented +prog.cob:89: warning: USAGE BIT is not implemented +prog.cob:90: warning: USAGE BIT is not implemented +prog.cob:91: warning: USAGE BIT is not implemented +prog.cob:92: warning: USAGE BIT is not implemented +prog.cob:93: warning: USAGE BIT is not implemented +prog.cob:96: warning: USAGE BIT 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_definition.at:1674" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1747' \ + "PICTURE string with control character" " " 2 +at_xfail=no +( + printf "%s\n" "127. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + PIC(P) +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1754: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1754" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:2: error: 'P' is not defined +prog.cob:2: error: invalid PICTURE character '' +prog.cob:2: error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:2: error: PROGRAM-ID header missing +prog.cob:2: error: PROCEDURE DIVISION header missing +prog.cob:2: error: syntax error, unexpected PICTURE +" | \ + $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:1754" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1765' \ + "PICTURE strings invalid with BLANK WHEN ZERO" " " 2 +at_xfail=no +( + printf "%s\n" "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 PIC S9(5) BLANK ZERO. + 01 y PIC *(5) BLANK ZERO. + + *> Actually valid + 01 z PIC -9(5) BLANK ZERO. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1781: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1781" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1781" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1788' \ + "PICTURE strings invalid with USAGE" " " 2 +at_xfail=no +( + printf "%s\n" "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 PIC XXX, COMP-6. + 01 y PIC +999, PACKED-DECIMAL. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1801: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1801" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1801" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1808' \ + "Edited monetary PICTURE strings" " " 2 +at_xfail=no +( + printf "%s\n" "130. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DOLLARS. + 05 REPORT-LINE. + 10 REPORT-ITEMS PIC ZZ,ZZZ,ZZZ,ZZ9-. + 10 REPORT-FICA-WAGES PIC + $$$,$$$,$$$,$$$,$$$.99-. + 10 REPORT-FICA-TIPS PIC + $$$,$$$,$$$,$$$,$$$.99-. + 10 REPORT-TOTAL-COMP PIC + $$$,$$$,$$$,$$$,$$$.99-. + 10 REPORT-MEDICARE PIC + $$$,$$$,$$$,$$$,$$$.99-. + 05 ACCT-REPORT-TOTAL-LINE PIC XXX. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1831: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1831" +( $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:1831" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1835' \ + "ALPHABET definition" " " 2 +at_xfail=no +( + printf "%s\n" "131. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + ALPHABET TESTME IS + 'A' THROUGH 'Z', x'00' thru x'05'; + x'41' ALSO x'42', ALSO x'00', x'C1' ALSO x'C2'. + ALPHABET FINE + 'A' also 'B' also 'C' also 'd' also 'e' ALSO 'f', + 'g' also 'G', '1' thru '9', x'00'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:1852: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1852" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: 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:1852" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:1858' \ + "PROGRAM COLLATING SEQUENCE" " " 2 +at_xfail=no +( + printf "%s\n" "132. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# check that a reference on the bad alphabet does not break cobc +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 + x'00' thru x'05', 'A' THROUGH 'Z'; + x'41' ALSO x'42', ALSO x'00', x'C1' ALSO x'C2'. +_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. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + PROGRAM COLLATING SEQUENCE IS ALPHABET-1, + ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'A' THROUGH 'Z', x'00' thru x'05'. + ALPHABET ALPHABET-2 NATIONAL IS + n'A' also n'B' ALSO n'f', + n'g' also n'G', n'1' thru n'9'. + END PROGRAM prog3. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3b. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + PROGRAM SEQUENCE IS ALPHABET-1, + ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'A' THROUGH 'Z', x'00' thru x'05'. + ALPHABET ALPHABET-2 FOR NATIONAL + n'A' ALSO n'f', + n'g' also n'G'. + END PROGRAM prog3b. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3c. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, SEQUENCE ALPHABET-1, ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 x'00' thru x'05'. + ALPHABET ALPHABET-2 NATIONAL IS n'g' also n'G', n'1' thru n'9'. + END PROGRAM prog3c. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3d. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, SEQUENCE ALPHABET-1, ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS 'A' THROUGH 'Z'. + ALPHABET ALPHABET-2 NATIONAL n'A' also n'B', n'1' thru n'9'. + END PROGRAM prog3d. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3e. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, SEQUENCE ALPHABET-1. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS 'Z', x'00'. + END PROGRAM prog3e. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3f. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + COLLATING SEQUENCE + FOR ALPHANUMERIC IS ALPHABET-1. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'A' THROUGH 'Z', x'00', x'05'. + END PROGRAM prog3f. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3g. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + SEQUENCE ALPHANUMERIC ALPHABET-1. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'A' THROUGH 'D'. + END PROGRAM prog3g. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3h. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + COLLATING SEQUENCE + FOR ALPHANUMERIC IS ALPHABET-1 + NATIONAL IS ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'A', 'C', x'05'. + ALPHABET ALPHABET-2 FOR NATIONAL IS + n'A', n'1' thru n'9'. + END PROGRAM prog3h. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3i. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + COLLATING SEQUENCE + NATIONAL ALPHABET-2 + ALPHANUMERIC ALPHABET-1. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'a' THROUGH 'z'. + ALPHABET ALPHABET-2 NATIONAL IS + n'B', n'C'; n'g' also n'G'. + END PROGRAM prog3i. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3j. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + COLLATING SEQUENCE + NATIONAL ALPHABET-2. + SPECIAL-NAMES. + ALPHABET ALPHABET-2 NATIONAL + n'B', n'C'; n'g' also n'G' also nx'003E'. + END PROGRAM prog3j. +_ATEOF + +# check that alphabets with a literal have correct types +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog4. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-LINUX. + OBJECT-COMPUTER. GC-MACHINE, + COLLATING SEQUENCE + NATIONAL ALPHABET-2 + ALPHANUMERIC ALPHABET-1. + SPECIAL-NAMES. + ALPHABET ALPHABET-1 IS + 'a' THROUGH n'z', + n'B'; 'G' also n'G' also nx'003E'. + ALPHABET ALPHABET-2 FOR NATIONAL IS + nx'0000' thru nx'0005', N'A' THROUGH N'Z'; + x'41' ALSO x'42', nx'00C1' ALSO x'C2'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2041: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2041" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2041" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2044: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.at:2044" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2044" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2048: \$COMPILE_ONLY -Wno-unfinished prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog3.cob" "syn_definition.at:2048" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:9: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:25: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:39: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:50: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:99: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:114: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog3.cob:130: warning: NATIONAL COLLATING SEQUENCE 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_definition.at:2048" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2057: \$COMPILE_ONLY -Wno-unfinished prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog4.cob" "syn_definition.at:2057" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog4.cob:9: warning: NATIONAL COLLATING SEQUENCE is not implemented +prog4.cob:13: error: only literals of type alphanumeric allowed for alphanumeric alphabet +prog4.cob:17: error: only literals of type national allowed for national alphabet +" | \ + $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: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_132 +#AT_START_133 +at_fn_group_banner 133 'syn_definition.at:2065' \ + "RENAMES item" " " 2 +at_xfail=no +( + printf "%s\n" "133. $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 9. + 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 m THRU o. + 66 invalid-9 RENAMES b THRU m. + + 78 my-ext-const VALUE "123". + 66 invalid-ec RENAMES my-ext-const. + + 01 my-std-const CONSTANT AS "123". + 66 invalid-sc RENAMES my-std-const. + + PROCEDURE DIVISION. + DISPLAY valid-2 OF a + IF valid-1 = 1 + CONTINUE + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2120: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:2120" +( $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"; printf "%s\n" "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: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:37: error: 'invalid-9' must immediately follow the record 'a' +prog.cob:37: error: 'b' and 'm' must be in the same record +prog.cob:39: error: 78 VALUE does not conform to COBOL 2014 +prog.cob:40: error: a constant may not be used here - 'my-ext-const' +prog.cob:43: error: a constant may not be used here - 'my-std-const' +" | \ + $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: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_133 +#AT_START_134 +at_fn_group_banner 134 'syn_definition.at:2139' \ + "RENAMES of 01-, 66- and 77-level items" " " 2 +at_xfail=no +( + printf "%s\n" "134. $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 +printf "%s\n" "$at_srcdir/syn_definition.at:2155: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:2155" +( $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"; printf "%s\n" "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:2155" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2160: \$COMPILE_ONLY -frenames-uncommon-levels=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frenames-uncommon-levels=ok prog.cob" "syn_definition.at:2160" +( $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:2160" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:2165' \ + "SAME AS clause" " " 2 +at_xfail=no +( + printf "%s\n" "135. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 MESSAGE-TEXT-2 EXTERNAL. + 02 AUSGABE-FILE-NAME PIC X(50). + 02 FILLER REDEFINES AUSGABE-FILE-NAME. + 05 FILLER PIC 9999. + 02 AUSGABE-FILE-NAME-2. + 05 FILLER PIC 9999. + 05 DETAIL-NO PIC 9999. + 02 FILLER SAME AS AUSGABE-FILE-NAME. + + 77 OUTPUT-NAME SAME AS DETAIL-NO GLOBAL. + + 01 Z-MESSAGE-T2 SAME AS AUSGABE-FILE-NAME-2. + 01 Z-MESSAGE-T3. + 49 MT3 SAME AS MESSAGE-TEXT-2. + 49 MT3-REN REDEFINES MT3 SAME AS MESSAGE-TEXT-2. + + PROCEDURE DIVISION. + DISPLAY AUSGABE-FILE-NAME OF MESSAGE-TEXT-2 + DISPLAY DETAIL-NO OF Z-MESSAGE-T2 + DISPLAY AUSGABE-FILE-NAME OF MT3 + DISPLAY OUTPUT-NAME + GOBACK. +_ATEOF + + +cat >badprog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 MESSAGE-TEXT-2. + 02 AUSGABE-FILE-NAME PIC X(50). + 02 F1 SAME AS MESSAGE-TEXT-2. + 01 MT2 SAME AS MESSAGE-TEXT-2. + 05 FILLER PIC 9999. + 01 MT3 SAME AS MESSAGE-TEXT-2 PIC X. + 77 OUTPUT-NAME SAME AS MESSAGE-TEXT-2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2211: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2211" +( $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:2211" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2212: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_definition.at:2212" +( $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"; printf "%s\n" "prog.cob:13: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:15: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:17: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:19: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:20: error: SAME AS clause does not conform to Micro Focus COBOL +" | \ + $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:2212" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2219: \$COMPILE_ONLY badprog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY badprog.cob" "syn_definition.at:2219" +( $at_check_trace; $COMPILE_ONLY badprog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "badprog.cob:8: error: item may not reference itself +badprog.cob:10: error: entry following SAME AS may not be subordinate to it +badprog.cob:11: error: illegal combination of SAME AS with other clauses +badprog.cob:12: error: elementary item 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_definition.at:2219" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:2229' \ + "TYPEDEF clause" " " 2 +at_xfail=no +( + printf "%s\n" "136. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 AUSGABE-FILE-NAME-T PIC X(50) IS TYPEDEF. + 01 SOME-VERY-LONG-TYPEDEF-NAME PIC 9999 IS TYPEDEF. + 01 AUSGABE-FILE-NAME-2T IS TYPEDEF. + 05 FILLER PIC 9999. + 05 DETAIL-NO USAGE SOME-VERY-LONG-TYPEDEF-NAME. + * + 01 MESSAGE-TEXT-2T IS TYPEDEF. + 02 AUSGABE-FILE-NAME USAGE AUSGABE-FILE-NAME-T. + 02 FILLER REDEFINES AUSGABE-FILE-NAME. + 05 FILLER PIC 9999. + 02 AUSGABE-FILE-NAME-2 USAGE AUSGABE-FILE-NAME-2T. + 02 FILLER USAGE AUSGABE-FILE-NAME-T. + * + 01 MESSAGE-TEXT-2 EXTERNAL USAGE MESSAGE-TEXT-2T. + + 77 OUTPUT-NAME USAGE SOME-VERY-LONG-TYPEDEF-NAME GLOBAL. + + 01 Z-MESSAGE-T2 USAGE AUSGABE-FILE-NAME-2T. + 01 Z-MESSAGE-T3. + 49 MT3 USAGE MESSAGE-TEXT-2T. + 49 MT3-REN REDEFINES MT3 USAGE MESSAGE-TEXT-2T. + + 01 CALCULUS PIC S9(15)V9(03) IS TYPEDEF. + 88 NO-DETAIL VALUE ZERO. + 88 MIN-DETAIL VALUE 0.001. + 01 USER-TYPE IS TYPEDEF. + 02 AMOUNT USAGE CALCULUS. + 02 FILLER OCCURS 100. + 05 GRP-AMOUNT USAGE CALCULUS. + 01 USER-VAR USAGE USER-TYPE. + + 01 PROC USAGE PROGRAM-POINTER IS TYPEDEF. + 88 PROC-UNSET VALUE NULL. + 77 MY-PROC USAGE PROC VALUE NULL. + + PROCEDURE DIVISION. + DISPLAY AUSGABE-FILE-NAME OF MESSAGE-TEXT-2 + DISPLAY DETAIL-NO OF Z-MESSAGE-T2 + DISPLAY AUSGABE-FILE-NAME OF MT3 + DISPLAY OUTPUT-NAME + MOVE -123.45 TO AMOUNT + MOVE AMOUNT TO GRP-AMOUNT (1) + IF MY-PROC = NULL + SET MY-PROC TO ADDRESS OF PROGRAM "prog". + GOBACK. +_ATEOF + + +cat >progstd.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 AUSGABE-FILE-NAME-T PIC X(50) IS TYPEDEF. + 01 DETAIL-NO-T PIC 9999 IS TYPEDEF. + 01 AUSGABE-FILE-NAME-2T IS TYPEDEF. + 05 FILLER PIC 9999. + 05 DETAIL-NO TYPE TO DETAIL-NO-T. + * + 01 MESSAGE-TEXT-2T IS TYPEDEF. + 02 AUSGABE-FILE-NAME TYPE AUSGABE-FILE-NAME-T. + 02 FILLER REDEFINES AUSGABE-FILE-NAME. + 05 FILLER PIC 9999. + 02 AUSGABE-FILE-NAME-2 TYPE AUSGABE-FILE-NAME-2T. + 02 FILLER TYPE AUSGABE-FILE-NAME-T. + * + 01 MESSAGE-TEXT-2 EXTERNAL TYPE MESSAGE-TEXT-2T. + + 77 OUTPUT-NAME TYPE TO DETAIL-NO-T GLOBAL. + + 01 Z-MESSAGE-T2 TYPE AUSGABE-FILE-NAME-2T. + 01 Z-MESSAGE-T3. + 49 MT3 TYPE MESSAGE-TEXT-2T. + 49 MT3-REN REDEFINES MT3 TYPE MESSAGE-TEXT-2T. + + 77 CALCULUS PIC S9(15)V9(03) IS TYPEDEF. + + 01 SOME-STRUCT IS TYPEDEF. + 02 SOME-DATA PIC 9. + 02 SOME-VALUES OCCURS 3. + 03 OTHER-DATA PIC X. + 03 OTHER-VALUES OCCURS 2 PIC 9. + 77 SOME2-DATA PIC 9. *> temporary variant until solved... + 01 SOME-STRUCT2 IS TYPEDEF. + *> 02 SOME2-DATA PIC 9. TODO! + 02 SOME2-VALUES OCCURS 1 TO 6 DEPENDING ON SOME2-DATA + DESCENDING KEY SB SA + INDEXED BY SOME2-INDEX. + 05 SA PIC X VALUE x'12'. + 05 SB PIC 9 VALUE 0. + 05 SDATA PIC X(12). + + 01 MY-TEST. + 02 AMOUNT TYPE CALCULUS. + 02 FILLER OCCURS 100. + 05 GRP-AMOUNT TYPE CALCULUS. + 02 MY-NAME TYPE SOME-STRUCT OCCURS 5. + 02 MY-NAME2 TYPE SOME-STRUCT2. + 01 MY-TEST2 TYPE SOME-STRUCT2. + LINKAGE SECTION. + 01 MY-STORE TYPE CALCULUS. + + PROCEDURE DIVISION USING MY-STORE. + DISPLAY AUSGABE-FILE-NAME OF MESSAGE-TEXT-2 + DISPLAY DETAIL-NO OF Z-MESSAGE-T2 + DISPLAY AUSGABE-FILE-NAME OF MT3 + DISPLAY OUTPUT-NAME + SET ADDRESS OF MY-STORE TO NULL + INITIALIZE MY-NAME(2) GRP-AMOUNT (99) + INITIALIZE OTHER-VALUES (2, 3, 2) + SEARCH ALL SOME2-VALUES OF MY-NAME2 + *> WHEN SA(SOME2-INDEX) = x'12' CHECKME: Should work + WHEN SA OF MY-NAME2(SOME2-INDEX OF MY-NAME2) = x'12' + CONTINUE. + GOBACK. +_ATEOF + + +cat >badprog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 MESSAGE-TEXT-2T IS TYPEDEF. + 02 AUSGABE-FILE-NAME PIC X(50). + 02 F1 USAGE MESSAGE-TEXT-2T. + 01 MT2 USAGE MESSAGE-TEXT-2T. + 05 FILLER PIC 9999. + 01 MT3 TYPE TO MESSAGE-TEXT-2T PIC X. + 77 OUTPUT-NAME TYPE TO MESSAGE-TEXT-2T. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2367: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2367" +( $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:2367" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2368: \$COMPILE_ONLY -std=cobol2002 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 prog.cob" "syn_definition.at:2368" +( $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"; printf "%s\n" "prog.cob:10: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:13: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:16: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:17: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:19: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:21: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:23: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:25: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:26: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:32: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:34: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:35: error: USAGE type-name does not conform to COBOL 2002 +prog.cob:39: error: USAGE type-name 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/syn_definition.at:2368" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2383: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_definition.at:2383" +( $at_check_trace; $COMPILE_ONLY -std=mf-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/syn_definition.at:2383" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2384: \$COMPILE_ONLY progstd.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY progstd.cob" "syn_definition.at:2384" +( $at_check_trace; $COMPILE_ONLY progstd.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2384" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2385: \$COMPILE_ONLY -std=cobol2002 progstd.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 progstd.cob" "syn_definition.at:2385" +( $at_check_trace; $COMPILE_ONLY -std=cobol2002 progstd.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2385" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2386: \$COMPILE_ONLY -std=mf-strict progstd.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict progstd.cob" "syn_definition.at:2386" +( $at_check_trace; $COMPILE_ONLY -std=mf-strict progstd.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "progstd.cob:10: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:13: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:16: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:17: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:19: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:21: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:23: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:25: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:26: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:46: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:48: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:49: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:50: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:51: error: TYPE TO clause does not conform to Micro Focus COBOL +progstd.cob:53: error: TYPE TO clause does not conform to Micro Focus COBOL +" | \ + $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:2386" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2404: \$COMPILE_ONLY badprog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY badprog.cob" "syn_definition.at:2404" +( $at_check_trace; $COMPILE_ONLY badprog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "badprog.cob:8: error: item may not reference itself +badprog.cob:10: error: entry following TYPE TO may not be subordinate to it +badprog.cob:11: error: illegal combination of TYPE TO with other clauses +badprog.cob:12: error: elementary item 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_definition.at:2404" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# FIXME: mises NO-DETAIL above MIN-DETAIL (likely bug in copying in field.c) + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2413: \$COMPILE_LISTING0 -t - -Xref -fno-tsource -fno-tmessages prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t - -Xref -fno-tsource -fno-tmessages prog.cob" "syn_definition.at:2413" +( $at_check_trace; $COMPILE_LISTING0 -t - -Xref -fno-tsource -fno-tmessages 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +NAME DEFINED REFERENCES + +AUSGABE-FILE-NAME-T 6 13 17 x2 +SOME-VERY-LONG-TYPEDEF-NAME 7 10 21 x2 +AUSGABE-FILE-NAME-2T 8 16 23 x2 +MESSAGE-TEXT-2T 12 19 25 26 x3 +MESSAGE-TEXT-2 19 42 x1 +AUSGABE-FILE-NAME 21 42 x1 +AUSGABE-FILE-NAME-2 21 referenced by parent +DETAIL-NO 21 referenced by parent +OUTPUT-NAME 21 45 x1 +Z-MESSAGE-T2 23 43 x1 +DETAIL-NO 24 43 x1 +Z-MESSAGE-T3 24 referenced by child +MT3 25 44 x1 +AUSGABE-FILE-NAME 26 44 x1 +AUSGABE-FILE-NAME-2 26 referenced by parent +DETAIL-NO 26 referenced by parent +MT3-REN 26 not referenced +AUSGABE-FILE-NAME 28 not referenced +AUSGABE-FILE-NAME-2 28 not referenced +DETAIL-NO 28 not referenced +CALCULUS 28 32 34 x2 +USER-TYPE 31 35 x1 +USER-VAR 35 referenced by child +AMOUNT 37 *46 47 x2 +MIN-DETAIL 37 not referenced +GRP-AMOUNT 37 *47 x1 +MIN-DETAIL 37 not referenced +PROC 37 39 x1 +MY-PROC 39 48 *49 x2 +PROC-UNSET 41 not referenced + + +LABEL DEFINED REFERENCES + +E prog 42 + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:2413" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2459: \$COMPILE_LISTING0 -t symbols.lst -tsymbols -fno-tsource -fno-tmessages prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t symbols.lst -tsymbols -fno-tsource -fno-tmessages prog.cob" "syn_definition.at:2459" +( $at_check_trace; $COMPILE_LISTING0 -t symbols.lst -tsymbols -fno-tsource -fno-tmessages prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2459" +$at_failed && at_fn_log_failure \ +"symbols.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2462: test \"\$COB_HAS_64_BIT_POINTER\" = \"yes\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_64_BIT_POINTER\" = \"yes\"" "syn_definition.at:2462" +( $at_check_trace; test "$COB_HAS_64_BIT_POINTER" = "yes" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2462" +if $at_failed +then : + + +# Previous test "failed" --> 32 bit + +cat >prog-32.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00050 T ALPHANUMERIC 01 AUSGABE-FILE-NAME-T X(50) + +00004 T NUMERIC 01 SOME-VERY-LONG-TYPEDEF-NAME 9999 + +00008 T GROUP 01 AUSGABE-FILE-NAME-2T +00004 NUMERIC 05 FILLER 9999 +00004 NUMERIC 05 DETAIL-NO SOME-VERY-LONG-TYPEDE... + +00108 T GROUP 01 MESSAGE-TEXT-2T +00050 ALPHANUMERIC 02 AUSGABE-FILE-NAME AUSGABE-FILE-NAME-T +00004 GROUP 02 FILLER, REDEFINES AUSGABE-FILE-NAME +00004 NUMERIC 05 FILLER 9999 +00008 GROUP 02 AUSGABE-FILE-NAME-2 AUSGABE-FILE-NAME-2T +00050 ALPHANUMERIC 02 FILLER AUSGABE-FILE-NAME-T + +00108 GROUP 01 MESSAGE-TEXT-2 MESSAGE-TEXT-2T EXTERNAL + +00004 NUMERIC 77 OUTPUT-NAME SOME-VERY-LONG-TYPEDE... GLOBAL + +00008 GROUP 01 Z-MESSAGE-T2 AUSGABE-FILE-NAME-2T + +00108 GROUP 01 Z-MESSAGE-T3 +00108 GROUP 49 MT3 MESSAGE-TEXT-2T +00108 GROUP 49 MT3-REN MESSAGE-TEXT-2T, REDEFINES MT3 + +00018 T NUMERIC 01 CALCULUS S9(15)V9(03) + CONDITIONAL 88 NO-DETAIL + CONDITIONAL 88 MIN-DETAIL + +01818 T GROUP 01 USER-TYPE +00018 NUMERIC 02 AMOUNT CALCULUS +01800 GROUP 02 FILLER OCCURS 100 +00018 NUMERIC 05 GRP-AMOUNT CALCULUS + +01818 GROUP 01 USER-VAR USER-TYPE + +00004 T POINTER 01 PROC PROGRAM-POINTER + CONDITIONAL 88 PROC-UNSET + +00004 POINTER 77 MY-PROC PROC + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2462: diff prog-32.lst symbols.lst" +at_fn_check_prepare_trace "syn_definition.at:2462" +( $at_check_trace; diff prog-32.lst symbols.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/syn_definition.at:2462" +$at_failed && at_fn_log_failure \ +"symbols.lst" +$at_traceon; } + + + +else $as_nop + + +# Previous test "passed" --> 64 bit + +cat >prog-64.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00050 T ALPHANUMERIC 01 AUSGABE-FILE-NAME-T X(50) + +00004 T NUMERIC 01 SOME-VERY-LONG-TYPEDEF-NAME 9999 + +00008 T GROUP 01 AUSGABE-FILE-NAME-2T +00004 NUMERIC 05 FILLER 9999 +00004 NUMERIC 05 DETAIL-NO SOME-VERY-LONG-TYPEDE... + +00108 T GROUP 01 MESSAGE-TEXT-2T +00050 ALPHANUMERIC 02 AUSGABE-FILE-NAME AUSGABE-FILE-NAME-T +00004 GROUP 02 FILLER, REDEFINES AUSGABE-FILE-NAME +00004 NUMERIC 05 FILLER 9999 +00008 GROUP 02 AUSGABE-FILE-NAME-2 AUSGABE-FILE-NAME-2T +00050 ALPHANUMERIC 02 FILLER AUSGABE-FILE-NAME-T + +00108 GROUP 01 MESSAGE-TEXT-2 MESSAGE-TEXT-2T EXTERNAL + +00004 NUMERIC 77 OUTPUT-NAME SOME-VERY-LONG-TYPEDE... GLOBAL + +00008 GROUP 01 Z-MESSAGE-T2 AUSGABE-FILE-NAME-2T + +00108 GROUP 01 Z-MESSAGE-T3 +00108 GROUP 49 MT3 MESSAGE-TEXT-2T +00108 GROUP 49 MT3-REN MESSAGE-TEXT-2T, REDEFINES MT3 + +00018 T NUMERIC 01 CALCULUS S9(15)V9(03) + CONDITIONAL 88 NO-DETAIL + CONDITIONAL 88 MIN-DETAIL + +01818 T GROUP 01 USER-TYPE +00018 NUMERIC 02 AMOUNT CALCULUS +01800 GROUP 02 FILLER OCCURS 100 +00018 NUMERIC 05 GRP-AMOUNT CALCULUS + +01818 GROUP 01 USER-VAR USER-TYPE + +00008 T POINTER 01 PROC PROGRAM-POINTER + CONDITIONAL 88 PROC-UNSET + +00008 POINTER 77 MY-PROC PROC + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2462: diff prog-64.lst symbols.lst" +at_fn_check_prepare_trace "syn_definition.at:2462" +( $at_check_trace; diff prog-64.lst symbols.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/syn_definition.at:2462" +$at_failed && at_fn_log_failure \ +"symbols.lst" +$at_traceon; } + + + +fi +$at_failed && at_fn_log_failure \ +"symbols.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_136 +#AT_START_137 +at_fn_group_banner 137 'syn_definition.at:2581' \ + "LIKE clause" " " 2 +at_xfail=yes +( + printf "%s\n" "137. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# work in progress + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 MESSAGE-TEXT-2 EXTERNAL. + 02 AUSGABE-FILE-NAME PIC X(50). + 02 FILLER REDEFINES AUSGABE-FILE-NAME. + 05 FILLER PIC 9999. + 02 AUSGABE-FILE-NAME-2. + 05 FILLER PIC 9999. + 05 DETAIL-NO PIC 9999. + 02 FILLER LIKE AUSGABE-FILE-NAME. + + 77 OUTPUT-VAL LIKE DETAIL-NO GLOBAL. + 77 OUTPUT-VAL-P1 LIKE DETAIL-NO (+1). + 77 OUTPUT-VAL-P1b LIKE DETAIL-NO (1). + 77 OUTPUT-VAL-M2 LIKE DETAIL-NO (-2). + + 01 Z-MESSAGE-T2 LIKE AUSGABE-FILE-NAME-2. + 01 Z-MESSAGE-T3. + 49 MT3 LIKE MESSAGE-TEXT-2. + + PROCEDURE DIVISION. + DISPLAY AUSGABE-FILE-NAME OF MESSAGE-TEXT-2 + DISPLAY Z-MESSAGE-T2 (55:LENGTH OF DETAIL-NO) + DISPLAY MT3 (1:LENGTH OF AUSGABE-FILE-NAME) + ADD OUTPUT-VAL TO DETAIL-NO + GOBACK. +_ATEOF + + +# TODO add tests and syntax checks in cobc +# AT_DATA([badprog.cob], [ +# IDENTIFICATION DIVISION. +# PROGRAM-ID. prog. +# DATA DIVISION. +# WORKING-STORAGE SECTION. +# +# ]) + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2627: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2627" +( $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:2627" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2628: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_definition.at:2628" +( $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"; printf "%s\n" "prog.cob:13: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:15: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:17: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:19: error: SAME AS clause does not conform to Micro Focus COBOL +prog.cob:20: error: SAME AS clause does not conform to Micro Focus COBOL +" | \ + $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:2628" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:2639' \ + "APPLY COMMIT clause" " " 2 +at_xfail=no +( + printf "%s\n" "138. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. *> taken from "commit and rollback example" + *> from COBOL 202x draft + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT STCK-FILE + ASSIGN TO "STOCK" + ORGANIZATION IS INDEXED + ACCESS MODE IS RANDOM + FILE STATUS IS STCK-FILE-STATUS + RECORD KEY IS APPLY + SHARING WITH ALL OTHER. + + SELECT CHNG-FILE + ASSIGN TO "CHANGE" + ORGANIZATION IS SEQUENTIAL + ACCESS MODE IS SEQUENTIAL + FILE STATUS IS CHNG-FILE-STATUS + SHARING WITH ALL OTHER. + + SELECT SORT-FILE + ASSIGN TO "SORT". + + I-O-CONTROL. + APPLY COMMIT ON STCK-FILE CHNG-FILE STCK-FILE not-there + SORT-FILE UPDATE-COUNT not-there-again BASED-STUFF + RED-DATA SOME-DATA. + + DATA DIVISION. + FILE SECTION. + + FD STCK-FILE. + 01 STCK-REC. + 03 APPLY PIC X(5). + 03 STCK-QTY PIC 9(5)V99. + + SD SORT-FILE. + 01 SORT-REC PIC X(100). + + FD CHNG-FILE. + 01 CHNG-REC. + 03 CHNG-KEY PIC X(5). + 03 CHNG-QTY PIC 9(5)V99. + 03 CHNG-ACTION PIC X. + 03 CHNG-STATE PIC X. + + WORKING-STORAGE SECTION. + + 01 FILE-STATES. + 03 STCK-FILE-STATUS PIC XX. + 88 STCK-FILE-OK VALUE "00". + 03 CHNG-FILE-STATUS PIC XX. + 88 CHNG-FILE-OK VALUE "00". + 77 UPDATE-COUNT BINARY-LONG. + 77 BASED-STUFF PIC X BASED. + 01 DATA-HERE. + 03 SOME-DATA PIC 9. + 01 RED-DATA REDEFINES DATA-HERE PIC X. + + PROCEDURE DIVISION. + + MAIN SECTION. + + PERFORM INITIALISATION + PERFORM TERMINATION + STOP RUN WITH NORMAL STATUS 0 + + . INITIALISATION SECTION. + + OPEN I-O CHNG-FILE, STCK-FILE + IF NOT STCK-FILE-OK OR NOT CHNG-FILE-OK + PERFORM FATAL-ERROR + END-IF + + . TERMINATION SECTION. + + COMMIT + IF NOT STCK-FILE-OK OR NOT CHNG-FILE-OK + PERFORM FATAL-ERROR + END-IF + + . FATAL-ERROR SECTION. + + ROLLBACK + STOP RUN WITH ERROR STATUS 16. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2731: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2731" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:29: warning: APPLY COMMIT is not implemented +prog.cob:27: error: 'not-there' is not defined +prog.cob:28: error: 'not-there-again' is not defined +prog.cob:27: error: duplicate APPLY COMMIT target: 'STCK-FILE' +prog.cob:28: error: APPLY COMMIT statement invalid for SORT file +prog.cob:29: error: 'RED-DATA' REDEFINES field not allowed here +prog.cob:29: error: 'SOME-DATA' not level 01 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_definition.at:2731" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:2744' \ + "GLOBAL record-names" " " 2 +at_xfail=no +( + printf "%s\n" "139. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. OUTER-PROGRAM. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT STCK-FILE + ASSIGN TO "STOCK" + ORGANIZATION IS INDEXED + ACCESS MODE IS RANDOM + FILE STATUS IS STCK-FILE-STATUS + RECORD People-LastName + ALTERNATE People-NameKey + SOURCE People-FirstName People-LastName + ALTERNATE People-NameKeyFirst + SOURCE People-1stName + *> validating internal error handling: + ALTERNATE BadKey People-1stName. + SELECT LOCAL-FILE + ASSIGN TO "LOCAL" + ORGANIZATION IS INDEXED + ACCESS MODE IS RANDOM + FILE STATUS IS LOCL-FILE-STATUS + RECORD LPeople-LastName + ALTERNATE LPeople-NameKey + SOURCE LPeople-FirstName LPeople-LastName. + + DATA DIVISION. + FILE SECTION. + + FD STCK-FILE GLOBAL. + 01 STCK-REC. + 02 People-LastName PIC X(50). + 02 People-FirstName PIC X(50). + 01 STCK-REC-PART. + 02 People-1stName PIC X(50). + + FD LOCAL-FILE. + 01 LOCAL-REC. + 02 LPeople-LastName PIC X(50). + 02 LPeople-FirstName PIC X(50). + + WORKING-STORAGE SECTION. + + 01 FILE-STATES IS GLOBAL. + 03 STCK-FILE-STATUS PIC XX. + 88 STCK-FILE-OK VALUE "00". + 03 LOCL-FILE-STATUS PIC XX. + 88 LOCL-FILE-OK VALUE "00". + + PROCEDURE DIVISION. + + MAIN SECTION. + + OPEN OUTPUT LOCAL-FILE + MOVE "John" TO LPeople-FirstName + MOVE "Doe" TO LPeople-LastName + WRITE LOCAL-REC + CLOSE LOCAL-FILE + + OPEN OUTPUT STCK-FILE + MOVE "John" TO People-FirstName + MOVE "Doe" TO People-LastName + WRITE STCK-REC + CLOSE STCK-FILE + + CALL "INNER-PROGRAM". + GOBACK. + + PROGRAM-ID. INNER-PROGRAM. + PROCEDURE DIVISION. + OPEN INPUT STCK-FILE + MOVE "John" TO People-FirstName + MOVE "Doe" TO People-LastName + READ STCK-FILE KEY People-NameKey + NOT INVALID KEY + DISPLAY People-FirstName " " People-LastName + INVALID KEY + DISPLAY "NOT FOUND" + END-READ + INITIALIZE STCK-REC + MOVE "John" TO People-1stName + READ STCK-FILE KEY People-NameKeyFirst + NOT INVALID KEY + DISPLAY People-FirstName " " People-LastName + INVALID KEY + DISPLAY "NOT FOUND" + END-READ + CLOSE STCK-FILE + OPEN INPUT LOCAL-FILE + MOVE "John" TO LPeople-FirstName + MOVE "Doe" TO LPeople-LastName + READ LOCAL-FILE KEY LPeople-NameKey + NOT INVALID KEY + DISPLAY LPeople-FirstName " " LPeople-LastName + INVALID KEY + DISPLAY "NOT FOUND" + END-READ + CLOSE LOCAL-FILE + GOBACK. + END PROGRAM INNER-PROGRAM. + *>**************************************************************** + END PROGRAM OUTER-PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2852: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:2852" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: error: syntax error, unexpected Identifier, expecting SEQUENTIAL +prog.cob:18: error: 'BadKey' is not defined +prog.cob:91: error: 'LPeople-FirstName' is not defined +prog.cob:92: error: 'LPeople-LastName' is not defined +prog.cob:93: error: 'LPeople-NameKey' 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:2852" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_definition.at:2863' \ + "Invalid USE BEFORE" " " 2 +at_xfail=no +( + printf "%s\n" "140. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DEPTHDRUSE SECTION. + USE BEFORE REPORTING DEPTHDR. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2874: \$COMPILE_ONLY -std=default prog.cob " +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=default prog.cob " "syn_definition.at:2874" +( $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"; printf "%s\n" "prog.cob: in section 'DEPTHDRUSE': +prog.cob:6: error: 'DEPTHDR' 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: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_140 +#AT_START_141 +at_fn_group_banner 141 'syn_definition.at:2882' \ + "POINTER TO typedef-name" " " 2 +at_xfail=no +( + printf "%s\n" "141. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 data-type PIC X(10) USAGE DISPLAY IS TYPEDEF. + 01 data-ptr1 USAGE POINTER data-type. + 01 data-ptr2 USAGE POINTER TO data-type. + PROCEDURE DIVISION. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2898: \$COMPILE_ONLY -Wno-pending prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-pending prog.cob" "syn_definition.at:2898" +( $at_check_trace; $COMPILE_ONLY -Wno-pending prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2898" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:2902' \ + "FUNCTION-POINTER TO function-name" " " 2 +at_xfail=no +( + printf "%s\n" "142. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 fun-ptr1 USAGE FUNCTION-POINTER FUNCTION random. + 01 fun-ptr2 USAGE FUNCTION-POINTER TO FUNCTION random. + PROCEDURE DIVISION. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2917: \$COMPILE_ONLY -Wno-pending prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-pending prog.cob" "syn_definition.at:2917" +( $at_check_trace; $COMPILE_ONLY -Wno-pending prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2917" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_definition.at:2921' \ + "PROGRAM-POINTER TO program-prototype" " " 2 +at_xfail=yes +( + printf "%s\n" "143. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# currently fails -> investigate + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + + PROGRAM-ID. prog-proto IS PROTOTYPE. + PROCEDURE DIVISION. + END PROGRAM prog-proto. + + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + PROGRAM prog-proto. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 prog-ptr1 USAGE PROGRAM-POINTER prog-proto. + 01 prog-ptr2 USAGE PROGRAM-POINTER TO prog-proto. + PROCEDURE DIVISION. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_definition.at:2948: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_definition.at:2948" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2948" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_subscripts.at:23' \ + "Non-numeric subscript" " " 2 +at_xfail=no +( + printf "%s\n" "144. $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 +printf "%s\n" "$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"; printf "%s\n" "prog.cob:10: error: 'I' is not an integer +prog.cob:12: error: 'I' 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_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_144 +#AT_START_145 +at_fn_group_banner 145 'syn_subscripts.at:50' \ + "Subscript range check" " " 2 +at_xfail=no +( + printf "%s\n" "145. $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 +printf "%s\n" "$at_srcdir/syn_subscripts.at:81: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:81" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:81" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_subscripts.at:88: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_subscripts.at:88" +( $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"; printf "%s\n" "prog.cob:10: warning: subscript of 'X' out of bounds: 0 +prog.cob:16: warning: subscript of 'X' out of bounds: 3 +prog.cob:18: warning: subscript of 'Y' out of bounds: 0 +prog.cob:24: warning: 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 0 $at_status "$at_srcdir/syn_subscripts.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:98' \ + "Subscript bounds with OCCURS DEPENDING ON" " " 2 +at_xfail=no +( + printf "%s\n" "146. $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) + DISPLAY X(7) + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_subscripts.at:115: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:115" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: subscript of 'X' out of bounds: 0 +prog.cob:11: 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:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:125' \ + "Subscripted item requires OCCURS clause" " " 2 +at_xfail=no +( + printf "%s\n" "147. $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 +printf "%s\n" "$at_srcdir/syn_subscripts.at:143: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:143" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_147 +#AT_START_148 +at_fn_group_banner 148 'syn_subscripts.at:151' \ + "Number of subscripts" " " 2 +at_xfail=no +( + printf "%s\n" "148. $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 +printf "%s\n" "$at_srcdir/syn_subscripts.at:178: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:178" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:178" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_subscripts.at:185: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_subscripts.at:185" +( $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"; printf "%s\n" "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:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:195' \ + "SET SSRANGE syntax" " " 2 +at_xfail=no +( + printf "%s\n" "149. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + *> Valid + $SET SSRANGE + $SET SSRANGE(1) + $SET SSRANGE "2" + $SET SSRANGE (3) + + *> Invalid + $SET SSRANGE(0) + $SET SSRANGE(4) + $SET SSRANGE "variable" + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + GOBACK + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_subscripts.at:217: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:217" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: invalid SSRANGE directive option '0' +prog.cob:10: error: invalid SSRANGE directive option '4' +prog.cob:11: error: invalid SSRANGE directive option 'variable' +" | \ + $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:217" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:29' \ + "OCCURS with level 01 and 77" " " 2 +at_xfail=no +( + printf "%s\n" "150. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([occurs]) + +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. + 01 G2. + 02 X2-02 PIC X OCCURS 10. + 77 X-77 PIC X OCCURS 10. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:45: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_occurs.at:45" +( $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"; printf "%s\n" "prog.cob:6: error: 01/77 OCCURS does not conform to COBOL 2014 +prog.cob:7: error: 01/77 OCCURS does not conform to COBOL 2014 +prog.cob:11: error: 01/77 OCCURS 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_occurs.at:45" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:51: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:51" +( $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:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:52: \$COMPILE_ONLY -ftop-level-occurs-clause=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -ftop-level-occurs-clause=warning prog.cob" "syn_occurs.at:52" +( $at_check_trace; $COMPILE_ONLY -ftop-level-occurs-clause=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: 01/77 OCCURS used +prog.cob:7: warning: 01/77 OCCURS used +prog.cob:11: warning: 01/77 OCCURS 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_occurs.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_150 +#AT_START_151 +at_fn_group_banner 151 'syn_occurs.at:84' \ + "OCCURS with level 66" " " 2 +at_xfail=no +( + printf "%s\n" "151. $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 +printf "%s\n" "$at_srcdir/syn_occurs.at:96: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:96" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: syntax error, unexpected 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_occurs.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:103' \ + "OCCURS with level 78" " " 2 +at_xfail=no +( + printf "%s\n" "152. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([occurs]) + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 c value "a" OCCURS 10. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:114: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:114" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: syntax error, unexpected 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_occurs.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_152 +#AT_START_153 +at_fn_group_banner 153 'syn_occurs.at:121' \ + "OCCURS with level 88" " " 2 +at_xfail=no +( + printf "%s\n" "153. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([occurs]) + +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 + + +# note: the message is from level-88 content-validation entry format, +# which is mixed in the parser (as it may be used as) condition format +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:135: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:135" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: syntax error, unexpected 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_occurs.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_153 +#AT_START_154 +at_fn_group_banner 154 'syn_occurs.at:143' \ + "OCCURS with variable-occurrence data item" " " 2 +at_xfail=no +( + printf "%s\n" "154. $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 + + +cat >prog3.cob <<'_ATEOF' + + $SET ODOSLIDE + 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 >prog4.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 X. +_ATEOF + + +cat >prog5.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G-1. + 05 G-1-F1 PIC X(002). + 05 G-2. + 07 G-3 + OCCURS 1 TO 99999 + DEPENDING ON G-3-ELEMENTS + ASCENDING KEY IS G-4-KEY + INDEXED BY IND. + 10 G-4. + 15 N PIC 9(001). + * +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:215: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:215" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: 'G-2' cannot have an 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:215" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:219: \$COMPILE_ONLY -fcomplex-odo prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog.cob" "syn_occurs.at:219" +( $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:219" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:221: \$COMPILE_ONLY -fcomplex-odo prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog2.cob" "syn_occurs.at:221" +( $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"; printf "%s\n" "prog2.cob:8: error: 'X' cannot have nested 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:221" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:225: \$COMPILE_ONLY -fodoslide prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fodoslide prog2.cob" "syn_occurs.at:225" +( $at_check_trace; $COMPILE_ONLY -fodoslide 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_occurs.at:225" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:226: \$COMPILE_ONLY prog3.cob prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob prog2.cob" "syn_occurs.at:226" +( $at_check_trace; $COMPILE_ONLY prog3.cob prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: 'G-2' cannot have an OCCURS clause due to 'X' +prog2.cob:8: error: 'X' cannot have nested 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:226" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:231: \$COMPILE_ONLY prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_occurs.at:231" +( $at_check_trace; $COMPILE_ONLY prog4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog4.cob:7: error: 'G-2' cannot have an OCCURS clause due to 'X' +prog4.cob:8: error: 'I' 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_occurs.at:231" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:236: \$COMPILE_ONLY -fcomplex-odo prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog4.cob" "syn_occurs.at:236" +( $at_check_trace; $COMPILE_ONLY -fcomplex-odo prog4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog4.cob:8: error: 'I' 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_occurs.at:236" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:240: \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_occurs.at:240" +( $at_check_trace; $COMPILE_ONLY prog5.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog5.cob:11: error: 'G-3-ELEMENTS' is not defined +prog5.cob:12: error: 'G-4-KEY IN G-2 IN G-1' 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_occurs.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_154 +#AT_START_155 +at_fn_group_banner 155 'syn_occurs.at:248' \ + "OCCURS UNBOUNDED" " " 2 +at_xfail=no +( + printf "%s\n" "155. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([ibm]) + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + LINKAGE SECTION. + 01 G-1. + 07 G-2-ELEMENTS PIC 9(08). + 07 G-2 + OCCURS UNBOUNDED + DEPENDING ON G-2-ELEMENTS. + 10 X PIC X. + PROCEDURE DIVISION USING G-1. + DISPLAY G-1. + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + LINKAGE SECTION. + 01 G-1. + 05 G-1-F1 PIC X(22). + 05 G-1-F2 PIC X(12). + 05 G-2. + 07 G-3-ELEMENTS PIC 9(08). + 07 G-3 + OCCURS UNBOUNDED + DEPENDING ON G-3-ELEMENTS. + 10 G-4. + 15 X PIC 9(22). + PROCEDURE DIVISION USING G-1. + DISPLAY G-1. + GOBACK. +_ATEOF + + +cat >bad.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G-1. + 07 G-2-ELEMENTS PIC 9(08). + 07 G-2 + OCCURS UNBOUNDED + DEPENDING ON G-2-ELEMENTS. + 10 X PIC X. +_ATEOF + + +cat >bad2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G-1. + 05 G-1-F1 PIC X(22). + 05 G-2. + 07 G-3-ELEMENTS PIC 9(08). + 07 G-3 + OCCURS UNBOUNDED. + 10 G-4. + 15 X PIC 9(22). +_ATEOF + + +cat >bad3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G-1. + 05 G-1-F1 PIC X(22). + 05 G-1-F2 PIC X(12). + 05 G-2. + 07 G-3 + OCCURS UNBOUNDED + DEPENDING ON G-3-ELEMENTS. + 10 G-4. + 15 X PIC 9(22). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:331: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:331" +( $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:331" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:332: \$COMPILE_ONLY -std=ibm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "syn_occurs.at:332" +( $at_check_trace; $COMPILE_ONLY -std=ibm-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/syn_occurs.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# TODO: opt to a different path, if UNBOUNDED is not reserved +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:335: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_occurs.at:335" +( $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"; printf "%s\n" "prog.cob:9: error: syntax error, unexpected Identifier, expecting UNBOUNDED +" | \ + $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:335" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:339: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_occurs.at:339" +( $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_occurs.at:339" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:341: \$COMPILE_ONLY bad.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY bad.cob" "syn_occurs.at:341" +( $at_check_trace; $COMPILE_ONLY bad.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "bad.cob:8: error: 'G-2' is not 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_occurs.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:345: \$COMPILE_ONLY bad2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY bad2.cob" "syn_occurs.at:345" +( $at_check_trace; $COMPILE_ONLY bad2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "bad2.cob:11: error: syntax error, unexpected ., expecting 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:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:349: \$COMPILE_ONLY bad3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY bad3.cob" "syn_occurs.at:349" +( $at_check_trace; $COMPILE_ONLY bad3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "bad3.cob:10: error: 'G-3' is not in LINKAGE SECTION +bad3.cob:12: error: 'G-3-ELEMENTS' 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_occurs.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:359' \ + "OCCURS data-items for INDEXED and KEY" " " 2 +at_xfail=no +( + printf "%s\n" "156. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 . *> the "filler" explicit checks bugs #699 and #776 + 05 TAB-ENTRY1 + OCCURS 5 TIMES + ASCENDING KEY IS X1 + OF TAB-ENTRY1 + OF TAB + INDEXED BY IDX1 OF TAB. + 10 X1 PIC 9. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:377: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:377" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: a subscripted data-item cannot be used here +prog.cob:12: error: a subscripted data-item 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_occurs.at:377" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:399' \ + "Nested OCCURS clause" " " 2 +at_xfail=no +( + printf "%s\n" "157. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([occurs]) + +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 +printf "%s\n" "$at_srcdir/syn_occurs.at:418: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:418" +( $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:418" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:436' \ + "OCCURS DEPENDING with wrong size" " " 2 +at_xfail=no +( + printf "%s\n" "158. $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 +1 TO 1 DEPENDING ON I. + 01 FILLER. + 02 G-4 PIC X OCCURS 0 TO 1 DEPENDING ON I. + 01 I PIC 9. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:455: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.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"; printf "%s\n" "prog.cob:7: error: OCCURS TO must be greater than OCCURS FROM +prog.cob:9: error: unsigned integer value expected +prog.cob:11: error: unsigned 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: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_158 +#AT_START_159 +at_fn_group_banner 159 'syn_occurs.at:475' \ + "OCCURS DEPENDING followed by another field" " " 2 +at_xfail=no +( + printf "%s\n" "159. $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 +printf "%s\n" "$at_srcdir/syn_occurs.at:497: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:497" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: 'X' cannot have OCCURS DEPENDING because of 'Y' +prog.cob:10: error: 'G-3' cannot have OCCURS DEPENDING because of 'Y' +prog.cob:15: error: 'X' cannot have OCCURS DEPENDING because of 'Y' +" | \ + $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:497" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:503: \$COMPILE_ONLY -fcomplex-odo prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog.cob" "syn_occurs.at:503" +( $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:503" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:517' \ + "OCCURS with unmatched DEPENDING / TO phrases" " " 2 +at_xfail=no +( + printf "%s\n" "160. $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. + 01 XTAB3. + 03 X3 PIC X OCCURS 1 TO 10 DEPENDING ON MISSING. + PROCEDURE DIVISION. + MOVE 'A' TO X(1), X2(2), X3(3) + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:537: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_occurs.at:537" +( $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"; printf "%s\n" "prog.cob:8: error: OCCURS DEPENDING ON without TO phrase does not conform to COBOL 2014 +prog.cob:10: error: TO phrase without DEPENDING phrase +prog.cob:12: error: 'MISSING' 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_occurs.at:537" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:542: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.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"; printf "%s\n" "prog.cob:8: warning: OCCURS DEPENDING ON without TO phrase used +prog.cob:10: error: TO phrase without DEPENDING phrase +prog.cob:12: error: 'MISSING' 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_occurs.at:542" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:547: \$COMPILE_ONLY -frelax-syntax prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax prog.cob" "syn_occurs.at:547" +( $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"; printf "%s\n" "prog.cob:8: warning: OCCURS DEPENDING ON without TO phrase used +prog.cob:10: warning: TO phrase without DEPENDING phrase +prog.cob:10: note: maximum number of occurrences assumed to be exact number +prog.cob:12: error: 'MISSING' 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_occurs.at:547" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:560' \ + "OCCURS INDEXED before KEY" " " 2 +at_xfail=no +( + printf "%s\n" "161. $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 +printf "%s\n" "$at_srcdir/syn_occurs.at:585: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:585" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:585" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:590: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_occurs.at:590" +( $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"; printf "%s\n" "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:590" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_occurs.at:598' \ + "OCCURS size check" " " 2 +at_xfail=no +( + printf "%s\n" "162. $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 +printf "%s\n" "$at_srcdir/syn_occurs.at:616: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:616" +( $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:616" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_occurs.at:617: \$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:617" +( $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:617" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:28' \ + "REDEFINES: not following entry-name" " " 2 +at_xfail=no +( + printf "%s\n" "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 X. + 01 Y PIC 9 REDEFINES X. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:40: \$COMPILE_ONLY -ffree-redefines-position=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -ffree-redefines-position=error prog.cob" "syn_redefines.at:40" +( $at_check_trace; $COMPILE_ONLY -ffree-redefines-position=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: REDEFINES clause not following entry-name 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_redefines.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:44: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:44" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: REDEFINES clause not following entry-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_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_163 +#AT_START_164 +at_fn_group_banner 164 'syn_redefines.at:53' \ + "REDEFINES: level 02 by 01" " " 2 +at_xfail=no +( + printf "%s\n" "164. $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 +printf "%s\n" "$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"; printf "%s\n" "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_164 +#AT_START_165 +at_fn_group_banner 165 'syn_redefines.at:74' \ + "REDEFINES: level 03 by 02" " " 2 +at_xfail=no +( + printf "%s\n" "165. $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 +printf "%s\n" "$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"; printf "%s\n" "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_165 +#AT_START_166 +at_fn_group_banner 166 'syn_redefines.at:96' \ + "REDEFINES: level 66" " " 2 +at_xfail=no +( + printf "%s\n" "166. $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 +printf "%s\n" "$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"; printf "%s\n" "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_166 +#AT_START_167 +at_fn_group_banner 167 'syn_redefines.at:118' \ + "REDEFINES: level 88" " " 2 +at_xfail=no +( + printf "%s\n" "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. + 88 A VALUE "A". + 88 B REDEFINES A VALUE "B". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "prog.cob:8: error: syntax error, unexpected REDEFINES, expecting VALUE or VALUES +" | \ + $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_167 +#AT_START_168 +at_fn_group_banner 168 'syn_redefines.at:146' \ + "REDEFINES: lower level number" " " 2 +at_xfail=no +( + printf "%s\n" "168. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:163: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:163" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:163" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:172' \ + "REDEFINES: with OCCURS" " " 2 +at_xfail=no +( + printf "%s\n" "169. $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 + + +# TODO: should be a dialect option, currntly it is _always_ a warning + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:189: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:189" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: the original definition 'X' should not have an 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:189" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:196' \ + "REDEFINES: with subscript" " " 2 +at_xfail=no +( + printf "%s\n" "170. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:212: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:212" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:212" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:219' \ + "REDEFINES: with variable occurrence" " " 2 +at_xfail=no +( + printf "%s\n" "171. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:243: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:243" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:243" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:254' \ + "REDEFINES: with qualification" " " 2 +at_xfail=no +( + printf "%s\n" "172. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:271: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:271" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:271" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:280' \ + "REDEFINES: multiple redefinition" " " 2 +at_xfail=no +( + printf "%s\n" "173. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:297: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:297" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:297" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:301: \$COMPILE_ONLY -std=mvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs prog.cob" "syn_redefines.at:301" +( $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:301" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:308' \ + "REDEFINES: size exceeds" " " 2 +at_xfail=no +( + printf "%s\n" "174. $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 EXT-X PIC X EXTERNAL. + 01 EXT-X-REDEF REDEFINES EXT-X PIC 99. + *> other than the above EXTERNAL one, this is explicit "fine" + *> by COBOL standard (01, non-external) - only warn upon explicit request + 01 WRK-X2 PIC X. + 01 FILLER REDEFINES WRK-X2 PIC X(4). + 88 WRK-X2-BADDY VALUE "99". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:333: \$COBC -fdiagnostics-plain-output -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -Wextra prog.cob" "syn_redefines.at:333" +( $at_check_trace; $COBC -fdiagnostics-plain-output -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: larger REDEFINES used +prog.cob:8: note: size of 'A' larger than size of 'X' [-Wdialect] +prog.cob:11: error: larger REDEFINES used +prog.cob:11: note: size of 'A' larger than size of 'X' [-Wdialect] +prog.cob:13: error: larger REDEFINES used +prog.cob:13: note: size of 'EXT-X-REDEF' larger than size of 'EXT-X' [-Wdialect] +prog.cob:17: warning: size of 'FILLER 1' larger than size of 'WRK-X2' [-Wlarger-01-redefines] +" | \ + $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:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# of course, other dialects ignore the rules, implicit adding a FILLER to the original item... +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:344: \$COBC -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COBC -std=mf prog.cob" "syn_redefines.at:344" +( $at_check_trace; $COBC -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/syn_redefines.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:345: \$COBC -fdiagnostics-plain-output -flarger-redefines=warning prog.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -flarger-redefines=warning prog.cob" "syn_redefines.at:345" +( $at_check_trace; $COBC -fdiagnostics-plain-output -flarger-redefines=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: larger REDEFINES used [-Wdialect] +prog.cob:8: note: size of 'A' larger than size of 'X' [-Wdialect] +prog.cob:11: warning: larger REDEFINES used [-Wdialect] +prog.cob:11: note: size of 'A' larger than size of 'X' [-Wdialect] +prog.cob:13: warning: larger REDEFINES used [-Wdialect] +prog.cob:13: note: size of 'EXT-X-REDEF' larger than size of 'EXT-X' [-Wdialect] +" | \ + $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:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:359' \ + "REDEFINES: with VALUE" " " 2 +at_xfail=no +( + printf "%s\n" "175. $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. + INITIALIZE G ALL TO VALUE *> the reason that this extension is useful + STOP RUN. +_ATEOF + + +# FIXME: add a compiler configuration as the COBOL standard forbids this +# default.conf will allow it (with a warning) + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:381: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.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"; printf "%s\n" "prog.cob:7: warning: initial VALUE clause ignored for REDEFINES item 'A' +prog.cob:9: warning: initial VALUE clause ignored for REDEFINES item 'B' +" | \ + $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:381" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:385: \$COMPILE -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob" "syn_redefines.at:385" +( $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: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_175 +#AT_START_176 +at_fn_group_banner 176 'syn_redefines.at:392' \ + "REDEFINES: with intervention" " " 2 +at_xfail=no +( + printf "%s\n" "176. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:411: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:411" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:411" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# TODO: several implementations allow to specify those anywhere - add +# dialect option, configure accordingly and test 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_redefines.at:424' \ + "REDEFINES: within REDEFINES" " " 2 +at_xfail=no +( + printf "%s\n" "177. $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 +printf "%s\n" "$at_srcdir/syn_redefines.at:440: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:440" +( $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:440" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_redefines.at:467' \ + "REDEFINES: for ANY LENGTH item" " " 2 +at_xfail=no +( + printf "%s\n" "178. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + LINKAGE SECTION. + 01 X PIC X ANY LENGTH. + 01 Y REDEFINES X PIC X. + 01 N PIC 9 ANY NUMERIC. + 01 M REDEFINES N PIC 9. + PROCEDURE DIVISION USING X N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_redefines.at:483: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.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"; printf "%s\n" "prog.cob:7: error: the original definition 'X' should not have an ANY LENGTH clause +prog.cob:9: error: the original definition 'N' should not have an ANY LENGTH 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_redefines.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_178 +#AT_START_179 +at_fn_group_banner 179 'syn_redefines.at:500' \ + "REDEFINES: non-referenced ambiguous item" " " 2 +at_xfail=no +( + printf "%s\n" "179. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# bad extension, supported for compatibility to at least MicroFocus +# the redefines always applies to the item defined before, verified in +# run_extensions.at, syntax check for redefinition in syn_definition.at + +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 +printf "%s\n" "$at_srcdir/syn_redefines.at:519: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:519" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: redefinition of 'X' +prog.cob:6: note: '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: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_179 +#AT_START_180 +at_fn_group_banner 180 'syn_value.at:28' \ + "bad VALUES / VALUES ARE in format-1" " " 2 +at_xfail=no +( + printf "%s\n" "180. $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. + + * explicit testing in sub-fields to ensure parsing goes on + 01 WS. + 10 SEPX PICTURE XX VALUES ", ". + 10 SEPL PICTURE X VALUE LOW-VALUE. + 10 BADIS PICTURE 9 VALUE ARE 1. + 10 BADARE PICTURE 9 VALUES IS 2. + 10 DAYS PICTURE 99 VALUES ARE 31. + 10 MONTHS PICTURE 99 VALUE IS 12. + 10 NO-OCCURS PICTURE 99 VALUES ARE 08 15. + + PROCEDURE DIVISION. + DISPLAY DAYS SEPX MONTHS SEPL. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:54: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:54" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: error: unexpected VALUES ARE +prog.cob:13: error: syntax error, unexpected ARE +prog.cob:14: error: syntax error, unexpected IS +prog.cob:15: error: unexpected VALUES ARE +prog.cob:17: error: unexpected VALUES ARE for elementary 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_value.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:62: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_value.at:62" +( $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"; printf "%s\n" "prog.cob:11: warning: unexpected VALUES ARE +prog.cob:13: error: syntax error, unexpected ARE +prog.cob:14: error: syntax error, unexpected IS +prog.cob:15: warning: unexpected VALUES ARE +prog.cob:17: error: unexpected VALUES ARE for elementary 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_value.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_180 +#AT_START_181 +at_fn_group_banner 181 'syn_value.at:76' \ + "OCCURS too many VALUEs" " " 2 +at_xfail=no +( + printf "%s\n" "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 WS. + 05 IX1 PIC 99. + 05 IX2 PIC 99. + 05 IX3 PIC 99. + 05 GRP1 OCCURS 3 TIMES. + 10 GRPX PIC X(99). + 05 MONTH-IN-YEAR OCCURS 13 TIMES PICTURE X(3) + VALUES "jan" "feb" "mar" "apr" + "may" "jun" "jul" "aug" + "sep" "oct" "nov" "dec" + "Hi" "Bye" "Dog". + 05 DAYS-IN-MONTH OCCURS 13 TIMES PICTURE 9(2) BINARY + VALUES 31 28 31 30 31 30 31 31 30 31 30 31. + 05 DAYS-MONTHS OCCURS 2 TIMES. + 06 DAYX-MONTHX OCCURS 4 TIMES. + 07 DAY-MONTH OCCURS 3 TIMES. + 10 XXX1 PICTURE X VALUE " ". + 10 MONTHS PICTURE X(3) + VALUES "Jan" "Feb" "Mar" "Apr" + "May" "Jun" "Jul" "Aug" + "Sep" "Oct" "Nov" "Dec" + "JAN" "FEB" "MAR" "APR" + "MAY" "JUN" "JUL" "AUG" + "SEP" "OCT" "NOV" "DEC" "Bye". + 10 SEPX PICTURE XX VALUE ", ". + 10 DAYS PICTURE 99 + VALUES 31 28 31 30 31 30 31 31 30 31 30 31 + 91 28 91 90 91 90 91 91 90 91 90 91. + 10 PER PICTURE X VALUE ".". + 07 FLR PICTURE X(4) VALUES " " " " " " " " + " " " " " " " " " <*>". + + PROCEDURE DIVISION. + + INIT-RTN. + DISPLAY "Simple OCCURS with multi VALUES". + PERFORM VARYING IX1 FROM 1 BY 1 UNTIL IX1 > 13 + DISPLAY IX1 ": " + MONTH-IN-YEAR (IX1) " has " + DAYS-IN-MONTH (IX1) " days" + END-DISPLAY + END-PERFORM. + DISPLAY "Complex OCCURS with multi VALUES". + PERFORM VARYING IX3 FROM 1 BY 1 UNTIL IX3 > 2 + PERFORM VARYING IX2 FROM 1 BY 1 UNTIL IX2 > 4 + DISPLAY IX3 "-" IX2 ": " + DAYX-MONTHX (IX3, IX2) + END-DISPLAY + END-PERFORM + END-PERFORM. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "prog.cob:15: error: elements in VALUE clause for 'MONTH-IN-YEAR' (15) exceed max amount (13) +prog.cob:26: error: elements in VALUE clause for 'MONTHS' (25) exceed max amount (24) +prog.cob:38: error: elements in VALUE clause for 'FLR' (9) exceed max amount (8) +" | \ + $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_181 +#AT_START_182 +at_fn_group_banner 182 'syn_value.at:162' \ + "Numeric item (integer)" " " 2 +at_xfail=no +( + printf "%s\n" "182. $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 +printf "%s\n" "$at_srcdir/syn_value.at:179: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:179" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_182 +#AT_START_183 +at_fn_group_banner 183 'syn_value.at:189' \ + "Numeric item (non-integer)" " " 2 +at_xfail=no +( + printf "%s\n" "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-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 +printf "%s\n" "$at_srcdir/syn_value.at:205: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:205" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_183 +#AT_START_184 +at_fn_group_banner 184 'syn_value.at:213' \ + "Numeric item with picture P" " " 2 +at_xfail=no +( + printf "%s\n" "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-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 +printf "%s\n" "$at_srcdir/syn_value.at:233: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:233" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:233" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_value.at:245' \ + "Signed numeric literal" " " 2 +at_xfail=no +( + printf "%s\n" "185. $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 +printf "%s\n" "$at_srcdir/syn_value.at:261: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:261" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_185 +#AT_START_186 +at_fn_group_banner 186 'syn_value.at:271' \ + "Alphabetic item" " " 2 +at_xfail=no +( + printf "%s\n" "186. $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 +printf "%s\n" "$at_srcdir/syn_value.at:288: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:288" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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 +prog.cob:10: note: value size is 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_value.at:288" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_value.at:299' \ + "Alphanumeric item" " " 2 +at_xfail=no +( + printf "%s\n" "187. $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-ABCD PIC XXX VALUE "abcd". + 01 X-SPACE PIC XXX VALUE "abc ". + 01 X-123 PIC XXX VALUE 123. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:315: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.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"; printf "%s\n" "prog.cob:7: warning: value size exceeds data size +prog.cob:7: note: value size is 4 +prog.cob:8: warning: value does not fit the picture string +prog.cob:9: warning: alphanumeric 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/syn_value.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_187 +#AT_START_188 +at_fn_group_banner 188 'syn_value.at:325' \ + "Alphanumeric group item" " " 2 +at_xfail=no +( + printf "%s\n" "188. $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 +printf "%s\n" "$at_srcdir/syn_value.at:343: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:343" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: alphanumeric value is expected +prog.cob:10: warning: value size exceeds data size +prog.cob:10: note: value size is 4 +" | \ + $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: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_188 +#AT_START_189 +at_fn_group_banner 189 'syn_value.at:352' \ + "National item" " " 2 +at_xfail=no +( + printf "%s\n" "189. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 N-ABC PIC NNN VALUE N"abc". + 01 N-ABCD PIC NNN VALUE N"abcd". + 01 N-SPACE PIC NNN VALUE N"abc ". + 01 X-123 PIC NNN VALUE 123. + 01 X-ABC PIC NNN VALUE "abc". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:369: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_value.at:369" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: value size exceeds data size +prog.cob:7: note: value size is 4 +prog.cob:8: warning: value does not fit the picture string +prog.cob:9: warning: national value is expected +prog.cob:10: warning: national 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/syn_value.at:369" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_value.at:389' \ + "Numeric-edited item" " " 2 +at_xfail=no +( + printf "%s\n" "190. $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 +printf "%s\n" "$at_srcdir/syn_value.at:407: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:407" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: value size exceeds data size +prog.cob:10: note: value size is 8 +" | \ + $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:407" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:411: \$COMPILE_ONLY -std=ibm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "syn_value.at:411" +( $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"; printf "%s\n" "prog.cob:7: error: numeric literal in VALUE clause of numeric-edited item used +prog.cob:10: warning: value size exceeds data size +prog.cob:10: note: value size is 8 +" | \ + $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:411" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:416: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_value.at:416" +( $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"; printf "%s\n" "prog.cob:7: warning: numeric literal in VALUE clause of numeric-edited item used +prog.cob:10: warning: value size exceeds data size +prog.cob:10: note: value size is 8 +" | \ + $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:416" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_value.at:425' \ + "Alphanumeric-edited item" " " 2 +at_xfail=no +( + printf "%s\n" "191. $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 +printf "%s\n" "$at_srcdir/syn_value.at:441: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:441" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: alphanumeric value is expected +prog.cob:9: warning: value size exceeds data size +prog.cob:9: note: value size is 4 +" | \ + $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:441" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_value.at:494' \ + "Implicit picture from value" " " 2 +at_xfail=no +( + printf "%s\n" "192. $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 +printf "%s\n" "$at_srcdir/syn_value.at:514: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_value.at:514" +( $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"; printf "%s\n" "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:514" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_value.at:518: \$COMPILE_ONLY -frelax-syntax-checks -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks -w prog.cob" "syn_value.at:518" +( $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:518" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:23' \ + "Missing SELECT" " " 2 +at_xfail=no +( + printf "%s\n" "193. $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 file2 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-rec PIC X. + FD file2. + 01 file2-rec PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:43: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:43" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: 'file1' is not defined +prog.cob:10: error: 'file1' is not a file 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_file.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:50' \ + "Duplicated SELECT" " " 2 +at_xfail=no +( + printf "%s\n" "194. $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 file1 ASSIGN DISK. + SELECT file2 ASSIGN DISK. + SELECT file1 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-rec PIC X. + FD file2. + 01 file2-rec PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:72: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.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"; printf "%s\n" "prog.cob:9: error: redefinition of 'file1' +prog.cob:7: note: 'file1' previously defined here +prog.cob:9: error: missing file description for FILE SELECT on line 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: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_194 +#AT_START_195 +at_fn_group_banner 195 'syn_file.at:82' \ + "Missing FD" " " 2 +at_xfail=no +( + printf "%s\n" "195. $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 file1 ASSIGN DISK. + SELECT file2 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file2. + 01 file2-rec PIC X. + PROCEDURE DIVISION. + OPEN input file1 + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:102: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:102" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: missing file description for FILE file1 +" | \ + $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:102" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:108' \ + "Duplicated FD" " " 2 +at_xfail=no +( + printf "%s\n" "196. $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 file1 ASSIGN DISK. + SELECT file2 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-rec PIC X. + FD file2. + 01 file2-rec PIC X. + FD file1. + 01 file1-rec-2 PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:131: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:131" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: duplicate file description for FILE file1 +" | \ + $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: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_196 +#AT_START_197 +at_fn_group_banner 197 'syn_file.at:137' \ + "ASSIGN to device-name" " " 2 +at_xfail=no +( + printf "%s\n" "197. $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 +printf "%s\n" "$at_srcdir/syn_file.at:197: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:197" +( $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:197" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:198: \$COMPILE_ONLY -std=acu prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog2.cob" "syn_file.at:198" +( $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:198" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:199: \$COMPILE_ONLY -std=acu prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog3.cob" "syn_file.at:199" +( $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:199" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:204' \ + "ASSIGN to printer-name" " " 2 +at_xfail=no +( + printf "%s\n" "198. $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 +printf "%s\n" "$at_srcdir/syn_file.at:264: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:264" +( $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:264" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:265: \$COMPILE_ONLY -std=acu prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog2.cob" "syn_file.at:265" +( $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:265" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:266: \$COMPILE_ONLY -std=acu prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog3.cob" "syn_file.at:266" +( $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: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_198 +#AT_START_199 +at_fn_group_banner 199 'syn_file.at:271' \ + "ASSIGN to lsq-device-name" " " 2 +at_xfail=no +( + printf "%s\n" "199. $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 +printf "%s\n" "$at_srcdir/syn_file.at:321: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:321" +( $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: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_199 +#AT_START_200 +at_fn_group_banner 200 'syn_file.at:326' \ + "ASSIGN to variable" " " 2 +at_xfail=no +( + printf "%s\n" "200. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Valid ASSIGNs +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT test-file-1 ASSIGN TO var-1 + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-2 ASSIGN USING var-2 + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-3 ASSIGN TO VARYING var-3 + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-4 ASSIGN DISK USING var-4 + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-5 ASSIGN DYNAMIC DISK var-5 + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-6 ASSIGN DISK FROM var-6 + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD test-file-1. + 01 test-rec-1 PIC X(4). + FD test-file-2. + 01 test-rec-2 PIC X(4). + FD test-file-3. + 01 test-rec-3 PIC X(4). + FD test-file-4. + 01 test-rec-4 PIC X(4). + FD test-file-5. + 01 test-rec-5 PIC X(4). + FD test-file-6. + 01 test-rec-6 PIC X(4). + WORKING-STORAGE SECTION. + 01 var-1 PIC X(255). + 01 var-2 PIC X(255). + 01 var-3 PIC X(255). + 01 var-4 PIC X(255). + 01 var-5 PIC X(255). + 01 var-6 PIC X(255). + PROCEDURE DIVISION. + OPEN INPUT test-file-1 + CLOSE test-file-1 + OPEN INPUT test-file-2 + CLOSE test-file-2 + OPEN INPUT test-file-3 + CLOSE test-file-3 + OPEN INPUT test-file-4 + CLOSE test-file-4 + OPEN INPUT test-file-5 + CLOSE test-file-5 + OPEN INPUT test-file-6 + CLOSE test-file-6 + . +_ATEOF + + +# Invalid assigns +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT test-file-1 ASSIGN USING not-a-var + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-2 ASSIGN DYNAMIC not-a-var + ORGANIZATION IS SEQUENTIAL. + SELECT test-file-3 ASSIGN DISK FROM not-a-var + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD test-file-1. + 01 test-rec-1 PIC X(4). + FD test-file-2. + 01 test-rec-2 PIC X(4). + FD test-file-3. + 01 test-rec-3 PIC X(4). + PROCEDURE DIVISION. + OPEN INPUT test-file-1 + CLOSE test-file-1 + OPEN INPUT test-file-2 + CLOSE test-file-2 + OPEN INPUT test-file-3 + CLOSE test-file-3 + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:416: \$COMPILE_ONLY -fassign-variable=warning -fassign-using-variable=warning -fassign-ext-dyn=warning -fassign-disk-from=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fassign-variable=warning -fassign-using-variable=warning -fassign-ext-dyn=warning -fassign-disk-from=warning prog.cob" "syn_file.at:416" +( $at_check_trace; $COMPILE_ONLY -fassign-variable=warning -fassign-using-variable=warning -fassign-ext-dyn=warning -fassign-disk-from=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: ASSIGN USING/VARYING variable used +prog.cob:12: warning: ASSIGN USING/VARYING variable used +prog.cob:14: warning: ASSIGN USING/VARYING variable used +prog.cob:15: warning: ASSIGN EXTERNAL/DYNAMIC used +prog.cob:18: warning: ASSIGN DISK FROM used +prog.cob:7: warning: ASSIGN variable 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_file.at:416" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:424: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_file.at:424" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:11: error: 'not-a-var' 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_file.at:424" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:431' \ + "SELECT without ASSIGN" " " 2 +at_xfail=no +( + printf "%s\n" "201. $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 +printf "%s\n" "$at_srcdir/syn_file.at:452: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:452" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:452" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:459' \ + "START on SEQUENTIAL file" " " 2 +at_xfail=no +( + printf "%s\n" "202. $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 SEQUENTIAL. + SELECT TEST-FILE2 ASSIGN "./TEST-FILE" + ORGANIZATION IS LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(4). + FD TEST-FILE2. + 01 TEST-REC2 PIC X(4). + PROCEDURE DIVISION. + OPEN INPUT TEST-FILE TEST-FILE2 + START TEST-FILE KEY EQUAL TEST-REC + END-START + START TEST-FILE2 KEY EQUAL TEST-REC2 + END-START + CLOSE TEST-FILE TEST-FILE2 + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:488: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:488" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:19: error: START not allowed on SEQUENTIAL files +prog.cob:21: 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:488" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:496' \ + "OPEN SEQUENTIAL file REVERSED" " " 2 +at_xfail=no +( + printf "%s\n" "203. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: only allowed for INPUT + sequential files (currently not checked). +# If added we likely can allow this for LINE SEQUENTIAL, too. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE ASSIGN "./TEST-FILE" + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(4). + PROCEDURE DIVISION. + OPEN INPUT TEST-FILE + READ TEST-FILE NEXT + END-READ + CLOSE TEST-FILE + OPEN INPUT TEST-FILE REVERSED + READ TEST-FILE NEXT + END-READ + CLOSE TEST-FILE + OPEN INPUT TEST-FILE WITH LOCK REVERSED + READ TEST-FILE NEXT + END-READ + CLOSE TEST-FILE + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:530: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:530" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: warning: OPEN REVERSED is not implemented +prog.cob:22: warning: OPEN REVERSED 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_file.at:530" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# note: as soon as implemented: won't be obsolete in GnuCOBOL, but leave message for now... +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:536: \$COMPILE_ONLY -Werror=obsolete -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Werror=obsolete -fdiagnostics-show-option prog.cob" "syn_file.at:536" +( $at_check_trace; $COMPILE_ONLY -Werror=obsolete -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: error: OPEN REVERSED is obsolete in GnuCOBOL [-Werror=obsolete] +prog.cob:22: error: OPEN REVERSED is obsolete in GnuCOBOL [-Werror=obsolete] +" | \ + $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:536" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:544' \ + "OPEN SEQUENTIAL file NO REWIND" " " 2 +at_xfail=no +( + printf "%s\n" "204. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: only allowed for INPUT/OUTPUT sequential files (currently not checked). + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE ASSIGN "./TEST-FILE" + ORGANIZATION IS SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(4). + PROCEDURE DIVISION. + OPEN OUTPUT TEST-FILE NO REWIND + WRITE TEST-REC FROM "tEsT" + END-WRITE + WRITE TEST-REC FROM "TeSt" + END-WRITE + CLOSE TEST-FILE WITH NO REWIND + OPEN INPUT TEST-FILE WITH LOCK WITH NO REWIND + READ TEST-FILE NEXT *> should get EOF + END-READ + CLOSE TEST-FILE + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:575: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:575" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: warning: OPEN WITH NO REWIND is not implemented +prog.cob:20: warning: OPEN WITH NO REWIND 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_file.at:575" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:583' \ + "valid key items" " " 2 +at_xfail=no +( + printf "%s\n" "205. $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 +printf "%s\n" "$at_srcdir/syn_file.at:628: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:628" +( $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:628" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:633' \ + "INDEXED file invalid key items" " " 2 +at_xfail=no +( + printf "%s\n" "206. $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. + SELECT TEST-MORE ASSIGN TO 'FILE-TEST-EXT' + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS NOT-HERE-KEY + SOURCE IS NOT-IN-FILE1 + NOT-IN-FILE2. + 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). + FD TEST-MORE. + 01 MORE-REC. + 05 MORE-DATA 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 +printf "%s\n" "$at_srcdir/syn_file.at:683: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.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"; printf "%s\n" "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' +prog.cob:24: error: 'NOT-IN-FILE1' is not defined +prog.cob:20: error: invalid KEY item 'NOT-HERE-KEY', not in file 'TEST-MORE' +prog.cob:25: error: 'NOT-IN-FILE2' 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_file.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_206 +#AT_START_207 +at_fn_group_banner 207 'syn_file.at:697' \ + "variable record length" " " 2 +at_xfail=no +( + printf "%s\n" "207. $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 +printf "%s\n" "$at_srcdir/syn_file.at:779: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:779" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:779" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:783: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_file.at:783" +( $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"; printf "%s\n" "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:783" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:787: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_file.at:787" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:787" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:793: \$COMPILE_ONLY -std=cobol2014 prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog3.cob" "syn_file.at:793" +( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:793" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:798: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_file.at:798" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:13: warning: size of record 'TEST-REC-1' (4) smaller than minimum of file 'TEST-FILE' (5) +prog3.cob:13: warning: file size adjusted +prog3.cob:15: warning: size of record 'TEST-REC-2' (50) larger than maximum of file 'TEST-FILE' (10) +prog3.cob:15: warning: file size adjusted +" | \ + $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: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_207 +#AT_START_208 +at_fn_group_banner 208 'syn_file.at:808' \ + "variable record length DEPENDING item" " " 2 +at_xfail=no +( + printf "%s\n" "208. $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 + + +cat >prog2.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 CONTAINS 12 TO 125 CHARACTERS + DEPENDING ON RECORDSIZE. + 01 TEST-REC. + 05 FILLER PIC X(40). + PROCEDURE DIVISION. + OPEN INPUT TEST-FILE. + CLOSE TEST-FILE. + STOP RUN. +_ATEOF + + +# FIXME: the check misses "prog.cob:40: error: RECORD DEPENDING item must be unsigned numeric" +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:887: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:887" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:887" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:893: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_file.at:893" +( $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"; printf "%s\n" "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:893" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:899: \$COMPILE_ONLY -frecord-contains-depending-clause=error prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frecord-contains-depending-clause=error prog2.cob" "syn_file.at:899" +( $at_check_trace; $COMPILE_ONLY -frecord-contains-depending-clause=error prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:13: error: RECORD CONTAINS DEPENDING used +prog2.cob:13: error: 'RECORDSIZE' 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_file.at:899" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:903: \$COMPILE_ONLY -frecord-contains-depending-clause=ok prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frecord-contains-depending-clause=ok prog2.cob" "syn_file.at:903" +( $at_check_trace; $COMPILE_ONLY -frecord-contains-depending-clause=ok prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:13: error: 'RECORDSIZE' 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_file.at:903" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:910' \ + "DECLARATIVES invalid procedure reference (1)" " " 2 +at_xfail=no +( + printf "%s\n" "209. $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". + * explicit check both PERFORM and GO TO - silencing its warning + 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 +printf "%s\n" "$at_srcdir/syn_file.at:962: \$COMPILE_ONLY -Wno-dialect -Wno-goto-different-section prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-dialect -Wno-goto-different-section prog.cob" "syn_file.at:962" +( $at_check_trace; $COMPILE_ONLY -Wno-dialect -Wno-goto-different-section prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:962" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:964: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:964" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:964" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:974: \$COMPILE_ONLY -freference-out-of-declaratives=ok -Wno-goto-different-section prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freference-out-of-declaratives=ok -Wno-goto-different-section prog.cob" "syn_file.at:974" +( $at_check_trace; $COMPILE_ONLY -freference-out-of-declaratives=ok -Wno-goto-different-section prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:974" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:976: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_file.at:976" +( $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"; printf "%s\n" "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:976" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:986: \$COMPILE_ONLY -std=cobol2014 -frelax-syntax prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 -frelax-syntax prog.cob" "syn_file.at:986" +( $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"; printf "%s\n" "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:986" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:999' \ + "DECLARATIVES invalid procedure reference (2)" " " 2 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/syn_file.at:1031: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1031" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1031" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1040' \ + "EXTERNAL file" " " 2 +at_xfail=no +( + printf "%s\n" "211. $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 my-file + ASSIGN TO "somefile" + ORGANIZATION IS SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD my-file EXTERNAL. + 01 my-record. + 03 my-record-data PIC X(80). + + PROCEDURE DIVISION. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1064: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1064" +( $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:1064" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1068' \ + "RECORDING MODE" " " 2 +at_xfail=no +( + printf "%s\n" "212. $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 +printf "%s\n" "$at_srcdir/syn_file.at:1091: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1091" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1091" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1097' \ + "CODE-SET clause" " " 2 +at_xfail=no +( + printf "%s\n" "213. $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, ALPHABET EBC IS EBCDIC. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f, ASSIGN "f.dat", LINE SEQUENTIAL. + SELECT g, ASSIGN "g.dat", SEQUENTIAL. + SELECT h, ASSIGN "h.dat", LINE SEQUENTIAL. + SELECT i, ASSIGN "i.dat", 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). + + FD h CODE-SET ebcdic. + 01 h-rec PIC X(10). + + FD i CODE-SET ebc FOR h-rec. + 01 i-rec PIC X(10). +_ATEOF + + +# FIXME: this test will false-positive fail on EBCDIC machines + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1133: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1133" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:19: note: ignoring CODE-SET 'A' +prog.cob:22: error: 'foo' is not defined +prog.cob:22: error: 'foo' is not an alphabet-name +prog.cob:25: error: 'ebcdic' cannot be used here +prog.cob:25: error: 'ebcdic' is not an alphabet-name +prog.cob:28: warning: handling of CODE-SET is unfinished; implementation is likely to be changed +prog.cob:28: error: FOR item 'h-rec' is a record +prog.cob:28: error: FOR item 'h-rec' is not in a record associated with 'FILE i' +" | \ + $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:1133" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1147' \ + "CODE-SET FOR clause" " " 2 +at_xfail=no +( + printf "%s\n" "214. $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 +printf "%s\n" "$at_srcdir/syn_file.at:1172: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1172" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:16: warning: handling of CODE-SET is unfinished; implementation is likely to be changed +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: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_214 +#AT_START_215 +at_fn_group_banner 215 'syn_file.at:1180' \ + "WRITE / REWRITE FROM clause and FILE" " " 2 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/syn_file.at:1226: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1226" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:22: error: condition-name not allowed here: 'SOME-VAL' +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: condition-name not allowed here: 'SOME-VAL' +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:1226" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1241' \ + "Clauses following invalid ACCESS clause" " " 2 +at_xfail=no +( + printf "%s\n" "216. $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 testfile + ASSIGN TO filename + ORGANIZATION RELATIVE + ACCESS IS sequentia + STATUS IS stat. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1258: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1258" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or SEQUENTIAL +prog.cob:8: error: missing file description for FILE testfile +" | \ + $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: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_216 +#AT_START_217 +at_fn_group_banner 217 'syn_file.at:1265' \ + "RELATIVE KEY type validation" " " 2 +at_xfail=no +( + printf "%s\n" "217. $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 FILE1 ASSIGN DISK + ORGANIZATION RELATIVE ACCESS MODE RANDOM + RELATIVE KEY FILE1-KEY. + SELECT FILE2 ASSIGN DISK + ORGANIZATION RELATIVE ACCESS MODE RANDOM + RELATIVE KEY FILE2-KEY. + SELECT FILE3 ASSIGN DISK + ORGANIZATION RELATIVE ACCESS MODE RANDOM + RELATIVE KEY FILE3-KEY. + SELECT FILE4 ASSIGN DISK + ORGANIZATION RELATIVE ACCESS MODE RANDOM + RELATIVE KEY FILE4-KEY. + SELECT FILE5 ASSIGN DISK + ORGANIZATION RELATIVE ACCESS MODE RANDOM + RELATIVE KEY FILE5-KEY. + DATA DIVISION. + FILE SECTION. + FD FILE1. + 01 FILE1-REC PIC X. + FD FILE2. + 01 FILE2-REC PIC X. + FD FILE3. + 01 FILE3-REC PIC X. + FD FILE4. + 01 FILE4-REC. + 05 FLD1 PIC X. + 05 FILE4-KEY PIC 999. + FD FILE5. + 01 FILE5-REC PIC X. + WORKING-STORAGE SECTION. + 77 FILE1-KEY PIC XXXX. + 01 FILE2-KEY. + 05 F2-KEY PIC 9(5). + 01 F3-KEY. + 05 FILE3-KEY PIC 9(5) OCCURS 2 TIMES. + 77 FILE5-KEY PIC 999V9. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1314: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1314" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: file FILE1: RELATIVE KEY FILE1-KEY is not numeric +prog.cob:12: error: file FILE2: RELATIVE KEY FILE2-KEY is not numeric +prog.cob:15: error: file FILE3: RELATIVE KEY FILE3-KEY cannot have OCCURS +prog.cob:18: error: RELATIVE KEY FILE4-KEY cannot be in file record belonging to FILE4 +prog.cob:21: error: file FILE5: RELATIVE KEY FILE5-KEY must be integer +" | \ + $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:1314" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1325' \ + "Mismatched KEY clause" " " 2 +at_xfail=no +( + printf "%s\n" "218. $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 file-1 ASSIGN DISK, + INDEXED, RELATIVE KEY file-1-key. + SELECT file-2 ASSIGN DISK, + RELATIVE, RECORD KEY file-2-key. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1340: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1340" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: cannot use RELATIVE KEY clause on INDEXED files +prog.cob:10: error: cannot use RECORD KEY clause on RELATIVE files +prog.cob:7: error: missing file description for FILE file-1 +prog.cob:8: error: 'file-1-key' is not defined +prog.cob:9: error: missing file description for FILE file-2 +prog.cob:10: error: 'file-2-key' 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_file.at:1340" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1352' \ + "RECORD DELIMITER" " " 2 +at_xfail=no +( + printf "%s\n" "219. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + *> Valid. + SELECT good-1 ASSIGN "a" + RECORD DELIMITER LINE-SEQUENTIAL. + + SELECT good-2 ASSIGN "a" + SEQUENTIAL + RECORD DELIMITER LINE-SEQUENTIAL. + + SELECT good-3 ASSIGN "a" + RECORD DELIMITER LINE-SEQUENTIAL + LINE SEQUENTIAL. + + SELECT good-4 ASSIGN "a" + RECORD DELIMITER BINARY-SEQUENTIAL. + + *> Warning. + SELECT ok-i-guess-1 ASSIGN "a" + RECORD DELIMITER STANDARD-1. + + SELECT ok-i-guess-2 ASSIGN "a" + RECORD DELIMITER THE-END-OF-THE-WORLD. + + *> Not valid. + SELECT bad-1 ASSIGN "a" + RECORD DELIMITER LINE-SEQUENTIAL + INDEXED + RECORD KEY bad-1-rec. + + SELECT bad-2 ASSIGN "a" + INDEXED + RECORD KEY bad-2-rec + RECORD DELIMITER LINE-SEQUENTIAL. + + SELECT bad-3 ASSIGN "a" + LINE SEQUENTIAL + RECORD DELIMITER BINARY-SEQUENTIAL. + + SELECT bad-4 ASSIGN "a" + LINE SEQUENTIAL + RECORD DELIMITER STANDARD-1. + + SELECT bad-5 ASSIGN "a" + RECORD DELIMITER BINARY-SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD good-1. + 01 good-1-rec PIC 9. + 01 good-1-rec-2 PIC 99. + + FD good-2 RECORD VARYING FROM 1 TO 5 CHARACTERS. + 01 good-2-rec PIC 9. + + FD good-3. + 01 good-3-rec PIC 9. + 01 good-3-rec-2 PIC 99. + + FD good-4 RECORD CONTAINS 1 TO 5 CHARACTERS. + 01 good-4-rec PIC 9. + + FD ok-i-guess-1. + 01 ok-i-guess-1-rec PIC 9. + 01 ok-i-guess-1-rec-2 PIC 99. + + FD ok-i-guess-2. + 01 ok-i-guess-2-rec PIC 9. + 01 ok-i-guess-2-rec-2 PIC 99. + + FD bad-1. + 01 bad-1-rec PIC 9. + + FD bad-2. + 01 bad-2-rec PIC 9. + + FD bad-3. + 01 bad-3-rec PIC 9. + + FD bad-4. + 01 bad-4-rec PIC 9. + + FD bad-5 RECORD CONTAINS 1 CHARACTERS. + 01 bad-5-rec PIC 9. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1446: \$COMPILE_ONLY -frecord-delim-with-fixed-recs=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frecord-delim-with-fixed-recs=warning prog.cob" "syn_file.at:1446" +( $at_check_trace; $COMPILE_ONLY -frecord-delim-with-fixed-recs=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:25: warning: RECORD DELIMITER STANDARD-1 ignored +prog.cob:28: warning: RECORD DELIMITER THE-END-OF-THE-WORLD not recognized; will be ignored +prog.cob:33: error: ORGANIZATION INDEXED is incompatible with RECORD DELIMITER +prog.cob:39: error: RECORD DELIMITER LINE-SEQUENTIAL only allowed with (LINE) SEQUENTIAL files +prog.cob:36: error: RECORD clause is invalid for file 'bad-2' (file type) +prog.cob:43: error: RECORD DELIMITER BINARY-SEQUENTIAL only allowed with SEQUENTIAL files +prog.cob:47: error: RECORD DELIMITER STANDARD-1 only allowed with SEQUENTIAL files +prog.cob:76: warning: RECORD DELIMITER clause on file with fixed-length records used +prog.cob:88: warning: RECORD DELIMITER clause on file with fixed-length records 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_file.at:1446" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1460' \ + "FILE STATUS" " " 2 +at_xfail=no +( + printf "%s\n" "220. $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" FILE STATUS fs. + SELECT g ASSIGN "g.txt" FILE STATUS gs. + SELECT h ASSIGN "h.txt" FILE STATUS hs. + SELECT j ASSIGN "j.txt" FILE STATUS js. + SELECT k ASSIGN "k.txt" FILE STATUS ks. + SELECT l ASSIGN "l.txt" FILE STATUS ls. + SELECT m ASSIGN "m.txt" FILE STATUS ms. + SELECT n ASSIGN "n.txt" FILE STATUS ns. + SELECT o ASSIGN "o.txt" FILE STATUS os. + SELECT p ASSIGN "p.txt" FILE STATUS ps. + SELECT q ASSIGN "q.txt" FILE STATUS non-existent. + SELECT r ASSIGN "r.txt" FILE STATUS rs. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 hs PIC XX. + FD g. + 01 g-rec PIC X. + FD h. + 01 h-rec PIC X. + FD j. + 01 j-rec PIC X. + FD k. + 01 k-rec PIC X. + FD l. + 01 l-rec PIC X. + FD m. + 01 m-rec PIC X. + FD n. + 01 n-rec PIC X. + FD o. + 01 o-rec PIC X. + FD p. + 01 p-rec PIC X. + FD q. + 01 q-rec PIC X. + FD r. + 01 r-rec PIC X. + + WORKING-STORAGE SECTION. + *> Valid + 01 fs PIC XX. + + LOCAL-STORAGE SECTION. + *> Valid, but warning + 01 gs PIC 99. + + *> Invalid + 01 js PIC N. + 01 ks PIC XX COMP-X. + 01 ls PIC V99. + 01 ms PIC 99PP. + 01 ns PIC XXX. + 01 x. + 03 y PIC 99. + 03 z PIC XX OCCURS 1 TO 10 TIMES DEPENDING ON y. + 03 os PIC XX. + 88 ps VALUE "00". + 03 z2 PIC XX OCCURS 1 TO 10 TIMES DEPENDING ON y. + + 01 rs CONSTANT "00". + + PROCEDURE DIVISION. + CONTINUE + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1539: \$COMPILE_ONLY -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fodoslide prog.cob" "syn_file.at:1539" +( $at_check_trace; $COMPILE_ONLY -fodoslide prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:57: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed +prog.cob:18: error: 'non-existent' is not defined +prog.cob:9: warning: FILE STATUS 'gs' is a numeric field, but I-O status codes are not numeric in general +prog.cob:10: error: FILE STATUS 'hs' must be in WORKING-STORAGE, LOCAL-STORAGE or LINKAGE +prog.cob:11: error: FILE STATUS 'js' must be an alphanumeric or numeric field +prog.cob:12: warning: FILE STATUS 'ks' is a numeric field, but I-O status codes are not numeric in general +prog.cob:12: error: FILE STATUS 'ks' must be USAGE DISPLAY +prog.cob:13: error: FILE STATUS 'ls' may not be a decimal or have a PIC with a P +prog.cob:14: error: FILE STATUS 'ms' may not be a decimal or have a PIC with a P +prog.cob:15: error: FILE STATUS 'ns' must be 2 characters long +prog.cob:16: error: FILE STATUS 'os' may not be located after an OCCURS DEPENDING field +prog.cob:17: error: FILE STATUS 'ps' must be an alphanumeric or numeric field +prog.cob:19: error: FILE STATUS 'rs' 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_file.at:1539" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1557' \ + "VSAM status" " " 2 +at_xfail=no +( + printf "%s\n" "221. $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 file1 ASSIGN TO 'FILE-TEST' + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS file1-key + STATUS IS STATUS-1. + SELECT file2 ASSIGN TO 'FILE-TEST' + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS file2-key + STATUS IS STATUS-1, STATUS-2. + DATA DIVISION. + FILE SECTION. + FD FILE1. + 01 FILE1-REC. + 05 FILE1-KEY PIC X. + FD FILE2. + 01 FILE2-REC. + 05 FILE2-KEY PIC 9. + 05 FILE2-DAT PIC X. + WORKING-STORAGE SECTION. + 77 STATUS-1 PIC X(02). + 77 STATUS-2 PIC X(06). + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1592: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_file.at:1592" +( $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_file.at:1592" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1593: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1593" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:16: warning: VSAM status ignored +" | \ + $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:1593" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1596: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_file.at:1596" +( $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"; printf "%s\n" "prog.cob:16: error: VSAM status 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_file.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_221 +#AT_START_222 +at_fn_group_banner 222 'syn_file.at:1603' \ + "INDEXED file PASSWORD clause" " " 2 +at_xfail=no +( + printf "%s\n" "222. $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 file1 ASSIGN TO 'FILE-TEST' + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS file1-key PASSWORD IS PASS1 + STATUS IS FSTAT. + SELECT file2 ASSIGN TO 'FILE-TEST-EXT' + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS file2-key PASSWORD IS PASS2 + ALTERNATE RECORD KEY IS NOTHEREKEY + SOURCE IS file2-dat file2-key + PASSWORD IS PASS-EXT + STATUS IS FSTAT. + DATA DIVISION. + FILE SECTION. + FD FILE1. + 01 FILE1-REC. + 05 FILE1-KEY PIC X. + FD FILE2 EXTERNAL. + 01 FILE2-REC. + 05 FILE2-KEY PIC 9. + 05 FILE2-DAT PIC X. + WORKING-STORAGE SECTION. + 77 FSTAT PIC X(02). + *> note: IBM specifies PASSWORDs are cut at / space filled to 8 bytes + 77 PASS1 PIC X(08). + 77 PASS2 PIC X(10). + 77 PASS-EXT PIC X(04) EXTERNAL. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1644: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1644" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: PASSWORD clause is not implemented +prog.cob:15: warning: PASSWORD clause is not implemented +prog.cob:18: warning: PASSWORD clause is not implemented +prog.cob:15: error: PASSWORD 'PASS2' for EXTERNAL file 'file2' must have EXTERNAL attribute +" | \ + $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:1644" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1654' \ + "RECORD clause equal limits" " " 2 +at_xfail=no +( + printf "%s\n" "223. $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 f1 ASSIGN "f1". + SELECT f2 ASSIGN "f2". + SELECT f3 ASSIGN "f3". + SELECT f4 ASSIGN "f4". + + DATA DIVISION. + FILE SECTION. + FD f1 RECORD VARYING. + 01 f1-rec-1 PIC X. + 01 f1-rec-2 PIC 9. + + FD f2 RECORD VARYING 1 TO 1. + 01 f2-rec PIC X. + + FD f3 RECORD 1 TO 1. + 01 f3-rec PIC X. + + FD f4 RECORD IS VARYING IN SIZE. + 01 f4-rec-1 PIC X. + 01 f4-rec-2 PIC 99. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1686: \$COMPILE_ONLY -Wadditional prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wadditional prog.cob" "syn_file.at:1686" +( $at_check_trace; $COMPILE_ONLY -Wadditional prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: warning: RECORD VARYING specified without limits, but implied limits are equal +prog.cob:19: error: RECORD clause invalid +prog.cob:22: error: RECORD clause invalid +" | \ + $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:1686" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1694' \ + "FILE ... FROM literal" " " 2 +at_xfail=no +( + printf "%s\n" "224. $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 "ssad". + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC 999999. + + WORKING-STORAGE SECTION. + 01 num PIC 9(6) VALUE 123456. + + PROCEDURE DIVISION. + OPEN OUTPUT f + WRITE FILE f FROM zero + WRITE FILE f FROM 0 + WRITE FILE f FROM "abc" + REWRITE FILE f FROM zero + REWRITE FILE f FROM 0 + REWRITE FILE f FROM "abc" + CLOSE f + . +_ATEOF + + +# FIXME: the references to ZERO should actually show one less + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1728: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1728" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:21: error: figurative constants not allowed in FROM clause +prog.cob:21: error: literal in FROM clause must be alphanumeric, utf-8, national or boolean +prog.cob:22: warning: numeric value is expected +prog.cob:13: note: 'f-rec' defined here as PIC 999999 +prog.cob:24: error: figurative constants not allowed in FROM clause +prog.cob:24: error: literal in FROM clause must be alphanumeric, utf-8, national or boolean +prog.cob:25: warning: numeric value is 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_file.at:1728" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1737: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_file.at:1737" +( $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"; printf "%s\n" "prog.cob:22: warning: numeric value is expected +prog.cob:13: note: 'f-rec' defined here as PIC 999999 +prog.cob:25: 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/syn_file.at:1737" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1742: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_file.at:1742" +( $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"; printf "%s\n" "prog.cob:22: warning: source is non-numeric - substituting zero +prog.cob:25: warning: source is non-numeric - substituting zero +" | \ + $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:1742" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1751' \ + "WRITE / REWRITE on REPORT files" " " 2 +at_xfail=no +( + printf "%s\n" "225. $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 "ssad" LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f REPORT f-rep. + 01 f-rec PIC X(05). + + REPORT SECTION. + RD f-rep. + 01 f-rep-line TYPE DE PIC XXX. + + PROCEDURE DIVISION. + OPEN OUTPUT f + WRITE FILE f FROM "abc" + REWRITE FILE f FROM "abc" + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1780: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1780" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:21: error: WRITE not allowed on REPORT files +prog.cob:22: error: REWRITE not allowed on REPORT 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:1780" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1788' \ + "SELECT without fd-name" " " 2 +at_xfail=no +( + printf "%s\n" "226. $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 ASSIGN "asd". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1801: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1801" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: syntax error, unexpected ASSIGN, expecting Identifier +prog.cob:8: error: syntax error, unexpected Literal +prog.cob:8: error: missing file description for FILE SELECT on line 8 +" | \ + $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:1801" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1809' \ + "Undeclared FILE-ID variable" " " 2 +at_xfail=no +( + printf "%s\n" "227. $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 file1 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1 VALUE OF FILE-ID fid-file1. + 01 file1-rec PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1827: \$COMPILE_ONLY -Wimplicit-define prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wimplicit-define prog.cob" "syn_file.at:1827" +( $at_check_trace; $COMPILE_ONLY -Wimplicit-define prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: VALUE OF is obsolete in GnuCOBOL +prog.cob:12: warning: variable 'fid-file1' 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/syn_file.at:1827" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1834' \ + "ASSIGN external-name matching filename" " " 2 +at_xfail=no +( + printf "%s\n" "228. $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 SYSUT1 ASSIGN TO sysut1. + DATA DIVISION. + FILE SECTION. + FD SYSUT1. + 01 SYSUT1-REC PIC X(4). + PROCEDURE DIVISION. + OPEN INPUT SYSUT1. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1854: \$COMPILE_ONLY -fassign-clause=external prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fassign-clause=external prog.cob" "syn_file.at:1854" +( $at_check_trace; $COMPILE_ONLY -fassign-clause=external prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1854" +$at_failed && at_fn_log_failure +$at_traceon; } + +# ASSIGN dynamic should still work here, it is to be seen as literal +# as long as it matches the file name (note: it still differs as "external" +# would also cut "labels" from the literal +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1858: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1858" +( $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:1858" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1862' \ + "Undeclared ASSIGN variable" " " 2 +at_xfail=no +( + printf "%s\n" "229. $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 implicitly 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 +printf "%s\n" "$at_srcdir/syn_file.at:1935: \$COMPILE_ONLY -Wimplicit-define prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wimplicit-define prog.cob" "syn_file.at:1935" +( $at_check_trace; $COMPILE_ONLY -Wimplicit-define prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:60: warning: variable '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/syn_file.at:1935" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:1941' \ + "ACCESS RANDOM with ORG SEQUENTIAL" " " 2 +at_xfail=no +( + printf "%s\n" "230. $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 file1 ASSIGN DISK ORGANIZATION SEQUENTIAL + ACCESS RANDOM. + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-rec PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +# TO-DO: Improve error message - say ACCESS RANDOM is incompatible with ORGANIZATION SEQUENTIAL. +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:1961: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:1961" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: ORGANIZATION clause is invalid for file 'file1' +" | \ + $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:1961" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:1968' \ + "ALTERNATE RECORD KEY SUPPRESS WHEN" " " 2 +at_xfail=no +( + printf "%s\n" "231. $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 + RECORD KEY TESTKEY-P1 + ALTERNATE RECORD KEY TESTKEY-P2 + WITH DUPLICATES + SUPPRESS WHEN ZEROES + ALTERNATE RECORD KEY TESTKEY-P3 + WITH DUPLICATES + SUPPRESS WHEN SPACES + ALTERNATE RECORD KEY TESTKEY-P4 + WITH DUPLICATES + SUPPRESS WHEN ALL "A" + ALTERNATE RECORD KEY TESTKEY-P5 + WITH DUPLICATES + SUPPRESS WHEN ALL SPACES + . + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC. + 03 TESTKEY-P1 PIC X(4). + 03 TESTKEY-P2 PIC 9(4). + 03 TESTDATA PIC X(4). + 03 TESTKEY-P3 PIC X(4). + 03 TESTKEY-P4 PIC X(4). + 03 TESTKEY-P5 PIC X(4). + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2009: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_file.at:2009" +( $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/syn_file.at:2009" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:2013' \ + "RECORD definition with SOURCE IS / =" " " 2 +at_xfail=no +( + printf "%s\n" "232. $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-FILE1 + ASSIGN "TESTFILE" + ACCESS DYNAMIC + ORGANIZATION INDEXED + RECORD KEY TESTKEY-P1 OF TEST-REC1 + ALTERNATE RECORD KEY + TEST1KEY2 = TESTKEY-P2 OF TEST-REC1, + TESTKEY-P3 OF TEST-REC1 + WITH DUPLICATES + . + SELECT TEST-FILE2 + ASSIGN "TESTFILE" + ACCESS DYNAMIC + ORGANIZATION INDEXED + RECORD KEY TESTKEY-P1 OF TEST-REC2 + ALTERNATE RECORD KEY + TEST2KEY2 SOURCE IS TESTKEY-P2 OF TEST-REC2, + TESTKEY-P3 OF TEST-REC2 + WITH DUPLICATES + . + DATA DIVISION. + FILE SECTION. + FD TEST-FILE1. + 01 TEST-REC1. + 03 TESTKEY-P1 PIC X(4). + 03 TESTKEY-P2 PIC 9(4). + 03 TESTDATA PIC X(4). + 03 TESTKEY-P3 PIC X(4). + FD TEST-FILE2. + 01 TEST-REC2. + 03 TESTKEY-P1 PIC X(4). + 03 TESTKEY-P2 PIC 9(4). + 03 TESTDATA PIC X(4). + 03 TESTKEY-P3 PIC X(4). + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2060: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:2060" +( $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:2060" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:2064' \ + "ALTERNATE RECORD definition WITH NO DUPLICATES" " " 2 +at_xfail=yes +( + printf "%s\n" "233. $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 + RECORD KEY TESTKEY1 + ALTERNATE RECORD KEY TESTKEY2 + WITH DUPLICATES + ALTERNATE RECORD KEY TESTKEY3 + WITH NO DUPLICATES + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2087: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:2087" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: non-standard 'NO DUPLICATES' +" | \ + $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:2087" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2090: \$COMPILE_ONLY -frelax-syntax prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax prog.cob" "syn_file.at:2090" +( $at_check_trace; $COMPILE_ONLY -frelax-syntax prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2090" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:2094' \ + "ALTERNATE RECORD definition omitting RECORD" " " 2 +at_xfail=yes +( + printf "%s\n" "234. $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 + RECORD KEY TESTKEY1 + ALTERNATE KEY TESTKEY2 + . + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2116: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:2116" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: 'RECORD' is mandatory 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_file.at:2116" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2119: \$COMPILE_ONLY -frelax-syntax prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax prog.cob" "syn_file.at:2119" +( $at_check_trace; $COMPILE_ONLY -frelax-syntax prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2119" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:2123' \ + "SELECT/OPEN syntax extensions" " " 2 +at_xfail=no +( + printf "%s\n" "235. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: split tests, possibly add dialect configuration, +# add checks for "mutually exclusive" and ORGANIZATION + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE1 + ASSIGN "TESTFILE1" + *> WITH ENCRYPTION shift/reduce conflict ? + ORGANIZATION INDEXED + ACCESS DYNAMIC + RECORD KEY TESTKEY-1P1 + WITH DUPLICATES + ALTERNATE RECORD KEY TESTKEY-1P2 + WITH NO DUPLICATES + LOCK EXCLUSIVE MASS-UPDATE + . + SELECT TEST-FILE2 + ASSIGN "TESTFILE2" + *> ENCRYPTION shift/reduce conflict ? + ORGANIZATION INDEXED + ACCESS DYNAMIC + RECORD KEY TESTKEY-2P1 + WITH NO DUPLICATES + ALTERNATE RECORD KEY TESTKEY-2P2 + WITH DUPLICATES + . + DATA DIVISION. + FILE SECTION. + FD TEST-FILE1. + 01 TEST-REC1. + 03 TESTKEY-1P1 PIC X(4). + 03 TESTKEY-1P2 PIC 9(4). + 03 ENCRYPTION PIC X(4). + FD TEST-FILE2. + 01 TEST-REC2. + 03 TESTKEY-2P1 PIC X(4). + 03 ALLOWING PIC X(4). + 03 TESTKEY-2P2 PIC 9(4). + PROCEDURE DIVISION. + OPEN EXCLUSIVE INPUT TEST-FILE2 + CLOSE TEST-FILE2 + OPEN I-O TEST-FILE1 TEST-FILE2 ALLOWING UPDATERS + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING UPDATERS + CLOSE TEST-FILE1 + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING READERS + CLOSE TEST-FILE1 + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING WRITERS + CLOSE TEST-FILE1 + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING ALL + CLOSE TEST-FILE1 + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING NO + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 ALLOWING NO OTHERS + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 FOR LOCK + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 LOCK + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 BULK-ADDITION + CLOSE TEST-FILE1 + OPEN I-O TEST-FILE1 MASS-UPDATE + CLOSE TEST-FILE1 + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2201: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:2201" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: warning: DUPLICATES for primary keys is not implemented +prog.cob:16: warning: WITH MASS-UPDATE is not implemented +prog.cob:65: warning: WITH BULK-ADDITION is not implemented +prog.cob:67: warning: WITH MASS-UPDATE 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_file.at:2201" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2207: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_file.at:2207" +( $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"; printf "%s\n" "prog.cob:13: warning: DUPLICATES for primary keys is not implemented +prog.cob:16: warning: WITH MASS-UPDATE is not implemented +prog.cob:34: error: syntax error, unexpected ENCRYPTION +prog.cob:38: error: syntax error, unexpected ALLOWING +prog.cob:65: warning: WITH BULK-ADDITION is not implemented +prog.cob:67: warning: WITH MASS-UPDATE 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:2207" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_file.at:2218' \ + "GLOBAL FD nested progam" " " 2 +at_xfail=no +( + printf "%s\n" "236. $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 "foo.dat" + ORGANIZATION INDEXED + RECORD KEY f-key. + + DATA DIVISION. + FILE SECTION. + FD f GLOBAL. + 01 f-rec GLOBAL. + 03 f-key PIC 9. + + PROCEDURE DIVISION. + CALL "output-statement". + + IDENTIFICATION DIVISION. + PROGRAM-ID. output-statement. + + PROCEDURE DIVISION. + WRITE f-rec. + END PROGRAM output-statement. + END PROGRAM prog. +_ATEOF + + +# note: we actually want to check codegen -> C compilation here +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2251: \$COMPILE -std=cobol2002 -Wno-unsupported prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 -Wno-unsupported prog.cob" "syn_file.at:2251" +( $at_check_trace; $COMPILE -std=cobol2002 -Wno-unsupported prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2251" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_file.at:2256' \ + "Invalid file name in SELECT" " " 2 +at_xfail=no +( + printf "%s\n" "237. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. HELLO. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT input ASSIGN "in.txt". + + DATA DIVISION. + FILE SECTION. + FD input. + 01 input-rec PIC X. + + PROCEDURE DIVISION. + CONTINUE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_file.at:2278: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:2278" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: syntax error, unexpected INPUT, expecting Identifier +prog.cob:12: error: syntax error, unexpected INPUT, expecting 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_file.at:2278" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_reportwriter.at:23' \ + "REPORT error/warning" " " 2 +at_xfail=no +( + printf "%s\n" "238. $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 TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + FD TRANSACTION-DATA. + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + FD REPORT-FILE + REPORT IS NO-REPORT. + WORKING-STORAGE SECTION. + 01 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + 88 GOFOREVER VALUE 'X'. + + REPORT SECTION. + RD NO-REPORT + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'S A M P L E R E P O R T'. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + + PROCEDURE DIVISION. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + PERFORM UNTIL GOFOREVER + GENERATE CHARGE-DETAIL + READ TRANSACTION-DATA + AT END + EXIT PERFORM + END-READ + END-PERFORM. + + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:115: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:115" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:67: error: 'CUSTOMER-REPORT' is not defined +prog.cob:67: error: 'CUSTOMER-REPORT' is not a valid report name +prog.cob:82: error: 'CUSTOMER-REPORT' is not a valid report 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_reportwriter.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_reportwriter.at:124' \ + "REPORT not positive integers in COL / LINE PLUS" "" 2 +at_xfail=no +( + printf "%s\n" "239. $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 out-file ASSIGN "blah.txt" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD out-file REPORT rp. + + REPORT SECTION. + RD rp. + 01 rp-head TYPE PH. + 02 LINE NUMBER IS 1, COLUMNS 0 VALUE "Hello!". + 02 LINE IS 2, COLS 2 VALUE "Hello!". + 02 LINE NUMBERS ARE PLUS 1. + 03 COLUMN NUMBER 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN PLUS 0 PIC X(09) VALUE 'ITEM'. + 02 LINES ARE PLUS 2 COL NUMBERS PLUS 0. + 03 COLUMN 1.5 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN + -10 PIC X(09) VALUE 'ITEM'. + + 01 rp-detail TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC X(06) VALUE 'SAMPLE'. + 03 COLUMN +9 PIC X(06) VALUE 'REPORT'. + + PROCEDURE DIVISION. + OPEN OUTPUT out-file. + INITIATE rp. + GENERATE rp-detail. + TERMINATE rp. + CLOSE out-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:167: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.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"; printf "%s\n" "prog.cob:18: error: invalid COLUMN integer; must be > 0 +prog.cob:24: error: unsigned integer value expected +prog.cob:25: error: unsigned integer value expected +prog.cob:30: error: unsigned 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: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_239 +#AT_START_240 +at_fn_group_banner 240 'syn_reportwriter.at:177' \ + "Missing PICTURE for SOURCE" " " 2 +at_xfail=no +( + printf "%s\n" "240. $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 out-file ASSIGN "blah.txt" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD out-file REPORT rp. + + WORKING-STORAGE SECTION. + 77 data-source pic x(20) value "data". + + REPORT SECTION. + RD rp. + 01 rp-head TYPE IS DETAIL. + 02 LINE 1, COL 2 VALUE "Hello!". + 02 LINE PLUS 1. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 ok COLUMN PLUS 20 SOURCE IS data-source PIC X(10). + 03 bad COLUMN PLUS 20 SOURCE IS data-source. + + + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:211: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:211" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:25: error: PICTURE clause required for 'bad' +" | \ + $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: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_240 +#AT_START_241 +at_fn_group_banner 241 'syn_reportwriter.at:218' \ + "Missing DETAIL line" " " 2 +at_xfail=no +( + printf "%s\n" "241. $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 out-file ASSIGN "blah.txt" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD out-file REPORT rp. + + REPORT SECTION. + RD rp. + 01 rp-head TYPE PH. + 02 LINE 1, COL 2 VALUE "Hello!". + 02 LINE PLUS 1. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN PLUS 20 PIC X(09) VALUE 'ITEM'. + + + PROCEDURE DIVISION. + OPEN OUTPUT out-file. + INITIATE rp. + GENERATE rp-detail. + TERMINATE rp. + CLOSE out-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:253: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:253" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: warning: no DETAIL line defined in report rp +prog.cob:27: error: 'rp-detail' 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_reportwriter.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_241 +#AT_START_242 +at_fn_group_banner 242 'syn_reportwriter.at:261' \ + "REPORT LINE PLUS ZERO" " " 2 +at_xfail=no +( + printf "%s\n" "242. $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 out-file ASSIGN "blah.txt" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD out-file REPORT rp. + + REPORT SECTION. + RD rp. + 01 rp-head TYPE PH. + 02 LINE 1 COL 5 PIC X(20) VALUE "Hello World!". + 02 LINE 2 COL 4 PIC X(20) VALUE "Hello Goodbye!". + 02 LINE PLUS 0. + 03 COLUMN 1 PIC X(09) VALUE 'CUST. No.'. + 03 COLUMN PLUS 0 PIC X(09) VALUE 'ITEM'. + 02 LINE PLUS ZERO. + 03 COLUMN 1 PIC X(09) VALUE 'Cust. No.'. + 03 COLUMN + 10 PIC X(09) VALUE 'Item'. + + 01 rp-detail TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC X(06) VALUE 'SAMPLE'. + + PROCEDURE DIVISION. + OPEN OUTPUT out-file. + INITIATE rp. + GENERATE rp-detail. + TERMINATE rp. + CLOSE out-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:303: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:303" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:20: warning: LINE PLUS 0 is not implemented +prog.cob:23: warning: LINE PLUS 0 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_reportwriter.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_reportwriter.at:311' \ + "Incorrect REPORT NAME" " " 2 +at_xfail=no +( + printf "%s\n" "243. $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 TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + FD TRANSACTION-DATA + LABEL RECORDS ARE OMITTED + BLOCK CONTAINS 0 RECORDS + RECORD CONTAINS 80 CHARACTERS + DATA RECORD IS TRANSACTION-RECORD. + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + FD REPORT-FILE + LABEL RECORDS ARE OMITTED + REPORT IS NO-REPORT. + WORKING-STORAGE SECTION. + 01 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + 88 GOFOREVER VALUE 'X'. + + REPORT SECTION. + RD SOME-REPORT + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'S A M P L E R E P O R T'. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + + PROCEDURE DIVISION. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + PERFORM UNTIL GOFOREVER + GENERATE CHARGE-DETAIL + READ TRANSACTION-DATA + AT END + EXIT PERFORM + END-READ + END-PERFORM. + + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:408: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_reportwriter.at:408" +( $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"; printf "%s\n" "prog.cob:17: warning: LABEL RECORDS is obsolete in Micro Focus COBOL +prog.cob:19: warning: RECORD clause ignored for LINE SEQUENTIAL +prog.cob:20: warning: DATA RECORDS is obsolete in Micro Focus COBOL +prog.cob:34: warning: LABEL RECORDS is obsolete in Micro Focus COBOL +prog.cob:42: error: 'SOME-REPORT' is not defined +prog.cob:42: error: 'SOME-REPORT' is not a valid report 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_reportwriter.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:417: \$COMPILE_ONLY -std=cobol2002 -fassign-ext-dyn=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 -fassign-ext-dyn=ok prog.cob" "syn_reportwriter.at:417" +( $at_check_trace; $COMPILE_ONLY -std=cobol2002 -fassign-ext-dyn=ok prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:17: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL +prog.cob:34: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL +prog.cob:36: error: RECORD description missing or invalid +prog.cob:42: error: 'SOME-REPORT' is not defined +prog.cob:42: error: 'SOME-REPORT' is not a valid report 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_reportwriter.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_243 +#AT_START_244 +at_fn_group_banner 244 'syn_reportwriter.at:428' \ + "REPORT with PLUS RIGHT/CENTER" " " 2 +at_xfail=no +( + printf "%s\n" "244. $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 INPUT-FILE ASSIGN TO EXTERNAL STUDENT + ORGANIZATION IS LINE SEQUENTIAL. + SELECT PRINT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT1. + + DATA DIVISION. + FILE SECTION. + FD INPUT-FILE. + 01 INPUT-REC. + 05 STUDENT-ID PIC 9(5). + 05 STUDENT-NAME PIC X(20). + 05 MAJOR PIC XXX. + 05 NUM-COURSES PIC 9(6). + + FD PRINT-FILE + REPORT IS STUDENT-REPORT. + + WORKING-STORAGE SECTION. + 01 ARE-THERE-MORE-RECORDS PIC XXX VALUE "YES". + + REPORT SECTION. + RD STUDENT-REPORT + PAGE LIMIT 30 LINES + HEADING 1 + FIRST DETAIL 3 + LAST DETAIL 25 + FOOTING 28. + 01 HEADING-LINE + TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(2) VALUE "Ln". + 05 COLUMN 4 PIC X(6) VALUE "--ID--". + 05 COLUMN 16 PIC X(20) VALUE "--------Name--------". + 05 COLUMN 39 PIC X(5) VALUE " Mjr". + 05 COLUMN 48 PIC XXX VALUE "*-*". + 05 COLUMN 54 PIC X(5) VALUE "+Num+". + + 01 REPORT-LINE + TYPE DETAIL LINE PLUS 1. + 05 COLUMN PLUS 1 PIC 9(2) + SOURCE LINE-COUNTER OF STUDENT-REPORT. + 05 COLUMN LEFT PLUS 1 PIC Z(5)9 SOURCE STUDENT-ID. + 05 COLUMN CENTER 25 PIC X(20) SOURCE STUDENT-NAME. + 05 COLUMN RIGHT 43 PIC X(5) SOURCE MAJOR. + 05 COLUMN 48 PIC XXX VALUE "<->". + 05 COLUMN CENTER 56 PIC Z(4)9 SOURCE NUM-COURSES. + 05 COLUMN 60 62 65 PIC Z9 OCCURS 3 TIMES. + + PROCEDURE DIVISION. + A000-MAINLINE. + OPEN INPUT INPUT-FILE + OUTPUT PRINT-FILE + PERFORM DO-INIT. + READ INPUT-FILE + AT END + MOVE "NO" TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL ARE-THERE-MORE-RECORDS = "NO ". + PERFORM DO-TERM. + CLOSE INPUT-FILE + PRINT-FILE. + STOP RUN. + + A001-LOOP. + GENERATE REPORT-LINE. + READ INPUT-FILE + AT END + MOVE "NO " TO ARE-THERE-MORE-RECORDS. + DO-INIT. + INITIATE STUDENT-REPORT. + + DO-TERM. + TERMINATE STUDENT-REPORT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:512: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:512" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:46: warning: PLUS is ignored on first field of line +prog.cob:48: error: PLUS is not allowed with LEFT, RIGHT or CENTER +prog.cob:53: error: OCCURS and multi COLUMNs is not allowed +" | \ + $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:512" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_reportwriter.at:521' \ + "PAGE LIMITS clause" " " 2 +at_xfail=no +( + printf "%s\n" "245. $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". + + DATA DIVISION. + FILE SECTION. + FD f REPORT r1, r2. + 01 f-rec PIC XXXXX. + + REPORT SECTION. + RD r1 PAGE LIMIT 1 LINES 1 COLUMNS + HEADING f-rec, + HEADING f-rec, + LINE LIMIT 1. + + RD r2 PAGE LIMIT 1 COLUMNS + HEADING f-rec. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:548: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:548" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:19: error: duplicate HEADING clause +prog.cob:19: error: duplicate LINE LIMIT clause +prog.cob:22: error: cannot specify HEADING without number of lines on page +" | \ + $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:548" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_reportwriter.at:556' \ + "Report FD without period" " " 2 +at_xfail=no +( + printf "%s\n" "246. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: these samples used to loop in the error handling + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN "f.txt". + + DATA DIVISION. + FILE SECTION. + FD f REPORT +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN "f.txt". + + DATA DIVISION. + FILE SECTION. + FD f REPORT r +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:589: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:589" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: syntax error, unexpected end of file, expecting 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_reportwriter.at:589" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:592: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_reportwriter.at:592" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:13: error: syntax error, unexpected end of file, 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_reportwriter.at:592" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_reportwriter.at:598' \ + "REPORT with unreferenced control field" " " 2 +at_xfail=no +( + printf "%s\n" "247. $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". + + DATA DIVISION. + FILE SECTION. + FD f REPORT r. + 01 f-rec PIC X. + + REPORT SECTION. + RD r. + 01 r0 TYPE DETAIL, PRESENT AFTER NEW f-rec. +_ATEOF + + +# no compile_only here as we check the C generation +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:621: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_reportwriter.at:621" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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_reportwriter.at:621" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_reportwriter.at:626' \ + "Incorrect USAGE clause" " " 2 +at_xfail=no +( + printf "%s\n" "248. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + 01 WS-INPUT-RECORD. + 05 WSI-A PIC X(1). + 05 WSI-B PIC X(1). + 05 WSI-C PIC X(1). + 05 WSI-V PIC 9. + + REPORT SECTION. + RD rp PAGE LIMIT 3. + + 01 rp-detail TYPE DE. + 02 LINE PLUS 1. + 03 FILLER SOURCE foo PIC X(30). + 03 FILLER PIC X(6) SOURCE "<--->". + 03 THING1 PIC 9(3) BINARY VALUE 12. + 03 THING2 COMP-2 VALUE 12. + + 01 CF-A TYPE CONTROL FOOTING WSI-A. + 02 LINE PLUS 1. + 03 COLUMN 1 VALUE "**SUM:". + 03 COLUMN PLUS 2 SUM WSI-V. + 03 COLUMN PLUS 2 SUM WSI-V PIC XXX. + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + INITIATE rp. + + MOVE "hello" TO foo. + GENERATE rp-detail. + + MOVE "goodbye" TO foo. + GENERATE rp-detail. + + TERMINATE rp. + CLOSE report-file. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_reportwriter.at:683: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.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"; printf "%s\n" "prog.cob:30: error: syntax error, unexpected BINARY, expecting DISPLAY or DISPLAY-1 or NATIONAL or UTF-8 +prog.cob:31: error: syntax error, unexpected COMP-2, expecting DISPLAY or DISPLAY-1 or NATIONAL or UTF-8 +prog.cob:36: error: needs PICTURE clause for SUM WSI-V +prog.cob:37: warning: non-numeric PICTURE clause for SUM WSI-V +" | \ + $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: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_248 +#AT_START_249 +at_fn_group_banner 249 'syn_refmod.at:26' \ + "valid reference-modification" " " 2 +at_xfail=no +( + printf "%s\n" "249. $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". + 77 VAR PIC 9 VALUE 1. + PROCEDURE DIVISION. + DISPLAY X(1:1) ":" X(1:2) ":" X(1:3) ":" X(1:4) ":" X(1:). + DISPLAY X(2:1) ":" X(2:2) ":" X(2:3) ":" X(2:). + DISPLAY X(3:1) ":" X(3:2) ":" X(3:). + DISPLAY X(4:1) ":" X(4:). + DISPLAY X(1:4) + DISPLAY X(VAR:4) + DISPLAY X(4:) + DISPLAY X(4:VAR) + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:48: \$COMPILE -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdiagnostics-show-option prog.cob" "syn_refmod.at:48" +( $at_check_trace; $COMPILE -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: warning: suspicious reference-modification: always using max. length [-Wothers] +prog.cob:16: warning: suspicious reference-modification: always using max. position [-Wothers] +" | \ + $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: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_249 +#AT_START_250 +at_fn_group_banner 250 'syn_refmod.at:55' \ + "invalid reference-modification" " " 2 +at_xfail=no +( + printf "%s\n" "250. $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". + 88 X-AB VALUE "AB". + PROCEDURE DIVISION. + DISPLAY X-AB(1:1). + *> TODO: more to add + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:71: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_refmod.at:71" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: 'X-AB' cannot be reference modified +prog.cob:9: error: condition-name not allowed here: 'X-AB' +" | \ + $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:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_refmod.at:79' \ + "Static out of bounds" " " 2 +at_xfail=no +( + printf "%s\n" "251. $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 9 VALUE 1. + PROCEDURE DIVISION. + DISPLAY X(0:1) + END-DISPLAY. + DISPLAY X(0:Y) + END-DISPLAY. + DISPLAY X(5:1) + END-DISPLAY. + DISPLAY X(5:Y) + END-DISPLAY. + DISPLAY X(1:0) + END-DISPLAY. + DISPLAY X(Y:0) + END-DISPLAY. + DISPLAY X(1:5) + END-DISPLAY. + DISPLAY X(Y:5) + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:109: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_refmod.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"; printf "%s\n" "prog.cob:9: error: offset of 'X' out of bounds: 0 +prog.cob:11: error: offset of 'X' out of bounds: 0 +prog.cob:13: error: offset of 'X' out of bounds: 5 +prog.cob:15: error: offset of 'X' out of bounds: 5 +prog.cob:17: error: length of 'X' out of bounds: 0 +prog.cob:19: error: length of 'X' out of bounds: 0 +prog.cob:21: error: length of 'X' out of bounds: 5 +prog.cob:23: 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: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_251 +#AT_START_252 +at_fn_group_banner 252 'syn_refmod.at:123' \ + "constant-folding out of bounds" " " 2 +at_xfail=no +( + printf "%s\n" "252. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: actually checking out of bounds in general, too + +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) + DISPLAY X(1: 4 - VAR-LEN) + DISPLAY X(9 - VAR-LEN:1) + DISPLAY X(1:9 - VAR-LEN) + *> special test... + INSPECT X CONVERTING "DEF" TO X (1:0 + VAR-LEN) + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:147: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-numlit-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-numlit-expression prog.cob" "syn_refmod.at:147" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-numlit-expression prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: offset of 'X' out of bounds: 0 [-Wignored-error] +prog.cob:11: warning: length of 'X' out of bounds: 0 [-Wignored-error] +prog.cob:12: warning: offset of 'X' out of bounds: 5 [-Wignored-error] +prog.cob:13: warning: length of 'X' out of bounds: 5 [-Wignored-error] +prog.cob:15: warning: CONVERTING operands incompatible [-Wignored-error] +prog.cob:15: note: operands differ in 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_refmod.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:155: \$COMPILE_ONLY -Wno-constant-numlit-expression -fno-constant-folding prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-constant-numlit-expression -fno-constant-folding prog.cob" "syn_refmod.at:155" +( $at_check_trace; $COMPILE_ONLY -Wno-constant-numlit-expression -fno-constant-folding prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: CONVERTING operands incompatible +prog.cob:15: note: 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_refmod.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_252 +#AT_START_253 +at_fn_group_banner 253 'syn_refmod.at:163' \ + "no static bound check for ANY LENGTH" " " 2 +at_xfail=no +( + printf "%s\n" "253. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 POS PIC 9(4). + LINKAGE SECTION. + 01 TESTME PIC X ANY LENGTH. + PROCEDURE DIVISION USING TESTME. + main. + evaluate true + when TESTME(POS:2) = ", " + continue + when TESTME(POS:1) = "," and TESTME(1 + POS:1) = " " + display 'TESTME' pos 1525 + end-evaluate + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_refmod.at:185: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_refmod.at:185" +( $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_refmod.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:23' \ + "ambiguous AND/OR" " " 2 +at_xfail=no +( + printf "%s\n" "254. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:46: \$COMPILE_ONLY -Wno-constant-numlit-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-constant-numlit-expression prog.cob" "syn_misc.at:46" +( $at_check_trace; $COMPILE_ONLY -Wno-constant-numlit-expression prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: suggest parentheses around AND within OR +prog.cob:14: 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_254 +#AT_START_255 +at_fn_group_banner 255 'syn_misc.at:54' \ + "warn constant expressions" " " 2 +at_xfail=no +( + printf "%s\n" "255. $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 + IF "a" = "b" + DISPLAY "NO" + END-DISPLAY + END-IF. + IF "c" = "c " + DISPLAY "NO" + END-DISPLAY + END-IF. + STOP RUN. +_ATEOF + + +# FIXME positions broken +# Note: also checks that -Wconstant-expression works as "group" warning +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:84: \$COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-expression prog.cob" "syn_misc.at:84" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-expression prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +prog.cob:10: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +prog.cob:15: warning: expression 'a' EQUALS 'b' is always FALSE [-Wconstant-expression] +prog.cob:19: warning: expression 'c' EQUALS 'c ' is always TRUE [-Wconstant-expression] +" | \ + $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:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:94: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses prog.cob" "syn_misc.at:94" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +prog.cob:10: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +prog.cob:15: warning: expression 'a' EQUALS 'b' is always FALSE [-Wconstant-expression] +prog.cob:19: warning: expression 'c' EQUALS 'c ' is always TRUE [-Wconstant-expression] +" | \ + $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:94" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:104: \$COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-numlit-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-numlit-expression prog.cob" "syn_misc.at:104" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -w -Wconstant-numlit-expression prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:6: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +prog.cob:10: warning: expression '3' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '2' is always FALSE [-Wconstant-numlit-expression] +prog.cob:11: warning: expression '3' EQUALS '3' is always TRUE [-Wconstant-numlit-expression] +" | \ + $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:104" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:112: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses -Wno-constant-numlit-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses -Wno-constant-numlit-expression prog.cob" "syn_misc.at:112" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-parentheses -Wno-constant-numlit-expression prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: warning: expression 'a' EQUALS 'b' is always FALSE [-Wconstant-expression] +prog.cob:19: warning: expression 'c' EQUALS 'c ' is always TRUE [-Wconstant-expression] +" | \ + $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: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_255 +#AT_START_256 +at_fn_group_banner 256 'syn_misc.at:120' \ + "warn literal size" " " 2 +at_xfail=no +( + printf "%s\n" "256. $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'. + 01 PIC-9-SIGNED PIC S9(2) VALUE 5. + 01 PIC-9-SIGNED-DECIMAL PIC S9(2)V99 VALUE 5. + 01 PIC-9-NOT-SIGNED PIC 9(3) VALUE 5. + 01 PIC-9-NOT-DECIMAL PIC 9(3) VALUE 5. + 01 XX PIC 9(2) VALUE 2. + 01 PIC-9-DECIMAL PIC 9(3)V9 VALUE 5. + 01 COMPUTE-1 PIC 999V9999 VALUE 654.1873. + 01 GROUP-ITEM-X6. + 05 FILLER PIC X(6) VALUE 'CAT'. + 78 CONST1 VALUE 'CAT '. + 01 CONST2 CONSTANT AS 00000001234. + 01 IF-D16 PIC PP99 VALUE .0012. + PROCEDURE DIVISION. + MAIN. + IF GROUP-ITEM-X6 = '1234567' CONTINUE. + IF PIC-9-NOT-DECIMAL = 1.1 CONTINUE. + IF PIC-9-NOT-DECIMAL = 1.0 + CONTINUE. + IF PIC-9-DECIMAL = 1.01 + CONTINUE. + IF PIC-9-DECIMAL = 1.100 + CONTINUE. + IF PIC-9-SIGNED NOT = 11.0 + CONTINUE. + IF PIC-9-NOT-SIGNED < 0 + CONTINUE. + IF PIC-9-NOT-SIGNED < ZERO + CONTINUE. + IF PIC-9-NOT-SIGNED < (25 - 50) + CONTINUE. + IF PIC-9-DECIMAL = (2.24 / 2) + CONTINUE. + IF PIC-9-NOT-DECIMAL = "123" + CONTINUE. + IF PIC-9-NOT-DECIMAL = "1B0" *> field is numeric + CONTINUE. + IF PIC-9-NOT-DECIMAL (1:3) = "1B0" *> refmod is always alphanumeric + CONTINUE. + IF PIC-9-NOT-DECIMAL (1:3) NOT = "Hot Doggy" + CONTINUE. + IF PIC-9-NOT-DECIMAL (1:XX) NOT = "Hi" + CONTINUE. + IF WS-LINE-NUMBER > '123' + CONTINUE. + IF WS-TEXT > 'DOGGY' + CONTINUE. + IF WS-NUMBER > 123.999 + CONTINUE. + IF WS-LINE-NUMBER > 2345 + CONTINUE. + IF WS-LINE-NUMBER <= 1234 + CONTINUE. + IF WS-LINE-NUMBER > '1234' + CONTINUE. + IF 5432 < WS-LINE-NUMBER + CONTINUE. + IF 7855 >= WS-LINE-NUMBER + CONTINUE. + IF 1234 < WS-LINE-NUMBER + CONTINUE. + IF 5432 >= WS-LINE-NUMBER + CONTINUE. + IF WS-TEXT > 'DOGGY++' + CONTINUE. + IF WS-TEXT > 3141596 + CONTINUE. + IF WS-TEXT > 3.141596 + CONTINUE. + IF WS-TEXT = 3.141596 + 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. + IF ( COMPUTE-1 < 654.20038) AND + ( COMPUTE-1 > 654.17422) THEN + CONTINUE. + IF ( COMPUTE-1 < 5654.20) CONTINUE. + IF ( COMPUTE-1 > 5654.20) CONTINUE. + IF COMPUTE-1 < 05654.20 CONTINUE. + IF COMPUTE-1 > 05654.20 CONTINUE. + IF ( 5654.20 > COMPUTE-1) CONTINUE. + IF ( 5654.20 < COMPUTE-1) CONTINUE. + IF 05654.20 > COMPUTE-1 CONTINUE. + IF 05654.20 < COMPUTE-1 CONTINUE. + IF IF-D16 POSITIVE + CONTINUE. + IF IF-D16 NOT POSITIVE + CONTINUE. + IF IF-D16 NEGATIVE + CONTINUE. + IF IF-D16 NOT NEGATIVE + CONTINUE. + IF PIC-9-NOT-SIGNED > (25 - 50) + CONTINUE. + IF PIC-9-NOT-SIGNED >= -1 CONTINUE. + IF PIC-9-NOT-SIGNED >= -.1 CONTINUE. + IF PIC-9-NOT-SIGNED > 0.0 CONTINUE. + IF PIC-9-NOT-SIGNED > .0 CONTINUE. + IF PIC-9-NOT-SIGNED > ZERO + CONTINUE. + IF PIC-9-NOT-SIGNED >= 0.0 CONTINUE. + IF PIC-9-NOT-SIGNED >= .0 CONTINUE. + IF PIC-9-NOT-SIGNED >= ZERO + CONTINUE. + IF GROUP-ITEM-X6 (1:6) = '123456' + CONTINUE. + * Both have correct error check verified in syn_refmod.at + * IF GROUP-ITEM-X6 (2:6) = '123456' + * CONTINUE. + * IF GROUP-ITEM-X6 (WS-LINE-NUMBER:7) = '123456' + * CONTINUE. + IF GROUP-ITEM-X6 (1:5) = '123456' + CONTINUE. + IF GROUP-ITEM-X6 (3:) = '12345' + CONTINUE. + IF GROUP-ITEM-X6 (3:WS-LINE-NUMBER) = '12345' + CONTINUE. + IF GROUP-ITEM-X6 (WS-LINE-NUMBER:3) = '12345' + CONTINUE. + IF GROUP-ITEM-X6 (WS-LINE-NUMBER:WS-LINE-NUMBER) = '12345' + CONTINUE. + IF GROUP-ITEM-X6 (WS-LINE-NUMBER:) = '12345' + CONTINUE. + IF PIC-9-NOT-DECIMAL > 9 CONTINUE. + IF PIC-9-NOT-DECIMAL > 009 CONTINUE. + IF PIC-9-NOT-DECIMAL > 900 CONTINUE. + IF PIC-9-NOT-DECIMAL > 909 CONTINUE. + IF PIC-9-NOT-DECIMAL > 999 CONTINUE. + IF PIC-9-NOT-DECIMAL > 0000999 CONTINUE. + IF PIC-9-DECIMAL > 999 CONTINUE. + IF PIC-9-DECIMAL > 990.9 CONTINUE. + IF PIC-9-DECIMAL > 999.9 CONTINUE. + IF PIC-9-DECIMAL > 0999.90 CONTINUE. + IF PIC-9-DECIMAL > -0999.90 CONTINUE. + IF PIC-9-SIGNED-DECIMAL > 99.99 CONTINUE. + IF PIC-9-SIGNED-DECIMAL >= 99.99 CONTINUE. + IF PIC-9-SIGNED-DECIMAL < -99.99 CONTINUE. + IF PIC-9-SIGNED-DECIMAL <= -099.990 CONTINUE. + IF PIC-9-SIGNED-DECIMAL <= -099.991 CONTINUE. + IF 99 > XX CONTINUE. + IF XX NOT < 99 CONTINUE. + IF NOT XX < 99 CONTINUE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:292: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:292" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +prog.cob:23: warning: literal '1234567' is longer than 'GROUP-ITEM-X6' +prog.cob:23: warning: expression is always FALSE +prog.cob:24: warning: literal '1.1' has more decimals than 'PIC-9-NOT-DECIMAL' +prog.cob:24: warning: expression is always FALSE +prog.cob:27: warning: literal '1.01' has more decimals than 'PIC-9-DECIMAL' +prog.cob:27: warning: expression is always FALSE +prog.cob:33: warning: unsigned 'PIC-9-NOT-SIGNED' may not be LESS THAN ZERO +prog.cob:35: warning: unsigned 'PIC-9-NOT-SIGNED' may not be LESS THAN ZERO +prog.cob:38: warning: unsigned 'PIC-9-NOT-SIGNED' may not be LESS THAN -25 +prog.cob:40: warning: literal '1.12' has more decimals than 'PIC-9-DECIMAL' +prog.cob:40: warning: expression is always FALSE +prog.cob:43: warning: literal '1B0' is alphanumeric but 'PIC-9-NOT-DECIMAL' is numeric +prog.cob:47: warning: literal 'Hot Doggy' is longer than 'PIC-9-NOT-DECIMAL' +prog.cob:47: warning: expression is always TRUE +prog.cob:55: warning: literal '123.999' has more decimals than 'WS-NUMBER' +prog.cob:57: warning: literal '2345' has more digits than 'WS-LINE-NUMBER' +prog.cob:57: warning: expression is always FALSE +prog.cob:59: warning: literal '1234' has more digits than 'WS-LINE-NUMBER' +prog.cob:59: warning: expression is always TRUE +prog.cob:61: warning: literal '1234' has more digits than 'WS-LINE-NUMBER' +prog.cob:61: warning: expression is always FALSE +prog.cob:63: warning: literal '5432' has more digits than 'WS-LINE-NUMBER' +prog.cob:63: warning: expression is always FALSE +prog.cob:65: warning: literal '7855' has more digits than 'WS-LINE-NUMBER' +prog.cob:65: warning: expression is always TRUE +prog.cob:67: warning: literal '1234' has more digits than 'WS-LINE-NUMBER' +prog.cob:67: warning: expression is always FALSE +prog.cob:69: warning: literal '5432' has more digits than 'WS-LINE-NUMBER' +prog.cob:69: warning: expression is always TRUE +prog.cob:71: warning: literal 'DOGGY++' is longer than 'WS-TEXT' +prog.cob:73: warning: literal '3141596' is longer than 'WS-TEXT' +prog.cob:75: warning: literal '3.141596' is longer than 'WS-TEXT' +prog.cob:77: warning: literal '3.141596' is longer than 'WS-TEXT' +prog.cob:77: warning: expression is always FALSE +prog.cob:79: warning: literal 'DOG+CAT' is longer than 'WS-TEXT' +prog.cob:79: warning: expression is always TRUE +prog.cob:81: warning: literal 'CAT+DOG' is longer than 'WS-TEXT' +prog.cob:81: warning: expression is always FALSE +prog.cob:84: warning: literal 'DOG+CAT' is longer than 'WS-TEXT' +prog.cob:84: warning: expression is always FALSE +prog.cob:86: warning: expression 'CAT ' EQUALS 'CAT+DOG' is always FALSE +prog.cob:88: warning: expression 'CAT ' EQUALS 'CAT' is always TRUE +prog.cob:90: warning: expression '00000001234' EQUALS '1234' is always TRUE +prog.cob:97: warning: literal '654.20038' has more decimals than 'COMPUTE-1' +prog.cob:98: warning: literal '654.17422' has more decimals than 'COMPUTE-1' +prog.cob:100: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:100: warning: expression is always TRUE +prog.cob:101: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:101: warning: expression is always FALSE +prog.cob:102: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:102: warning: expression is always TRUE +prog.cob:103: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:103: warning: expression is always FALSE +prog.cob:104: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:104: warning: expression is always TRUE +prog.cob:105: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:105: warning: expression is always FALSE +prog.cob:106: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:106: warning: expression is always TRUE +prog.cob:107: warning: literal '5654.20' has more digits than 'COMPUTE-1' +prog.cob:107: warning: expression is always FALSE +prog.cob:112: warning: unsigned 'IF-D16' may not be LESS THAN ZERO +prog.cob:114: warning: unsigned 'IF-D16' may not be LESS THAN ZERO +prog.cob:117: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER THAN -25 +prog.cob:118: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER OR EQUAL -1 +prog.cob:119: warning: literal '-.1' has more decimals than 'PIC-9-NOT-SIGNED' +prog.cob:119: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER OR EQUAL -.1 +prog.cob:124: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER OR EQUAL ZERO +prog.cob:125: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER OR EQUAL ZERO +prog.cob:126: warning: unsigned 'PIC-9-NOT-SIGNED' may always be GREATER OR EQUAL ZERO +prog.cob:135: warning: literal '123456' is longer than reference-modification of 'GROUP-ITEM-X6' +prog.cob:135: warning: expression is always FALSE +prog.cob:137: warning: literal '12345' is longer than reference-modification of 'GROUP-ITEM-X6' +prog.cob:137: warning: expression is always FALSE +prog.cob:139: warning: literal '12345' is longer than reference-modification of 'GROUP-ITEM-X6' +prog.cob:139: warning: expression is always FALSE +prog.cob:141: warning: literal '12345' is longer than reference-modification of 'GROUP-ITEM-X6' +prog.cob:141: warning: expression is always FALSE +prog.cob:151: warning: 'PIC-9-NOT-DECIMAL' may not be GREATER THAN 999 +prog.cob:152: warning: 'PIC-9-NOT-DECIMAL' may not be GREATER THAN 999 +prog.cob:155: warning: 'PIC-9-DECIMAL' may not be GREATER THAN 999.9 +prog.cob:156: warning: 'PIC-9-DECIMAL' may not be GREATER THAN 999.9 +prog.cob:157: warning: unsigned 'PIC-9-DECIMAL' may always be GREATER THAN -999.90 +prog.cob:158: warning: 'PIC-9-SIGNED-DECIMAL' may not be GREATER THAN 99.99 +prog.cob:159: warning: 'PIC-9-SIGNED-DECIMAL' may not be GREATER THAN 99.99 +prog.cob:160: warning: 'PIC-9-SIGNED-DECIMAL' may not be LESS THAN -99.99 +prog.cob:161: warning: 'PIC-9-SIGNED-DECIMAL' may not be LESS THAN -99.99 +prog.cob:162: warning: literal '-99.991' has more decimals than 'PIC-9-SIGNED-DECIMAL' +prog.cob:164: warning: 'XX' may not be GREATER THAN 99 +" | \ + $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:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:388' \ + "warn literal size in constant expr. (level 88)" " " 2 +at_xfail=no +( + printf "%s\n" "257. $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. + 88 never-true value 99. + 01 y PIC 9. + 88 never-truen value -9. + 01 xx pic x. + 88 some-not values 'a', 'b', 'cd'. + 88 some-not-s values '00', 'a', 'b', 'cd'. + + PROCEDURE DIVISION. + if never-true + continue + end-if + if never-truen + continue + end-if + if some-not-s + set some-not to true + set some-not-s to true + end-if + set never-true to true + goback. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:420: \$COMPILE_ONLY -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option prog.cob" "syn_misc.at:420" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: literal '99' has more digits than 'x' [-Wconstant-expression] +prog.cob:8: warning: expression is always FALSE [-Wconstant-expression] +prog.cob:13: warning: literal '00' is longer than 'xx' [-Wconstant-expression] +prog.cob:13: warning: expression is always FALSE [-Wconstant-expression] +prog.cob:13: warning: literal 'cd' is longer than 'xx' [-Wconstant-expression] +prog.cob:13: warning: expression is always FALSE [-Wconstant-expression] +prog.cob:24: warning: value size exceeds data size [-Wtruncate] +prog.cob:24: note: value size is 2 [-Wtruncate] +prog.cob:11: note: 'xx' defined here as PIC X [-Wtruncate] +prog.cob:26: warning: value size exceeds data size [-Wtruncate] +prog.cob:26: note: value is 99 [-Wtruncate] +prog.cob:7: note: 'x' defined here as PIC 9 [-Wtruncate] +" | \ + $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:420" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:438' \ + "Invalid conditional expression (1)" " " 2 +at_xfail=no +( + printf "%s\n" "258. $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. + + IF (V = 1) AND V + CONTINUE. + + IF (1 = 2) *> valid + CONTINUE. + + IF 1 == 2 + CONTINUE. + + IF (1 == 2) + CONTINUE. + + IF + + CONTINUE. + + EVALUATE V + WHEN - + CONTINUE + END-EVALUATE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:542: \$COMPILE_ONLY -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmax-errors=0 prog.cob" "syn_misc.at:542" +( $at_check_trace; $COMPILE_ONLY -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: incomplete expression +prog.cob:14: error: incomplete expression +prog.cob:18: error: incomplete expression +prog.cob:22: error: incomplete expression +prog.cob:26: error: incomplete expression +prog.cob:30: error: invalid conditional expression +prog.cob:35: error: incomplete expression +prog.cob:38: error: incomplete expression +prog.cob:41: error: incomplete expression +prog.cob:44: error: incomplete expression +prog.cob:47: error: incomplete expression +prog.cob:54: error: incomplete expression +prog.cob:60: error: incomplete expression +prog.cob:66: error: incomplete expression +prog.cob:72: error: incomplete expression +prog.cob:76: error: 'NOTDEFINED' is not defined +prog.cob:79: error: invalid expression: boolean expected with logical operator +prog.cob:82: warning: expression '1' EQUALS '2' is always FALSE +prog.cob:85: error: invalid expression: unfinished expression +prog.cob:88: error: invalid expression: unfinished expression +prog.cob:92: error: invalid expression +prog.cob:96: 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: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_258 +#AT_START_259 +at_fn_group_banner 259 'syn_misc.at:570' \ + "Invalid conditional expression (2)" " " 2 +at_xfail=no +( + printf "%s\n" "259. $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. + 88 WRKN-IS-ZERO VALUE 0. + 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. + IF ( WRKN-IS-ZERO + 3 ) > 0 + DISPLAY "Weird if compiled" + END-IF. + IF ( 3 + WRKN-IS-ZERO ) > 0 + DISPLAY "Weird if compiled" + END-IF. + IF ( WRKN-IS-ZERO AND WRKN-IS-ZERO ) > 0 + DISPLAY "Weird if compiled" + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:624: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:624" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +prog.cob:13: error: condition expression found where decimal expression was expected +prog.cob:18: error: condition expression found where decimal expression was expected +prog.cob:21: error: condition expression found where decimal expression was expected +prog.cob:30: error: condition expression found where decimal expression was expected +prog.cob:33: error: invalid expression: unfinished expression +prog.cob:40: error: condition-name not allowed here: 'WRKN-IS-ZERO' +prog.cob:43: error: condition-name not allowed here: 'WRKN-IS-ZERO' +prog.cob:46: error: condition expression found where decimal expression was 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_misc.at:624" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:639' \ + "Invalid conditional expression (3)" " " 2 +at_xfail=no +( + printf "%s\n" "260. $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 FLD1 PIC 9 VALUE 1. + 01 FLD2 PIC 9 VALUE 2. + 01 FLDX PIC 9 VALUE 5. + 01 FLDY PIC 9 VALUE 6. + + PROCEDURE DIVISION. + IF 1 AND 2 > 1 THEN + DISPLAY 'Test 1 is WRONG' + ELSE + DISPLAY 'Test 1 is OK'. + + IF FLD1 AND FLDX > FLD2 THEN + DISPLAY 'Test 2 is OK' + ELSE + DISPLAY 'Test 2 is Wrong'. + + IF FLD1 OR FLDX > FLD2 THEN + DISPLAY 'Test 2 is OK' + ELSE + DISPLAY 'Test 2 is Wrong'. + + IF FLD1 > 2 AND FLDX > FLD2 THEN + DISPLAY 'Test 2 is OK' + ELSE + DISPLAY 'Test 2 is Wrong'. + + IF FLD2 IS NUMERIC AND FLD1 THEN + DISPLAY 'Test 2 is OK' + ELSE + DISPLAY 'Test 2 is Wrong'. + + IF FLDX > FLD2 AND FLD1 AND 8 THEN + DISPLAY 'Test 3 is OK ' FLDX ' > ' FLD2 ' & ' FLD1 + ELSE + DISPLAY 'Test 3 is Wrong'. + + IF FLDX > FLD2 OR FLD1 OR 8 THEN + DISPLAY 'Test 3 is OK' + ELSE + DISPLAY 'Test 3 is Wrong'. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:693: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:693" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: invalid conditional expression +prog.cob:20: error: invalid conditional expression +prog.cob:25: error: invalid conditional expression +prog.cob:35: error: invalid expression: boolean expected with logical operator +" | \ + $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:693" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:703' \ + "Valid conditional expression" " " 2 +at_xfail=no +( + printf "%s\n" "261. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:730: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:730" +( $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:730" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:731: \$COMPILE_ONLY -fno-constant-folding prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fno-constant-folding prog.cob" "syn_misc.at:731" +( $at_check_trace; $COMPILE_ONLY -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:731" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:736' \ + "missing headers" " " 2 +at_xfail=no +( + printf "%s\n" "262. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:763: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:763" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:763" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:773: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:773" +( $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"; printf "%s\n" "prog.cob:2: warning: PROGRAM-ID header missing +prog.cob:2: note: PROGRAM-ID header assumed +prog.cob:2: warning: ENVIRONMENT DIVISION header missing +prog.cob:2: note: ENVIRONMENT DIVISION header assumed +prog.cob:2: warning: CONFIGURATION SECTION header missing +prog.cob:2: note: CONFIGURATION SECTION header assumed +prog.cob:10: warning: INPUT-OUTPUT SECTION header missing +prog.cob:10: note: INPUT-OUTPUT SECTION header assumed +prog.cob:10: warning: FILE-CONTROL header missing +prog.cob:10: note: FILE-CONTROL header assumed +prog.cob:14: warning: FILE SECTION header missing +prog.cob:14: note: FILE SECTION header assumed +prog.cob:17: warning: PROCEDURE DIVISION header missing +prog.cob:17: note: PROCEDURE DIVISION header 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: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_262 +#AT_START_263 +at_fn_group_banner 263 'syn_misc.at:793' \ + "one line program" " " 2 +at_xfail=no +( + printf "%s\n" "263. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + DISPLAY "minimal". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:799: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:799" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:799" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:804: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:804" +( $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"; printf "%s\n" "prog.cob:1: warning: PROGRAM-ID header missing +prog.cob:1: note: PROGRAM-ID header assumed +prog.cob:1: warning: PROCEDURE DIVISION header missing +prog.cob:1: note: PROCEDURE DIVISION header 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:804" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:814' \ + "empty program" " " 2 +at_xfail=no +( + printf "%s\n" "264. $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 + + +# Note: we need to test for generating a valid C source (with normal/no flags) +# here, not only for COBOL compilation +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:829: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.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/syn_misc.at:829" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:830: \$COBC prog.cob" +at_fn_check_prepare_dynamic "$COBC prog.cob" "syn_misc.at:830" +( $at_check_trace; $COBC prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:830" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x PIC 999 VALUE 124. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:841: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "syn_misc.at:841" +( $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/syn_misc.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:842: \$COBC prog2.cob" +at_fn_check_prepare_dynamic "$COBC prog2.cob" "syn_misc.at:842" +( $at_check_trace; $COBC 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:842" +$at_failed && at_fn_log_failure +$at_traceon; } + + +: >prog3.cob + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:846: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:846" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:846" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:850: \$COMPILE -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob" "syn_misc.at:850" +( $at_check_trace; $COMPILE -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:1: warning: PROGRAM-ID header missing +prog3.cob:1: note: PROGRAM-ID header 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:850" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:854: \$COBC -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob" +at_fn_check_prepare_dynamic "$COBC -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob" "syn_misc.at:854" +( $at_check_trace; $COBC -fdiagnostics-plain-output -frelax-syntax-checks prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:1: warning: PROGRAM-ID header missing [-Wothers] +prog3.cob:1: note: PROGRAM-ID header assumed [-Wothers] +" | \ + $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:854" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:862' \ + "INITIALIZE constant" " " 2 +at_xfail=no +( + printf "%s\n" "265. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:880: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:880" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:880" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:889' \ + "CLASS duplicate values" " " 2 +at_xfail=no +( + printf "%s\n" "266. $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' + . + 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 +printf "%s\n" "$at_srcdir/syn_misc.at:915: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:915" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: duplicate character values in class 'CHECK-VALID' +" | \ + $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:915" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:922' \ + "INSPECT invalid size" " " 2 +at_xfail=no +( + printf "%s\n" "267. $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 ASCII. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01. + 02 X-POS PIC 9 VALUE 3. + 02 X PIC X(8) OCCURS 2. + PROCEDURE DIVISION. + INSPECT X(1) REPLACING ALL SPACES BY "AA". + INSPECT X(1) REPLACING ALL "ABC" BY "AA". + INSPECT X(1) REPLACING ALL "DEF" BY SPACES. + INSPECT X(1) CONVERTING SPACES TO "AA". + INSPECT X(1) CONVERTING "ABC" TO "AA". + INSPECT X(1) (X-POS:2) CONVERTING "DEF" TO SPACES. + INSPECT X(1) CONVERTING "GHI" TO ALPHA. + *> the following is allowed, see NC221A and ref-mod definition + INSPECT X(1) CONVERTING "DEF" TO X(2) (X-POS:3). + INSPECT X(1) CONVERTING "DEF" TO X(2) (X-POS:4). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:951: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:951" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: error: REPLACING operands incompatible +prog.cob:14: note: operands differ in size +prog.cob:15: error: REPLACING operands incompatible +prog.cob:15: note: operands differ in size +prog.cob:17: error: CONVERTING operands incompatible +prog.cob:17: note: operands differ in size +prog.cob:18: error: CONVERTING operands incompatible +prog.cob:18: note: operands differ in size +prog.cob:20: error: CONVERTING operands incompatible +prog.cob:20: note: operands differ in size +prog.cob:23: error: CONVERTING operands incompatible +prog.cob:23: note: 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:951" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:969' \ + "INSPECT invalid target" " " 2 +at_xfail=no +( + printf "%s\n" "268. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:984: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:984" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:984" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:992' \ + "INSPECT missing keyword" " " 2 +at_xfail=no +( + printf "%s\n" "269. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1006: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1006" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_269 +#AT_START_270 +at_fn_group_banner 270 'syn_misc.at:1013' \ + "INSPECT repeated keywords" " " 2 +at_xfail=no +( + printf "%s\n" "270. $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. + *> Ok + INSPECT "abcde" TALLYING x FOR CHARACTERS CHARACTERS + + *> Not ok + INSPECT "abcde" TALLYING x FOR ALL LEADING + TRAILING ALL ALL ALL TRAILING + INSPECT "abcde" TALLYING x FOR x FOR LEADING "a" + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1035: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1035" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: error: missing value between ALL/LEADING/TRAILING words +prog.cob:15: error: missing value between ALL/LEADING/TRAILING words +prog.cob:15: error: missing value between ALL/LEADING/TRAILING words +prog.cob:15: error: missing value between ALL/LEADING/TRAILING words +prog.cob:15: error: missing value between ALL/LEADING/TRAILING words +prog.cob:15: error: missing value between ALL/LEADING/TRAILING words +prog.cob:16: error: TALLYING clause is incomplete +prog.cob:16: 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:1035" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1049' \ + "INSPECT incomplete clause" " " 2 +at_xfail=no +( + printf "%s\n" "271. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1065: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1065" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1065" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:1071' \ + "INSPECT multiple BEFORE/AFTER clauses" " " 2 +at_xfail=no +( + printf "%s\n" "272. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1088: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1088" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1088" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:1094' \ + "EXAMINE invalid literals" " " 2 +at_xfail=no +( + printf "%s\n" "273. $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). + 01 y PIC X. + 01 yy PIC XX. + + PROCEDURE DIVISION. + EXAMINE x TALLYING ALL "AA" REPLACING BY "CC" + EXAMINE x TALLYING UNTIL FIRST SPACE + EXAMINE x TALLYING UNTIL FIRST y + EXAMINE x TALLYING LEADING yy + EXAMINE y TALLYING ALL x (1). + EXAMINE y TALLYING ALL x (3:2). + EXAMINE x TALLYING UNTIL FIRST ALL +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1117: \$COMPILE_ONLY -freserved=EXAMINE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=EXAMINE prog.cob" "syn_misc.at:1117" +( $at_check_trace; $COMPILE_ONLY -freserved=EXAMINE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: single-character literal or data item expected +prog.cob:12: error: single-character literal or data item expected +prog.cob:15: error: single-character literal or data item expected +prog.cob:16: error: single-character literal or data item expected +prog.cob:16: error: syntax error, unexpected ( +prog.cob:17: error: single-character literal or data item expected +prog.cob:17: error: syntax error, unexpected ( +prog.cob:18: error: syntax error, unexpected ALL +" | \ + $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:1117" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:1130' \ + "maximum data size" " " 2 +at_xfail=no +( + printf "%s\n" "274. $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(9999999999). + 01 GROUP-ITEM1. + 05 FILLER PIC X(9999999999). + 01 GROUP-ITEM2. + 05 FILLER PIC X(199999999). + 05 FILLER PIC X(199999999). + >> IF P64 SET + 05 FILLER PIC X(1999999999). + >> END-IF + PROCEDURE DIVISION. + STOP RUN. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1152: test \"\$COB_HAS_64_BIT_POINTER\" = \"yes\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_64_BIT_POINTER\" = \"yes\"" "syn_misc.at:1152" +( $at_check_trace; test "$COB_HAS_64_BIT_POINTER" = "yes" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1152" +if $at_failed +then : + # Previous test "failed" --> 32 bit +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1152: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1152" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1152" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +else $as_nop + # Previous test "passed" --> 64 bit +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1152: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1152" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: 'SINGLE-ITEM' cannot be larger than 2147483646 bytes +prog.cob:8: error: 'FILLER 1' cannot be larger than 2147483646 bytes +prog.cob:7: error: 'GROUP-ITEM1' cannot be larger than 2147483646 bytes +prog.cob:9: error: 'GROUP-ITEM2' cannot be larger than 2147483646 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:1152" +$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_274 +#AT_START_275 +at_fn_group_banner 275 'syn_misc.at:1178' \ + "unreachable statement" " " 2 +at_xfail=no +( + printf "%s\n" "275. $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. + GO TO P03 + CONTINUE. *> explicit no unreachable warning + P03. + GO TO P04 + CONTINUE AFTER 2 SECONDS. *> that's one again + P04. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1218: \$COMPILE_ONLY -Wunreachable prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wunreachable prog.cob" "syn_misc.at:1218" +( $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"; printf "%s\n" "prog.cob: in paragraph 'P01': +prog.cob:26: warning: unreachable statement 'DISPLAY' +prog.cob: in paragraph 'P03': +prog.cob:33: warning: unreachable statement 'CONTINUE AFTER' +" | \ + $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:1218" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1228' \ + "CRT STATUS" " " 2 +at_xfail=no +( + printf "%s\n" "276. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1262: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1262" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1262" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1265: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:1265" +( $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:1265" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1270' \ + "SPECIAL-NAMES clause" " " 2 +at_xfail=no +( + printf "%s\n" "277. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: actually this is the only place for some CRT STATUS checks... + +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 CURSOR-POSITION IS SPECIAL-NAMES CURSOR. + 03 CURSOR-ROW PIC 999. + 03 CURSOR-COL PIC 999. + 77 MY-CRT-STATUS PIC 9(04). + 77 CRT-STATUS IS SPECIAL-NAMES CRT STATUS PIC 9(5). + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CRT-STATUS IS SPECIAL-NAMES CRT STATUS PIC X(5). + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 CURSOR-POSITION IS SPECIAL-NAMES CURSOR. + 03 CURSOR-ROW PIC 999. + 03 CURSOR-COL PIC 999. + 77 CRT-STATUS PIC X(4) IS SPECIAL-NAMES CRT STATUS. + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 CURSOR-POSITION IS SPECIAL-NAMES CURSOR. + 03 CURSOR-ROW PIC 999. + 03 CURSOR-COL PIC 999. + 77 CRT-STATUS PIC 9(5) IS SPECIAL-NAMES CRT STATUS. + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +cat >prog5.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CRT-STATUS PIC 9(3) IS SPECIAL-NAMES CRT STATUS. + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +cat >prog6.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CRT-STATUS PIC X(3) IS SPECIAL-NAMES CRT STATUS. + PROCEDURE DIVISION. + ACCEPT OMITTED END-ACCEPT. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1355: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1355" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: error: duplicate CRT STATUS 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:1355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1358: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:1358" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:6: error: 'CRT-STATUS' CRT STATUS must be 3 or 4 characters 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:1358" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1361: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:1361" +( $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_misc.at:1361" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1362: \$COMPILE_ONLY prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_misc.at:1362" +( $at_check_trace; $COMPILE_ONLY 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/syn_misc.at:1362" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1363: \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_misc.at:1363" +( $at_check_trace; $COMPILE_ONLY prog5.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog5.cob:6: error: 'CRT-STATUS' numeric CRT STATUS must have at least 4 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:1363" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1366: \$COMPILE_ONLY prog6.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog6.cob" "syn_misc.at:1366" +( $at_check_trace; $COMPILE_ONLY prog6.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1366" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1371' \ + "CURRENCY SIGN" " " 2 +at_xfail=no +( + printf "%s\n" "278. $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 'DOLLAR'. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CURRENCY 'DOLLAR' + WITH PICTURE SYMBOL '$'. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 SOME-CASH PIC 9(04).99$. + PROCEDURE DIVISION. + MOVE 123.4 TO SOME-CASH + DISPLAY SOME-CASH END-DISPLAY. + STOP RUN. +_ATEOF + + +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog4. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CURRENCY ' ' + PICTURE SYMBOL '*'. +_ATEOF + + +cat >prog5.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog5. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CURRENCY ' T ' + PICTURE SYMBOL ' '. +_ATEOF + + +cat >prog6.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog6. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CURRENCY '+-' + PICTURE SYMBOL 'TT'. +_ATEOF + + +cat >prog7.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog7. + 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 +printf "%s\n" "$at_srcdir/syn_misc.at:1455: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1455" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: invalid character '*' in 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/syn_misc.at:1455" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1458: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:1458" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: currency symbol 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:1458" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1461: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:1461" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:7: warning: separate currency symbol and currency string 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:1461" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1464: \$COMPILE_ONLY prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_misc.at:1464" +( $at_check_trace; $COMPILE_ONLY prog4.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog4.cob:7: warning: separate currency symbol and currency string is not implemented +prog4.cob:7: error: invalid CURRENCY SIGN ' ' +prog4.cob:8: error: invalid character '*' in 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/syn_misc.at:1464" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1469: \$COMPILE_ONLY prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_misc.at:1469" +( $at_check_trace; $COMPILE_ONLY prog5.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog5.cob:7: warning: separate currency symbol and currency string is not implemented +prog5.cob:8: error: invalid character ' ' in 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/syn_misc.at:1469" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1473: \$COMPILE_ONLY prog6.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog6.cob" "syn_misc.at:1473" +( $at_check_trace; $COMPILE_ONLY prog6.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog6.cob:7: warning: separate currency symbol and currency string is not implemented +prog6.cob:7: error: invalid CURRENCY SIGN '+-' +prog6.cob:8: error: currency symbol 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:1473" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1478: \$COMPILE_ONLY prog7.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog7.cob" "syn_misc.at:1478" +( $at_check_trace; $COMPILE_ONLY prog7.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1478" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1483' \ + "SWITCHES" " " 2 +at_xfail=no +( + printf "%s\n" "279. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1567: \$COMPILE_ONLY prog.cob -fmax-errors=0" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob -fmax-errors=0" "syn_misc.at:1567" +( $at_check_trace; $COMPILE_ONLY prog.cob -fmax-errors=0 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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:1567" +$at_failed && at_fn_log_failure +$at_traceon; } + +# FIXME: There should be an additional +#prog.cob:19: error: duplicate definition of 'SWITCH-25' +#prog.cob:15: note: 'SWITCH-25' previously defined here +# +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1594: \$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:1594" +( $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"; printf "%s\n" "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:1594" +$at_failed && at_fn_log_failure +$at_traceon; } + +# FIXME: There should be an additional +#prog.cob:19: error: duplicate definition of 'SWITCH-25' +#prog.cob:15: note: 'SWITCH-25' previously defined here +#prog.cob:23: error: duplicate definition of 'SWITCH 25' +#prog.cob:15: note: 'SWITCH-25' previously defined here +#prog.cob:27: error: duplicate definition of 'SWITCH Y' +#prog.cob:15: note: '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_279 +#AT_START_280 +at_fn_group_banner 280 'syn_misc.at:1609' \ + "unexpected mnemonic-name location" " " 2 +at_xfail=no +( + printf "%s\n" "280. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1627: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1627" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1627" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1636' \ + "wrong device for mnemonic-name" " " 2 +at_xfail=no +( + printf "%s\n" "281. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1653: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1653" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1653" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1661' \ + "missing mnemonic-name declaration" " " 2 +at_xfail=no +( + printf "%s\n" "282. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1675: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1675" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_282 +#AT_START_283 +at_fn_group_banner 283 'syn_misc.at:1682' \ + "unknown device in dialect" " " 2 +at_xfail=no +( + printf "%s\n" "283. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1697: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1697" +( $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:1697" +$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 +printf "%s\n" "$at_srcdir/syn_misc.at:1705: \$COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob" "syn_misc.at:1705" +( $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"; printf "%s\n" "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:1705" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1712' \ + "ACCEPT WITH ( NO ) UPDATE / DEFAULT" " " 2 +at_xfail=no +( + printf "%s\n" "284. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1732: \$COMPILE_ONLY -faccept-update prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-update prog.cob" "syn_misc.at:1732" +( $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:1732" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1737' \ + "ACCEPT WITH AUTO / TAB" " " 2 +at_xfail=no +( + printf "%s\n" "285. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1757: \$COMPILE_ONLY -faccept-auto prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-auto prog.cob" "syn_misc.at:1757" +( $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:1757" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1762' \ + "ACCEPT WITH LOWER / UPPER" " " 2 +at_xfail=no +( + printf "%s\n" "286. $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). + PROCEDURE DIVISION. + ACCEPT X WITH LOWER END-ACCEPT. + ACCEPT X WITH UPPER END-ACCEPT. + ACCEPT X LOWER + ACCEPT X UPPER + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1779: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1779" +( $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:1779" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1784' \ + "ACCEPT WITH SIZE" " " 2 +at_xfail=no +( + printf "%s\n" "287. $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 SIZE Y END-ACCEPT. + ACCEPT X SIZE 0 + ACCEPT X SIZE IS 1 + ACCEPT X PROTECTED SIZE 2 + ACCEPT X PROTECTED SIZE IS 3 + ACCEPT X SIZE Y + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1808: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1808" +( $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: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_287 +#AT_START_288 +at_fn_group_banner 288 'syn_misc.at:1813' \ + "DISPLAY WITH SIZE" " " 2 +at_xfail=no +( + printf "%s\n" "288. $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. + DISPLAY X AT 0101 SIZE 5 END-DISPLAY. + DISPLAY X AT 0101 SIZE IS 6 END-DISPLAY. + DISPLAY X AT 0101 SIZE IS Y END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1833: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1833" +( $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:1833" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1838' \ + "source text after program-text area" " " 2 +at_xfail=no +( + printf "%s\n" "289. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:1852: \$COMPILE_ONLY -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wextra prog.cob" "syn_misc.at:1852" +( $at_check_trace; $COMPILE_ONLY -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1852" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1859' \ + "line overflow in fixed-form / free-form" " " 2 +at_xfail=no +( + printf "%s\n" "290. $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) + +# remark: some editors remove trailing spaces, the workaround: add "_" and +# remove it later via sed; AT_DATA would not do that when using double [[ ]] + +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 +printf "%s\n" "$at_srcdir/syn_misc.at:1884: \$SED -e 's/_\$//' prog_tmpl.cob > prog.cob" +at_fn_check_prepare_dynamic "$SED -e 's/_$//' prog_tmpl.cob > prog.cob" "syn_misc.at:1884" +( $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:1884" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1886: \$COBC -fsyntax-only -fdiagnostics-plain-output -fixed -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -fixed -Wextra prog.cob" "syn_misc.at:1886" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -fixed -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:11: warning: source text after program-text area (column 72) [-Wdangling-text] +" | \ + $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:1886" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1892: \$COBC -fsyntax-only -fdiagnostics-plain-output -free -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -free -Wextra prog.cob" "syn_misc.at:1892" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -free -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: error: syntax error, unexpected IS, expecting SECTION or . +prog.cob:8: note: 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:1892" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1899: \$COBC -fsyntax-only -fdiagnostics-plain-output -F -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -F -Wextra prog.cob" "syn_misc.at:1899" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -F -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: error: syntax error, unexpected IS, expecting SECTION or . +prog.cob:8: note: 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:1899" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check dialect option `format` (fixed for default) does not erase flags like `-F`, `--free`: +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1907: \$COBC -fsyntax-only -fdiagnostics-plain-output -F -std=default -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -F -std=default -Wextra prog.cob" "syn_misc.at:1907" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -F -std=default -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: warning: source text exceeds 512 bytes, will be truncated [-Wothers] +prog.cob:8: error: syntax error, unexpected IS, expecting SECTION or . +prog.cob:8: note: 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:1907" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1917' \ + "missing newline in fixed-form / free-form" " " 2 +at_xfail=no +( + printf "%s\n" "291. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + PROCEDURE DIVISION. + CONTINUE +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1929: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1929" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: optional period 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:1929" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# fixing the initial setup but now producing a missing newline: +printf " CONTINUE." >> prog.cob + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1936: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -fixed prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -fixed prog.cob" "syn_misc.at:1936" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -fixed prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: line not terminated by a newline [-Wmissing-newline] +" | \ + $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:1936" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1939: \$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -free prog.cob" +at_fn_check_prepare_dynamic "$COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -free prog.cob" "syn_misc.at:1939" +( $at_check_trace; $COBC -fsyntax-only -fdiagnostics-plain-output -Wextra -free prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: line not terminated by a newline [-Wmissing-newline] +" | \ + $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:1939" +$at_failed && at_fn_log_failure +$at_traceon; } + +# should not happen if the data only consists of space characters +printf "\n \t " >> prog.cob + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1945: \$COMPILE_ONLY -Wextra prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wextra prog.cob" "syn_misc.at:1945" +( $at_check_trace; $COMPILE_ONLY -Wextra prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1945" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:1951' \ + "continuation of COBOL words" " " 2 +at_xfail=no +( + printf "%s\n" "292. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + GO + - BACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1962: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:1962" +( $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"; printf "%s\n" "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:1962" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:1965: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1965" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:1965" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:1973' \ + "line and floating comments" " " 2 +at_xfail=no +( + printf "%s\n" "293. $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 'MFCOMMENT' END-DISPLAY + * DISPLAY 'NOMFCOMMENT' 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 'MFCOMMENT' END-DISPLAY + * DISPLAY 'NOMFCOMMENT' 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 'ACUCOMMENTDOLLAR' END-DISPLAY +* DISPLAY 'NOMFCOMMENT' END-DISPLAY + | DISPLAY 'ACUFLOATING' END-DISPLAY + *> DISPLAY 'FLOATING' END-DISPLAY + x DISPLAY 'WRONGINDICATOR' END-DISPLAY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2031: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:2031" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2031" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2033: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:2033" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "MFCOMMENT +NOMFCOMMENT +NOFLOATING +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2033" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2039: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:2039" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:11: error: invalid indicator '\$' at column 7 +prog2.cob:15: 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:2039" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# note: for checking the result we actually either need to run the program +# or change it to string concatenation and raise a constant compile +# time warning we do (historically) the first (for now) +# +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2048: \$COMPILE -fmfcomment prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fmfcomment prog.cob" "syn_misc.at:2048" +( $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:2048" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2051: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:2051" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "NOMFCOMMENT +NOFLOATING +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2051" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2056: \$COMPILE_ONLY -fmfcomment prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmfcomment prog2.cob" "syn_misc.at:2056" +( $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"; printf "%s\n" "prog2.cob:11: error: invalid indicator '\$' at column 7 +prog2.cob:15: 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:2056" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# COMPILE needed, see note above +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2062: \$COMPILE -facucomment prog.cob -o prog1" +at_fn_check_prepare_dynamic "$COMPILE -facucomment prog.cob -o prog1" "syn_misc.at:2062" +( $at_check_trace; $COMPILE -facucomment prog.cob -o 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 0 $at_status "$at_srcdir/syn_misc.at:2062" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2064: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "syn_misc.at:2064" +( $at_check_trace; $COBCRUN_DIRECT ./prog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "MFCOMMENT +NOMFCOMMENT +NOFLOATING +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2064" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# COMPILE needed, see note above +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2071: \$COMPILE -facucomment prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -facucomment prog2.cob" "syn_misc.at:2071" +( $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:2071" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2073: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "syn_misc.at:2073" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "MFCOMMENT +NOMFCOMMENT +NOACUFLOATING +NOFLOATING +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2073" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2081: \$COMPILE_ONLY -free prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog3.cob" "syn_misc.at:2081" +( $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"; printf "%s\n" "prog3.cob:11: warning: ignoring invalid directive: '\$ DISPLAY' +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: invalid symbol '|' - skipping word +prog3.cob:15: 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:2081" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2089: \$COMPILE_ONLY -free -fmfcomment prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fmfcomment prog3.cob" "syn_misc.at:2089" +( $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"; printf "%s\n" "prog3.cob:11: warning: ignoring invalid directive: '\$ DISPLAY' +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: invalid symbol '|' - skipping word +prog3.cob:15: 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:2089" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2097: \$COMPILE_ONLY -free -facucomment prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -facucomment prog3.cob" "syn_misc.at:2097" +( $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"; printf "%s\n" "prog3.cob:11: warning: ignoring invalid directive: '\$ DISPLAY' +prog3.cob:9: error: syntax error, unexpected * +prog3.cob:10: error: syntax error, unexpected / +prog3.cob:12: error: syntax error, unexpected * +prog3.cob:15: 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:2097" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2104: \$COMPILE_ONLY -fformat=terminal -facucomment prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=terminal -facucomment prog3.cob" "syn_misc.at:2104" +( $at_check_trace; $COMPILE_ONLY -fformat=terminal -facucomment prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:9: error: syntax error, unexpected * +prog3.cob:10: error: syntax error, unexpected / +prog3.cob:15: 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:2104" +$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 +printf "%s\n" "$at_srcdir/syn_misc.at:2111: \$COMPILE_ONLY -fixed prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fixed prog3.cob" "syn_misc.at:2111" +( $at_check_trace; $COMPILE_ONLY -fixed prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: error: too many format errors in file, skip output of further errors +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:2111" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2126' \ + "word length" " " 2 +at_xfail=no +( + printf "%s\n" "294. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:2221: \$COMPILE_ONLY -free -fword-length=31 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=31 prog.cob" "syn_misc.at:2221" +( $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"; printf "%s\n" "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 63 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 63 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 63 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:2221" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2237: \$COMPILE_ONLY -free -fword-length=45 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=45 prog.cob" "syn_misc.at:2237" +( $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"; printf "%s\n" "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 63 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 63 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 63 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:2237" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2249: \$COMPILE_ONLY -free -fword-length=60 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=60 prog.cob" "syn_misc.at:2249" +( $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"; printf "%s\n" "prog.cob:13: error: word length exceeds maximum of 63 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 63 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 63 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:2249" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2257: \$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:2257" +( $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"; printf "%s\n" "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:2257" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2265: \$COMPILE_ONLY -free -fword-length=60 prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=60 prog2.cob" "syn_misc.at:2265" +( $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:2265" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2267: \$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:2267" +( $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"; printf "%s\n" "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:2267" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2279: \$COMPILE_ONLY -fword-length=59 prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fword-length=59 prog3.cob" "syn_misc.at:2279" +( $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"; printf "%s\n" "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:2279" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2289' \ + "Segmentation Module" " " 2 +at_xfail=no +( + printf "%s\n" "295. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:2332: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2332" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'DEC-1': +prog.cob:9: warning: section segments ignored +prog.cob: in section 'DEC-2': +prog.cob:12: warning: section segments ignored +prog.cob: in section 'SEC-1': +prog.cob:17: warning: section segments ignored +prog.cob: in section 'SEC-2': +prog.cob:20: warning: section segments ignored +prog.cob: in section 'SEC-3': +prog.cob:23: error: unsigned integer value expected +prog.cob:23: warning: section segments ignored +prog.cob: in section 'SEC-4': +prog.cob:26: warning: section segments ignored +prog.cob: in section 'SEC-5': +prog.cob:29: warning: section segments ignored +prog.cob: in section 'SEC-6': +prog.cob:32: warning: section segments ignored +prog.cob: in section 'SEC-7': +prog.cob:35: warning: section segments 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:2332" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2353: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:2353" +( $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"; printf "%s\n" "prog.cob: in section 'DEC-1': +prog.cob:9: warning: section segments 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 segments 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 segments is obsolete in COBOL 85 +prog.cob: in section 'SEC-2': +prog.cob:20: warning: section segments is obsolete in COBOL 85 +prog.cob: in section 'SEC-3': +prog.cob:23: error: unsigned integer value expected +prog.cob:23: warning: section segments is obsolete in COBOL 85 +prog.cob: in section 'SEC-4': +prog.cob:26: warning: section segments 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 segments is obsolete in COBOL 85 +prog.cob: in section 'SEC-6': +prog.cob:32: warning: section segments is obsolete in COBOL 85 +prog.cob: in section 'SEC-7': +prog.cob:35: warning: section segments 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: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_295 +#AT_START_296 +at_fn_group_banner 296 'syn_misc.at:2381' \ + "ACCEPT FROM ESCAPE KEY" " " 2 +at_xfail=no +( + printf "%s\n" "296. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: add function test to run_manual_screen.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 KEYNUM PIC 9(04). + PROCEDURE DIVISION. + + ACCEPT KEYNUM FROM ESCAPE KEY + DISPLAY "Key pressed: " KEYNUM + ACCEPT KEYNUM FROM ESCAPE + DISPLAY "Key pressed: " KEYNUM + ACCEPT OMITTED + + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2402: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2402" +( $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:2402" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:2407' \ + "ACUCOBOL USAGE FLOAT / DOUBLE" " " 2 +at_xfail=no +( + printf "%s\n" "297. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 myfloat usage float + value is 3.97E+24. + 77 mydouble usage double + value is 3.97E+44. + PROCEDURE DIVISION. + MAIN. + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2425: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2425" +( $at_check_trace; $COMPILE_ONLY -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/syn_misc.at:2425" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2426: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2426" +( $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:2426" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2428: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_misc.at:2428" +( $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"; printf "%s\n" "prog.cob:6: error: 'float' is not defined, but is a reserved word in another dialect +prog.cob:8: error: 'double' 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: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_297 +#AT_START_298 +at_fn_group_banner 298 'syn_misc.at:2436' \ + "ACUCOBOL USAGE HANDLE" " " 2 +at_xfail=no +( + printf "%s\n" "298. $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 unused-thread handle thread. + + 77 mywindow usage handle of window. + 77 mymenu usage handle of menu. + + 77 nor-a-handle usage handle bananas. + 77 neither-a-handle usage handle of apes. + 77 control-handle usage handle of label. + + 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 + * + * Just to check that the handles are still recognized and usable: + destroy neither-a-handle, control-handle + * + * check for invalid use + add neither-a-handle to control-handle + compute mywindow = 0 + string mydir delimited by size into filename + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2503: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2503" +( $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"; printf "%s\n" "prog.cob:18: warning: HANDLE OF MENU is not implemented +prog.cob:20: error: unknown HANDLE type: bananas +prog.cob:21: error: unknown HANDLE type: apes +prog.cob:22: warning: HANDLE OF control-type is not implemented +prog.cob: in paragraph 'MAIN': +prog.cob:35: warning: THREAD is not implemented +prog.cob:37: warning: THREAD is not implemented +prog.cob:36: error: HANDLE must be either a generic or a THREAD HANDLE +prog.cob:40: error: HANDLE must be either a generic or a THREAD HANDLE +prog.cob:40: warning: STOP THREAD is replaced by STOP RUN +prog.cob:45: warning: THREAD is not implemented +prog.cob:47: warning: THREAD is not implemented +prog.cob:46: error: HANDLE must be either a generic or a THREAD HANDLE +prog.cob:52: warning: GRAPHICAL CONTROL is not implemented +prog.cob:55: error: HANDLE item not allowed here: 'neither-a-handle' +prog.cob:56: error: HANDLE item not allowed here: 'mywindow' +prog.cob:57: error: HANDLE item not allowed here: 'mydir' +" | \ + $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:2503" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2523: \$COMPILE_ONLY -std=rm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm-strict prog.cob" "syn_misc.at:2523" +( $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"; printf "%s\n" "prog.cob:12: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:14: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:15: error: syntax error, unexpected Identifier +prog.cob:17: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:18: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:20: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:21: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob:22: error: 'handle' is not defined, but is a reserved word in another dialect +prog.cob: in paragraph 'MAIN': +prog.cob:36: error: 'handle IN mywindow' is not defined +prog.cob:35: error: invalid expression: unfinished expression +prog.cob:39: error: syntax error, unexpected END-PERFORM +prog.cob:40: error: 'thread' is not defined, but is a reserved word in another dialect +prog.cob:40: error: syntax error, unexpected Identifier +prog.cob:45: error: syntax error, unexpected Identifier, expecting THREAD +prog.cob:49: error: syntax error, unexpected END-CALL +prog.cob:52: 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:2523" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2546' \ + "ACUCOBOL WINDOW statements" " " 2 +at_xfail=no +( + printf "%s\n" "299. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: need a better tests when we implement this, +# likely split 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 SCREEN BOXED SHADOW, 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" + ACCEPT OMITTED + CLOSE WINDOW myhandle + DISPLAY FLOATING WINDOW, + LINE 5, COLUMN 10, SIZE 20, LINES 2, + ERASE SCREEN, POP-UP AREA mythread + END-DISPLAY + ACCEPT OMITTED + DESTROY WINDOW-HANDLE + DISPLAY WINDOW AT 1020 SIZE 36 LINES 15 BOXED + FOREGROUND-COLOR IS 7 + BACKGROUND-COLOR IS 0 + TOP CENTERED TITLE IS 'SOME TITLE' + pop-up area = WINDOW-HANDLE. + DISPLAY SUBWINDOW UPON WINDOW-HANDLE SHADOW + AT 0505 SIZE 25 LINES 10 + BOTTOM LEFT TITLE = 'buttom left' + BACKGROUND-COLOR IS 10 + FOREGROUND-COLOR IS 5. + DISPLAY WINDOW UPON WINDOW-HANDLE SHADOW + AT 0808 SIZE 18 LINES 5 + RIGHT TITLE 'top right' + BACKGROUND-COLOR 1 + FOREGROUND-COLOR 14. + ACCEPT OMITTED + DESTROY WINDOW-HANDLE + DISPLAY FLOATING WINDOW MODAL CENTERED TITLE IS "centered" + DISPLAY FLOATING WINDOW MODELESS RIGHT TITLE IS "correct" + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2602: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2602" +( $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"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +prog.cob:11: warning: GRAPHICAL WINDOW is not implemented +prog.cob:15: warning: GRAPHICAL WINDOW is not implemented +prog.cob:21: warning: GRAPHICAL WINDOW is not implemented +prog.cob:22: warning: GRAPHICAL WINDOW is not implemented +prog.cob:24: error: HANDLE must be either a generic or a WINDOW HANDLE or X(10) +prog.cob:27: warning: GRAPHICAL CONTROL is not implemented +prog.cob:28: warning: GRAPHICAL WINDOW is not implemented +prog.cob:33: warning: GRAPHICAL WINDOW is not implemented +prog.cob:38: warning: GRAPHICAL WINDOW is not implemented +prog.cob:44: warning: GRAPHICAL CONTROL is not implemented +prog.cob:45: warning: GRAPHICAL WINDOW is not implemented +prog.cob:46: warning: GRAPHICAL WINDOW 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:2602" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2618: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2618" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +prog.cob:11: warning: GRAPHICAL WINDOW is not implemented +prog.cob:15: warning: GRAPHICAL WINDOW is not implemented +prog.cob:21: warning: GRAPHICAL WINDOW is not implemented +prog.cob:22: warning: GRAPHICAL WINDOW is not implemented +prog.cob:24: error: HANDLE must be either a generic or a WINDOW HANDLE or X(10) +prog.cob:27: warning: GRAPHICAL CONTROL is not implemented +prog.cob:28: warning: GRAPHICAL WINDOW is not implemented +prog.cob:33: warning: GRAPHICAL WINDOW is not implemented +prog.cob:38: warning: GRAPHICAL WINDOW is not implemented +prog.cob:44: warning: GRAPHICAL CONTROL is not implemented +prog.cob:45: warning: GRAPHICAL WINDOW is not implemented +prog.cob:46: warning: GRAPHICAL WINDOW 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:2618" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2637' \ + "ACUCOBOL GRAPHICAL controls" " " 2 +at_xfail=no +( + printf "%s\n" "300. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: need a better tests when we implement this, +# likely split into multiple ones + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 window-handle USAGE HANDLE OF WINDOW. + 77 lb-row PIC X(10). + 77 lb-color PIC 9(05) VALUE 8192. + 77 lb-num-lines PIC 9(02) VALUE 20. + 77 lb-num-rows PIC 9(02) VALUE 11. + 77 window-lines PIC 9(02) VALUE 22. + 77 window-rows PIC 9(02) VALUE 13. + 77 selection-idx PIC S9(02). + SCREEN SECTION. + 01 lb-screen. + 03 lb-frm LIST-BOX 3-D + * FIXME: the following should be possible in any order + UNSORTED + EXCEPTION-VALUE = 13 + COLOR lb-color + CLINE 1 CCOL 1 + LINES = lb-num-lines + SIZE IS lb-num-rows + * VALUE lb-row raises error as no identifer according + * to cobol2002, but here it is fine + . + PROCEDURE DIVISION. + MAIN. + MODIFY lb-frm ITEM-TO-ADD = 'Row 1' + MODIFY lb-frm ITEM-TO-ADD = 'Row 2' + MODIFY lb-frm ITEM-TO-ADD = 'Row 3' + MODIFY lb-frm ITEM-TO-ADD = 'Row 4' + MODIFY lb-frm ITEM-TO-ADD = 'Row 5' + MODIFY lb-frm ITEM-TO-ADD = 'Row 6' + MODIFY lb-frm ITEM-TO-ADD = 'Row 7' + DISPLAY FLOATING WINDOW + LINE 5 COL 5 + LINES window-lines + SIZE window-rows + BOXED + COLOR lb-color + HANDLE IS window-handle + END-DISPLAY + DISPLAY lb-screen + ACCEPT lb-screen + IF lb-row = SPACES + INQUIRE lb-frm SELECTION-INDEX IN selection-idx + IF selection-idx > ZERO + MODIFY lb-frm QUERY-INDEX = selection-idx + INQUIRE lb-frm ITEM-VALUE IN lb-row + END-IF + END-IF + CLOSE WINDOW window-handle + DISPLAY "chosen row value was '" lb-row "'" + ACCEPT OMITTED + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2702: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2702" +( $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"; printf "%s\n" "prog.cob:16: warning: GRAPHICAL CONTROL is not implemented +prog.cob:21: warning: COLOR clause (SCREEN) is not implemented +prog.cob:23: warning: LINES clause is not implemented +prog.cob:26: warning: screen positions from data-item is not implemented +prog.cob: in paragraph 'MAIN': +prog.cob:36: warning: GRAPHICAL WINDOW is not implemented +prog.cob:53: warning: GRAPHICAL WINDOW 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:2702" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2715' \ + "DISPLAY MESSAGE BOX" " " 2 +at_xfail=no +( + printf "%s\n" "301. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 my-text pic x(10) value "TEXT". + 78 MB-OK VALUE 1. + 78 MB-YES-NO VALUE 2. + 78 MB-OK-CANCEL VALUE 3. + 78 MB-YES-NO-CANCEL VALUE 4. + 78 MB-YES VALUE 1. + 78 MB-NO VALUE 2. + 78 MB-CANCEL VALUE 3. + 78 MB-DEFAULT-ICON VALUE 1. + 78 MB-WARNING-ICON VALUE 2. + 78 MB-ERROR-ICON VALUE 3. + PROCEDURE DIVISION. + DISPLAY MESSAGE "Important" + TITLE "Very important" + TYPE = MB-OK + ICON IS MB-WARNING-ICON + DISPLAY MESSAGE "This is" space "my" space my-text + DISPLAY MESSAGE BOX "More messages?" + TYPE MB-YES-NO + TITLE = "box title" + DEFAULT IS MB-YES + RETURNING RETURN-CODE + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2749: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2749" +( $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"; printf "%s\n" "prog.cob:18: warning: handling of DISPLAY MESSAGE is unfinished; implementation is likely to be changed +prog.cob:22: warning: handling of DISPLAY MESSAGE is unfinished; implementation is likely to be changed +prog.cob:23: warning: handling of DISPLAY MESSAGE 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:2749" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2758' \ + "DISPLAY OMITTED" " " 2 +at_xfail=no +( + printf "%s\n" "302. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY OMITTED WITH BELL + DISPLAY OMITTED LINE 10 COL 15 ERASE EOL + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2771: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2771" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: warning: handling of DISPLAY OMITTED is unfinished; implementation is likely to be changed +prog.cob:6: warning: handling of DISPLAY OMITTED 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:2771" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2779' \ + "CGI: EXTERNAL-FORM" " " 2 +at_xfail=no +( + printf "%s\n" "303. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: need a better tests when we implement this, +# likely split into multiple ones + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GNUCOBOL-URL IS EXTERNAL-FORM + IDENTIFIED BY "http://www.gnu.org/software/gnucobol/". + 01 WEB-PAGE-1 EXTERNAL-FORM, + IDENTIFIED "cgipage1". + 01 SIMPLE-FORM IS EXTERNAL-FORM. + 03 SIMPLE-FORM-VAR1 PIC X(10). + 03 SIMPLE-FORM-VAR2 PIC 9(5). + 01 MY-FORM EXTERNAL-FORM. + 03 CGI-VAR1 PIC X(20) IDENTIFIED "Name". + 03 CGI-VAR2 PIC X(50) IDENTIFIED BY CGI-VAR1. + + PROCEDURE DIVISION. + MAIN. + *> CGI display of static content (full URL) + DISPLAY GNUCOBOL-URL + *> CGI display of static content (current URL + "cgipage1" + ".html") + DISPLAY WEB-PAGE-1 + *> CGI display of output form + DISPLAY MY-FORM + *> CGI display of input form (docs say: used for debugging purposes) + DISPLAY SIMPLE-FORM + *> CGI accept + ACCEPT SIMPLE-FORM + *> normal accept + ACCEPT SIMPLE-FORM-VAR1 + *> CGI accept with first var (with cgi identifier Name) + *> setting the cgi identifier of the second + ACCEPT MY-FORM + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2822: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:2822" +( $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"; printf "%s\n" "prog.cob:6: warning: EXTERNAL-FORM is not implemented +prog.cob:8: warning: EXTERNAL-FORM is not implemented +prog.cob:10: warning: EXTERNAL-FORM is not implemented +prog.cob:13: warning: EXTERNAL-FORM is not implemented +prog.cob:14: warning: EXTERNAL-FORM (IDENTIFIED BY) is not implemented +prog.cob:15: warning: EXTERNAL-FORM (IDENTIFIED BY) 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:2822" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2834' \ + "adding/removing reserved words" " " 2 +at_xfail=no +( + printf "%s\n" "304. $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 bars PIC X. + 01 file PIC X. + 01 background-color PIC X. + + PROCEDURE DIVISION. + CONTINUE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2854: \$COMPILE_ONLY -freserved=hello,foo,bars,background-color -fnot-reserved=file prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=hello,foo,bars,background-color -fnot-reserved=file prog.cob" "syn_misc.at:2854" +( $at_check_trace; $COMPILE_ONLY -freserved=hello,foo,bars,background-color -fnot-reserved=file prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: 'bars' is a reserved word, but isn't supported +prog.cob:11: error: syntax error, unexpected BACKGROUND-COLOR +" | \ + $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:2854" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2860: \$COMPILE_ONLY -fnot-reserved=file prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-reserved=file prog.cob" "syn_misc.at:2860" +( $at_check_trace; $COMPILE_ONLY -fnot-reserved=file prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2860" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:2864' \ + "adding aliases" " " 2 +at_xfail=no +( + printf "%s\n" "305. $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 case, but even then it may be wrapped and not visible +# to the user) +#AT_CHECK([$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BARS:FOO prog.cob], [1], [], +#[configuration warning: -freserved=FOO=DISPLAY*: ignored asterisk at end of alias target +#configuration error: +#-freserved=BARS:FOO: alias target 'FOO' is not a default reserved word +#]) + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2886: \$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BARS:FOO prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BARS:FOO prog.cob" "syn_misc.at:2886" +( $at_check_trace; $COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BARS:FOO prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2886" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2892: \$COMPILE_ONLY -freserved=FOO=DISPLAY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO=DISPLAY prog.cob" "syn_misc.at:2892" +( $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:2892" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2893: \$COMPILE_ONLY -freserved=FOO:DISPLAY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO:DISPLAY prog.cob" "syn_misc.at:2893" +( $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:2893" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2894: \$COMPILE_ONLY -freserved=\" FOO = DISPLAY \" prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=\" FOO = DISPLAY \" prog.cob" "syn_misc.at:2894" +( $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:2894" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:2898' \ + "overriding default words" " " 2 +at_xfail=no +( + printf "%s\n" "306. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + PROCEDURE DIVISION. + COMP-1 "Hello, world!" + DISPLAY "Hello, world!". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2910: \$COMPILE_ONLY -freserved=COMP-1=DISPLAY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=COMP-1=DISPLAY prog.cob" "syn_misc.at:2910" +( $at_check_trace; $COMPILE_ONLY -freserved=COMP-1=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:2910" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + PROCEDURE DIVISION. + COMP-1 "Hello, world!". + DISPLAY "Hello, world!". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2921: \$COMPILE_ONLY -fnot-reserved=DISPLAY -freserved=COMP-1=DISPLAY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-reserved=DISPLAY -freserved=COMP-1=DISPLAY prog2.cob" "syn_misc.at:2921" +( $at_check_trace; $COMPILE_ONLY -fnot-reserved=DISPLAY -freserved=COMP-1=DISPLAY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: syntax error, unexpected Literal, expecting SECTION or . +prog2.cob:7: note: unknown statement 'DISPLAY'; 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:2921" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:2929' \ + "complete specified word list" " " 2 +at_xfail=no +( + printf "%s\n" "307. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:2941: \$COMPILE_ONLY -std=ibm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "syn_misc.at:2941" +( $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"; printf "%s\n" "prog.cob:7: error: 'BINARY-LONG' 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:2941" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2944: \$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:2944" +( $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:2944" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2945: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_misc.at:2945" +( $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:2945" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:2949' \ + "ANY LENGTH item as formal parameter" " " 2 +at_xfail=no +( + printf "%s\n" "308. $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 str. + GOBACK + . +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + DATA DIVISION. + LINKAGE SECTION. + 01 str ANY LENGTH PIC X. + + PROCEDURE DIVISION. + GOBACK + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2977: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2977" +( $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:2977" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:2978: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:2978" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: error: 'str' ANY LENGTH item must be a formal 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_misc.at:2978" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:2984' \ + "ANY LENGTH item as BY VALUE formal parameter" " " 2 +at_xfail=no +( + printf "%s\n" "309. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:3000: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3000" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:3000" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3007' \ + "swapped SOURCE- and OBJECT-COMPUTER" " " 2 +at_xfail=no +( + printf "%s\n" "310. $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 + + +# MF extension, supported by GnuCOBOL +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3021: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3021" +( $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:3021" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: testing with lax configuration, otherwise there would be an error +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3023: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_misc.at:3023" +( $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"; printf "%s\n" "prog.cob:8: warning: SOURCE-COMPUTER incorrectly after OBJECT-COMPUTER 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: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_310 +#AT_START_311 +at_fn_group_banner 311 'syn_misc.at:3029' \ + "CONF. SECTION paragraphs in wrong order" " " 2 +at_xfail=no +( + printf "%s\n" "311. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + SOURCE-COMPUTER. b. + OBJECT-COMPUTER. a. + SPECIAL-NAMES. + + END PROGRAM prog. + + 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 + + +# MF extension, supported by GnuCOBOL +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3082: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3082" +( $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:3082" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: testing with lax configuration, otherwise there would be an error +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3084: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_misc.at:3084" +( $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"; printf "%s\n" "prog.cob:8: warning: SOURCE-COMPUTER incorrectly after REPOSITORY used +prog.cob:22: warning: SPECIAL-NAMES incorrectly after REPOSITORY used +prog.cob:32: warning: SOURCE-COMPUTER incorrectly after REPOSITORY used +prog.cob:43: warning: SPECIAL-NAMES incorrectly after REPOSITORY used +prog.cob:44: warning: SOURCE-COMPUTER incorrectly after SPECIAL-NAMES 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:3084" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3091: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:3091" +( $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"; printf "%s\n" "prog.cob:8: error: SOURCE-COMPUTER incorrectly after REPOSITORY used +prog.cob:22: error: SPECIAL-NAMES incorrectly after REPOSITORY used +prog.cob:32: error: SOURCE-COMPUTER incorrectly after REPOSITORY used +prog.cob:43: error: SPECIAL-NAMES incorrectly after REPOSITORY used +prog.cob:44: error: SOURCE-COMPUTER incorrectly after SPECIAL-NAMES 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:3091" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3101' \ + "NOT ON EXCEPTION with STATIC CALL convention" " " 2 +at_xfail=no +( + printf "%s\n" "312. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + CALL STATIC "stuff" + ON EXCEPTION + CONTINUE + END-CALL + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + PROCEDURE DIVISION. + CALL "stuff" + ON EXCEPTION + CONTINUE + END-CALL + GOBACK. +_ATEOF + + +cat >prog3.cob <<'_ATEOF' + + >> CALL-CONVENTION STATIC + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + PROCEDURE DIVISION. + CALL "stuff" + ON EXCEPTION + CONTINUE + END-CALL + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3138: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3138" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: warning: ON EXCEPTION ignored because of STATIC CALL +" | \ + $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:3138" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3141: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:3141" +( $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:3141" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3142: \$COMPILE_ONLY -static prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -static prog2.cob" "syn_misc.at:3142" +( $at_check_trace; $COMPILE_ONLY -static 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:3142" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3143: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:3143" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:6: warning: STATIC CALL convention ignored because of ON EXCEPTION +" | \ + $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:3143" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3149' \ + "NOT ON EXCEPTION phrases before ON EXCEPTION" " " 2 +at_xfail=no +( + printf "%s\n" "313. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:3205: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3205" +( $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"; printf "%s\n" "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:3205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3209: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3209" +( $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: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_313 +#AT_START_314 +at_fn_group_banner 314 'syn_misc.at:3213' \ + "wrong dialect hints" " " 2 +at_xfail=no +( + printf "%s\n" "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. + + PROCEDURE DIVISION. + DISPLAY x CONVERSION. + TRANSFORM x + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3230: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3230" +( $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"; printf "%s\n" "prog.cob:10: error: 'CONVERSION' is not defined, but is a reserved word in another dialect +prog.cob:11: error: syntax error, unexpected Identifier, expecting SECTION or . +prog.cob:11: note: 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: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_314 +#AT_START_315 +at_fn_group_banner 315 'syn_misc.at:3238' \ + "redundant periods" " " 2 +at_xfail=no +( + printf "%s\n" "315. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:3261: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3261" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:3261" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3268' \ + "missing periods" " " 2 +at_xfail=no +( + printf "%s\n" "316. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Check whether the first line is correcly handled: +cat >prog.cob <<'_ATEOF' + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DONE COMP-1 VALUE ZERO. + + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM SEC-1. + IF NOT DONE = 1 + DISPLAY "SEC-1 NOT EXECUTED" + END-IF + STOP RUN + SEC-1 SECTION. + MOVE 1 TO DONE + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3291: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3291" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'MAIN': +prog.cob:15: error: 'SEC-1' is not defined +prog.cob:15: error: syntax error, unexpected 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_misc.at:3291" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3296: \$COMPILE_ONLY -fformat=cobol85 -fmissing-period=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 -fmissing-period=error prog.cob" "syn_misc.at:3296" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 -fmissing-period=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'MAIN': +prog.cob:15: error: optional period 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:3296" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3300: \$COMPILE -fformat=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=cobol85 prog.cob" "syn_misc.at:3300" +( $at_check_trace; $COMPILE -fformat=cobol85 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'MAIN': +prog.cob:15: warning: optional period 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:3300" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3304: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:3304" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:3304" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3309' \ + "missing periods with COPYs" " " 2 +at_xfail=no +( + printf "%s\n" "317. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >ok.inc <<'_ATEOF' + + 01 FLG PIC XX VALUE "KO". +_ATEOF + + +cat >sec-1.inc <<'_ATEOF' + + SEC-1 SECTION. + MOVE "OK" TO FLG +_ATEOF + + +cat >sec-2.inc <<'_ATEOF' + + SEC-2 SECTION. + IF FLG NOT EQUAL "OK" + DISPLAY "DEC-1 NOT EXECUTED" + END-IF. +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "ok.inc". + + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM SEC-1. + PERFORM SEC-2. + * Directive purposefully in Area A + REPLACE ==RUNNN== BY ==RUN==. + STOP RUNNN + COPY "sec-1.inc". + * Also purposefully in Area A + COPY "sec-2.inc". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3348: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3348" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "sec-1.inc: in section 'MAIN': +sec-1.inc:2: error: 'SEC-1' is not defined +sec-1.inc:2: error: syntax error, unexpected SECTION +sec-2.inc:2: error: 'SEC-2' is not defined +sec-2.inc:2: error: syntax error, unexpected 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_misc.at:3348" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3355: \$COMPILE -fformat=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=cobol85 prog.cob" "syn_misc.at:3355" +( $at_check_trace; $COMPILE -fformat=cobol85 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "sec-1.inc: in section 'MAIN': +sec-1.inc:2: warning: optional period used +sec-2.inc: in section 'SEC-1': +sec-2.inc:2: warning: optional period 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:3355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3361: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:3361" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:3361" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_err.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "ok.inc". + + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM SEC-1. + PERFORM SEC-2. + * Directive purposefully in Area A + REPLACE ==RUNNN== BY ==RUN==. + PERFORM SEC-3. + STOP RUN + COPY "sec-1.inc". + COPY "sec-2.inc". + SEC-3 SECTION. + DISPLAY KO NO ADVANCING. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3385: \$COMPILE_ONLY -fformat=cobol85 prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 prog_err.cob" "syn_misc.at:3385" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "sec-1.inc: in section 'MAIN': +sec-1.inc:2: warning: optional period used +sec-2.inc: in section 'SEC-1': +sec-2.inc:2: warning: optional period used +prog_err.cob: in section 'SEC-3': +prog_err.cob:20: error: 'KO' 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:3385" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3397' \ + "statement in Area A" " " 2 +at_xfail=no +( + printf "%s\n" "318. $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 9 VALUE ZERO. + PROCEDURE DIVISION. + MAIN + . + PERFORM SEC-1 + IF NOT FLAG = 1 + DISPLAY "SEC-1 NOT EXECUTED" + END-IF + STOP RUN + . + SEC-1 SECTION. + MOVE 1 TO FLAG + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3420: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3420" +( $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:3420" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3421: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3421" +( $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"; printf "%s\n" "prog.cob:9: error: separator period in Area A +prog.cob: in paragraph 'MAIN': +prog.cob:10: error: start of statement in Area A +prog.cob:11: error: start of statement in Area A +prog.cob:13: error: END-IF should not start in Area A +prog.cob:14: error: start of statement in Area A +prog.cob:15: error: separator period in Area A +prog.cob: in section 'SEC-1': +prog.cob:17: error: start of statement in Area A +prog.cob:18: error: separator period in Area 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_misc.at:3421" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3434: \$COMPILE_ONLY -std=cobol85 -fno-areacheck prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 -fno-areacheck prog.cob" "syn_misc.at:3434" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 -fno-areacheck prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:3434" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3435: \$COMPILE_ONLY -std=cobol85 -fformat=fixed prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 -fformat=fixed prog.cob" "syn_misc.at:3435" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 -fformat=fixed prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:3435" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3440' \ + "pseudotext replacement with text in area A" " " 2 +at_xfail=no +( + printf "%s\n" "319. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Check whether the first line is correcly handled: +cat >ok.inc <<'_ATEOF' + 01 REPLACE-ME + 01 KO PIC XX VALUE "KO". + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM SEC-1 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "ok.inc" REPLACING == 01 REPLACE-ME == BY == + 01 OK PIC XX VALUE "OK". == + . + + PERFORM SEC-2 + STOP RUN + CONTINUE + SEC-1 SECTION. + IF OK NOT EQUAL "OK" DISPLAY OK + SEC-2 SECTION. + IF OK NOT EQUAL "OK" DISPLAY OK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3470: \$COMPILE -std=cobol85 -fmissing-period=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol85 -fmissing-period=warning prog.cob" "syn_misc.at:3470" +( $at_check_trace; $COMPILE -std=cobol85 -fmissing-period=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'MAIN': +prog.cob:14: warning: optional period used +prog.cob: in section 'SEC-1': +prog.cob:16: warning: optional period 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:3470" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3476: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:3476" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:3476" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_err.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + COPY "ok.inc" REPLACING == 01 REPLACE-ME == BY == + 01 OK PIC XX VALUE "OK". == + . + + PERFORM SEC-2. + STOP RUN + SEC-1 SECTION. + IF OK NOT EQUAL "OK" DISPLAY OK + SEC-2 SECTION. + DISPLAY NOT-FOUND. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3495: \$COMPILE -std=gcos prog_err.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=gcos prog_err.cob" "syn_misc.at:3495" +( $at_check_trace; $COMPILE -std=gcos prog_err.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_err.cob: in section 'MAIN': +prog_err.cob:13: warning: optional period used +prog_err.cob: in section 'SEC-1': +prog_err.cob:15: warning: optional period used +prog_err.cob: in section 'SEC-2': +prog_err.cob:16: error: 'NOT-FOUND' 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:3495" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3507' \ + "IF-ELSE statement list with invalid syntax" " " 2 +at_xfail=no +( + printf "%s\n" "320. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a-variable PIC 9. + + PROCEDURE DIVISION. + IF a-variable = 1 + ACCEPT a-variable, not-a-variable + ON EXCEPTION + CONTINUE + END-ACCEPT + ELSE + CONTINUE + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3530: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3530" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: error: syntax error, unexpected Identifier +prog.cob:14: error: syntax error, unexpected END-ACCEPT +prog.cob:15: error: syntax error, unexpected ELSE +prog.cob:17: error: syntax error, unexpected END-IF +" | \ + $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:3530" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3540' \ + "EVALUATE statement with invalid syntax" " " 2 +at_xfail=no +( + printf "%s\n" "321. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a-variable PIC 9. + + PROCEDURE DIVISION. + EVALUATE a-variable + + ALSO true + + WHEN 1 + + ALSO a-variable + CONTINUE + + WHEN 1 OR 2 + CONTINUE + + END-EVALUATE + . + EVALUATE a-variable + + ALSO true + + WHEN 3 + CONTINUE + + WHEN 5 + CONTINUE + + END-EVALUATE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3580: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3580" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:19: error: invalid conditional expression +prog.cob:16: error: invalid expression: boolean expected with logical operator +prog.cob:28: error: wrong number of WHEN parameters +prog.cob:31: error: wrong number of WHEN 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:3580" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3589' \ + "COBOL-WORDS directive" " " 2 +at_xfail=no +( + printf "%s\n" "322. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: currently not checked - should all be seen before first IDENTIFICATION DIVISION + +cat >prog.cob <<'_ATEOF' + + *> Valid + >>COBOL-WORDS RESERVE "CAT" + *> Valid (GC-extension) + >>COBOL-WORDS RESERVE "doggy" "catty" "mouse" + *> Valid + >>COBOL-WORDS EQUATE "VALUE" WITH "VA" + *> Invalid - Bread is not reserved. + >>COBOL-WORDS EQUATE "BREAD" WITH "BARA" + *> Invalid - ID is already reserved + >>COBOL-WORDS EQUATE "IDENTIFICATION" WITH "ID" + + *> Valid, BREAD is not reserved. + >>COBOL-WORDS SUBSTITUTE "program" BY "bread" + *> Valid (GC-extension) + >>COBOL-WORDS SUBSTITUTE "DIVISION" BY "DIV", "JUST" BY "JS" + *> Invalid - Bread is not reserved. + >>COBOL-WORDS SUBSTITUTE "BREAD" BY "BARA" + *> Invalid - ID is already reserved + >>COBOL-WORDS SUBSTITUTE "IDENTIFICATION" BY "ID" + *> Invalid - needs BY, not WITH + *> FIXME: error-recovery is bad, see below + *> >>COBOL-WORDS SUBSTITUTE "INITIALIZE" WITH "INIT" + + *> Valid + >>COBOL-WORDS UNDEFINE "BREAD" + *> Valid (GC-extension) + >>COBOL-WORDS UNDEFINE "DOGGY" "CATTY" + *> Invalid in Standard COBOL, must be a defined word + >>COBOL-WORDS UNDEFINE "BREAD" + + *> FIXME: error-recovery is bad, see below + *>>COBOL-WORDS REMOVE "BREAD" + + IDENTIFICATION DIV. + PROGRAM-ID. prog. + + DATA DIV. + WORKING-STORAGE SECTION. + *> Check EQUATE and SUBSTITUTE work correctly + 01 just PIC XX VA "1" JS. + *> Check RESERVE + 01 cat PIC 9 VA 1. + *> Check UNDEFINE + 01 dog PIC 9 VA 1. +_ATEOF + + +# TODO: add checks for valid reserved word names +# CHECKME: do we follow the rule "The same COBOL word shall not be contained +# in a literal in more than one COBOL-WORDS directive within a single compilation group." +# or specify "this restriction is removed" + +# FIXME: error-recovery is really bad, the lines above lead to only directives +# being part of prog.i, ending with the first broken one +# prog.cob:23: error: syntax error, unexpected BY, expecting WITH +# prog.cob:26: error: syntax error, unexpected Literal, expecting EQUATE or UNDEFINE or SUBSTITUTE or RESERVE + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3651: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3651" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: 'BREAD' is not a default reserved word, so cannot be aliased +prog.cob:11: error: 'ID' is already reserved +prog.cob:18: error: 'BREAD' is not a default reserved word, so cannot be aliased +prog.cob:20: error: 'ID' is already reserved +prog.cob:30: error: 'BREAD' is not a reserved word, so cannot be removed +prog.cob:43: error: 'cat' 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:3651" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3663' \ + "MF reserved word directives" " " 2 +at_xfail=no +( + printf "%s\n" "323. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: currently not checked - should all be seen before first IDENTIFICATION DIVISION + +cat >prog.cob <<'_ATEOF' + + *> Valid + $SET ADDRSV"DOG""CAT" + $SET ADD-RSV "doggy" "catty" + *> Valid + $SET ADD-SYN "VALUE" = "VA" + *> Invalid - Bread is not reserved. + $SET ADDSYN "BREAD" = "BARA" + *> Invalid - ID is already reserved + $SET ADDSYN "IDENTIFICATION" = "ID" + + *> Valid + $SET MAKESYN(PROGRAM) = (FUNCTION) + *> Invalid - BREAD is not reserved. + $SET MAKESYN "BREAD" = "PROGRAM" + $SET MAKE-SYN "program" = "bread" + + *> Valid + $SET OVERRIDE "DIVISION" = "DIV" "JUST" = "JS" + *> Invalid - Bread is not reserved + $SET OVERRIDE "BREAD" = "BARA" + *>Invalid - ID is already reserved; note: MF documents this rule but + *> does not check it and applies the line; we do it better on purpose :-) + $SET OVERRIDE "IDENTIFICATION" = "ID" + + *> Valid - note: MF rules does allow reserving not reserved words + $SET REMOVE "BREAD" (BARA)REMOVE(DOG) + + IDENTIFICATION DIV. + PROGRAM-ID. prog. + + DATA DIV. + WORKING-STORAGE SECTION. + *> Check ADDSYN and OVERRIDE work correctly + 01 just PIC XX VA "1" JS. + *> Check ADDRSV + 01 cat PIC 9 VA 1. + *> Check REMOVE + 01 dog PIC 9 VA 1. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3709: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3709" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: 'BREAD' is not a default reserved word, so cannot be aliased +prog.cob:10: error: 'ID' is already reserved +prog.cob:10: note: you may want MAKESYN instead +prog.cob:15: error: 'BREAD' is not a default reserved word, so cannot be aliased +prog.cob:16: error: 'BREAD' is not a reserved word +prog.cob:16: note: you may want ADDSYN or OVERRIDE instead +prog.cob:21: error: 'BREAD' is not a default reserved word, so cannot be aliased +prog.cob:24: error: 'ID' is already reserved +prog.cob:24: note: you may want MAKESYN instead +prog.cob:37: error: 'cat' 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:3709" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3725' \ + "TURN directive" " " 2 +at_xfail=no +( + printf "%s\n" "324. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + *> Valid + >> TURN ec-i-o f CHECKING ON + *> Invalid + >> TURN dd CHECKING ON + >> TURN ec-all f CHECKING ON + >> TURN EC-I-O-invalid-KEY not-exist CHECKING OFF + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT F ASSIGN "f.txt", SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC X. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3749: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3749" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: invalid exception-name: DD +prog.cob:7: error: invalid exception-name: F +prog.cob:8: error: file 'not-exist' does not exist +" | \ + $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:3749" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3758' \ + "STRING / UNSTRING with invalid syntax" " " 2 +at_xfail=no +( + printf "%s\n" "325. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:3808: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3808" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: syntax error, unexpected DELIMITED +prog.cob:15: error: syntax error, unexpected END-STRING, expecting INTO +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, expecting INTO +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:3808" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3823' \ + "STRING / UNSTRING POINTER clause" " " 2 +at_xfail=no +( + printf "%s\n" "326. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 valid-ptr PIC 99. + 01 valid-ptr-2 BINARY-LONG. + 01 valid-ptr-3 PIC 99 COMP-3. + + 01 invalid-ptr PIC 9. + 01 invalid-ptr-2 PIC 99V99. + 01 invalid-ptr-3 FLOAT-LONG. + 01 invalid-ptr-4 PIC 99PP. + 01 invalid-ptr-5 PIC VPP99. + 01 invalid-ptr-6 PIC X(30). + 01 invalid-ptr-7. + 03 n PIC 99. + 03 n2 PIC 99. + + + 01 x PIC X(9). + 01 y PIC X(9). + + PROCEDURE DIVISION. + STRING "hello" INTO x POINTER valid-ptr + STRING "hello" INTO x POINTER valid-ptr-2 + STRING "hello" INTO x POINTER valid-ptr-3 + + STRING "hello" INTO x POINTER invalid-ptr + STRING "hello" INTO x POINTER invalid-ptr-2 + STRING "hello" INTO x POINTER invalid-ptr-3 + STRING "hello" INTO x POINTER invalid-ptr-4 + STRING "hello" INTO x POINTER invalid-ptr-5 + STRING "hello" INTO x POINTER invalid-ptr-6 + STRING "hello" INTO x POINTER invalid-ptr-7 + + UNSTRING y INTO x POINTER valid-ptr + UNSTRING y INTO x POINTER valid-ptr-2 + UNSTRING y INTO x POINTER valid-ptr-3 + + UNSTRING y INTO x POINTER invalid-ptr + UNSTRING y INTO x POINTER invalid-ptr-2 + UNSTRING y INTO x POINTER invalid-ptr-3 + UNSTRING y INTO x POINTER invalid-ptr-4 + UNSTRING y INTO x POINTER invalid-ptr-5 + UNSTRING y INTO x POINTER invalid-ptr-6 + UNSTRING y INTO x POINTER invalid-ptr-7 + . +_ATEOF + + +# Note: the following checks (per COBOL standard) added with [r3678] are 4.x only: +# prog.cob:30: error: 'invalid-ptr' is too small to contain the number 10 (one plus the size of 'x') +# prog.cob:42: error: 'invalid-ptr' is too small to contain the number 10 (one plus the size of 'y') + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3881: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3881" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:31: error: POINTER item 'invalid-ptr-2' must be an integer +prog.cob:32: error: POINTER item 'invalid-ptr-3' must be an integer +prog.cob:33: error: POINTER item 'invalid-ptr-4' may not have PICTURE with P in it +prog.cob:34: error: POINTER item 'invalid-ptr-5' must be an integer +prog.cob:35: error: POINTER item 'invalid-ptr-6' must be an integer +prog.cob:36: error: 'invalid-ptr-7' is not an elementary item +prog.cob:43: error: POINTER item 'invalid-ptr-2' must be an integer +prog.cob:44: error: POINTER item 'invalid-ptr-3' must be an integer +prog.cob:45: error: POINTER item 'invalid-ptr-4' may not have PICTURE with P in it +prog.cob:46: error: POINTER item 'invalid-ptr-5' must be an integer +prog.cob:47: error: POINTER item 'invalid-ptr-6' must be an integer +prog.cob:48: error: 'invalid-ptr-7' is not an elementary 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_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_326 +#AT_START_327 +at_fn_group_banner 327 'syn_misc.at:3898' \ + "STRING with non-DISPLAY" " " 2 +at_xfail=no +( + printf "%s\n" "327. $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 I-X PIC 9(9) COMP-X VALUE 6. + 01 I-B PIC 9(9) BINARY VALUE 6. + 01 I-P PIC 9(9) COMP-3 VALUE 6. + 01 I-D PIC 9(9) VALUE 6. + 01 I-F COMP-1 VALUE 6. + 01 TSTWRK PIC X(48). + + PROCEDURE DIVISION. + MAIN-10. + STRING " ID:" I-D + DELIMITED BY SIZE INTO TSTWRK. + STRING " IX:" I-X " IB:" I-B + " ID:" I-D + " IP:" I-P " IF:" I-F + DELIMITED BY SIZE INTO TSTWRK. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3926: \$COMPILE -x -std=mf -debug -Wall prog.cob " +at_fn_check_prepare_dynamic "$COMPILE -x -std=mf -debug -Wall prog.cob " "syn_misc.at:3926" +( $at_check_trace; $COMPILE -x -std=mf -debug -Wall prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-10': +prog.cob:19: error: STRING item 'I-X' must be USAGE DISPLAY or NATIONAL +prog.cob:19: error: STRING item 'I-B' must be USAGE DISPLAY or NATIONAL +prog.cob:21: error: STRING item 'I-P' must be USAGE DISPLAY or NATIONAL +prog.cob:21: error: STRING item 'I-F' 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:3926" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:3937' \ + "UNSTRING COUNT clause" " " 2 +at_xfail=no +( + printf "%s\n" "328. $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 PIC 9. + 01 valid-2 BINARY-LONG. + 01 valid-3 PIC 99 COMP-3. + + 01 invalid-1 PIC 99V99. + 01 invalid-2 FLOAT-LONG. + 01 invalid-3 PIC 99PP. + 01 invalid-4 PIC VPP99. + 01 invalid-5 PIC X(30). + 88 invalid-6 VALUE "abc". + + 01 x PIC X(9). + 01 y PIC X(9). + + PROCEDURE DIVISION. + UNSTRING x INTO y COUNT valid-1 + UNSTRING x INTO y COUNT valid-2 + UNSTRING x INTO y COUNT valid-3 + + UNSTRING x INTO y COUNT invalid-1 + UNSTRING x INTO y COUNT invalid-2 + UNSTRING x INTO y COUNT invalid-3 + UNSTRING x INTO y COUNT invalid-4 + UNSTRING x INTO y COUNT invalid-5 + UNSTRING x INTO y COUNT invalid-6 + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:3974: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3974" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:26: error: COUNT item 'invalid-1' must be an integer +prog.cob:27: error: COUNT item 'invalid-2' must be an integer +prog.cob:28: error: COUNT item 'invalid-3' may not have PICTURE with P in it +prog.cob:29: error: COUNT item 'invalid-4' must be an integer +prog.cob:30: error: COUNT item 'invalid-5' must be an integer +prog.cob:31: error: condition-name not allowed here: 'invalid-6' +" | \ + $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:3974" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:3985' \ + "use of program-prototype-names" " " 2 +at_xfail=no +( + printf "%s\n" "329. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4003: \$COMPILE_ONLY -fprogram-prototypes=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fprogram-prototypes=warning prog.cob" "syn_misc.at:4003" +( $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"; printf "%s\n" "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:4003" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4012' \ + "checking prototypes and definitions match" " " 2 +at_xfail=yes +( + printf "%s\n" "330. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +# patch #32 was not fully included and the current implementation +# needs updating + +cat >prog.cob <<'_ATEOF' + + *> Prototype and definition have different signatures. + IDENTIFICATION DIVISION. + FUNCTION-ID. invalid-1 PROTOTYPE. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. x. + SPECIAL-NAMES. + DECIMAL-POINT COMMA + CURRENCY SIGN "F" + . + DATA DIVISION. + LINKAGE SECTION. + 01 x. + 03 x1 PIC X(15). + 03 x2 PIC X(15) JUST. + 01 y PIC +9(30) BLANK ZERO. + + PROCEDURE DIVISION USING x returning y. + END FUNCTION invalid-1. + + *> Prototype and definition have different signatures. + IDENTIFICATION DIVISION. + PROGRAM-ID. invalid-2 PROTOTYPE. + DATA DIVISION. + LINKAGE SECTION. + 01 x PIC X. + PROCEDURE DIVISION USING x. + END PROGRAM invalid-2. + + *> Prototype and definition have matching signatures. + IDENTIFICATION DIVISION. + FUNCTION-ID. valid-1 PROTOTYPE. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + DECIMAL-POINT COMMA + . + DATA DIVISION. + LINKAGE SECTION. + 01 ret PIC 999V99. + + PROCEDURE DIVISION RETURNING ret. + END FUNCTION valid-1. + + + IDENTIFICATION DIVISION. + PROGRAM-ID. blahblah AS "invalid-1". + + DATA DIVISION. + LINKAGE SECTION. + 01 a. + 03 a-1 PIC X(15) JUST. + 03 a-2 PIC X(15). + 01 b PIC S9(10) SIGN LEADING. + + PROCEDURE DIVISION USING a RETURNING b. + DISPLAY "yes" + . + END PROGRAM blahblah. + + + IDENTIFICATION DIVISION. + PROGRAM-ID. invalid-2. + + DATA DIVISION. + LINKAGE SECTION. + 01 ret PIC X. + + PROCEDURE DIVISION RETURNING ret. + MOVE "x" TO ret + . + END PROGRAM invalid-2. + + IDENTIFICATION DIVISION. + FUNCTION-ID. valid-1. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + DECIMAL-POINT COMMA + . + DATA DIVISION. + LINKAGE SECTION. + 01 ret PIC 999V99. + + PROCEDURE DIVISION RETURNING ret. + MOVE 1,5 TO ret + . + END FUNCTION valid-1. + + *> Prototypes must be at start of compilation group. + IDENTIFICATION DIVISION. + PROGRAM-ID. invalid-3. + + DATA DIVISION. + LINKAGE SECTION. + 01 x PIC X(10). + + PROCEDURE DIVISION USING x. + END PROGRAM invalid-3. + + IDENTIFICATION DIVISION. + PROGRAM-ID. invalid-3 IS PROTOTYPE. + + DATA DIVISION. + LINKAGE SECTION. + 01 x PIC X(10). + + PROCEDURE DIVISION USING x. + END PROGRAM invalid-3. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4134: \$COMPILE_ONLY -Wno-unfinished -Wno-pending prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished -Wno-pending prog.cob" "syn_misc.at:4134" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished -Wno-pending prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:60: warning: prototype and definition of 'invalid-1' do not match +prog.cob:60: note: definition is a program but the prototype is a function +prog.cob:60: note: DECIMAL-POINT IS COMMA clauses differ +prog.cob:60: note: CURRENCY clauses differ +prog.cob:60: note: parameters #1 ('a-1' in the definition and 'x1' in the prototype) differ +prog.cob:60: note: returning items ('b' in the definition and 'y' in the prototype) differ +prog.cob:73: warning: prototype and definition of 'invalid-2' do not match +prog.cob:73: note: number of parameters differ +prog.cob:73: note: definition has a RETURNING item but protoype does not +prog.cob:106: error: prototypes must be come before any program/function definitions +" | \ + $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:4134" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4149' \ + "invalid INSPECT/TRANSFORM operands" " " 2 +at_xfail=no +( + printf "%s\n" "331. $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 + TRANSFORM function udf(f-rec) FROM SPACE TO ZERO + TRANSFORM "yada" FROM SPACE TO ZERO + INSPECT function trim(f-rec) + TALLYING not-display FOR ALL SPACES *> valid with func + REPLACING FIRST ZERO BY SPACE *> not valid + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4182: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4182" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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 incompatible +prog.cob:20: note: 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 +prog.cob:23: error: syntax error, unexpected intrinsic function name, expecting Identifier +prog.cob:24: error: syntax error, unexpected Literal, expecting Identifier +prog.cob:25: error: invalid target for REPLACING +" | \ + $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:4182" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4202' \ + "SIGN clause checks" " " 2 +at_xfail=no +( + printf "%s\n" "332. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4220: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4220" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4220" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4227' \ + "conflicting entry conventions" " " 2 +at_xfail=no +( + printf "%s\n" "333. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4244: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4244" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4244" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + OPTIONS. + ENTRY-CONVENTION COBOL. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + PROCEDURE DIVISION WITH C LINKAGE. + CONTINUE + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4260: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:4260" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:9: 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:4260" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CALL-CONVENTION 0 IS EXTERN. + + PROCEDURE DIVISION + EXTERN + WITH C LINKAGE. + CONTINUE + ENTRY 'ANOTHERSTATEMENT'. + CONTINUE + ENTRY EXTERN 'ANOTHERSTATEMENT2'. + CONTINUE + ENTRY 'ANOTHERSTATEMENT3' WITH C LINKAGE. + CONTINUE + ENTRY + EXTERN + 'ANOTHERSTATEMENT4' + WITH C LINKAGE. + CONTINUE + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4289: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:4289" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:11: error: CALL-CONVENTION and WITH LINKAGE are mutually exclusive +prog3.cob:22: error: CALL-CONVENTION and WITH LINKAGE are mutually exclusive +" | \ + $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:4289" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4296' \ + "conflicting call conventions" " " 2 +at_xfail=no +( + printf "%s\n" "334. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + CALL EXTERN 'callee'. + CALL 'callee' WITH C LINKAGE. + CALL + EXTERN + 'callee' + WITH C LINKAGE + . + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4312: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4312" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: CALL-CONVENTION and WITH LINKAGE are mutually exclusive +" | \ + $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:4312" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4315: \$COMPILE_ONLY -std=cobol85 -freserved=EXTERN,C prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 -freserved=EXTERN,C prog.cob" "syn_misc.at:4315" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 -freserved=EXTERN,C prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: error: CALL-/ENTRY-CONVENTION does not conform to COBOL 85 +prog.cob:6: error: WITH ... LINKAGE does not conform to COBOL 85 +prog.cob:8: error: CALL-/ENTRY-CONVENTION does not conform to COBOL 85 +prog.cob:10: error: WITH ... LINKAGE does not conform to COBOL 85 +prog.cob:10: error: CALL-CONVENTION and WITH LINKAGE are mutually exclusive +" | \ + $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:4315" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4325' \ + "dangling LINKAGE items" " " 2 +at_xfail=no +( + printf "%s\n" "335. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + LINKAGE SECTION. + * constants may occur anywhere but don't belong to LINKAGE + 78 NSIZE VALUE 1. + * + * two variables in USING + 77 A PIC X. + 01 B. + 03 B1 PIC X. + 03 B2 PIC 9(NSIZE). + * variable not referenced anywhere - no warning + 77 C PIC X. + * variable referenced by its REDEFINE + 01 D PIC XX. + 01 filler redefines D. + 03 D1 PIC X. + 03 D2 PIC 9(NSIZE). + * variable referenced by its second REDEFINE + 01 E PIC XX. + 01 filler redefines E. + 03 Ea1 PIC X. + 03 Ea2 PIC 9(NSIZE). + 01 filler redefines E. + 03 Eb1 PIC X. + 03 Eb2 PIC 9(NSIZE). + * variable referenced by its child + 01 F. + 03 F1 PIC X. + 03 F2 PIC 9(NSIZE). + * variable referenced by level 88 (a validation entry) + 01 G. + 03 filler PIC X. + 88 g-val-a value 'a'. + 88 g-val-b value 'b'. + PROCEDURE DIVISION USING A B. + + IF D2 OMITTED OR Eb2 OMITTED or F2 OMITTED + set g-val-b to true + END-IF + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4372: \$COMPILE_ONLY -Wlinkage prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wlinkage prog.cob" "syn_misc.at:4372" +( $at_check_trace; $COMPILE_ONLY -Wlinkage prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:17: warning: LINKAGE item 'D' is not a PROCEDURE USING parameter +prog.cob:22: warning: LINKAGE item 'E' is not a PROCEDURE USING parameter +prog.cob:30: warning: LINKAGE item 'F' is not a PROCEDURE USING parameter +prog.cob:34: warning: LINKAGE item 'G' is not a PROCEDURE USING parameter +" | \ + $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: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_335 +#AT_START_336 +at_fn_group_banner 336 'syn_misc.at:4381' \ + "duplicate PROCEDURE DIVISION/ENTRY USING items" " " 2 +at_xfail=no +( + printf "%s\n" "336. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# see bug #635 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + LINKAGE SECTION. + 01 p PIC 9. + 01 o PIC X(5). + PROCEDURE DIVISION USING p p o. + ENTRY "sub" USING o p o. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4395: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4395" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: duplicate USING BY REFERENCE item 'p' +prog.cob:9: error: duplicate USING BY REFERENCE item 'o' +" | \ + $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:4395" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4402' \ + "duplicate CALL USING BY REFERENCE items" " " 2 +at_xfail=no +( + printf "%s\n" "337. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# see bug #635 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 p PIC 99. + 01 o PIC X(5). + PROCEDURE DIVISION. + CALL "prog2" USING p p o + p. + CALL "prog3" USING BY REFERENCE p + BY CONTENT p o + BY REFERENCE p o(2:). +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4420: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4420" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: duplicate USING BY REFERENCE item 'p' +prog.cob:10: warning: duplicate USING BY REFERENCE item 'p' +prog.cob:13: warning: duplicate USING BY REFERENCE item 'p' +" | \ + $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:4420" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4428' \ + "ADD / SUBTRACT TABLE" " " 2 +at_xfail=no +( + printf "%s\n" "338. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4458: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4458" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4458" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4471' \ + "USE FOR DEBUGGING invalid ref-mod / subscripts" " " 2 +at_xfail=no +( + printf "%s\n" "339. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# COBOL85 3.2.3 Syntax Rules 10+12 - "no subscripts. not reference-modified" +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. + 01 FILLER. + 03 x OCCURS 2 PIC 9. + + PROCEDURE DIVISION. + DECLARATIVES. + test-DEBUG SECTION. + USE FOR DEBUGGING ON ALL OF I (1:1). + DISPLAY DEBUG-LINE. + test-DEBUGo SECTION. + USE FOR DEBUGGING ON ALL OF X (1). + DISPLAY DEBUG-LINE. + END DECLARATIVES. + + MAIN SECTION. + MOVE 1 TO i, x(2) + STOP RUN. +_ATEOF + + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4506: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4506" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'test-DEBUG': +prog.cob:19: error: DEBUGGING target may not be reference modified +prog.cob: in section 'test-DEBUGo': +prog.cob:22: error: DEBUGGING target may not 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_misc.at:4506" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:4516' \ + "USE FOR DEBUGGING duplicate targets" " " 2 +at_xfail=no +( + printf "%s\n" "340. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: add cd-names and file-names here + +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. + 01 j PIC 9. + + PROCEDURE DIVISION. + DECLARATIVES. + test-DEBUG SECTION. + USE FOR DEBUGGING ON MAIN MAIN. + DISPLAY DEBUG-LINE. + test-DEBUG2 SECTION. + USE FOR DEBUGGING ON ALL I + ALL REFERENCES OF J + ALL PROCEDURES. + DISPLAY DEBUG-LINE. + test-DEBUG3 SECTION. + USE FOR DEBUGGING ON ALL PROCEDURES + J + ALL OF I. + DISPLAY DEBUG-LINE. + END DECLARATIVES. + + MAIN SECTION. + MOVE 1 TO i + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4557: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4557" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'test-DEBUG3': +prog.cob:26: error: duplicate USE DEBUGGING ON ALL PROCEDURES +prog.cob:27: error: duplicate DEBUGGING target: 'j' +prog.cob:28: error: duplicate DEBUGGING target: 'i' +prog.cob: in section 'test-DEBUG': +prog.cob:18: error: DEBUGGING target already specified with ALL PROCEDURES: 'MAIN' +prog.cob:18: error: duplicate DEBUGGING target: 'MAIN' +" | \ + $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:4557" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4569' \ + "USE FOR DEBUGGING implicit statements" " " 2 +at_xfail=no +( + printf "%s\n" "341. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see bug #693, WHEN created an implicit statement before + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. TESTING. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TSTFIL1 ASSIGN TO "TSTFIL1" + ORGANIZATION LINE SEQUENTIAL. + SELECT TSTFIL2 ASSIGN TO "TSTFIL2" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD TSTFIL1. + 01 TSTREC1 PIC X(256). + FD TSTFIL2. + 01 TSTREC2 PIC X(256). + WORKING-STORAGE SECTION. + 01 OODB-RESULT PIC X(07). + + PROCEDURE DIVISION. + DECLARATIVES. + MY-TEST SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF OODB-RESULT. + I-O-TEST-OODB-RESULT. + EVALUATE OODB-RESULT + WHEN SPACES + DISPLAY "LINE 1" + WHEN OTHER + DISPLAY "LINE 2" END-DISPLAY + END-EVALUATE. + CLOSE TSTFIL1, TSTFIL2. + END DECLARATIVES. + + MAIN SECTION. + 000-BEGIN. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4613: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4613" +( $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:4613" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4617' \ + "USE FOR DEBUGGING syntax-checks (1)" " " 2 +at_xfail=no +( + printf "%s\n" "342. $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. + DECLARATIVES. + test-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF I + MAIN. + DISPLAY DEBUG-ITEM. + DISPLAY DEBUG-NAME " AT " DEBUG-LINE " WITH " DEBUG-CONTENTS. + DISPLAY DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3. + END DECLARATIVES. + + MAIN SECTION. + MOVE 1 TO i + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4649: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4649" +( $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:4649" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4650: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:4650" +( $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"; printf "%s\n" "prog.cob: in section 'test-DEBUG': +prog.cob:18: warning: USE FOR DEBUGGING 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/syn_misc.at:4650" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4654: \$COMPILE_ONLY -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:4654" +( $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"; printf "%s\n" "prog.cob: in section 'test-DEBUG': +prog.cob:17: error: 'REFERENCES IN i' is not defined +prog.cob:18: error: USE FOR DEBUGGING does not conform to ACUCOBOL-GT +" | \ + $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:4654" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4659: \$COMPILE_ONLY -std=acu-strict -fuse-for-debugging=ok -freserved=REFERENCES prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict -fuse-for-debugging=ok -freserved=REFERENCES prog.cob" "syn_misc.at:4659" +( $at_check_trace; $COMPILE_ONLY -std=acu-strict -fuse-for-debugging=ok -freserved=REFERENCES prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:4659" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that DEBUG-ITEM and friends can only be used when DEBUGGING is actually active +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + PROCEDURE DIVISION. + MAIN. + DISPLAY DEBUG-ITEM. + DISPLAY DEBUG-NAME " AT " DEBUG-LINE " WITH " DEBUG-CONTENTS. + DISPLAY DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3. + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4676: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:4676" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob: in paragraph 'MAIN': +prog2.cob:10: error: 'DEBUG-ITEM' is not defined +prog2.cob:11: error: 'DEBUG-NAME' is not defined +prog2.cob:11: error: 'DEBUG-LINE' is not defined +prog2.cob:11: error: 'DEBUG-CONTENTS' is not defined +prog2.cob:12: error: 'DEBUG-SUB-1' is not defined +prog2.cob:12: error: 'DEBUG-SUB-2' is not defined +prog2.cob:12: error: 'DEBUG-SUB-3' 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:4676" +$at_failed && at_fn_log_failure +$at_traceon; } + +# HACK to cater for the reserved words hack... +#AT_CHECK([$COMPILE_ONLY -std=cobol85 prog2.cob], [1], [], +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4688: \$COMPILE_ONLY -std=cobol85 prog2.cob \\ +-freserved=\"debug-item,debug-name,debug-line,debug-contents\" \\ +-freserved=\"debug-sub-1,debug-sub-2,debug-sub-3\" \\ +" +at_fn_check_prepare_notrace 'an embedded newline' "syn_misc.at:4688" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog2.cob \ +-freserved="debug-item,debug-name,debug-line,debug-contents" \ +-freserved="debug-sub-1,debug-sub-2,debug-sub-3" \ + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob: in paragraph 'MAIN': +prog2.cob:10: error: 'DEBUG-ITEM' is not defined +prog2.cob:11: error: 'DEBUG-NAME' is a reserved word, but isn't supported +prog2.cob:11: error: 'DEBUG-NAME' cannot be used here +prog2.cob:11: error: 'DEBUG-LINE' is a reserved word, but isn't supported +prog2.cob:11: error: 'DEBUG-LINE' cannot be used here +prog2.cob:11: error: 'DEBUG-CONTENTS' is a reserved word, but isn't supported +prog2.cob:11: error: 'DEBUG-CONTENTS' cannot be used here +prog2.cob:12: error: 'DEBUG-SUB-1' is a reserved word, but isn't supported +prog2.cob:12: error: 'DEBUG-SUB-2' is a reserved word, but isn't supported +prog2.cob:12: error: 'DEBUG-SUB-1' cannot be used here +prog2.cob:12: error: 'DEBUG-SUB-3' is a reserved word, but isn't supported +prog2.cob:12: error: 'DEBUG-SUB-2' cannot be used here +prog2.cob:12: error: 'DEBUG-SUB-3' 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_misc.at:4688" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4710' \ + "USE FOR DEBUGGING syntax-checks (2)" " " 2 +at_xfail=yes +( + printf "%s\n" "343. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: still need tests/checks (3.2.3 Syntax Rules 9+11): +# 09 Identifier must not reference any data item defined in the Report +# Section except sum counters. +# 11 References to the special register DEBUG-ITEM are restricted to +# references from within a debugging section. + + +# we currently fail to detect references into DECLARATIVES and +# references to debugging-procedures other than PERFORM --> both in prog2 + +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. + 01 j PIC 9. + + PROCEDURE DIVISION. + DECLARATIVES. + test-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF I + TEST-debug + MAIN. + DISPLAY DEBUG-LINE. + PERFORM MAIN. PERFORM TEST-DEBUG2. GO TO TEST-DEBUG2. + test-DEBUG2 SECTION. + USE FOR DEBUGGING ON ALL OF I + TEST-debug. + DISPLAY DEBUG-LINE. + END DECLARATIVES. + + MAIN SECTION. + MOVE 1 TO i, j + PERFORM TesT-DebuG + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4757: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4757" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'test-DEBUG': +prog.cob:22: warning: 'MAIN' is not in DECLARATIVES +prog.cob:22: error: 'TEST-DEBUG2' may only be referenced with PERFORM +prog.cob:19: error: DEBUGGING target invalid: 'test-DEBUG' +prog.cob: in section 'TEST-DEBUG2': +prog.cob:24: error: duplicate DEBUGGING target: 'i' +prog.cob:25: error: DEBUGGING target invalid: 'test-DEBUG' +prog.cob: in section 'MAIN': +prog.cob:31: warning: 'test-DEBUG' is 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_misc.at:4757" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4768: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:4768" +( $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"; printf "%s\n" "prog.cob: in section 'test-DEBUG': +prog.cob:20: warning: USE FOR DEBUGGING is obsolete in COBOL 85 +prog.cob:22: error: 'MAIN' is not in DECLARATIVES +prog.cob:22: error: 'TEST-DEBUG2' may only be referenced with PERFORM +prog.cob:19: error: DEBUGGING target invalid: 'test-DEBUG' +prog.cob: in section 'TEST-DEBUG2': +prog.cob:24: error: duplicate DEBUGGING target: 'i' +prog.cob:25: error: DEBUGGING target invalid: 'test-DEBUG' +prog.cob: in section 'MAIN': +prog.cob:31: error: 'test-DEBUG' is 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_misc.at:4768" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4783' \ + "Empty PERFORM with DEBUGGING MODE" " " 2 +at_xfail=no +( + printf "%s\n" "344. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4806: \$COMPILE_ONLY -fmissing-statement=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmissing-statement=ok prog.cob" "syn_misc.at:4806" +( $at_check_trace; $COMPILE_ONLY -fmissing-statement=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:4806" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4811' \ + "whitespace handling" " " 2 +at_xfail=no +( + printf "%s\n" "345. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog1.cob <<'_ATEOF' + + IDENTIFICATION + DIVISION + . + author. + tester. + PROGRAM-ID + . + prog1 + . + REMARKS;. Should work.,, + + ENVIRONMENT + DIVISION + . + CONFIGURATION + SECTION + . + SOURCE-COMPUTER + . + whatever + WITH + DEBUGGING + MODE + . + + DDATA + D DIVISION + D . + WORKING-STORAGE + SECTION + . + 01 + i + PIC + 9 + . + + PROCEDURE + DIVISION + . + >> SOURCE FORMAT IS FREE +IF +i +GREATER +THAN +OR +EQUAL + +TO + +5 + +THEN + +GOBACK. + STOP + RUN + . +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + ID,;DIVISION;,.,; + author,.;tester. + PROGRAM-ID,;.;,prog2;,.;, + REMARKS;. Should work.,, + ENVIRONMENT,;DIVISION;,.,; + CONFIGURATION;;,,SECTION;;,,. + SOURCE-COMPUTER;;.,,whatever;;DEBUGGING,,MODE;,. + + DDATA;DIVISION,. + DWORKING-STORAGE,SECTION;. + 01;i,PIC;9;. + + PROCEDURE;DIVISION,.; + IF;,i;,GREATER,;THAN;,OR,;EQUAL ,;TO;;5; + ,,,THEN;;;GOBACK. + STOP,RUN;., +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4894: \$COMPILE_ONLY -Wno-obsolete prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-obsolete prog1.cob" "syn_misc.at:4894" +( $at_check_trace; $COMPILE_ONLY -Wno-obsolete 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/syn_misc.at:4894" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4895: \$COMPILE_ONLY -Wno-obsolete prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-obsolete prog2.cob" "syn_misc.at:4895" +( $at_check_trace; $COMPILE_ONLY -Wno-obsolete 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:4895" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4899' \ + "STOP identifier" " " 2 +at_xfail=no +( + printf "%s\n" "346. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4917: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4917" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4917" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4921: \$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:4921" +( $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:4921" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:4925' \ + "01 CONSTANT" " " 2 +at_xfail=no +( + printf "%s\n" "347. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4944: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4944" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4944" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4950: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_misc.at:4950" +( $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"; printf "%s\n" "prog.cob:6: error: syntax error, unexpected Identifier +prog.cob:7: error: syntax error, unexpected Identifier +prog.cob:8: error: syntax error, unexpected Identifier +prog.cob:9: error: syntax error, unexpected Identifier +prog.cob:10: 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:4950" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4958: \$COMPILE_ONLY -std=mf-strict -freserved=CONSTANT prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict -freserved=CONSTANT prog.cob" "syn_misc.at:4958" +( $at_check_trace; $COMPILE_ONLY -std=mf-strict -freserved=CONSTANT prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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 +" | \ + $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:4958" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4964: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_misc.at:4964" +( $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"; printf "%s\n" "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:4964" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:4973' \ + "78 VALUE" " " 2 +at_xfail=no +( + printf "%s\n" "348. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:4993: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4993" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4993" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:4999: \$COMPILE_ONLY -std=ibm-strict prog.cob " +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob " "syn_misc.at:4999" +( $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"; printf "%s\n" "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: missing right parenthesis +prog.cob:9: error: 78 VALUE does not conform to IBM COBOL +prog.cob:9: error: missing left parenthesis +prog.cob:10: error: 78 VALUE does not conform to IBM COBOL +prog.cob:10: error: '/' operator misplaced +prog.cob:11: error: 78 VALUE does not conform to IBM COBOL +" | \ + $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:4999" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5011: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_misc.at:5011" +( $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"; printf "%s\n" "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:5011" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5020' \ + "level 78 NEXT / START OF" " " 2 +at_xfail=no +( + printf "%s\n" "349. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:5063: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5063" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:25: error: VALUE of 'STRT4': START OF target 'FLD4' is invalid +prog.cob:25: 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:5063" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5079' \ + "SYMBOLIC CONSTANT" " " 2 +at_xfail=no +( + printf "%s\n" "350. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + SYMBOLIC CONSTANT + con-1 IS 1 + 25156c "25156c". + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 NUM2 PIC 9. + 01 SHORT-X PIC X(5). + * + PROCEDURE DIVISION. + MAIN. + MOVE CON-1 TO NUM2. + MOVE 25156C TO SHORT-X + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5103: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5103" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +prog.cob:18: warning: value size exceeds data size +prog.cob:18: note: value size is 6 +prog.cob:13: note: 'SHORT-X' defined here as PIC X(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_misc.at:5103" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5110: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_misc.at:5110" +( $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"; printf "%s\n" "prog.cob:9: error: invalid SYMBOLIC clause +prog.cob:9: error: integer value expected +prog.cob: in paragraph 'MAIN': +prog.cob:17: error: 'con-1' 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:5110" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5117: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:5117" +( $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"; printf "%s\n" "prog.cob:9: error: SYMBOLIC CONSTANT does not conform to COBOL 2014 +prog.cob: in paragraph 'MAIN': +prog.cob:18: warning: value size exceeds data size +prog.cob:18: note: value size is 6 +prog.cob:13: note: 'SHORT-X' defined here as PIC X(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_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_350 +#AT_START_351 +at_fn_group_banner 351 'syn_misc.at:5128' \ + "Constant Expressions (1)" " " 2 +at_xfail=no +( + printf "%s\n" "351. $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 A = B + move var to othervar + WHEN OTHER + CONTINUE + END-EVALUATE + + EVALUATE FALSE + WHEN var-len < 16 + move othervar (1:var-len - 9) + to var (16 - var-len:var-len - 9) + WHEN var-len > 16 + move othervar to var + WHEN A = B + move var to othervar + WHEN OTHER + CONTINUE + END-EVALUATE. + + IF 15 = var-len + move othervar to var. + + IF var-len = 15 + move var to othervar. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5221: \$COMPILE_ONLY -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option prog.cob" "syn_misc.at:5221" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:17: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:22: warning: expression '2' EQUALS '3' is always FALSE [-Wconstant-numlit-expression] +prog.cob:25: warning: expression '1' EQUALS '1' is always TRUE [-Wconstant-numlit-expression] +prog.cob:29: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:30: warning: expression '1' EQUALS '1' is always TRUE [-Wconstant-numlit-expression] +prog.cob:35: warning: expression '1' EQUALS '1' is always TRUE [-Wconstant-numlit-expression] +prog.cob:36: warning: expression '2' EQUALS '1' is always FALSE [-Wconstant-numlit-expression] +prog.cob:38: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:41: warning: expression '1' EQUALS '3' is always FALSE [-Wconstant-numlit-expression] +prog.cob:41: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +prog.cob:45: warning: expression '1' EQUALS '1' is always TRUE [-Wconstant-numlit-expression] +prog.cob:45: warning: PERFORM NEVER since UNTIL is always TRUE [-Wadditional] +prog.cob:47: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:50: warning: expression '1' EQUALS '3' is always FALSE [-Wconstant-numlit-expression] +prog.cob:50: warning: PERFORM FOREVER since UNTIL is always FALSE [-Wadditional] +prog.cob:54: warning: expression '1' EQUALS '1' is always TRUE [-Wconstant-numlit-expression] +prog.cob:54: warning: PERFORM ONCE since UNTIL is always TRUE [-Wadditional] +prog.cob:59: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:61: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:62: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-expression] +prog.cob:71: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:73: error: offset of 'var' out of bounds: -99 +prog.cob:74: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-expression] +prog.cob:82: warning: expression '15' EQUALS '115' is always FALSE [-Wconstant-numlit-expression] +prog.cob:85: warning: expression '115' EQUALS '15' is always FALSE [-Wconstant-numlit-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:5221" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5253' \ + "Constant Expressions (2)" " " 2 +at_xfail=no +( + printf "%s\n" "352. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 const1 value 115. + 01 const2 CONSTANT 200. + 78 const3 value const2. + 78 const4 value const2 + const1. + 77 othervar PIC X(const1). + 01 var PIC X(const2). + + PROCEDURE DIVISION. + + IF const1 = const2 + OR const2 = const1 + OR const3 = const4 + OR const4 = const3 + DISPLAY 'no way' END-DISPLAY + END-IF + + EVALUATE const1 + WHEN 15 + WHEN 115 + display '1' + WHEN < 16 + move othervar (1:8) + to var (17: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 +printf "%s\n" "$at_srcdir/syn_misc.at:5295: \$COMPILE_ONLY prog.cob " +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob " "syn_misc.at:5295" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: warning: expression '115' EQUALS '200' is always FALSE +prog.cob:16: warning: expression '200' EQUALS '115' is always FALSE +prog.cob:17: warning: expression '200' EQUALS '315' is always FALSE +prog.cob:18: warning: expression '315' EQUALS '200' is always FALSE +prog.cob:26: warning: expression '115' LESS THAN '16' is always FALSE +prog.cob:29: warning: expression '115' GREATER THAN '16' is always TRUE +prog.cob:23: warning: expression '115' EQUALS '15' is always FALSE +prog.cob:24: warning: expression '115' EQUALS '115' 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:5295" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5309' \ + "Constant Expressions (3)" " " 2 +at_xfail=no +( + printf "%s\n" "353. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verify that we do ignore undefined errors where possible +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 var PIC X(200). + 78 var-len value 115. + + PROCEDURE DIVISION. + + IF var-len < 16 + move spaces + to var (17 - var-len:var-len - 8) + END-IF + + IF var-len < 16 + move notdefined to var + END-IF + + IF var-len < 16 + perform notdefined + END-IF + + IF var-len < 16 + if notdefined continue. + + STOP RUN. +_ATEOF + + +# note: the last error message comes from program validation +# and therefore cannot be raised earlier +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5344: \$COMPILE_ONLY -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option prog.cob" "syn_misc.at:5344" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:13: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:16: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:17: warning: 'notdefined' is not defined [-Wignored-error] +prog.cob:20: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:24: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +" | \ + $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:5344" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that we do only skip an undefined error when it actually was reported +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 var PIC X(200). + 78 var-len value 115. + + PROCEDURE DIVISION. + + IF var-len < 16 + move notdefined to var *> won't be seen with -Wno-ignore-error + END-IF + + >> IF SKIP-FIRST-ERROR NOT DEFINED + *> always reported here (if active) as that's the first error + move notdefined to var + >> END-IF + + IF var-len < 16 + move notdefined to var *> never here, because of the warning/error above + END-IF + + move var to notdefined *> only here if not the skip was active + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5382: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression prog2.cob" "syn_misc.at:5382" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:12: warning: 'notdefined' is not defined [-Wignored-error] +prog2.cob:17: error: 'notdefined' 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:5382" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5386: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Wno-ignored-error prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Wno-ignored-error prog2.cob" "syn_misc.at:5386" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Wno-ignored-error prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:17: error: 'notdefined' 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:5386" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5389: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -DSKIP-FIRST-ERROR prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -DSKIP-FIRST-ERROR prog2.cob" "syn_misc.at:5389" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -DSKIP-FIRST-ERROR prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:12: warning: 'notdefined' is not defined [-Wignored-error] +prog2.cob:24: error: 'notdefined' 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:5389" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5393: \$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Werror=ignored-error prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Werror=ignored-error prog2.cob" "syn_misc.at:5393" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -Wno-constant-expression -Werror=ignored-error prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:12: error: 'notdefined' is not defined [-Werror=ignored-error] +" | \ + $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:5393" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5400' \ + "Constant Expressions (4)" " " 2 +at_xfail=no +( + printf "%s\n" "354. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verify that we do not ignore parsing errors as +# these are likely to raise issues in codegen + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 var PIC X(200). + 78 var-len value 115. + + PROCEDURE DIVISION. + + IF var-len < 16 + move spaces + to var (17 - var-len:var-len - 8) + IF IF. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5424: \$COMPILE_ONLY -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option prog.cob" "syn_misc.at:5424" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:13: warning: offset of 'var' out of bounds: -98 [-Wignored-error] +prog.cob:14: error: syntax error, unexpected IF +prog.cob:14: error: IF without imperative 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:5424" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5434' \ + "Constant Expressions (5)" " " 2 +at_xfail=no +( + printf "%s\n" "355. $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). + 78 VAR-LEN VALUE 115. + + PROCEDURE DIVISION. + MAIN-10. + MOVE "Peek a boo" TO VAR. + EVALUATE TRUE + ALSO FALSE + ALSO TRUE + WHEN TRUE + ALSO VAR-LEN > 16 AND VAR-LEN < 200 + ALSO TRUE + MOVE OTHERVAR (1 : VAR-LEN - 9) + TO VAR (16 - VAR-LEN : VAR-LEN - 9) + DISPLAY "A: Should NOT be executed" + WHEN TRUE + ALSO VAR-LEN < 16 + ALSO TRUE + MOVE OTHERVAR TO VAR + DISPLAY "A: OK VAR-LEN > 16 AND VAR-LEN < 200" + WHEN TRUE + ALSO VAR = SPACES + ALSO TRUE + MOVE OTHERVAR TO VAR + DISPLAY "A: OK VAR IS SPACES" + END-EVALUATE. + + MOVE "Peek a boo" TO VAR. + EVALUATE 3 EQUALS 7 + WHEN VAR = SPACES + DISPLAY "B: OK VAR IS NOT SPACES" + WHEN VAR NOT = SPACES + DISPLAY "B: FALSE VAR IS SPACES" + END-EVALUATE. + + MOVE SPACES TO VAR. + EVALUATE FALSE + WHEN VAR = SPACES + DISPLAY "C: FALSE VAR IS SPACES" + WHEN VAR NOT = SPACES + DISPLAY "C: OK VAR IS SPACES" + END-EVALUATE. + + MOVE "Peek a boo" TO VAR. + EVALUATE TRUE + WHEN VAR = SPACES + DISPLAY "D: BAD VAR IS SPACES" + WHEN VAR NOT = SPACES + DISPLAY "D: OK VAR IS NOT SPACES" + END-EVALUATE. + + MOVE SPACES TO VAR. + EVALUATE VAR-LEN ALSO VAR + WHEN < 32 ALSO SPACES + DISPLAY "E: OK VAR IS SPACES" + WHEN > 16 ALSO NOT SPACES + DISPLAY "E: BAD VAR IS NOT SPACES" + WHEN OTHER + DISPLAY "E: OK OTHER option taken" + END-EVALUATE. + + STOP RUN. +_ATEOF + + +# Note: ideally this should not result in a difference compared to the next one + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5509: \$COMPILE_ONLY -fdiagnostics-show-option -C -fno-remove-unreachable prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -C -fno-remove-unreachable prog.cob" "syn_misc.at:5509" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -C -fno-remove-unreachable prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-10': +prog.cob:17: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-expression] +prog.cob:17: warning: expression '115' LESS THAN '200' is always TRUE [-Wconstant-numlit-expression] +prog.cob:20: error: offset of 'VAR' out of bounds: -99 +prog.cob:23: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:35: warning: expression '3' EQUALS '7' is always FALSE [-Wconstant-numlit-expression] +prog.cob:60: warning: expression '115' LESS THAN '32' is always FALSE [-Wconstant-numlit-expression] +prog.cob:62: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-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:5509" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5520: \$COMPILE_ONLY -fdiagnostics-show-option -C prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option -C prog.cob" "syn_misc.at:5520" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option -C prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-10': +prog.cob:17: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-expression] +prog.cob:17: warning: expression '115' LESS THAN '200' is always TRUE [-Wconstant-numlit-expression] +prog.cob:20: warning: offset of 'VAR' out of bounds: -99 [-Wignored-error] +prog.cob:23: warning: expression '115' LESS THAN '16' is always FALSE [-Wconstant-numlit-expression] +prog.cob:35: warning: expression '3' EQUALS '7' is always FALSE [-Wconstant-numlit-expression] +prog.cob:60: warning: expression '115' LESS THAN '32' is always FALSE [-Wconstant-numlit-expression] +prog.cob:62: warning: expression '115' GREATER THAN '16' is always TRUE [-Wconstant-numlit-expression] +" | \ + $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:5520" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5534' \ + "Missing imperative statements" " " 2 +at_xfail=no +( + printf "%s\n" "356. $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 + ELSE + move othervar to var + END-IF + + IF var-len > 16 + ELSE + move othervar to var + END-IF + + IF (2 = 3) + ELSE + IF 1 = 1 + ELSE + IF 1 = 1 + move var to othervar + END-IF + END-IF + . + + EVALUATE TRUE + WHEN A = B + move var to othervar + WHEN OTHER + END-EVALUATE + + PERFORM WITH TEST BEFORE UNTIL 1 <> 3 + END-PERFORM + + EVALUATE FALSE + WHEN A = B + WHEN B = A + END-EVALUATE. + + EVALUATE TRUE + WHEN A = B + move var to othervar + WHEN OTHER + . + + EVALUATE TRUE + WHEN A = B + WHEN B = A + . + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5599: \$COMPILE_ONLY -w -fmissing-statement=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -w -fmissing-statement=error prog.cob" "syn_misc.at:5599" +( $at_check_trace; $COMPILE_ONLY -w -fmissing-statement=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: IF without imperative statement used +prog.cob:20: error: IF without imperative statement used +prog.cob:27: error: IF without imperative statement used +prog.cob:25: error: IF without imperative statement used +prog.cob:38: error: WHEN OTHER without imperative statement used +prog.cob:42: error: inline PERFORM without imperative statement used +prog.cob:47: error: WHEN without imperative statement used +prog.cob:52: error: WHEN OTHER without imperative statement used +prog.cob:58: error: WHEN without imperative statement 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:5599" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5611: \$COMPILE_ONLY -fno-constant-folding -fmissing-statement=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fno-constant-folding -fmissing-statement=warning prog.cob" "syn_misc.at:5611" +( $at_check_trace; $COMPILE_ONLY -fno-constant-folding -fmissing-statement=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: warning: IF without imperative statement used +prog.cob:20: warning: IF without imperative statement used +prog.cob:27: warning: IF without imperative statement used +prog.cob:25: warning: IF without imperative statement used +prog.cob:38: warning: WHEN OTHER without imperative statement used +prog.cob:42: warning: inline PERFORM without imperative statement used +prog.cob:47: warning: WHEN without imperative statement used +prog.cob:52: warning: WHEN OTHER without imperative statement used +prog.cob:58: warning: WHEN without imperative statement 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:5611" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5626' \ + "Fall-Through to WHEN OTHER" " " 2 +at_xfail=yes +( + printf "%s\n" "357. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# we currently don't do the necessary parsing steps for +# this test to pass - and likely need a different option +# than frelax-syntax-checks.. + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 A PIC 9 VALUE 1. + 01 B PIC 9 VALUE 2. + + PROCEDURE DIVISION. + + EVALUATE TRUE + WHEN A = B + WHEN OTHER + DISPLAY 'other' END-DISPLAY + END-EVALUATE + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5654: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5654" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: fall-through to WHEN OTHER is not allowed +" | \ + $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:5654" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5658: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:5658" +( $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"; printf "%s\n" "prog.cob:12: warning: fall-through to WHEN OTHER +" | \ + $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:5658" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5664' \ + "CONSTANT LENGTH / BYTE-LENGTH" " " 2 +at_xfail=no +( + printf "%s\n" "358. $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 item-01. + 05 item-05-a pointer. + 05 item-05-b pic x(01). + 01 myk-01 constant as length of item-01. + 01 myk-02 constant is global as length item-05-a. + 01 myk-03 constant global as length of pointer. *> extension + 01 myk-04 constant global as byte-length of item-01. + 01 myk-05 constant is global as byte-length item-05-a. + 01 myk-06 constant as byte-length of pointer. *> extension +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5684: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5684" +( $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:5684" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:5688' \ + "ANY LENGTH/NUMERIC with incorrect PIC" " " 2 +at_xfail=no +( + printf "%s\n" "359. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + LINKAGE SECTION. + *> Valid + 01 valid-1 PIC X ANY LENGTH. + 01 valid-2 PIC N ANY LENGTH. + 01 valid-3 PIC 9 ANY NUMERIC. + + *> Invalid + 01 invalid-1 PIC A ANY LENGTH. + 01 invalid-2 PIC Z ANY LENGTH. + 01 invalid-3 PIC 9 ANY LENGTH. + 01 invalid-4 PIC X ANY NUMERIC. + 01 invalid-5 PIC XX ANY LENGTH. + 01 invalid-6 PIC NN ANY LENGTH. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5711: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5711" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed +prog.cob:18: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed +prog.cob:13: error: 'invalid-1' ANY LENGTH must be PIC X, PIC U, PIC N or PIC 1 +prog.cob:14: error: 'invalid-2' ANY LENGTH must be PIC X, PIC U, PIC N or PIC 1 +prog.cob:15: error: 'invalid-3' ANY LENGTH must be PIC X, PIC U, PIC N or PIC 1 +prog.cob:16: error: 'invalid-4' ANY NUMERIC must be PIC 9 +prog.cob:17: error: 'invalid-5' ANY LENGTH has invalid definition +prog.cob:18: error: 'invalid-6' ANY LENGTH has invalid definition +prog.cob:8: error: 'valid-1' ANY LENGTH item must be a formal parameter +prog.cob:9: error: 'valid-2' ANY LENGTH item must be a formal parameter +prog.cob:10: error: 'valid-3' ANY LENGTH item must be a formal parameter +prog.cob:13: error: 'invalid-1' ANY LENGTH item must be a formal parameter +prog.cob:14: error: 'invalid-2' ANY LENGTH item must be a formal parameter +prog.cob:15: error: 'invalid-3' ANY LENGTH item must be a formal parameter +prog.cob:16: error: 'invalid-4' ANY LENGTH item must be a formal parameter +prog.cob:17: error: 'invalid-5' ANY LENGTH item must be a formal parameter +prog.cob:18: error: 'invalid-6' ANY LENGTH item must be a formal 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_misc.at:5711" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5734' \ + "VOLATILE clause" " " 2 +at_xfail=no +( + printf "%s\n" "360. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DATA-COLLECTION. + 03 DATA-ITEMS-A VOLATILE. + 05 DATA-A1 PIC S9(9) BINARY. + 05 DATA-A2 PIC S9(9) BINARY. + 03 VOLATILE. + 05 DATA-FILLER PIC S9(9) BINARY. + 03 DATA-ITEMS-B. + 05 DATA-B1 PIC S9(9). + 05 DATA-B2 PIC S9(9) VOLATILE. + 03 DATA-ITEMS-C. + 05 DATA-C1 PIC S9(9). + 05 DATA-C2 PIC S9(9). + 01 STEP PIC 9(8) BINARY VALUE 0 EXTERNAL VOLATILE. + *01 WRONGY PIC X. + * 88 TESTVAL-A VALUE 'A' VOLATILE. + * 88 TESTVAL-B VOLATILE VALUE 'B'. + LINKAGE SECTION. + 01 XMYREC. + 05 XFLD1 PIC 9(2) VOLATILE. + *SCREEN SECTION. + *01 WRONG-SCREEN. + * 05 WRONG-FIELD PIC X VOLATILE. + * + PROCEDURE DIVISION. + MOVE DATA-ITEMS-B TO DATA-ITEMS-C. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5770: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_misc.at:5770" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: warning: initial VALUE clause ignored for EXTERNAL item 'STEP' +" | \ + $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:5770" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5773: \$COMPILE_ONLY -std=ibm-strict -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict -w prog.cob" "syn_misc.at:5773" +( $at_check_trace; $COMPILE_ONLY -std=ibm-strict -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_misc.at:5773" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:5778' \ + "SET SOURCEFORMAT syntax checks" " " 2 +at_xfail=no +( + printf "%s\n" "361. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + *> Valid + $set sourceformat(free) + $ SET SOURCEFORMAT"FIXED" + *> Invalid + $SET SOURCEFORMAT"hi!" + $SET SOURCEFORMAT() + $SET sourceformat'mis-matched" +_ATEOF + + +# FIXME: something is broken with the '"#OPTION here, +# that should be generated as #OPTION 'mis-matched" +# and in a second step not be generated at all + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5795: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5795" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: invalid SOURCEFORMAT directive option 'hi!' +prog.cob:7: error: invalid SOURCEFORMAT directive option '' +prog.cob:8: error: syntax error, unexpected Variable, expecting Literal +prog.cob:8: error: invalid SOURCEFORMAT directive option +prog.cob:8: error: invalid literal: '\"#OPTION mis-matched ...' +prog.cob:8: note: missing terminating ' character +prog.cob:8: error: PROGRAM-ID header missing +prog.cob:8: error: PROCEDURE DIVISION header missing +prog.cob:8: 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_misc.at:5795" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:5813' \ + "WHEN-COMPILED register in dialect" " " 2 +at_xfail=no +( + printf "%s\n" "362. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + PROCEDURE DIVISION. + DISPLAY WHEN-COMPILED + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5825: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:5825" +( $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"; printf "%s\n" "prog.cob:6: error: 'WHEN-COMPILED' 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:5825" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5828: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_misc.at:5828" +( $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:5828" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5829: \$COMPILE_ONLY -std=mvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs prog.cob" "syn_misc.at:5829" +( $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_misc.at:5829" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5830: \$COMPILE_ONLY -std=rm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm prog.cob" "syn_misc.at:5830" +( $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/syn_misc.at:5830" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5831: \$COMPILE_ONLY -fregister=WHEN-COMPILED prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fregister=WHEN-COMPILED prog.cob" "syn_misc.at:5831" +( $at_check_trace; $COMPILE_ONLY -fregister=WHEN-COMPILED prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:5831" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5832: \$COMPILE_ONLY -freserved=WHEN-COMPILED -fregister=WHEN-COMPILED prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=WHEN-COMPILED -fregister=WHEN-COMPILED prog.cob" "syn_misc.at:5832" +( $at_check_trace; $COMPILE_ONLY -freserved=WHEN-COMPILED -fregister=WHEN-COMPILED prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:5832" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:5839' \ + "LIN / COL register" " " 2 +at_xfail=no +( + printf "%s\n" "363. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + PROCEDURE DIVISION. + MOVE 1 TO LIN, COL + . +_ATEOF + + +# "strict" configuration: +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5852: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:5852" +( $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"; printf "%s\n" "prog.cob:6: error: 'LIN' is not defined +prog.cob:6: error: syntax error, unexpected COL +" | \ + $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:5852" +$at_failed && at_fn_log_failure +$at_traceon; } + +# "lax" configuration: +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5857: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_misc.at:5857" +( $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"; printf "%s\n" "prog.cob:6: error: 'LIN' is not defined +prog.cob:6: error: syntax error, unexpected COL +" | \ + $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:5857" +$at_failed && at_fn_log_failure +$at_traceon; } + +# standard configuration: +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5862: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5862" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: 'LIN' is not defined +prog.cob:6: error: syntax error, unexpected COL +" | \ + $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:5862" +$at_failed && at_fn_log_failure +$at_traceon; } + +# explicit enabled +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5867: \$COMPILE_ONLY -fregister=LIN,COL prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fregister=LIN,COL prog.cob" "syn_misc.at:5867" +( $at_check_trace; $COMPILE_ONLY -fregister=LIN,COL prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:5867" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:5871' \ + "tokens consisting of multiple words" " " 2 +at_xfail=no +( + printf "%s\n" "364. $at_setup_line: testing $at_desc ..." + $at_traceon + +# note: we actually do not check for all possible cases, but two are better than none... + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 test-var pic xx. + 88 endOfFile value '10'. + 01 todo pic xx. + + PROCEDURE DIVISION. + if not endOfFile + display 'all fine' + end-if + if test-var greater or equal todo + display 'still fine' + end-if + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5894: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:5894" +( $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:5894" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:5899' \ + "@OPTIONS parsing" " " 2 +at_xfail=no +( + printf "%s\n" "365. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# GnuCOBOL currently only skips these, see FR 305 + +cat >valid.cob <<'_ATEOF' + +000100 @OPTIONS NOMAIN,APOST +000200 @OPTIONS APOST +000300 IDENTIFICATION DIVISION. +000400 PROGRAM-ID. VALID. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:5911: \$COMPILE_ONLY valid.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY valid.cob" "syn_misc.at:5911" +( $at_check_trace; $COMPILE_ONLY valid.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "valid.cob:2: warning: ignoring unknown directive: '@OPTIONS NOMAIN,APOST' +valid.cob:3: warning: ignoring unknown directive: '@OPTIONS APOST' +" | \ + $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:5911" +$at_failed && at_fn_log_failure +$at_traceon; } + + +#AT_DATA([invalid.cob], [ +# @OPTIONS ALPHAL(WORD) +# @OPTIONS INITVALUE(100) +# @OPTIONS INITVALUE(F) +# @OPTIONS INITVALUE(AG) +# @OPTIONS BINARY(WORD,MLBON) INITVALUE(00) NOTRUNC +# @OPTIONS INITVALUE(00) +# @OPTIONS NOTRUNC +# @OPTIONS APOST,MAIN +# @OPTIONS THREAD(SINGLE) +# IDENTIFICATION DIVISION. +# PROGRAM-ID. INVALID. +#]) + +#AT_CHECK([$COMPILE_ONLY valid.cob], [0], [], []) +#AT_CHECK([$COMPILE_ONLY invalid.cob], [1], [], +#[invalid.cob:2: warning: unknown @OPTIONS directive 'ALPHAL' +#invalid.cob:3: error: invalid @OPTIONS INITVALUE value '100' +#invalid.cob:4: error: invalid @OPTIONS INITVALUE value 'F' +#invalid.cob:5: error: invalid @OPTIONS INITVALUE value 'AG' +#invalid.cob:6: warning: skipping line after first space +#invalid.cob:7: error: @OPTIONS MAIN conflicts with command line option '-m' +#]) + + set +x + $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 'syn_misc.at:5943' \ + "PROCESS / CBL parsing" " " 2 +at_xfail=no +( + printf "%s\n" "366. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# GnuCOBOL currently only skips these, see FR 305 + +#AT_DATA([valid.cob], [ +#Process codepage(1047) +#CBL CODEPAGE(1047) +#Process +# Process codepage(1208) +# CBL CODEPAGE(1208) +#000100 Process codepage(1047) +#000200 CBL CODEPAGE(1047) +#000300 CBL +#000400 IDENTIFICATION DIVISION. +#000500 PROGRAM-ID. VALID. +#]) +# +#AT_CHECK([$COMPILE_ONLY valid.cob], [0], [], +#[valid.cob:2: warning: ignoring unknown directive: 'Process codepage(1047)' +#valid.cob:3: warning: ignoring unknown directive: 'CBL CODEPAGE(1047)' +#valid.cob:5: warning: ignoring unknown directive: 'Process codepage(1208)' +#valid.cob:6: warning: ignoring unknown directive: 'CBL CODEPAGE(1208)' +#valid.cob:7: warning: ignoring unknown directive: 'Process codepage(1047)' +#valid.cob:8: warning: ignoring unknown directive: 'CBL CODEPAGE(1047)' +#]) + +# FIXME: the part above does not work + +#AT_DATA([valid.cob], [ +#Process codepage(1047) +# Process +# CBL +#000100 Process codepage(1208) +#000200 CBL CODEPAGE(1208) +#000300 CBL +#000400 IDENTIFICATION DIVISION. +#000500 PROGRAM-ID. VALID. +#]) + +#AT_CHECK([$COMPILE_ONLY valid.cob], [0], [], +#[valid.cob:2: warning: ignoring unknown directive: 'Process codepage(1047)' +#valid.cob:5: warning: ignoring unknown directive: 'Process codepage(1208)' +#valid.cob:6: warning: ignoring unknown directive: 'CBL CODEPAGE(1208)' +#]) + +# simple one, to consider later how to make the necessary changes for +# process/cbl before col 7 + +cat >valid.cob <<'_ATEOF' + +000100 Process codepage(1047) +000200 CBL CODEPAGE(1208) +000300 CBL +000400 IDENTIFICATION DIVISION. +000500 PROGRAM-ID. VALID. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6000: \$COMPILE_ONLY valid.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY valid.cob" "syn_misc.at:6000" +( $at_check_trace; $COMPILE_ONLY valid.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "valid.cob:2: warning: ignoring unknown directive: 'Process codepage(1047)' +valid.cob:3: warning: ignoring unknown directive: 'CBL CODEPAGE(1208)' +" | \ + $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:6000" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:6008' \ + "*CONTROL / *CBL parsing" " " 2 +at_xfail=no +( + printf "%s\n" "367. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +#AT_DATA([valid.cob], [ +# *CONTROL LIST +# *CONTROL SOURCE +# *CBL MAP LIST +#000100 *CBL NOMAP NOSOURCE NOLIST +#000200 IDENTIFICATION DIVISION. +#000300 PROGRAM-ID. VALID. +#]) + +#AT_CHECK([$COMPILE_ONLY valid.cob], [0], [], +#[valid.cob:2: warning: LIST is not applicable, consider -g / -s +#valid.cob:4: warning: LIST is not applicable, consider -g / -s +#]) + +# for now only simple one -> ignored + +cat >valid.cob <<'_ATEOF' + + *CONTROL LIST + *CONTROL SOURCE + *CBL MAP LIST +000100 *CBL NOMAP NOSOURCE NOLIST +000200 IDENTIFICATION DIVISION. +000300 PROGRAM-ID. VALID. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6036: \$COMPILE_ONLY valid.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY valid.cob" "syn_misc.at:6036" +( $at_check_trace; $COMPILE_ONLY valid.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:6036" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:6041' \ + "system routines with wrong number of parameters" "" 2 +at_xfail=no +( + printf "%s\n" "368. $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 9. + 01 VAR2 PIC 9. + 01 VAR3 PIC 9. + 01 VAR4 PIC 9. + PROCEDURE DIVISION. + CALL X"91" USING VAR1 VAR2 VAR3 VAR4. + CALL X"91" USING VAR1. + CALL "C$TOUPPER" USING VAR1 VAR2 VAR3. + CALL "CBL_GC_FORK" USING VAR1. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6060: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6060" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: warning: wrong number of CALL parameters for 'X\"91\"', 4 given, 3 expected +prog.cob:12: error: wrong number of CALL parameters for 'X\"91\"', 1 given, 3 expected +prog.cob:13: warning: wrong number of CALL parameters for 'C\$TOUPPER', 3 given, 2 expected +prog.cob:14: warning: wrong number of CALL parameters for 'CBL_GC_FORK', 1 given, 0 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_misc.at:6060" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:6070' \ + "invalid use of condition-name" " " 2 +at_xfail=no +( + printf "%s\n" "369. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# see Bug #543 "level 88 item not checked in all places for STRING" +# and FR #339 +# Note: we actually check much more here, for example special data types +# like HANDLE, see "ACUCOBOL USAGE HANDLE"; +# condition-name is also checked in syn_file.at "WRITE / REWRITE FROM clause" + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. prog. + data division. + working-storage section. + 77 p usage pointer. + 01 val pic x(10). + 88 val-i1 value 'some'. + 88 val-i2 value 'val'. + 77 val2 pic x(50). + 77 target pic x(50). + 01 vnum pic 9. + 88 vnum-1 value 1. + 88 vnum-2 values 2 thru 5. + 88 vnum-9 value 9. + 01 filler. + 02 tentry pic x occurs 0 to 6 depending on vnum-1. + procedure division. + string val-i1 delimited by size into target + string val2 delimited by val-i2 into target + string val2 delimited by size into val-i1 + with pointer val-i2 + unstring val-i1 into target + unstring val2 delimited by val-i1 into target + unstring val2 into val-i1 + with pointer val-i2 + move val-i1 + to val-i2, tentry (vnum-9) + compute vnum-1 = vnum + compute vnum = vnum-1 / + vnum-2 + go to val-i1 + set p to val-i1 + set p to address of val-i2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6114: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6114" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:17: error: condition-name not allowed here: 'vnum-1' +prog.cob:19: error: condition-name not allowed here: 'val-i1' +prog.cob:20: error: condition-name not allowed here: 'val-i2' +prog.cob:21: error: condition-name not allowed here: 'val-i1' +prog.cob:23: error: condition-name not allowed here: 'val-i1' +prog.cob:24: error: condition-name not allowed here: 'val-i1' +prog.cob:25: error: condition-name not allowed here: 'val-i1' +prog.cob:28: error: condition-name not allowed here: 'vnum-9' +prog.cob:27: error: condition-name not allowed here: 'val-i1' +prog.cob:29: error: condition-name not allowed here: 'vnum-1' +prog.cob:30: error: condition-name not allowed here: 'vnum-1' +prog.cob:31: error: condition-name not allowed here: 'vnum-2' +prog.cob:33: error: condition-name not allowed here: 'val-i1' +prog.cob:34: error: condition-name not allowed here: 'val-i2' +prog.cob:32: error: 'val-i1 (MAIN SECTION:)' is not a procedure 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_misc.at:6114" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6134' \ + "XML GENERATE syntax checks" " " 2 +at_xfail=no +( + printf "%s\n" "370. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 str. + 03 str-1 PIC XX. + 03 str-2 PIC X. + 66 renames-item RENAMES str-1 THRU str-2. + 01 bool-area. + 03 bool-item PIC 1(30) USAGE BIT. + 03 zoned-decimal PIC 99V99 PACKED-DECIMAL. + 01 just-item PIC X(30) JUST. + 01 table-area. + 03 table-entry PIC X(30) OCCURS 2 TIMES. + 01 long-str PIC X(200). + + 01 float-item FLOAT-SHORT. + 01 pic-p-item PIC 99P(3). + + 01 rec. + 03 child-1 PIC X(30). + 03 child-1a REDEFINES child-1 PIC 9(30). + 03 child-2 PIC X(30). + 03 child-3. + 05 child-3-1 PIC X OCCURS 5 TIMES. + + 01 all-filler-rec. + 03 FILLER PIC XXXX. + 03 FILLER PIC 9999. + + 01 invalid-sub-elt-rec. + 03 non-unique-name PIC X. + 03 valid-sub-rec. + 05 non-unique-name PIC X. + 03 bit-item PIC 1 USAGE BIT. + 03 ptr-item USAGE POINTER. + + 01 with-attrs-does-nothing. + 03 FILLER PIC X. + 03 table-elt PIC X OCCURS 2 TIMES. + 03 with-attrs-group. + 05 with-attrs-group-child PIC X. + 03 with-attrs-child PIC X. + + PROCEDURE DIVISION. + *> Receiving area is not alphanumeric or national. + XML GENERATE bool-item FROM str + *> Receiving area is JUSTIFIED RIGHT. + XML GENERATE just-item FROM str + *> Receiving area is subscripted or ref-mod'd. + XML GENERATE table-entry (1) FROM str + XML GENERATE long-str (1:100) FROM str + + *> Input record cannot be function identifier. + XML GENERATE long-str FROM FUNCTION CHAR(4) + *> Input record cannot be ref-mod'd. + XML GENERATE long-str FROM str (2:1) + *> " " is not RENAMES (children may be RENAMES). + XML GENERATE long-str FROM renames-item + *> Non-ignored items of the input record must: + *> * alphabetic, alphanumeric, national, numeric or index. + *> * there must be at least one item. + *> * each non-FILLER name must be unique within the input record. + XML GENERATE long-str FROM invalid-sub-elt-rec *> XXXXXXXXX ptr element is invalid + XML GENERATE long-str FROM all-filler-rec + + *> COUNT IN field must be an integer. + XML GENERATE long-str FROM str COUNT float-item + *> COUNT IN field must not have P in PIC. + XML GENERATE long-str FROM str COUNT pic-p-item + + *> ENCODING codepage must be unsigned integer. + *> If receiving area is national, codepage must be 1200. + *> " " " alphanumeric, codepage must be 1208 or EBCDIC + *> page supported with XML. + + *> WITH ATTRIBUTES, generated immediate children must be + *> * elementary + *> * be non-FILLER + *> * not be OCCURS + *> * not be subject of a TYPE phrase. + XML GENERATE long-str FROM with-attrs-does-nothing + WITH ATTRIBUTES + TYPE OF with-attrs-child IS ELEMENT + + *> NAMESPACE must be a valid URI. + XML GENERATE long-str FROM str NAMESPACE "<>" + *> NAMESPACE and -PREFIX must be alphanumeric or national. + XML GENERATE long-str FROM str + NAMESPACE bool-item NAMESPACE-PREFIX bool-item + *> " " " may not be figurative constants. + XML GENERATE long-str FROM str + NAMESPACE SPACES NAMESPACE-PREFIX QUOTES + *> NAMESPACE-PREFIX must be a valid XML name. + XML GENERATE long-str FROM str + NAMESPACE "http://www.w3.org/xml" NAMESPACE-PREFIX X"00" + + *> NAME items must reference input record or its children. + XML GENERATE long-str FROM rec + NAME OF child-1 IS "c1", long-str IS "c2", rec IS "r" + *> NAME items cannot be reference modified or subscripted. + XML GENERATE long-str FROM rec + NAME OF child-1 (1:2) IS "c1" + *> NAME items may not be ignored by the statement. + XML GENERATE long-str FROM rec + NAME OF child-1a IS "c1a" + *> NAME literals must be valid XML names. + XML GENERATE long-str FROM rec + NAME OF child-1 IS X"00" + + *> TYPE items must be elementary and children of input record. + XML GENERATE long-str FROM rec + TYPE OF child-3 IS ELEMENT, long-str IS CONTENT, + rec IS CONTENT + *> TYPE items cannot be ref-mod'd or subscripted. + XML GENERATE long-str FROM rec + TYPE OF child-1 (1:3) IS ATTRIBUTE, + child-3-1 (1) IS CONTENT + *> TYPE items may not be ignored by the statement + XML GENERATE long-str FROM rec + TYPE OF child-1a IS ELEMENT + *> TYPE ATTRIBUTE items must satisfy the conditions for WITH + *> ATTRIBUTES. (Covered by the above.) + + *> SUPPRESS WHEN items must be: + *> * elementary + *> * not ignored + *> * child of input record. + XML GENERATE long-str FROM rec + SUPPRESS child-3 WHEN SPACES, child-1a WHEN SPACES, + rec WHEN SPACES + *> All SUPPRESS items must not be functions + XML GENERATE long-str FROM rec + SUPPRESS FUNCTION CHAR(5) WHEN SPACE + *> All SUPPRESS items must not be ref-mod'd or subscripted. + XML GENERATE long-str FROM rec + SUPPRESS child-1 (1:3) WHEN ZERO, + child-3-1 (1) WHEN SPACES + *> If non-WHEN SUPPRESS items may be groups. (No error message here.) + XML GENERATE long-str FROM rec SUPPRESS child-3 + *> If SUPPRESS WHEN ZEROES, item is not DISPLAY-1. + *> If SUPPRESS WHEN SPACES, item must be USAGE DISPLAY, DISPLAY-1 or + *> NATIONAL + XML GENERATE long-str FROM bool-area + SUPPRESS bool-item WHEN SPACES + *> If SUPPRESS WHEN LOW-/HIGH-VALUES, item must be USAGE DISPLAY or + *> NATIONAL. If item is a zoned/national decimal item, it must be + *> an integer. + XML GENERATE long-str FROM bool-area + SUPPRESS bool-item WHEN LOW-VALUES, + zoned-decimal WHEN HIGH-VALUE + *> (For generic WHEN phrases, invalid items above are ignored.) + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6294: \$COMPILE_ONLY -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmax-errors=0 prog.cob" "syn_misc.at:6294" +( $at_check_trace; $COMPILE_ONLY -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: warning: USAGE BIT is not implemented +prog.cob:37: warning: USAGE BIT is not implemented +prog.cob:49: error: JSON/XML GENERATE receiving item must be alphanumeric or national +prog.cob:51: error: JSON/XML GENERATE receiving item may not have JUSTIFIED clause +prog.cob:53: error: JSON/XML GENERATE receiving item may not be subscripted +prog.cob:54: error: JSON/XML GENERATE receiving item may not be reference modified +prog.cob:57: error: syntax error, unexpected intrinsic function name, expecting Identifier +prog.cob:59: error: JSON/XML GENERATE input record may not be reference modified +prog.cob:61: error: JSON/XML GENERATE input record may not have RENAMES clause +prog.cob:66: error: JSON/XML GENERATE input record has subrecords with non-unique names +prog.cob:67: error: all the children of 'all-filler-rec' are ignored in JSON/XML GENERATE +prog.cob:70: error: COUNT IN item 'float-item' must be an integer +prog.cob:72: error: COUNT IN item 'pic-p-item' may not have PICTURE with P in it +prog.cob:89: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:89: warning: WITH ATTRIBUTES specified, but no attributes can be generated +prog.cob:89: error: NAMESPACE must be a valid URI +prog.cob:92: error: NAMESPACE must be alphanumeric or national +prog.cob:92: error: NAMESPACE-PREFIX must be alphanumeric or national +prog.cob:97: error: NAMESPACE may not be a figurative constant +prog.cob:97: error: NAMESPACE-PREFIX may not be a figurative constant +prog.cob:98: error: NAMESPACE-PREFIX must be a valid XML name +prog.cob:104: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:102: error: NAME OF item must be the input record or a child of it +prog.cob:107: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:105: error: NAME OF item may not be reference modified +prog.cob:110: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:108: error: NAME OF item may not be an ignored item in JSON/XML GENERATE +prog.cob:114: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:111: error: NAME OF literal must be a valid XML identifier +prog.cob:118: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:115: error: TYPE OF item must be elementary +prog.cob:115: error: TYPE OF item must be a child of the input record +prog.cob:116: error: TYPE OF item must be elementary +prog.cob:116: error: TYPE OF item must be a child of the input record +prog.cob:122: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:119: error: TYPE OF item may not be reference modified +prog.cob:120: error: TYPE OF item may not be subscripted +prog.cob:131: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:123: error: TYPE OF item may not be an ignored item in JSON/XML GENERATE +prog.cob:135: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:133: error: SUPPRESS item with WHEN clause must be elementary +prog.cob:133: error: SUPPRESS item must be a child of the input record +prog.cob:132: error: SUPPRESS item may not be an ignored item in JSON/XML GENERATE +prog.cob:132: error: SUPPRESS item with WHEN clause must be elementary +prog.cob:136: error: syntax error, unexpected intrinsic function name, expecting EVERY or WHEN or Identifier +prog.cob:142: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:140: error: SUPPRESS item may not be subscripted +prog.cob:139: error: SUPPRESS item may not be reference modified +prog.cob:146: warning: OCCURS items in JSON/XML GENERATE is not implemented +prog.cob:147: error: SUPPRESS WHEN SPACE item must be USAGE DISPLAY or NATIONAL +prog.cob:153: error: SUPPRESS WHEN HIGH-VALUE item must be USAGE DISPLAY or NATIONAL +prog.cob:153: error: SUPPRESS WHEN HIGH-VALUE item must be an integer +prog.cob:152: error: SUPPRESS WHEN LOW-VALUE item 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:6294" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6352' \ + "BASED clause, ALLOCATE / FREE statements" " " 2 +at_xfail=no +( + printf "%s\n" "371. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 str. + 03 str-1 PIC XX BASED. + 01 str-2 BASED. + 03 str-2a PIC X SYNC. + 03 str-2b PIC 9. + 01 one PIC XX BASED. + 77 seven PIC 9 BASED. + 77 var PIC 9. + 77 ptr USAGE POINTER. + SCREEN-STORAGE SECTION. + 01 scrn BASED. + 03 scrn-field pic x. + + PROCEDURE DIVISION. + ALLOCATE one + ALLOCATE seven INITIALIZED + ALLOCATE seven CHARACTERS + ALLOCATE seven CHARACTERS RETURNING ptr + ALLOCATE 1 + 2 * 3 CHARACTERS RETURNING ptr + ALLOCATE 1 + one * 3 CHARACTERS RETURNING ptr + ALLOCATE one CHARACTERS RETURNING ptr + ALLOCATE seven CHARACTERS INITIALIZED RETURNING ptr + ALLOCATE var + ALLOCATE 9 CHARACTERS INITIALIZED TO 9 RETURNING ptr. + FREE var + FREE ADDRESS OF var + FREE one + FREE ADDRESS OF seven + MOVE ADDRESS OF seven TO ptr + FREE ptr + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6394: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6394" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: BASED only allowed at 01/77 level +prog.cob:16: error: PROCEDURE DIVISION header missing +prog.cob:16: error: syntax error, unexpected Identifier +prog.cob:17: error: syntax error, unexpected Identifier, expecting SECTION or . +prog.cob:17: note: unknown statement '01' +prog.cob:18: error: syntax error, unexpected Identifier, expecting SECTION or . +prog.cob:18: note: unknown statement '03' +prog.cob:20: error: syntax error, unexpected PROCEDURE +prog.cob:23: error: ALLOCATE CHARACTERS requires RETURNING clause +prog.cob:26: error: 'one' is not numeric +prog.cob:27: error: amount must be specified as a numeric expression +prog.cob:29: error: target of ALLOCATE must have BASED clause +prog.cob:30: error: INITIALIZED TO item is not alphanumeric +prog.cob:31: error: target 1 of FREE is not a BASED data item +prog.cob:32: error: target 1 of FREE is not a BASED data 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_misc.at:6394" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6412: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:6412" +( $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"; printf "%s\n" "prog.cob:8: error: BASED only allowed at 01/77 level +prog.cob:16: warning: PROCEDURE DIVISION header missing +prog.cob:16: note: PROCEDURE DIVISION header assumed +prog.cob:16: error: syntax error, unexpected Identifier +prog.cob:17: error: syntax error, unexpected Identifier, expecting SECTION or . +prog.cob:17: note: unknown statement '01' +prog.cob:18: error: syntax error, unexpected Identifier, expecting SECTION or . +prog.cob:18: note: unknown statement '03' +prog.cob:20: error: syntax error, unexpected PROCEDURE +prog.cob:23: error: ALLOCATE CHARACTERS requires RETURNING clause +prog.cob:26: error: 'one' is not numeric +prog.cob:27: error: amount must be specified as a numeric expression +prog.cob:29: error: cannot change address of 'var', which is not BASED or a LINKAGE item +prog.cob:30: error: INITIALIZED TO item is not alphanumeric +prog.cob:31: error: target 1 of FREE is not a BASED data item +prog.cob:32: error: target 1 of FREE is not a BASED data 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_misc.at:6412" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6433' \ + "CONTINUE statement" " " 2 +at_xfail=no +( + printf "%s\n" "372. $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 X. + 77 seven PIC 9 BASED. + 77 var PIC 9. + 77 ptr USAGE POINTER. + PROCEDURE DIVISION. + CONTINUE + PERFORM VARYING var FROM 1 BY 1 UNTIL var = 4 + CONTINUE + END-PERFORM + CONTINUE AFTER 42 SECONDS *> COBOL 202x + CONTINUE AFTER 4 + 2 SECONDS + CONTINUE AFTER var + 2 SECONDS + CONTINUE AFTER '1' SECONDS + CONTINUE AFTER ptr SECONDS + CONTINUE AFTER one SECONDS + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6460: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6460" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:19: error: amount must be specified as a numeric expression +prog.cob:20: error: amount must be specified as a numeric expression +prog.cob:21: error: amount must be specified as a numeric 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:6460" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6466: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:6466" +( $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"; printf "%s\n" "prog.cob:16: error: AFTER phrase in CONTINUE statement does not conform to COBOL 2014 +prog.cob:17: error: AFTER phrase in CONTINUE statement does not conform to COBOL 2014 +prog.cob:18: error: AFTER phrase in CONTINUE statement does not conform to COBOL 2014 +prog.cob:19: error: AFTER phrase in CONTINUE statement does not conform to COBOL 2014 +prog.cob:20: error: AFTER phrase in CONTINUE statement does not conform to COBOL 2014 +prog.cob:21: error: AFTER phrase in CONTINUE statement 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:6466" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6477' \ + "conflict markers" " " 2 +at_xfail=no +( + printf "%s\n" "373. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + *> Verify that we report conflict markers correctly +<<<<<<< HEAD + 01 one-1 PIC X. +======= there may be something here + 01 one-2 PIC X. +>>>>>>> some note + *> Verify that we don't have an issue with unmatched conflict markers + 77 var PIC 9. +<<<<<<< HEAD + 01 var2 PIC X. +======= +<<<<<<< HEAD + *> Verify that we only report conflict markers at the start of lines. + <<<<<<< HEAD + 01 one PIC X. + ======= + 01 two PIC 9. + >>>>>>> some note + PROCEDURE DIVISION. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6508: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6508" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: version control conflict marker in file +prog.cob:10: error: version control conflict marker in file +prog.cob:12: error: version control conflict marker in file +prog.cob:15: error: version control conflict marker in file +prog.cob:17: error: version control conflict marker in file +prog.cob:18: error: version control conflict marker in file +prog.cob:20: error: invalid indicator '<' at column 7 +prog.cob:22: error: invalid indicator '=' at column 7 +prog.cob:24: warning: ignoring invalid directive: '>> some' +" | \ + $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:6508" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6520: \$COMPILE_ONLY -free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog.cob" "syn_misc.at:6520" +( $at_check_trace; $COMPILE_ONLY -free prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: version control conflict marker in file +prog.cob:10: error: version control conflict marker in file +prog.cob:12: error: version control conflict marker in file +prog.cob:15: error: version control conflict marker in file +prog.cob:17: error: version control conflict marker in file +prog.cob:18: error: version control conflict marker in file +prog.cob:24: warning: ignoring invalid directive +prog.cob:20: error: PROCEDURE DIVISION header missing +prog.cob:20: error: syntax error, unexpected < +prog.cob:22: error: syntax error, unexpected = +prog.cob:25: error: syntax error, unexpected PROCEDURE +" | \ + $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:6520" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6536' \ + "SORT syntax" " " 2 +at_xfail=no +( + printf "%s\n" "374. $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 SRTFIL ASSIGN TO "SRTFIL" + ORGANIZATION LINE SEQUENTIAL. + SELECT STFILE ASSIGN TO "STFILE" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD SRTFIL. + 01 SRTREC PIC X(256). + SD STFILE. + 01 STFREC PIC X(256). + + WORKING-STORAGE SECTION. + 01 G VALUE "d4b2e1a3c5". + 02 TBL OCCURS 5. + 03 X PIC X. + 03 Y PIC 9. + 02 TBL-ORD OCCURS 5 ASCENDING YO. + 03 XO PIC X. + 03 YO PIC 9. + + PROCEDURE DIVISION. + SORT TBL ASCENDING KEY X. + SORT TBL DESCENDING. + SORT TBL. + SORT TBL-ORD ASCENDING. + SORT TBL-ORD. + SORT STFILE DESCENDING KEY SRTREC. + SORT STFILE DESCENDING KEY SRTREC USING SRTFIL GIVING SRTFIL. + SORT STFILE ASCENDING. + SORT STFILE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6580: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6580" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:32: error: table SORT requires KEY phrase +prog.cob:35: error: file SORT requires USING or INPUT PROCEDURE +prog.cob:35: error: file SORT requires GIVING or OUTPUT PROCEDURE +prog.cob:37: error: file SORT requires KEY phrase +prog.cob:38: error: file SORT requires KEY 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:6580" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6590' \ + "OSVS I/O extensions" " " 2 +at_xfail=no +( + printf "%s\n" "375. $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" SEQUENTIAL + FILE-LIMITS ARE 1 THRU 10, 100 THRU f-max + TRACK-AREA 100 CHARACTERS + TRACK-LIMIT 5 TRACKS. + SELECT g ASSIGN "g.dat" RELATIVE + RELATIVE KEY g-key + ACTUAL KEY g-actual-key. + + I-O-CONTROL. + APPLY RECORD-OVERFLOW f, g + APPLY CORE-INDEX core-idx ON f + APPLY CYL-INDEX TO 5 ON f + APPLY CYL-OVERFLOW 10 TRACKS f + APPLY EXTENDED-SEARCH g + APPLY MASTER-INDEX TO 5 on g + APPLY WRITE-VERIFY f, g + APPLY REORG-CRITERIA f-rec, f + RERUN ON "g2.dat" EVERY END REEL g + . + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC X(100). + + FD g. + 01 g-rec PIC 9(10). + + WORKING-STORAGE SECTION. + 01 core-idx PIC 999. + 01 f-max PIC 9(5) VALUE 1000. + 01 g-key PIC 999. + 01 g-actual-key PIC XXX. + + PROCEDURE DIVISION. + OPEN INPUT f DISP, INPUT g REREAD + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6638: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6638" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: FILE-LIMIT is obsolete in GnuCOBOL +prog.cob:10: warning: TRACK-AREA is obsolete in GnuCOBOL +prog.cob:11: warning: TRACK-LIMIT is obsolete in GnuCOBOL +prog.cob:14: warning: ACTUAL KEY is obsolete in GnuCOBOL +prog.cob:18: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:19: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:20: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:21: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:22: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:23: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:24: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:25: warning: DOS/VS APPLY phrase is obsolete in GnuCOBOL +prog.cob:42: warning: OPEN LEAVE/REREAD/DISP is obsolete in GnuCOBOL +prog.cob:42: warning: OPEN LEAVE/REREAD/DISP 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:6638" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6657' \ + "EQUALS in expressions" " " 2 +at_xfail=no +( + printf "%s\n" "376. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 99 VALUE 0. + PROCEDURE DIVISION. + IF num LESS OR EQUALS 0 + CONTINUE + END-IF + IF num GREATER THAN OR EQUALS 1 + CONTINUE + END-IF + IF num EQUALS TO 0 + CONTINUE + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6679: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:6679" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:6679" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6683' \ + "SEARCH ALL checks" " " 2 +at_xfail=no +( + printf "%s\n" "377. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TAB-1. + 05 TAB-1-ENTRY OCCURS 50 + ASCENDING KEY IS TAB-1-KEY + INDEXED BY TAB-1-INDEX. + 10 TAB-1-KEY. + 15 T1K-SUB1 PIC X(03). + 15 T1K-SUB2 PIC 9(03). + 10 TAB-1-DATA PIC X(50). + 01 TAB-2. + 05 TAB-2-ENTRY OCCURS 50 + INDEXED BY TAB-2-INDEX. + 10 TAB-2-KEY. + 15 T2K-SUB1 PIC X(03). + 15 T2K-SUB2 PIC 9(03). + 10 TAB-2-DATA PIC X(50). + + PROCEDURE DIVISION. + TESTING SECTION. + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-1-KEY = ALL ZERO + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-1-KEY (TAB-1-INDEX) = ALL ZERO + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN "ABC123" = TAB-1-KEY (TAB-1-INDEX) + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-1-KEY (TAB-2-INDEX) = ALL ZERO + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + WHEN TAB-1-KEY (TAB-1-INDEX) = ALL ZERO + CONTINUE + AT END + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-1-KEY (TAB-1-INDEX) = ALL ZERO + WHEN TAB-1-KEY (TAB-1-INDEX) = "ZZZ999" + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TESTING + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN T1K-SUB1 (TAB-1-INDEX) = "ZZZ" + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-2-KEY (TAB-1-INDEX) = ALL ZERO + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN TAB-2-KEY (TAB-2-INDEX) = ALL ZERO + CONTINUE + END-SEARCH + SEARCH ALL TAB-1-ENTRY + AT END + CONTINUE + WHEN "AA" = "BB" + CONTINUE + END-SEARCH + SEARCH ALL TAB-2-ENTRY + AT END + CONTINUE + WHEN TAB-2-KEY (TAB-2-INDEX) = ALL ZERO + CONTINUE + END-SEARCH + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6785: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:6785" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'TESTING': +prog.cob:27: error: 'TAB-1-KEY' requires one subscript +prog.cob:51: error: syntax error, unexpected AT END +prog.cob:53: error: syntax error, unexpected END-SEARCH +prog.cob:58: error: syntax error, unexpected WHEN +prog.cob:64: error: 'TESTING' is not a field +prog.cob:70: error: SEARCH ALL requires comparision of KEY field +prog.cob:76: error: SEARCH ALL requires comparision of KEY field +prog.cob:82: error: SEARCH ALL requires comparision of KEY field +prog.cob:88: warning: expression 'AA' EQUALS 'BB' is always FALSE +prog.cob:88: error: invalid SEARCH ALL condition +prog.cob:91: error: SEARCH ALL requires KEY phrase +prog.cob:15: note: 'TAB-2-ENTRY' 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_misc.at:6785" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6803' \ + "Invalid parentheses around condition" " " 2 +at_xfail=no +( + printf "%s\n" "378. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 99 VALUE 0. + PROCEDURE DIVISION. + IF num NOT (LESS OR EQUALS) 0 + CONTINUE + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6820: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:6820" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: invalid expression: unfinished 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:6820" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6826' \ + "DISPLAY directive (1)" " " 2 +at_xfail=no +( + printf "%s\n" "379. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this format is COBOL 202x without UPON +# --> implied UPON LISTING which goes to stdout +# as there is no listing active +# TODO: extend the >> DISPLAY tests and actually support +# the complete format... + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + >>DISPLAY "OK" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6843: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6843" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:6843" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6849' \ + "DISPLAY directive (2)" " " 2 +at_xfail=no +( + printf "%s\n" "380. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this is an OpenCOBOL/GnuCOBOL 2.x extension, with implied literal +# similar to $DISPLAY + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + >>DISPLAY OK + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6863: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6863" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:6863" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6869' \ + "DISPLAY directive (3)" " " 2 +at_xfail=no +( + printf "%s\n" "381. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this is the classical MicroFocus format + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + $DISPLAY OK + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6882: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:6882" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:6882" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:6888' \ + "SET CONSTANT directive" " " 2 +at_xfail=no +( + printf "%s\n" "382. $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" + * + * ensure to test a numeric, too (not actually used): + $SET CONSTANT C-UNUSED-NUM 0 + 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 (deprecated): >>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 + + +# Note: MF does not redefine a value via SET CONSTANT +# the first definitions wins (we should add a warning) +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6961: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_misc.at:6961" +( $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/syn_misc.at:6961" +$at_failed && at_fn_log_failure +$at_traceon; } + +# FIXME: Should raise an error or at least a warning +# AT_CHECK([$COMPILE_ONLY -std=cobol2002 prog.cob], [0], [], []) + +# Note: MF does not redefine a value via SET CONSTANT +# the first definitions wins (we should add a warning) +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6967: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:6967" +( $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:6967" +$at_failed && at_fn_log_failure +$at_traceon; } + +# FIXME: Should raise an error or at least a warning +# AT_CHECK([$COMPILE_ONLY -std=cobol2002 prog2.cob], [0], [], []) + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6971: \$COMPILE_ONLY -fdefine-constant-directive=ok prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdefine-constant-directive=ok prog3.cob" "syn_misc.at:6971" +( $at_check_trace; $COMPILE_ONLY -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/syn_misc.at:6971" +$at_failed && at_fn_log_failure +$at_traceon; } + +# CHECKME: Replace the syntax error by explicit "is not defined". +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:6973: \$COMPILE_ONLY -std=cobol2002 prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 prog3.cob" "syn_misc.at:6973" +( $at_check_trace; $COMPILE_ONLY -std=cobol2002 prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:2: error: >> DEFINE CONSTANT var used +prog3.cob:3: error: >> DEFINE CONSTANT var used +prog3.cob:10: error: >> DEFINE CONSTANT var used +prog3.cob:8: error: syntax error, unexpected Identifier +prog3.cob:9: error: syntax error, unexpected Identifier +prog3.cob: in paragraph 'MAIN': +prog3.cob:14: error: 'DOGGY' is not defined +prog3.cob:17: error: 'PONY' 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:6973" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:6987' \ + "conditional / define directives (1)" " " 2 +at_xfail=no +( + printf "%s\n" "383. $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 +printf "%s\n" "$at_srcdir/syn_misc.at:7006: \$COMPILE_ONLY -DACTIVATE2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -DACTIVATE2 prog.cob" "syn_misc.at:7006" +( $at_check_trace; $COMPILE_ONLY -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"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7006" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7012' \ + "conditional / define directives (2)" " " 2 +at_xfail=no +( + printf "%s\n" "384. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# COBOL 2002 format; checks that defines are applied at correct place + +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 +printf "%s\n" "$at_srcdir/syn_misc.at:7031: \$COMPILE_ONLY -D X prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -D X prog.cob" "syn_misc.at:7031" +( $at_check_trace; $COMPILE_ONLY -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"; printf "%s\n" "X defined +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7031" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7034: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7034" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "X not defined +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7034" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7040' \ + "conditional / define directives (3)" " " 2 +at_xfail=no +( + printf "%s\n" "385. $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 + >> DISPLAY "NOT OK (not both definitions)" + . + >>ELSE + CONTINUE + >> DISPLAY "NOT OK (no definitions)" + . + >>END-IF + >>ELSE + CONTINUE + >> DISPLAY "OK" + . + >>END-IF +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7064: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7064" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7064" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7070' \ + "conditional / define directives (4)" " " 2 +at_xfail=no +( + printf "%s\n" "386. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# check for case-insensivity + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + >>IF A IS DEFINED + CONTINUE + . + >>else + CONTINUE + . + >>eNd-If +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7088: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7088" +( $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:7088" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7092' \ + "error handling in conditional directives" " " 2 +at_xfail=no +( + printf "%s\n" "387. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: add missing tests for syntax errors in >>IF/ELSE/END + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + >> IF BANANA + >>DISPLAY "Who throws bananas?" + >> ELSE + >> DISPLAY "No BANANA here." + >> DEFINE X 1 + >> END-IF + CONTINUE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7111: \$COMPILE_ONLY -D X prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -D X prog.cob" "syn_misc.at:7111" +( $at_check_trace; $COMPILE_ONLY -D X prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: error: invalid IF directive +prog.cob:9: error: duplicate DEFINE directive 'X' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "No BANANA here. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:7111" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7120' \ + "conditional directives with lvl 78 (1)" " " 2 +at_xfail=yes +( + printf "%s\n" "388. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# MicroFocus format; checks that level 78 are applied + +# FIXME - not done yet: + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 Y VALUE 'a'. + PROCEDURE DIVISION. + $IF X DEFINED + $DISPLAY X defined + $ELIF Y DEFINED + $DISPLAY X not defined, but Y via lvl 78 + $ELSE + $DISPLAY X not defined + $END + CONTINUE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7146: \$COMPILE_ONLY -D X prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -D X prog.cob" "syn_misc.at:7146" +( $at_check_trace; $COMPILE_ONLY -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"; printf "%s\n" "X defined +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7146" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7149: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7149" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "X not defined, but Y via lvl 78 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7149" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7155' \ + "conditional directives with lvl 78 (2)" " " 2 +at_xfail=yes +( + printf "%s\n" "389. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# MicroFocus format; checks that level 78 are applied with correct values + +# FIXME - not done yet: + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 Y VALUE 1. + 78 Y2 VALUE 1. + 78 X VALUE 2. + 78 Z VALUE 354. + PROCEDURE DIVISION. + $IF Y = Y2X + $DISPLAY correct Y = Y2 + $ELSE + $DISPLAY bad: Y should be = Y2 + $END + $IF Y > X + $DISPLAY BAD - Y is not > X + $ELIF Y < X + $DISPLAY correct Y < X + $ELSE + $DISPLAY BROKEN + $END + + $IF X > Y + $DISPLAY correct X > Y + $ELIF X < Y + $DISPLAY BAD - X is not < Y + $ELSE + $DISPLAY BROKEN + $END + CONTINUE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7197: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7197" +( $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=: +echo >>"$at_stdout"; printf "%s\n" "correct Y = Y2 +correct Y < X +correct X > Y +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7197" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7205' \ + "Missing reserved word with DEBUGGING MODE" " " 2 +at_xfail=no +( + printf "%s\n" "390. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. my-prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. GNU-Linux WITH DEBUGGING MODE. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT gen-file ASSIGN "f.txt". + + DATA DIVISION. + FILE SECTION. + FD gen-file. + 01 gen-file-rec PIC X. + + PROCEDURE DIVISION. + OPEN INPUT gen-file + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7230: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:7230" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7230" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7234' \ + "Invalid PERFORM statement" " " 2 +at_xfail=no +( + printf "%s\n" "391. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: likely more to add here when inspecting code-coverage + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DEMOUNSTRING. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 Full-Name PIC X(40). + 01 SUB1 USAGE BINARY-SHORT. + PROCEDURE DIVISION. + MOVE 1 TO SUB1 + PERFORM LENGTH(Full-Name) TIMES + IF Full-Name(SUB2:1) = SPACE + IF Full-Name(SUB2 + 1:1) = SPACE + DISPLAY 'IN' + EXIT PERFORM CYCLE + END-IF + END-IF + ADD 1 TO SUB1. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7258: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:7258" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: syntax error, unexpected ( +prog.cob:17: error: syntax error, unexpected ., expecting TIMES +" | \ + $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:7258" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7265' \ + "PERFORM THRU syntax checks" " " 2 +at_xfail=no +( + printf "%s\n" "392. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + MAIN SECTION. + MAIN-00. + PERFORM SUB1 + PERFORM SUB1 THRU SUB1-EX + PERFORM SUB1-00 THRU SUB1-EX + PERFORM SUB1 THRU SUB1 + PERFORM SUB1 THRU SUB2 + GOBACK. + MAIN-EX. EXIT. + * + SUB1 SECTION. + SUB1-00. + PERFORM SUB1-01 THRU SUB1-02. + SUB1-01. + CONTINUE. + SUB1-02. + CONTINUE. + SUB1-EX. EXIT. + * + SUB2 SECTION. + SUB2-00. + PERFORM SUB1-02 THRU SUB1-01. + SUB2-01. + CONTINUE. + SUB2-02. + CONTINUE. + SUB2-EX. EXIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7301: \$COMPILE_ONLY -Wno-suspicious-perform-thru prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-suspicious-perform-thru prog.cob" "syn_misc.at:7301" +( $at_check_trace; $COMPILE_ONLY -Wno-suspicious-perform-thru prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7301" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7302: \$COMPILE_ONLY -Wall -fsection-exit-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wall -fsection-exit-check prog.cob" "syn_misc.at:7302" +( $at_check_trace; $COMPILE_ONLY -Wall -fsection-exit-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'SUB2': +prog.cob: in paragraph 'SUB2-00': +prog.cob:11: warning: PERFORM ... THROUGH SECTION and -fsection-exit-check are mutually exclusive +prog.cob:26: warning: SUB1-01 is defined before SUB1-02 +prog.cob:20: note: 'SUB1-02' defined here +prog.cob:18: note: 'SUB1-01' 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_misc.at:7302" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_misc.at:7313' \ + "VALIDATE parsing" " " 2 +at_xfail=no +( + printf "%s\n" "393. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: so far the VALIDATE statement is only partial implemented in the +# compiler, but it is planned to completely add it +# This syntax example also show-cases a bunch of other COBOL 2002 options +# which would otherwise be not checked elsewhere so far + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + *> D.22.7.1 Example of validation of USAGE DISPLAY items + *> + *>************************************************************* + *>Description of target record (note: should be possible to define later) + *>************************************************************* + *>This is set up by the optional DESTINATION clauses defined + *>in the input record; + *>if a format error is found, a default value is stored instead. + 01 TARGET-AREA. + 05 OUT-NAME PIC X(20). + 05 OUT-WEEK PIC 99 COMP OCCURS 5. + *>************************************************************* + *>Validated items + *>************************************************************* + 01 INPUT-RECORD. + *>PIC 99 checks that IN-TYPE is 2 characters numeric; + 03 IN-TYPE PIC 99 + *>if IN-TYPE fails the PICTURE check, it is assumed to be 1; + *>without a DEFAULT clause, the assumed value would here be 0. + DEFAULT 1. + *>PRESENT WHEN states the condition for this format to be used. + 03 IN-REC-FORMAT-1 PRESENT WHEN IN-TYPE = 0 OR 1 OR 2. + *>PICTURE A(20) checks for 20 alphabetic (or space) characters. + 05 IN-NAME PIC A(20) + *>PRESENT WHEN defines when the validation clauses for this data item apply: + PRESENT WHEN IN-TYPE = 0 OR 1 + *>CLASS checks each character for a class defined in SPECIAL-NAMES + *>or a predefined class + CLASS IS ALPHABETIC-UPPER + *>DESTINATION moves this item (or spaces if not alpha) to OUT-NAME. + DESTINATION OUT-NAME. + *>PRESENT WHEN checks whether the item is "blank" under this condition + 05 FILLER REDEFINES IN-NAME PIC X(20) *> should PIC be optional? + PRESENT WHEN IN-TYPE = 2 + DESTINATION OUT-NAME. + 88 VALUE SPACES IS VALID. + *>The values of IN-WEEK are checked to be in non-descending order. + 05 IN-WEEK PIC 99 OCCURS 5 + VARYING IN-WEEK-NO FROM 1, IN-NEXT-WEEK-NO FROM 2 + INVALID WHEN IN-WEEK-NO < 5 + AND IN-WEEK (IN-WEEK-NO) > IN-WEEK (IN-NEXT-WEEK-NO) + *>OUT-WEEK (1) to (5) will hold the values of IN-WEEK (1) to (5), + *>or zero for any one that failed the format (PICTURE) test. + DESTINATION OUT-WEEK (IN-WEEK-NO). + *>The 88-level INVALID entries check for invalid ranges of values. + 88 VALUES 0, 53 THRU 99 ARE INVALID. + *>REDEFINES and another PRESENT WHEN define an alternate format. + 03 IN-REC-FORMAT-2 REDEFINES IN-REC-FORMAT-1 + PRESENT WHEN IN-TYPE > 2. + *>IN-PAY has insertion characters that must be present on input. + 05 IN-PAY PIC ZZ,ZZZ.ZZ. + *>The 88-level VALID entries check for valid ranges of values; + *>the condition-name, if present, may be used in the usual way. + *>The following assume that DECIMAL POINT IS COMMA is not specified. + 88 IN-PAY-OK VALUES "10,000.00" THRU "20,000.00" ARE VALID. + *>88-level entries may also have a condition attached. + 88 VALUES "20,000.01" THRU "30,000.00" ARE VALID + WHEN IN-TYPE = 8. + *>exceptional cases can be specified using PRESENT WHEN + 05 IN-CODE PIC AX(3)9(4) + PRESENT WHEN IN-CODE NOT = "UNKNOWN". + 05 FILLER PIC X(13). + *> + *>************************************************************* + *> Description of error messages + *>************************************************************* + *>Error messages or flags are set up or cleared automatically + *>when the VALIDATE statement is executed; the programmer chooses + *>where they go and what messages or values they contain; + *>they need not be contiguous as they are in this example. + 01 VALIDATE-MESSAGES. + 03 PIC X(40) VALIDATE-STATUS "Unknown Record Type - 1 assumed" + WHEN ERROR FOR IN-TYPE + *> more than one VALIDATE-STATUS clause may be defined in one entry; + *> a NO ERROR phrase produces a message when the item is valid. + VALIDATE-STATUS "Record type Accepted" + WHEN NO ERROR FOR IN-TYPE. + *> The VALIDATE-STATUS clause can pinpoint the stage of the failed check. + 03 PIC X(40) VALIDATE-STATUS "Name not alphabetic" + WHEN ERROR ON FORMAT FOR IN-NAME + VALIDATE-STATUS "Lower-case not allowed in name" + WHEN ERROR ON CONTENT FOR IN-NAME + VALIDATE-STATUS "Name not allowed in this case" + WHEN ERROR ON RELATION FOR IN-NAME. + *> If no message is stored, spaces will be stored in these cases. + *> Errors may also be indicated by flags; + *> they may also refer to a table of input items. + 03 W-ERROR-FLAG PIC 9 COMP OCCURS 5 + VALIDATE-STATUS 1 WHEN ERROR FOR IN-WEEK. + *>An EC-VALIDATE (nonfatal) exception is also set if the + *>VALIDATE statement detects an invalid condition. + + + *> From D.22.7.2 Example of validation of non-display items: + 01 MIXED-GROUP TYPEDEF STRONG. + 05 FLD-1 PIC S9(4) USAGE COMP. + 05 FLD-2 PIC S9(7) USAGE PACKED-DECIMAL. + 05 FLD-3 PIC 1(8) USAGE BIT ALIGNED. + 05 PTR-1 USAGE INDEX. + 05 PTR-2 USAGE OBJECT REFERENCE. + 05 TXT-1 PIC N(12) USAGE NATIONAL. + 01 MY-MIXED-GROUP TYPE MIXED-GROUP. + + + *> + *>************************************************************* + *>Execution of the VALIDATE statement + *>************************************************************* + PROCEDURE DIVISION. + + *>A single VALIDATE statement performs all the actions implied + *>in the above data descriptions. + VALIDATE INPUT-RECORD + *>After this statement has been executed: + *>(1) the input record is unchanged; + *>(2) input items are moved automatically to the target area; + *>(3) error messages are set up wherever specified in the program. + *> + + *> From D.22.7.2 Example of validation of non-display items: + *>A declarative section could be used instead of VALIDATE-STATUS clauses + *>especially if errors are not expected. + *>> TURN EC-VALIDATE CHECKING ON + VALIDATE MY-MIXED-GROUP + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7454: \$COMPILE_ONLY -Wno-pending -Wno-unfinished -free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-pending -Wno-unfinished -free prog.cob" "syn_misc.at:7454" +( $at_check_trace; $COMPILE_ONLY -Wno-pending -Wno-unfinished -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_misc.at:7454" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7460' \ + "field-tree via COBC_GEN_DUMP_COMMENTS" " " 2 +at_xfail=no +( + printf "%s\n" "394. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: this is a feature which is used in external tools, primarily +# cobcd from COBOLworx debugging extensions, this test does only +# verify that modules compiled with that can be compiled and +# that the expected content is found in the dump code (everything +# which is not related to the actual dump is included as comment +# Note2: This feature will vanish if/when cobc gets an option to output +# its (parse) trees. + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. debugme. + data division. + working-storage section. + 01 numeric-data. + 05 disp usage display pic s99v999 value -12.34. + 05 disp-u usage display pic 99v999 value 12.34. + 05 dispp usage display pic sppp9999 value -.000123. + 05 dispp-u usage display pic ppp9999 value .000123. + 05 disppp usage display pic s9999ppp value -1234000. + 05 disppp-u usage display pic 9999ppp value 1234000. + 05 bin usage binary pic s99v999 value -12.34. + 05 bin-u usage binary pic 99v999 value 12.34. + 05 cmp3 usage packed-decimal pic s99v999 value -12.34. + 05 cmp3-u usage packed-decimal pic 99v999 value 12.34. + 05 cmp5 usage comp-5 pic s99v999 value -12.34. + 05 cmp5-u usage comp-5 pic 99v999 value 12.34. + 05 cmp6 usage comp-6 pic 99v999 value 12.34. + 05 cmpx usage comp-x pic s99v999 value -12.34. + 05 cmpx-u usage comp-x pic 99v999 value 12.34. + 05 cmpn usage comp-n pic s99v999 value -12.34. + 05 cmpn-u usage comp-n pic 99v999 value 12.34. + 05 chr usage binary-char signed value -128. + 05 chr-u usage binary-char unsigned value 254. + 05 shrt usage binary-short signed value -32768. + 05 shrt-u usage binary-short unsigned value 65535. + 05 long usage binary-long signed value -2147483648. + 05 long-u usage binary-long unsigned value 4294967295. + 05 dble usage binary-double signed value -4294967295. + 05 dble-u usage binary-double unsigned value 8294967295. + * 05 cmp0 usage comp-0. TODO + 01 floating-data. + 05 dbl usage float-long value -3.40282e+038. + 05 flt usage float-short value 3.40282e+038. + * 05 b32 usage FLOAT-BINARY-32 signed. TODO + * 05 b64 usage FLOAT-BINARY-64 signed. TODO + * 05 b128 usage FLOAT-BINARY-128 signed. TODO + * 05 b32-u usage FLOAT-BINARY-32 unsigned. TODO + * 05 b64-u usage FLOAT-BINARY-64 unsigned. TODO + * 05 b128-u usage FLOAT-BINARY-128 unsigned. TODO + * + * --> missing: floating point edited pictures, + * those are left to the reader as excercise :-) + 77 x36 pic x(36) is typedef. + * In the following block, "sync" prevents SIGBUS errors on SOLARIS systems. + 01 special-data. + 05 r2d2 usage bit pic 111 value b'110'. + *> disabled for now because of varying size + *> 05 point usage pointer sync. + *> 05 ppoint usage program-pointer sync. + *> 05 idx usage index sync. + *> 05 hnd usage handle sync. + 01 alphanumeric-data. + 05 alpnum usage x36 value "some numb3rs 4 n00bs l1k3 m3". + 05 alpha pic a(36) value "thats some text". + 05 edit-num1 pic --9.999. + 05 edit-num2 pic ++9.999. + 05 edit-num3 pic zz9.999. + 05 edit-num4 pic -zz9.999 blank when zero. + 01 national-data. + 05 nat pic n(36) value "data shown here will change.". + 05 nat-num pic 9(12)v9(3) usage national. + 05 net-num1 pic --9.999 usage national. + 05 net-num2 pic ++9.999 usage national. + 05 net-num3 pic zz9.999 usage national. + 05 net-num4 pic -zz9.999 usage national blank when zero. + * + 01 occurs 2 to 5 times depending on chr indexed by x-idx. + 03 x-basis. + 05 x-a pic x(01) value space. + 05 x-b pic x(01) value space. + 05 x-c pic x(01) value space. + 03 filler redefines x-basis pic x(03). + 88 sw-x-basis-full value "xxx". + 01 x-rms. + 05 x-rms-a pic x(01) value space. + 01 filler redefines x-rms pic x(01). + 88 sw-x-rms-full value "X" or "A" thru "C" or QUOTE. + + local-storage section. + 01 var1 pic x. + 01 var2. + 03 var2a pic x. + 03 var2b pic 9. + 88 yay values zero, 2 through 5, 9. +_ATEOF + + + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7561: COBC_GEN_DUMP_COMMENTS=1 \\ + \$COMPILE -C -fdump=all -w prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "syn_misc.at:7561" +( $at_check_trace; COBC_GEN_DUMP_COMMENTS=1 \ + $COMPILE -C -fdump=all -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_misc.at:7561" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + +# TODO: only execute this piece when extended $GREP works +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7564: (\$GREP -A 200 \"P_dump:\" prog.c | \$GREP -B 200 \"END OF DUMP\") || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "syn_misc.at:7564" +( $at_check_trace; ($GREP -A 200 "P_dump:" prog.c | $GREP -B 200 "END OF DUMP") || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " P_dump: + /* Dump WORKING-STORAGE */ + cob_dump_output (\"WORKING-STORAGE\"); + cob_dump_field_ext (77, \"RETURN-CODE\", COB_SET_FLD (f0, 4, (cob_u8_t *)&b_2, &a_46), 0, 0); + cob_dump_field_ext ( 1, \"numeric-data\", COB_SET_FLD (f0, 93, b_17, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"disp\", COB_SET_FLD (f0, 5, b_17, &a_2), 0, 0); + cob_dump_field_ext ( 5, \"disp-u\", COB_SET_FLD (f0, 5, b_17 + 5, &a_4), 0, 0); + cob_dump_field_ext ( 5, \"dispp\", COB_SET_FLD (f0, 4, b_17 + 10, &a_6), 0, 0); + cob_dump_field_ext ( 5, \"dispp-u\", COB_SET_FLD (f0, 4, b_17 + 14, &a_8), 0, 0); + cob_dump_field_ext ( 5, \"disppp\", COB_SET_FLD (f0, 4, b_17 + 18, &a_10), 0, 0); + cob_dump_field_ext ( 5, \"disppp-u\", COB_SET_FLD (f0, 4, b_17 + 22, &a_12), 0, 0); + cob_dump_field_ext ( 5, \"bin\", COB_SET_FLD (f0, 4, b_17 + 26, &a_13), 0, 0); + cob_dump_field_ext ( 5, \"bin-u\", COB_SET_FLD (f0, 4, b_17 + 30, &a_14), 0, 0); + cob_dump_field_ext ( 5, \"cmp3\", COB_SET_FLD (f0, 3, b_17 + 34, &a_15), 0, 0); + cob_dump_field_ext ( 5, \"cmp3-u\", COB_SET_FLD (f0, 3, b_17 + 37, &a_16), 0, 0); + cob_dump_field_ext ( 5, \"cmp5\", COB_SET_FLD (f0, 4, b_17 + 40, &a_17), 0, 0); + cob_dump_field_ext ( 5, \"cmp5-u\", COB_SET_FLD (f0, 4, b_17 + 44, &a_18), 0, 0); + cob_dump_field_ext ( 5, \"cmp6\", COB_SET_FLD (f0, 3, b_17 + 48, &a_19), 0, 0); + cob_dump_field_ext ( 5, \"cmpx\", COB_SET_FLD (f0, 3, b_17 + 51, &a_20), 0, 0); + cob_dump_field_ext ( 5, \"cmpx-u\", COB_SET_FLD (f0, 3, b_17 + 54, &a_21), 0, 0); + cob_dump_field_ext ( 5, \"cmpn\", COB_SET_FLD (f0, 3, b_17 + 57, &a_20), 0, 0); + cob_dump_field_ext ( 5, \"cmpn-u\", COB_SET_FLD (f0, 3, b_17 + 60, &a_21), 0, 0); + cob_dump_field_ext ( 5, \"chr\", &f_35, 0, 0); + cob_dump_field_ext ( 5, \"chr-u\", COB_SET_FLD (f0, 1, b_17 + 64, &a_25), 0, 0); + cob_dump_field_ext ( 5, \"shrt\", COB_SET_FLD (f0, 2, b_17 + 65, &a_27), 0, 0); + cob_dump_field_ext ( 5, \"shrt-u\", COB_SET_FLD (f0, 2, b_17 + 67, &a_29), 0, 0); + cob_dump_field_ext ( 5, \"long\", COB_SET_FLD (f0, 4, b_17 + 69, &a_31), 0, 0); + cob_dump_field_ext ( 5, \"long-u\", COB_SET_FLD (f0, 4, b_17 + 73, &a_33), 0, 0); + cob_dump_field_ext ( 5, \"dble\", COB_SET_FLD (f0, 8, b_17 + 77, &a_34), 0, 0); + cob_dump_field_ext ( 5, \"dble-u\", COB_SET_FLD (f0, 8, b_17 + 85, &a_35), 0, 0); + cob_dump_field_ext ( 1, \"floating-data\", COB_SET_FLD (f0, 12, b_43, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"dbl\", COB_SET_FLD (f0, 8, b_43, &a_37), 0, 0); + cob_dump_field_ext ( 5, \"flt\", COB_SET_FLD (f0, 4, b_43 + 8, &a_39), 0, 0); + cob_dump_field_ext ( 1, \"special-data\", COB_SET_FLD (f0, 1, b_47, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"r2d2\", COB_SET_FLD (f0, 1, b_47, &a_41), 0, 0); + cob_dump_field_ext ( 1, \"alphanumeric-data\", COB_SET_FLD (f0, 101, b_49, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"alpnum\", COB_SET_FLD (f0, 36, b_49, &a_48), 0, 0); + cob_dump_field_ext ( 5, \"alpha\", COB_SET_FLD (f0, 36, b_49 + 36, &a_48), 0, 0); + cob_dump_field_ext ( 5, \"edit-num1\", COB_SET_FLD (f0, 7, b_49 + 72, &a_42), 0, 0); + cob_dump_field_ext ( 5, \"edit-num2\", COB_SET_FLD (f0, 7, b_49 + 79, &a_43), 0, 0); + cob_dump_field_ext ( 5, \"edit-num3\", COB_SET_FLD (f0, 7, b_49 + 86, &a_44), 0, 0); + cob_dump_field_ext ( 5, \"edit-num4\", COB_SET_FLD (f0, 8, b_49 + 93, &a_45), 0, 0); + cob_dump_field_ext ( 1, \"national-data\", COB_SET_FLD (f0, 160, b_56, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"nat\", COB_SET_FLD (f0, 72, b_56, &a_49), 0, 0); + cob_dump_field_ext ( 5, \"nat-num\", COB_SET_FLD (f0, 30, b_56 + 72, &a_50), 0, 0); + cob_dump_field_ext ( 5, \"net-num1\", COB_SET_FLD (f0, 14, b_56 + 102, &a_42), 0, 0); + cob_dump_field_ext ( 5, \"net-num2\", COB_SET_FLD (f0, 14, b_56 + 116, &a_43), 0, 0); + cob_dump_field_ext ( 5, \"net-num3\", COB_SET_FLD (f0, 14, b_56 + 130, &a_44), 0, 0); + cob_dump_field_ext ( 5, \"net-num4\", COB_SET_FLD (f0, 16, b_56 + 144, &a_45), 0, 0); + cob_dump_field_ext ( 0, \"x-idx\", COB_SET_FLD (f0, 4, (cob_u8_t *)&b_64, &a_46), 0, 0); + { + int i_1; + int max_1 = (*(cob_s8_ptr) (b_17 + 63)); + if (max_1 > 5) max_1 = 5; + for (i_1=0; i_1 < max_1; i_1++) + { + cob_dump_field_ext ( 1, \"FILLER\", COB_SET_FLD (f0, 3, b_63, &a_47), 0, 1, i_1, 3UL); /* OCCURS 2 5 */ + cob_dump_field_ext ( 3, \"x-basis\", COB_SET_FLD (f0, 3, b_63, &a_47), 0, 1, i_1, 3UL); + cob_dump_field_ext ( 5, \"x-a\", COB_SET_FLD (f0, 1, b_63, &a_48), 0, 1, i_1, 3UL); + cob_dump_field_ext ( 5, \"x-b\", COB_SET_FLD (f0, 1, b_63 + 1, &a_48), 0, 1, i_1, 3UL); + cob_dump_field_ext ( 5, \"x-c\", COB_SET_FLD (f0, 1, b_63 + 2, &a_48), 0, 1, i_1, 3UL); + /* cob_dump_field_ext ( 3, \"FILLER\", COB_SET_FLD (f0, 3, b_63, &a_48), 0, 1, i_1, 3UL); REDEFINES */ + /* cob_dump_field_ext (88, \"sw-x-basis-full\", COB_SET_FLD (f0, 3, b_63, &a_48), 0, 1, i_1, 3UL); VALUE (cob_field *)&c_18 */ + } + } + cob_dump_field_ext ( 1, \"x-rms\", COB_SET_FLD (f0, 1, b_71, &a_47), 0, 0); + cob_dump_field_ext ( 5, \"x-rms-a\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); + /* cob_dump_field_ext ( 1, \"FILLER\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); REDEFINES */ + /* cob_dump_field_ext (88, \"sw-x-rms-full\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); VALUE (cob_field *)&c_19 OR (cob_field *)&c_20 OR (cob_field *)&c_21 THRU (cob_field *)&c_22 OR (cob_field *)&c_20 OR &cob_all_quote */ + + /* Dump LOCAL-STORAGE SECTION */ + cob_dump_output (\"LOCAL-STORAGE\"); + cob_dump_field_ext ( 1, \"var1\", COB_SET_FLD (f0, 1, cob_local_ptr, &a_48), 0, 0); + cob_dump_field_ext ( 1, \"var2\", COB_SET_FLD (f0, 2, cob_local_ptr + 16, &a_47), 0, 0); + cob_dump_field_ext ( 3, \"var2a\", COB_SET_FLD (f0, 1, cob_local_ptr + 16, &a_48), 0, 0); + cob_dump_field_ext ( 3, \"var2b\", COB_SET_FLD (f0, 1, cob_local_ptr + 16 + 1, &a_52), 0, 0); + /* cob_dump_field_ext (88, \"yay\", COB_SET_FLD (f0, 1, cob_local_ptr + 16 + 1, &a_52), 0, 0); VALUE &cob_all_zero OR (cob_field *)&c_23 THRU (cob_field *)&c_24 OR (cob_field *)&c_25 */ + + cob_dump_output (\"END OF DUMP - debugme\"); +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7564" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7646: COBC_GEN_DUMP_COMMENTS=1 \\ + \$COMPILE -C -w prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "syn_misc.at:7646" +( $at_check_trace; COBC_GEN_DUMP_COMMENTS=1 \ + $COMPILE -C -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_misc.at:7646" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + +# TODO: only execute this piece when extended $GREP works +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7649: (\$GREP -A 200 \"P_dump:\" prog.c | \$GREP -B 200 \"END OF DUMP\") || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "syn_misc.at:7649" +( $at_check_trace; ($GREP -A 200 "P_dump:" prog.c | $GREP -B 200 "END OF DUMP") || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " P_dump: + /* Dump WORKING-STORAGE (informational) */ + /* cob_dump_output (\"WORKING-STORAGE\"); */ + /* cob_dump_field_ext (77, \"RETURN-CODE\", COB_SET_FLD (f0, 4, (cob_u8_t *)&b_2, &a_46), 0, 0); */ + /* cob_dump_field_ext ( 1, \"numeric-data\", COB_SET_FLD (f0, 93, b_17, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"disp\", COB_SET_FLD (f0, 5, b_17, &a_2), 0, 0); */ + /* cob_dump_field_ext ( 5, \"disp-u\", COB_SET_FLD (f0, 5, b_17 + 5, &a_4), 0, 0); */ + /* cob_dump_field_ext ( 5, \"dispp\", COB_SET_FLD (f0, 4, b_17 + 10, &a_6), 0, 0); */ + /* cob_dump_field_ext ( 5, \"dispp-u\", COB_SET_FLD (f0, 4, b_17 + 14, &a_8), 0, 0); */ + /* cob_dump_field_ext ( 5, \"disppp\", COB_SET_FLD (f0, 4, b_17 + 18, &a_10), 0, 0); */ + /* cob_dump_field_ext ( 5, \"disppp-u\", COB_SET_FLD (f0, 4, b_17 + 22, &a_12), 0, 0); */ + /* cob_dump_field_ext ( 5, \"bin\", COB_SET_FLD (f0, 4, b_17 + 26, &a_13), 0, 0); */ + /* cob_dump_field_ext ( 5, \"bin-u\", COB_SET_FLD (f0, 4, b_17 + 30, &a_14), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmp3\", COB_SET_FLD (f0, 3, b_17 + 34, &a_15), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmp3-u\", COB_SET_FLD (f0, 3, b_17 + 37, &a_16), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmp5\", COB_SET_FLD (f0, 4, b_17 + 40, &a_17), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmp5-u\", COB_SET_FLD (f0, 4, b_17 + 44, &a_18), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmp6\", COB_SET_FLD (f0, 3, b_17 + 48, &a_19), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmpx\", COB_SET_FLD (f0, 3, b_17 + 51, &a_20), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmpx-u\", COB_SET_FLD (f0, 3, b_17 + 54, &a_21), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmpn\", COB_SET_FLD (f0, 3, b_17 + 57, &a_20), 0, 0); */ + /* cob_dump_field_ext ( 5, \"cmpn-u\", COB_SET_FLD (f0, 3, b_17 + 60, &a_21), 0, 0); */ + /* cob_dump_field_ext ( 5, \"chr\", &f_35, 0, 0); */ + /* cob_dump_field_ext ( 5, \"chr-u\", COB_SET_FLD (f0, 1, b_17 + 64, &a_25), 0, 0); */ + /* cob_dump_field_ext ( 5, \"shrt\", COB_SET_FLD (f0, 2, b_17 + 65, &a_27), 0, 0); */ + /* cob_dump_field_ext ( 5, \"shrt-u\", COB_SET_FLD (f0, 2, b_17 + 67, &a_29), 0, 0); */ + /* cob_dump_field_ext ( 5, \"long\", COB_SET_FLD (f0, 4, b_17 + 69, &a_31), 0, 0); */ + /* cob_dump_field_ext ( 5, \"long-u\", COB_SET_FLD (f0, 4, b_17 + 73, &a_33), 0, 0); */ + /* cob_dump_field_ext ( 5, \"dble\", COB_SET_FLD (f0, 8, b_17 + 77, &a_34), 0, 0); */ + /* cob_dump_field_ext ( 5, \"dble-u\", COB_SET_FLD (f0, 8, b_17 + 85, &a_35), 0, 0); */ + /* cob_dump_field_ext ( 1, \"floating-data\", COB_SET_FLD (f0, 12, b_43, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"dbl\", COB_SET_FLD (f0, 8, b_43, &a_37), 0, 0); */ + /* cob_dump_field_ext ( 5, \"flt\", COB_SET_FLD (f0, 4, b_43 + 8, &a_39), 0, 0); */ + /* cob_dump_field_ext ( 1, \"special-data\", COB_SET_FLD (f0, 1, b_47, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"r2d2\", COB_SET_FLD (f0, 1, b_47, &a_41), 0, 0); */ + /* cob_dump_field_ext ( 1, \"alphanumeric-data\", COB_SET_FLD (f0, 101, b_49, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"alpnum\", COB_SET_FLD (f0, 36, b_49, &a_48), 0, 0); */ + /* cob_dump_field_ext ( 5, \"alpha\", COB_SET_FLD (f0, 36, b_49 + 36, &a_48), 0, 0); */ + /* cob_dump_field_ext ( 5, \"edit-num1\", COB_SET_FLD (f0, 7, b_49 + 72, &a_42), 0, 0); */ + /* cob_dump_field_ext ( 5, \"edit-num2\", COB_SET_FLD (f0, 7, b_49 + 79, &a_43), 0, 0); */ + /* cob_dump_field_ext ( 5, \"edit-num3\", COB_SET_FLD (f0, 7, b_49 + 86, &a_44), 0, 0); */ + /* cob_dump_field_ext ( 5, \"edit-num4\", COB_SET_FLD (f0, 8, b_49 + 93, &a_45), 0, 0); */ + /* cob_dump_field_ext ( 1, \"national-data\", COB_SET_FLD (f0, 160, b_56, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"nat\", COB_SET_FLD (f0, 72, b_56, &a_49), 0, 0); */ + /* cob_dump_field_ext ( 5, \"nat-num\", COB_SET_FLD (f0, 30, b_56 + 72, &a_50), 0, 0); */ + /* cob_dump_field_ext ( 5, \"net-num1\", COB_SET_FLD (f0, 14, b_56 + 102, &a_42), 0, 0); */ + /* cob_dump_field_ext ( 5, \"net-num2\", COB_SET_FLD (f0, 14, b_56 + 116, &a_43), 0, 0); */ + /* cob_dump_field_ext ( 5, \"net-num3\", COB_SET_FLD (f0, 14, b_56 + 130, &a_44), 0, 0); */ + /* cob_dump_field_ext ( 5, \"net-num4\", COB_SET_FLD (f0, 16, b_56 + 144, &a_45), 0, 0); */ + /* cob_dump_field_ext ( 0, \"x-idx\", COB_SET_FLD (f0, 4, (cob_u8_t *)&b_64, &a_46), 0, 0); */ + { + /* int max_1 = (*(cob_s8_ptr) (b_17 + 63)); */ + { + /* cob_dump_field_ext ( 1, \"FILLER\", COB_SET_FLD (f0, 3, b_63, &a_47), 0, 1, i_1, 3UL); OCCURS 2 5 */ + /* cob_dump_field_ext ( 3, \"x-basis\", COB_SET_FLD (f0, 3, b_63, &a_47), 0, 1, i_1, 3UL); */ + /* cob_dump_field_ext ( 5, \"x-a\", COB_SET_FLD (f0, 1, b_63, &a_48), 0, 1, i_1, 3UL); */ + /* cob_dump_field_ext ( 5, \"x-b\", COB_SET_FLD (f0, 1, b_63 + 1, &a_48), 0, 1, i_1, 3UL); */ + /* cob_dump_field_ext ( 5, \"x-c\", COB_SET_FLD (f0, 1, b_63 + 2, &a_48), 0, 1, i_1, 3UL); */ + /* cob_dump_field_ext ( 3, \"FILLER\", COB_SET_FLD (f0, 3, b_63, &a_48), 0, 1, i_1, 3UL); REDEFINES */ + /* cob_dump_field_ext (88, \"sw-x-basis-full\", COB_SET_FLD (f0, 3, b_63, &a_48), 0, 1, i_1, 3UL); VALUE (cob_field *)&c_18 */ + } + } + /* cob_dump_field_ext ( 1, \"x-rms\", COB_SET_FLD (f0, 1, b_71, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 5, \"x-rms-a\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); */ + /* cob_dump_field_ext ( 1, \"FILLER\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); REDEFINES */ + /* cob_dump_field_ext (88, \"sw-x-rms-full\", COB_SET_FLD (f0, 1, b_71, &a_48), 0, 0); VALUE (cob_field *)&c_19 OR (cob_field *)&c_20 OR (cob_field *)&c_21 THRU (cob_field *)&c_22 OR (cob_field *)&c_20 OR &cob_all_quote */ + + /* Dump LOCAL-STORAGE SECTION (informational) */ + /* cob_dump_output (\"LOCAL-STORAGE\"); */ + /* cob_dump_field_ext ( 1, \"var1\", COB_SET_FLD (f0, 1, cob_local_ptr, &a_48), 0, 0); */ + /* cob_dump_field_ext ( 1, \"var2\", COB_SET_FLD (f0, 2, cob_local_ptr + 16, &a_47), 0, 0); */ + /* cob_dump_field_ext ( 3, \"var2a\", COB_SET_FLD (f0, 1, cob_local_ptr + 16, &a_48), 0, 0); */ + /* cob_dump_field_ext ( 3, \"var2b\", COB_SET_FLD (f0, 1, cob_local_ptr + 16 + 1, &a_52), 0, 0); */ + /* cob_dump_field_ext (88, \"yay\", COB_SET_FLD (f0, 1, cob_local_ptr + 16 + 1, &a_52), 0, 0); VALUE &cob_all_zero OR (cob_field *)&c_23 THRU (cob_field *)&c_24 OR (cob_field *)&c_25 */ + + /* cob_dump_output (\"END OF DUMP - debugme\"); */ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7649" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7728: \$COMPILE -C -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -C -w prog.cob" "syn_misc.at:7728" +( $at_check_trace; $COMPILE -C -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_misc.at:7728" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + +# TODO: only execute this piece when extended $GREP works +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7730: (\$GREP -A 200 \"P_dump:\" prog.c | \$GREP -B 200 \" CANCEL \") || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "syn_misc.at:7730" +( $at_check_trace; ($GREP -A 200 "P_dump:" prog.c | $GREP -B 200 " CANCEL ") || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " P_dump: + return 0; + + + /* CANCEL callback handling */ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7730" +$at_failed && at_fn_log_failure \ +"prog.c" +$at_traceon; } + + set +x + $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 'syn_misc.at:7740' \ + "CONTROL DIVISION" " " 2 +at_xfail=no +( + printf "%s\n" "395. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >empty.cob <<'_ATEOF' + + CONTROL DIVISION. + IDENTIFICATION DIVISION. + PROGRAM-ID. empty. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7749: \$COMPILE_ONLY -fcontrol-division=ok empty.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcontrol-division=ok empty.cob" "syn_misc.at:7749" +( $at_check_trace; $COMPILE_ONLY -fcontrol-division=ok empty.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7749" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >replace.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + REPLACE ==TEST-VAR== BY ==VAR==. + IDENTIFICATION DIVISION. + PROGRAM-ID. replace. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TEST-VAR PIC X(2) VALUE "OK". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7766: \$COMPILE -fcontrol-division=ok replace.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok replace.cob" "syn_misc.at:7766" +( $at_check_trace; $COMPILE -fcontrol-division=ok replace.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7766" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7767: \$COBCRUN_DIRECT ./replace" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./replace" "syn_misc.at:7767" +( $at_check_trace; $COBCRUN_DIRECT ./replace +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7767" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7768: \$COMPILE replace.cob" +at_fn_check_prepare_dynamic "$COMPILE replace.cob" "syn_misc.at:7768" +( $at_check_trace; $COMPILE replace.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "replace.cob:2: error: CONTROL DIVISION does not conform to GnuCOBOL +" | \ + $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:7768" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >replace.cob <<'_ATEOF' + + CONTROL DIVISION. + REPLACE ==TEST-VAR== BY ==VAR==. + IDENTIFICATION DIVISION. + PROGRAM-ID. replace. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TEST-VAR PIC X(2) VALUE "OK". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7786: \$COMPILE -fcontrol-division=ok replace.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok replace.cob" "syn_misc.at:7786" +( $at_check_trace; $COMPILE -fcontrol-division=ok replace.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7786" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7787: \$COBCRUN_DIRECT ./replace" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./replace" "syn_misc.at:7787" +( $at_check_trace; $COBCRUN_DIRECT ./replace +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7787" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7792' \ + "CONTROL: empty default section" " " 2 +at_xfail=no +( + printf "%s\n" "396. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + CONTROL DIVISION. + DEFAULT SECTION. + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR PIC X(2) VALUE "OK". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7809: \$COMPILE -fcontrol-division=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok prog.cob" "syn_misc.at:7809" +( $at_check_trace; $COMPILE -fcontrol-division=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:7809" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7810: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:7810" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7810" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7811: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:7811" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:2: error: CONTROL DIVISION does not conform to GnuCOBOL +" | \ + $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:7811" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7818' \ + "CONTROL: default section" " " 2 +at_xfail=no +( + printf "%s\n" "397. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + CONTROL DIVISION. + DEFAULT SECTION. + ACCEPT ALTERNATE CONSOLE + DISPLAY IS TERMINAL + . + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR PIC X(2) VALUE "OK". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7838: \$COMPILE -fcontrol-division=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok prog.cob" "syn_misc.at:7838" +( $at_check_trace; $COMPILE -fcontrol-division=ok prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:4: warning: ACCEPT statement in DEFAULT SECTION is not implemented +prog.cob:5: warning: DISPLAY statement in DEFAULT SECTION 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:7838" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7842: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:7842" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7842" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7843: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:7843" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:2: error: CONTROL DIVISION does not conform to GnuCOBOL +prog.cob:4: warning: ACCEPT statement in DEFAULT SECTION is not implemented +prog.cob:5: warning: DISPLAY statement in DEFAULT SECTION 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:7843" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7852' \ + "CONTROL: substitution & default section" " " 2 +at_xfail=no +( + printf "%s\n" "398. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >empties.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + DEFAULT SECTION. + IDENTIFICATION DIVISION. + PROGRAM-ID. empties. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7865: \$COMPILE -fcontrol-division=ok empties.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok empties.cob" "syn_misc.at:7865" +( $at_check_trace; $COMPILE -fcontrol-division=ok empties.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7865" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >empty0.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + DEFAULT SECTION. + ACCEPT ALTERNATE CONSOLE + . + IDENTIFICATION DIVISION. + PROGRAM-ID. empty0. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7879: \$COMPILE -fcontrol-division=ok empty0.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok empty0.cob" "syn_misc.at:7879" +( $at_check_trace; $COMPILE -fcontrol-division=ok empty0.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "empty0.cob:5: warning: ACCEPT statement in DEFAULT SECTION 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:7879" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >empty1.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + REPLACE "KO" BY "OK". + DEFAULT SECTION. + IDENTIFICATION DIVISION. + PROGRAM-ID. empty1. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR PIC X(2) VALUE "KO". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7898: \$COMPILE -fcontrol-division=ok empty1.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok empty1.cob" "syn_misc.at:7898" +( $at_check_trace; $COMPILE -fcontrol-division=ok empty1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7898" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7899: \$COBCRUN_DIRECT ./empty1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./empty1" "syn_misc.at:7899" +( $at_check_trace; $COBCRUN_DIRECT ./empty1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7899" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + REPLACE IISS BY IS + TERM BY TERMINAL + "KO" BY "OK". + DEFAULT SECTION. + ACCEPT ALTERNATE CONSOLE + DISPLAY IISS TERM + . + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR PIC X(2) VALUE "KO". + PROCEDURE DIVISION. + DISPLAY VAR NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7922: \$COMPILE -fcontrol-division=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcontrol-division=ok prog.cob" "syn_misc.at:7922" +( $at_check_trace; $COMPILE -fcontrol-division=ok prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: ACCEPT statement in DEFAULT SECTION is not implemented +prog.cob:9: warning: DISPLAY statement in DEFAULT SECTION 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:7922" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7926: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:7926" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:7926" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7931' \ + "CONTROL DIVISION & AREACHECK" " " 2 +at_xfail=no +( + printf "%s\n" "399. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + CONTROL DIVISION. + SUBSTITUTION SECTION. + *> This REPLACE in Area A is ignored for now: + REPLACE IISS BY IS + TERM BY TERMINAL + "KO" BY "OK". + DEFAULT SECTION. + ACCEPT ALTERNATE CONSOLE + DISPLAY IISS TERM + . + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR PIC X(2) VALUE "KO". + PROCEDURE DIVISION. + DISPLAY VAR + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7955: \$COMPILE -std=gcos-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=gcos-strict prog.cob" "syn_misc.at:7955" +( $at_check_trace; $COMPILE -std=gcos-strict prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: start of statement in Area A +prog.cob:9: warning: ACCEPT statement in DEFAULT SECTION is not implemented +prog.cob:10: warning: start of statement in Area A +prog.cob:10: warning: DISPLAY statement in DEFAULT SECTION is not implemented +prog.cob:18: warning: start of statement in Area A +prog.cob:19: warning: start of statement in Area A +" | \ + $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:7955" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:7967' \ + "PICTURE L" " " 2 +at_xfail=no +( + printf "%s\n" "400. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog_extraneous_depending.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog_extraneous_depending. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 L COMP-1. + 1 F-DAT PICTURE X(10) DEPENDING ON L. + PROCEDURE DIVISION. + MOVE SPACES TO F-DAT + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7981: \$COMPILE_ONLY prog_extraneous_depending.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog_extraneous_depending.cob" "syn_misc.at:7981" +( $at_check_trace; $COMPILE_ONLY prog_extraneous_depending.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_extraneous_depending.cob:7: error: DEPENDING clause needs either an OCCURS clause or a variable-length PICTURE +" | \ + $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:7981" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_missing_depending.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog_missing_depending. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 F-DAT PICTURE LX(10). + PROCEDURE DIVISION. + MOVE SPACES TO F-DAT + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:7996: \$COMPILE_ONLY prog_missing_depending.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog_missing_depending.cob" "syn_misc.at:7996" +( $at_check_trace; $COMPILE_ONLY prog_missing_depending.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_missing_depending.cob:6: error: variable-length PICTURE requires DEPENDING 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:7996" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_value.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog_value. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 L COMP-1 VALUE 10. + 1 F-DAT PICTURE LX(10) DEPENDING ON L + VALUE "0123456789". + 1 F-DAT2 PICTURE LX(10) DEPENDING ON L + BLANK WHEN ZERO. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8013: \$COMPILE_ONLY prog_value.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog_value.cob" "syn_misc.at:8013" +( $at_check_trace; $COMPILE_ONLY prog_value.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_value.cob:7: error: variable-length PICTURE and VALUE are mutually exclusive +prog_value.cob:9: error: 'F-DAT2' cannot have BLANK WHEN ZERO 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:8013" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog_errs.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog_errs. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-LGS. + 2 LGS PICTURE X(10). + 1 W-DATA. + 2 L-DAT PICTURE LX(10) DEPENDING ON LGS. + 2 L-ERR1 PICTURE L9 DEPENDING ON LGS. + 2 L-ERR2 PICTURE XXXXLA(2) DEPENDING ON LGS. + 2 L-ERR3 PICTURE LX(1) DEPENDING ON LGS JUSTIFIED. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8034: \$COMPILE_ONLY prog_errs.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog_errs.cob" "syn_misc.at:8034" +( $at_check_trace; $COMPILE_ONLY prog_errs.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog_errs.cob:10: error: only USAGE DISPLAY may specify a variable-length PICTURE +prog_errs.cob:11: error: L must be at start of PICTURE string +prog_errs.cob:11: error: L cannot follow A or X +prog_errs.cob:11: error: only USAGE DISPLAY may specify a variable-length PICTURE +prog_errs.cob:12: error: 'L-ERR3' cannot have JUSTIFIED RIGHT clause +prog_errs.cob:9: error: 'LGS' is not numeric +prog_errs.cob:12: error: 'LGS' 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:8034" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 LGS PICTURE 9(10). + 1 L-DAT PICTURE LX(10) DEPENDING ON LGS. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8055: \$COMPILE_ONLY -fpicture-l=warning prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fpicture-l=warning prog.cob" "syn_misc.at:8055" +( $at_check_trace; $COMPILE_ONLY -fpicture-l=warning prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: PICTURE string with 'L' character 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:8055" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8062' \ + "AREACHECK / NOAREACHECK directives" " " 2 +at_xfail=no +( + printf "%s\n" "401. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + # note: the following does an _extra_ check for the CONTINUE + # statement, as this internally is post-created (= on the next token) + # and therefore keeps its starting position "extra", + # see parser.y (begin_statement_at_tree_pos) + +cat >prog.cob <<'_ATEOF' + + $SET NO-AREA-CHECK + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + MAIN-1 SECTION. + DISPLAY "SOMETHING". + $SET AREA-CHECK + MAIN-2 SECTION. + CONTINUE. + CONTINUE. + DISPLAY "SOMETHING ELSE" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8087: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:8087" +( $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"; printf "%s\n" "prog.cob: in section 'MAIN-2': +prog.cob:13: error: start of statement in Area A +prog.cob:14: error: start of statement in Area A +prog.cob:15: error: start of statement in Area 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_misc.at:8087" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8093: \$COMPILE_ONLY -std=cobol85 -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 -frelax-syntax-checks prog.cob" "syn_misc.at:8093" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 -frelax-syntax-checks prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section 'MAIN-2': +prog.cob:13: warning: start of statement in Area A +prog.cob:14: warning: start of statement in Area A +prog.cob:15: warning: start of statement in Area A +" | \ + $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:8093" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8102' \ + "AREACHECK / NOAREACHECK directives (2)" " " 2 +at_xfail=no +( + printf "%s\n" "402. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + $SET NOAREACHECK + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + $SET AREACHECK + WORKING-STORAGE SECTION. + 01 X. + 02 Y PIC X. + 01 Z PIC X + 01 T PIC 9. + $SET NOAREACHECK + PROCEDURE DIVISION. + MAIN-1 SECTION. + DISPLAY "SOMETHING" + $SET AREACHECK + MAIN-2 SECTION. + DISPLAY "SOMETHING ELSE" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8126: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:8126" +( $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"; printf "%s\n" "prog.cob:10: error: '01' should start in Area A +prog.cob:11: error: optional period used +prog.cob: in section 'MAIN-1': +prog.cob:17: error: optional period used +prog.cob: in section 'MAIN-2': +prog.cob:18: error: start of statement in Area A +prog.cob:19: error: start of statement in Area 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_misc.at:8126" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8135: \$COMPILE_ONLY -std=cobol85 -fmissing-period=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 -fmissing-period=ok prog.cob" "syn_misc.at:8135" +( $at_check_trace; $COMPILE_ONLY -std=cobol85 -fmissing-period=ok prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: '01' should start in Area A +prog.cob: in section 'MAIN-2': +prog.cob:18: error: start of statement in Area A +prog.cob:19: error: start of statement in Area 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_misc.at:8135" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8141: \$COMPILE_ONLY -fformat=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 prog.cob" "syn_misc.at:8141" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: '01' should start in Area A +prog.cob:11: warning: optional period used +prog.cob: in section 'MAIN-1': +prog.cob:17: warning: optional period used +prog.cob: in section 'MAIN-2': +prog.cob:18: error: start of statement in Area A +prog.cob:19: error: start of statement in Area 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_misc.at:8141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8154' \ + "optional dots" " " 2 +at_xfail=no +( + printf "%s\n" "403. $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. + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM P + STOP RUN. + P. + GOBACK +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8172: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:8172" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:3: warning: optional period used +prog.cob:5: warning: optional period used +prog.cob: in section 'MAIN': +prog.cob: in paragraph 'P': +prog.cob:14: warning: optional period 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:8172" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >cobol85.cob <<'_ATEOF' + + IDENTIFICATION DIVISION + PROGRAM-ID. cobol85. + DATA DIVISION + WORKING-STORAGE SECTION + 01 X PIC X *> dot optional here because of cobol85 format + 01 Y PIC X. + PROCEDURE DIVISION. + MAIN SECTION. + PERFORM P + STOP RUN *> dot optional here because of cobol85 format + P. + GOBACK +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8195: \$COMPILE_ONLY -fformat=cobol85 cobol85.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 cobol85.cob" "syn_misc.at:8195" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 cobol85.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobol85.cob:3: warning: optional period used +cobol85.cob:5: warning: optional period used +cobol85.cob:6: warning: optional period used +cobol85.cob:7: warning: optional period used +cobol85.cob: in section 'MAIN': +cobol85.cob:12: warning: optional period used +cobol85.cob: in paragraph 'P': +cobol85.cob:14: warning: optional period 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:8195" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8209' \ + "optional dots before PROCEDURE DIVISION" " " 2 +at_xfail=no +( + printf "%s\n" "404. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION + PROGRAM-ID. prog. + DATA DIVISION + WORKING-STORAGE SECTION + 77 PMODE PIC X + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +# The syntax error below is hard to avoid, and can be missleading. +# The error is actually on the `77`, which is only parsed as a +# LEVEL_NUMBER if the preceding token is a `.`. +# +# TODO: To avoid this, we need to unput the WORD/Literal when dealing +# with optional periods outside of PROCEDURE DIVISION, and ensure it +# is reparsed as a LEVEL_NUMBER. +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8229: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:8229" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:3: warning: optional period used +prog.cob:5: warning: optional period used +prog.cob:6: 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_misc.at:8229" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Here the AREACHECK helps us recover from all missing periods +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8236: \$COMPILE_ONLY -fformat=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=cobol85 prog.cob" "syn_misc.at:8236" +( $at_check_trace; $COMPILE_ONLY -fformat=cobol85 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:3: warning: optional period used +prog.cob:5: warning: optional period used +prog.cob:6: warning: optional period used +prog.cob:7: warning: optional period 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:8236" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8246' \ + "AREACHECK" " " 2 +at_xfail=no +( + printf "%s\n" "405. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >pgm1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PGM1. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE01 ASSIGN "file01.dat". + DATA DIVISION. + FILE SECTION. + FD FILE01. + 01 RECORD-FILE01 PIC X(50). + WORKING-STORAGE SECTION. + 01 W-DATA01. + * 02 items may still lie in Area A for now: + 02 W-CH01 PIC X(10). + PROCEDURE DIVISION. + MAIN-PROCEDURE. + DISPLAY "Hello" + STOP RUN + . + END PROGRAM PGM1. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8272: \$COMPILE_ONLY -std=mvs pgm1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs pgm1.cob" "syn_misc.at:8272" +( $at_check_trace; $COMPILE_ONLY -std=mvs pgm1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "pgm1.cob:7: warning: start of statement in Area A +pgm1.cob: in paragraph 'MAIN-PROCEDURE': +pgm1.cob:18: warning: start of statement in Area A +" | \ + $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:8272" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8278: \$COMPILE_ONLY -std=mvs-strict pgm1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs-strict pgm1.cob" "syn_misc.at:8278" +( $at_check_trace; $COMPILE_ONLY -std=mvs-strict pgm1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "pgm1.cob:7: error: start of statement in Area A +pgm1.cob: in paragraph 'MAIN-PROCEDURE': +pgm1.cob:18: error: start of statement in Area 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_misc.at:8278" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8286' \ + "autodetect format" " " 2 +at_xfail=no +( + printf "%s\n" "406. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >free.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +cat >fixed1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + * this is a comment + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +cat >fixed2.cob <<'_ATEOF' + + * this is a comment + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +# Generate source files with DOM +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8319: printf '\\357\\273\\277' > header.dom" +at_fn_check_prepare_trace "syn_misc.at:8319" +( $at_check_trace; printf '\357\273\277' > header.dom +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8319" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8320: cat header.dom free.cob >> domfree.cob" +at_fn_check_prepare_trace "syn_misc.at:8320" +( $at_check_trace; cat header.dom free.cob >> domfree.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8320" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8321: cat header.dom fixed1.cob >> domfixed.cob" +at_fn_check_prepare_trace "syn_misc.at:8321" +( $at_check_trace; cat header.dom fixed1.cob >> domfixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8321" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8323: \$COMPILE_ONLY -fformat=auto free.cob fixed1.cob fixed2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=auto free.cob fixed1.cob fixed2.cob" "syn_misc.at:8323" +( $at_check_trace; $COMPILE_ONLY -fformat=auto free.cob fixed1.cob fixed2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "free.cob:2: note: free format detected +" | \ + $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:8323" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8326: \$COMPILE_ONLY -fformat=auto domfree.cob domfixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=auto domfree.cob domfixed.cob" "syn_misc.at:8326" +( $at_check_trace; $COMPILE_ONLY -fformat=auto domfree.cob domfixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "domfree.cob:2: note: free format detected +" | \ + $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:8326" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# In case we decide to have a disabled warning at some point +# AT_CHECK([$COMPILE_ONLY -fformat=auto -w free.cob fixed1.cob fixed2.cob], [0], [], []) +# AT_CHECK([$COMPILE_ONLY -fformat=auto -w domfree.cob domfixed.cob], [0], [], []) + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8334: \$COMPILE_ONLY -fformat=fixed free.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed free.cob" "syn_misc.at:8334" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed free.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "free.cob:2: error: invalid indicator 'T' at column 7 +free.cob:3: error: invalid indicator 'R' at column 7 +free.cob:4: error: invalid indicator 'E' at column 7 +free.cob:5: error: invalid indicator 'I' at column 7 +free.cob:6: error: invalid indicator 'N' at column 7 +free.cob: error: too many format errors in file, skip output of further errors +free.cob:8: 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:8334" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8344: \$COMPILE_ONLY -fformat=fixed domfree.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed domfree.cob" "syn_misc.at:8344" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed domfree.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "domfree.cob:2: error: invalid indicator 'T' at column 7 +domfree.cob:3: error: invalid indicator 'R' at column 7 +domfree.cob:4: error: invalid indicator 'E' at column 7 +domfree.cob:5: error: invalid indicator 'I' at column 7 +domfree.cob:6: error: invalid indicator 'N' at column 7 +domfree.cob: error: too many format errors in file, skip output of further errors +domfree.cob:8: 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:8344" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8354: \$COMPILE_ONLY -fformat=fixed fixed1.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed fixed1.cob" "syn_misc.at:8354" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed fixed1.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8354" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8355: \$COMPILE_ONLY -fformat=fixed fixed2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed fixed2.cob" "syn_misc.at:8355" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed fixed2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8356: \$COMPILE_ONLY -fformat=fixed domfixed.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fformat=fixed domfixed.cob" "syn_misc.at:8356" +( $at_check_trace; $COMPILE_ONLY -fformat=fixed domfixed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8356" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8360' \ + "context sensitive alias" " " 2 +at_xfail=no +( + printf "%s\n" "407. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 XX PIC 9. + 01 X CONSTANT AS XX OF XX. + PROCEDURE DIVISION. + MOVE X TO XX. + DISPLAY XX NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8377: \$COMPILE -freserved=\"XX*=BYTE-LENGTH\" prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -freserved=\"XX*=BYTE-LENGTH\" prog.cob" "syn_misc.at:8377" +( $at_check_trace; $COMPILE -freserved="XX*=BYTE-LENGTH" prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8377" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8378: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "syn_misc.at:8378" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:8378" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_misc.at:8383' \ + "PROTOTYPE parameter validation" " " 2 +at_xfail=no +( + printf "%s\n" "408. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. f PROTOTYPE. + DATA DIVISION. + LINKAGE SECTION. + 01 a PIC X(20). + 01 b ANY LENGTH. + *> BINARY-C-INT usage does not exist: error on purpose to + *> trigger an error below + 01 c USAGE BINARY-C-INT. + *> level 78 triggers an error, but not the expected one: the + *> string replaces the identifier in the scanner, so it becomes + *> a syntax error instead of a complain about level 78 + 78 d-const VALUE "abc". + PROCEDURE DIVISION + USING a + BY REFERENCE b + BY VALUE b + c + *> d-const + RETURNING OMITTED. + END PROGRAM f. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_misc.at:8410: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_misc.at:8410" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: unknown USAGE: BINARY-C-INT +prog.cob:18: 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:8410" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:38' \ + "MOVE SPACE TO numeric or numeric-edited item" " " 2 +at_xfail=no +( + printf "%s\n" "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 9. + 01 Y PIC 09. + PROCEDURE DIVISION. + MOVE SPACE TO X. + MOVE SPACE TO Y. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:54: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:54" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: MOVE of figurative constant SPACE to numeric item used +prog.cob:10: error: MOVE of figurative constant SPACE to numeric item 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_move.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_409 +#AT_START_410 +at_fn_group_banner 410 'syn_move.at:64' \ + "MOVE ZERO TO alphabetic item" " " 2 +at_xfail=no +( + printf "%s\n" "410. $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 +printf "%s\n" "$at_srcdir/syn_move.at:78: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:78" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:78" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:90' \ + "MOVE alphabetic TO x" " " 2 +at_xfail=no +( + printf "%s\n" "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 A. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 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-N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:116: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:116" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: error: invalid MOVE statement +prog.cob:19: 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: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_411 +#AT_START_412 +at_fn_group_banner 412 'syn_move.at:124' \ + "MOVE alphanumeric TO x" " " 2 +at_xfail=no +( + printf "%s\n" "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. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 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-N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:150: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:150" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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: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_412 +#AT_START_413 +at_fn_group_banner 413 'syn_move.at:155' \ + "MOVE alphanumeric-edited TO x" " " 2 +at_xfail=no +( + printf "%s\n" "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 BX. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 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-N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:181: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:181" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:18: error: invalid MOVE statement +prog.cob:19: 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:181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:189' \ + "MOVE numeric (integer) TO x" " " 2 +at_xfail=no +( + printf "%s\n" "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 9. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 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-N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:215: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:215" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: 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: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_414 +#AT_START_415 +at_fn_group_banner 415 'syn_move.at:222' \ + "MOVE numeric (non-integer) TO x" " " 2 +at_xfail=no +( + printf "%s\n" "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 9V9. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 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-N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:248: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:248" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: error: invalid MOVE statement +prog.cob:15: error: invalid MOVE statement +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: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_415 +#AT_START_416 +at_fn_group_banner 416 'syn_move.at:258' \ + "MOVE numeric-edited TO x" " " 2 +at_xfail=no +( + printf "%s\n" "416. $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-N PIC N. + 01 Y-0N PIC 0N. + 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-N. + MOVE X TO Y-0N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:286: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:286" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:286" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:293' \ + "MOVE national TO x" " " 2 +at_xfail=no +( + printf "%s\n" "417. $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 N. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 01 Y-0N PIC 0N. + 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-N. + MOVE X TO Y-0N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:321: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:321" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: invalid MOVE statement +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: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_417 +#AT_START_418 +at_fn_group_banner 418 'syn_move.at:330' \ + "MOVE national-edited TO x" " " 2 +at_xfail=no +( + printf "%s\n" "418. $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 0N. + 01 Y-A PIC A. + 01 Y-X PIC X. + 01 Y-BX PIC BX. + 01 Y-N PIC N. + 01 Y-0N PIC 0N. + 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-N. + MOVE X TO Y-0N. + MOVE X TO Y-9. + MOVE X TO Y-09. + STOP RUN. +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:358: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_move.at:358" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: invalid MOVE statement +prog.cob:16: error: invalid MOVE statement +prog.cob:17: error: invalid MOVE statement +prog.cob:20: error: invalid MOVE statement +prog.cob:21: 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: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_418 +#AT_START_419 +at_fn_group_banner 419 'syn_move.at:374' \ + "CORRESPONDING - Operands must be groups" " " 2 +at_xfail=no +( + printf "%s\n" "419. $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 +printf "%s\n" "$at_srcdir/syn_move.at:394: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:394" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:394" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:404' \ + "CORRESPONDING - Target has no matching items" " " 2 +at_xfail=no +( + printf "%s\n" "420. $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 +printf "%s\n" "$at_srcdir/syn_move.at:421: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:421" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:421" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:430' \ + "MOVE to erroneous field" " " 2 +at_xfail=no +( + printf "%s\n" "421. $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 +printf "%s\n" "$at_srcdir/syn_move.at:446: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:446" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:446" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:453' \ + "Overlapping MOVE" " " 2 +at_xfail=no +( + printf "%s\n" "422. $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) + MOVE FIELDO (NUMVAR) (1:1) TO FIELDO (NUMVAR) (2:1) + MOVE FIELDO (NUMVAR) (2:1) TO FIELDO (NUMVAR) + MOVE FIELDO (4) (2:1) TO FIELDO (CONST4) + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:508: \$COMPILE -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "syn_move.at:508" +( $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:508" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:510: \$COMPILE -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdiagnostics-show-option prog.cob" "syn_move.at:510" +( $at_check_trace; $COMPILE -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:20: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:23: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:25: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:26: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:32: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:34: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:39: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:40: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:42: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:43: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:46: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:48: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:49: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +" | \ + $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:510" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:526: \$COMPILE -fdiagnostics-show-option -Wpossible-overlap prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdiagnostics-show-option -Wpossible-overlap prog.cob" "syn_move.at:526" +( $at_check_trace; $COMPILE -fdiagnostics-show-option -Wpossible-overlap prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:20: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:23: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:25: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:26: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:28: warning: overlapping MOVE may occur and produce unpredictable results [-Wpossible-overlap] +prog.cob:29: warning: overlapping MOVE may occur and produce unpredictable results [-Wpossible-overlap] +prog.cob:30: warning: overlapping MOVE may occur and produce unpredictable results [-Wpossible-overlap] +prog.cob:31: warning: overlapping MOVE may occur and produce unpredictable results [-Wpossible-overlap] +prog.cob:32: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:34: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:39: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:40: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:42: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:43: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:46: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:48: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +prog.cob:49: warning: overlapping MOVE may produce unpredictable results [-Woverlap] +" | \ + $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:526" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: for GnuCOBOL the result actually _is_ predictable, +# we verify that in run_fundamental +# AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], []) + + set +x + $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 'syn_move.at:552' \ + "invalid source for MOVE" " " 2 +at_xfail=no +( + printf "%s\n" "423. $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 +printf "%s\n" "$at_srcdir/syn_move.at:572: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:572" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:572" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:582' \ + "invalid target for MOVE" " " 2 +at_xfail=no +( + printf "%s\n" "424. $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 +printf "%s\n" "$at_srcdir/syn_move.at:606: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:606" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: literal \"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:606" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:618' \ + "SET error" " " 2 +at_xfail=no +( + printf "%s\n" "425. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + program-id. prog. + data division. + working-storage section. + 01 default-float usage float-long. + 01 no-pointer pic s9(9) comp. + + linkage section. + 01 float-var usage float-long. + + procedure division . + *> previously generated error message about invalid MOVE statement, + *> see bug #255 and an internal compiler error, see bug #295: + set address of float-var to default-float + set no-pointer to address of default-float + *> previously raised internal compiler error, see bug #643: + set 1 to no-pointer + *> all fine... + set address of float-var to address of default-float + goback. + end program prog . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:644: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:644" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: error: invalid SET statement +prog.cob:15: error: invalid SET statement +prog.cob:17: error: invalid SET 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:644" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_move.at:653' \ + "MOVE FIGURATIVE to NUMERIC" " " 2 +at_xfail=no +( + printf "%s\n" "426. $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 9(4) VALUE 96. + 01 BIGFLT COMP-1 VALUE 543.12345E10. + PROCEDURE DIVISION. + MAIN-1. + MOVE BIGFLT TO MYFLD. + MOVE SPACES TO MYFLD. + MOVE LOW-VALUES TO MYFLD. + MOVE HIGH-VALUES TO MYFLD. + MOVE QUOTE TO MYFLD. + MOVE ALL '*' TO MYFLD. + MOVE ALL '0' TO MYFLD. + MOVE ALL 'A1' TO MYFLD. + MOVE ALL '21' TO MYFLD. + SET MYFLD TO HIGH-VALUES. + SET MYFLD TO SPACES. + MOVE HIGH-VALUES TO MYFLD (1:). + + MOVE HIGH-VALUES TO BIGFLT. + MOVE QUOTE TO BIGFLT. + MOVE ALL '*' TO BIGFLT. + MOVE ALL '21' TO BIGFLT. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:685: \$COMPILE_ONLY -std=cobol2002 -freserved=COMP-1:FLOAT prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 -freserved=COMP-1:FLOAT prog.cob" "syn_move.at:685" +( $at_check_trace; $COMPILE_ONLY -std=cobol2002 -freserved=COMP-1:FLOAT prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-1': +prog.cob:11: error: MOVE of figurative constant SPACE to numeric item used +prog.cob:12: warning: MOVE of figurative constant to numeric item is archaic in COBOL 2002 +prog.cob:13: warning: MOVE of figurative constant to numeric item is archaic in COBOL 2002 +prog.cob:14: warning: MOVE of figurative constant QUOTE to numeric item is archaic in COBOL 2002 +prog.cob:15: warning: numeric value is expected +prog.cob:6: note: 'MYFLD' defined here as PIC 9(4) +prog.cob:17: warning: numeric value is expected +prog.cob:19: error: invalid SET statement +prog.cob:20: error: invalid SET statement +prog.cob:23: warning: MOVE of figurative constant to numeric item is archaic in COBOL 2002 +prog.cob:24: warning: MOVE of figurative constant QUOTE to numeric item is archaic in COBOL 2002 +prog.cob:25: warning: numeric value is expected +prog.cob:7: note: 'BIGFLT' defined here as USAGE FLOAT +" | \ + $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:685" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:702: \$COMPILE_ONLY -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_move.at:702" +( $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"; printf "%s\n" "prog.cob: in paragraph 'MAIN-1': +prog.cob:11: error: MOVE of figurative constant SPACE to numeric item used +prog.cob:12: warning: MOVE of figurative constant to numeric item is archaic in IBM COBOL (lax) +prog.cob:13: warning: MOVE of figurative constant to numeric item is archaic in IBM COBOL (lax) +prog.cob:14: warning: MOVE of figurative constant QUOTE to numeric item is archaic in IBM COBOL (lax) +prog.cob:15: warning: numeric value is expected +prog.cob:6: note: 'MYFLD' defined here as PIC 9(4) +prog.cob:17: warning: numeric value is expected +prog.cob:19: error: invalid SET statement +prog.cob:20: error: invalid SET statement +prog.cob:23: warning: MOVE of figurative constant to numeric item is archaic in IBM COBOL (lax) +prog.cob:24: warning: MOVE of figurative constant QUOTE to numeric item is archaic in IBM COBOL (lax) +prog.cob:25: warning: numeric value is expected +prog.cob:7: note: 'BIGFLT' defined here as USAGE FLOAT +" | \ + $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:702" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:719: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_move.at:719" +( $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"; printf "%s\n" "prog.cob: in paragraph 'MAIN-1': +prog.cob:11: warning: source is non-numeric - substituting zero +prog.cob:12: warning: source is non-numeric - substituting zero +prog.cob:13: warning: source is non-numeric - substituting zero +prog.cob:14: warning: source is non-numeric - substituting zero +prog.cob:15: warning: source is non-numeric - substituting zero +prog.cob:17: warning: source is non-numeric - substituting zero +prog.cob:19: error: invalid SET statement +prog.cob:20: error: invalid SET statement +prog.cob:23: warning: source is non-numeric - substituting zero +prog.cob:24: warning: source is non-numeric - substituting zero +prog.cob:25: warning: source is non-numeric - substituting 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_move.at:719" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_move.at:734: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:734" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-1': +prog.cob:11: error: MOVE of figurative constant SPACE to numeric item used +prog.cob:12: warning: MOVE of figurative constant to numeric item is archaic in GnuCOBOL +prog.cob:13: warning: MOVE of figurative constant to numeric item is archaic in GnuCOBOL +prog.cob:14: warning: MOVE of figurative constant QUOTE to numeric item is obsolete in GnuCOBOL +prog.cob:14: warning: MOVE of figurative constant to numeric item is archaic in GnuCOBOL +prog.cob:15: warning: numeric value is expected +prog.cob:6: note: 'MYFLD' defined here as PIC 9(4) +prog.cob:17: warning: numeric value is expected +prog.cob:19: error: invalid SET statement +prog.cob:20: error: invalid SET statement +prog.cob:23: warning: MOVE of figurative constant to numeric item is archaic in GnuCOBOL +prog.cob:24: warning: MOVE of figurative constant QUOTE to numeric item is obsolete in GnuCOBOL +prog.cob:24: warning: MOVE of figurative constant to numeric item is archaic in GnuCOBOL +prog.cob:25: warning: numeric value is expected +prog.cob:7: note: 'BIGFLT' defined here as USAGE FLOAT +" | \ + $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:734" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_multiply.at:28' \ + "Category check of Format 1" " " 2 +at_xfail=no +( + printf "%s\n" "427. $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 + MULTIPLY "a" BY "b" + MULTIPLY 123 BY "b" + MULTIPLY X-X BY X-9 + MULTIPLY X-9 BY X-09 + MULTIPLY X-09 BY X-X + MULTIPLY 123 BY X-X + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_multiply.at:50: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:50" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: '456' is not a numeric name +prog.cob:11: error: 'literal \"a\"' is not numeric +prog.cob:12: error: 'literal \"b\"' is not a numeric name +prog.cob:13: error: 'X-X' is not numeric +prog.cob:14: error: 'X-09' is not a numeric name +prog.cob:15: error: 'X-09' is not numeric +prog.cob:16: 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: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_427 +#AT_START_428 +at_fn_group_banner 428 'syn_multiply.at:64' \ + "Category check of Format 2" " " 2 +at_xfail=no +( + printf "%s\n" "428. $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 + MULTIPLY "a" BY "b" GIVING "c" + MULTIPLY 123 BY 456 GIVING "c" + MULTIPLY X-X BY X-9 GIVING X-09 + MULTIPLY X-9 BY X-09 GIVING X-X + MULTIPLY 123 BY 456 GIVING X-X + MULTIPLY X-09 BY X-X GIVING X-9 + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_multiply.at:86: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:86" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: '789' is not a numeric or numeric-edited name +prog.cob:11: error: 'literal \"a\"' is not numeric +prog.cob:11: error: 'literal \"b\"' is not numeric +prog.cob:12: error: 'literal \"c\"' is not a numeric or numeric-edited name +prog.cob:13: error: 'X-X' is not numeric +prog.cob:14: error: 'X-09' is not numeric +prog.cob:15: error: 'X-X' is not a numeric or numeric-edited name +prog.cob:16: error: 'X-09' is not numeric +prog.cob:16: error: 'X-X' 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_multiply.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_multiply.at:102' \ + "Category check of literals" " " 2 +at_xfail=no +( + printf "%s\n" "429. $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 +printf "%s\n" "$at_srcdir/syn_multiply.at:123: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:123" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: 'literal \"a\"' is not numeric +prog.cob:14: error: 'literal \"a\"' is not numeric +prog.cob:14: error: 'literal \"b\"' 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_multiply.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:24' \ + "Flexible ACCEPT/DISPLAY syntax" " " 2 +at_xfail=no +( + printf "%s\n" "430. $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 + 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 +printf "%s\n" "$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"; printf "%s\n" "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_430 +#AT_START_431 +at_fn_group_banner 431 'syn_screen.at:92' \ + "Duplicate ACCEPT/DISPLAY clauses" " " 2 +at_xfail=no +( + printf "%s\n" "431. $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 +printf "%s\n" "$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"; printf "%s\n" "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_431 +#AT_START_432 +at_fn_group_banner 432 'syn_screen.at:121' \ + "AT clause" " " 2 +at_xfail=no +( + printf "%s\n" "432. $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 posc CONSTANT 0101. + + 01 curs-3 PIC 99. + 01 curs-4 PIC 9(8) VALUE 0101. + 01 curs-5 PIC X(4). + + 01 SCREEN-POS. + 03 SPOS PIC 9(04) VALUE ZERO. + 03 WS2-CURS REDEFINES SPOS. + 05 SLIN PIC 9(02). + 05 SCOL PIC 9(02). + + PROCEDURE DIVISION. + *> Valid AT clauses + DISPLAY "a" AT curs-1 + DISPLAY "a" AT curs-2 + DISPLAY "a" AT posc + DISPLAY "a" AT posc + DISPLAY "a" AT SPOS + DISPLAY "a" AT WS2-CURS + DISPLAY "a" AT SCREEN-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 +printf "%s\n" "$at_srcdir/syn_screen.at:165: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:165" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:34: error: value in AT clause must have 4 or 6 digits +prog.cob:35: error: value in AT clause must have 4 or 6 digits +prog.cob:36: error: value in AT clause is not numeric +prog.cob:37: error: value in AT clause must have 4 or 6 digits +prog.cob:39: 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:165" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_screen.at:175' \ + "ACCEPT/DISPLAY extensions detection" " " 2 +at_xfail=no +( + printf "%s\n" "433. $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 FROM x 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 +printf "%s\n" "$at_srcdir/syn_screen.at:207: \$COMPILE_ONLY -faccept-display-extensions=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-display-extensions=error prog.cob" "syn_screen.at:207" +( $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"; printf "%s\n" "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:207" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_screen.at:221' \ + "FROM clause" " " 2 +at_xfail=no +( + printf "%s\n" "434. $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. + 05 SI4 LINE 4 COL 1 FROM X. *> PIC is implied by FROM + PROCEDURE DIVISION. + DISPLAY SG END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:243: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:243" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:14: warning: 'SI4' has FROM, TO or USING without PIC; PIC will be implied +" | \ + $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:243" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:250' \ + "Incorrect USAGE clause" " " 2 +at_xfail=no +( + printf "%s\n" "435. $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 BAD1 LINE 4 COL 1 PIC 9 BINARY FROM ZERO. + 05 BAD2 LINE 4 COL 1 PIC 9 USAGE BINARY FROM ZERO. + 05 FILLER LINE 4 COL 8 PIC 9 COMP-5 FROM ZERO. + 05 BAD3 LINE 4 COL 5 COMP-2 FROM ALL ZEROES. + PROCEDURE DIVISION. + DISPLAY SG END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:273: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_screen.at:273" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: syntax error, unexpected BINARY +prog.cob:13: error: syntax error, unexpected BINARY, expecting DISPLAY or DISPLAY-1 or NATIONAL or UTF-8 +prog.cob:14: error: syntax error, unexpected COMP-5 +prog.cob:15: error: syntax error, unexpected COMP-2 +" | \ + $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: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_435 +#AT_START_436 +at_fn_group_banner 436 'syn_screen.at:283' \ + "SCREEN SECTION clause numbers" " " 2 +at_xfail=no +( + printf "%s\n" "436. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + SCREEN SECTION. + *> Valid numbers + 01 v1 VALUE "-" LINE 1. + 01 v2 VALUE "-" LINE + 1. + 01 v3 VALUE "-" LINE - 1. + 01 v4 VALUE "-" LINE 0. + + *> invalid numbers + 01 i1 VALUE "-" LINE +1. + 01 i2 VALUE "-" LINE -1. + 01 i3 VALUE "-" LINE 1.0. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:305: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:305" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: unsigned integer value expected +prog.cob:14: error: unsigned integer value expected +prog.cob:15: error: unsigned 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: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_436 +#AT_START_437 +at_fn_group_banner 437 'syn_screen.at:315' \ + "Screen clauses" " " 2 +at_xfail=no +( + printf "%s\n" "437. $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, REQUIRED, + LEFTLINE, RIGHTLINE, OVERLINE, UNDERLINE, + GRID. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:334: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:334" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: 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:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:341' \ + "ACCEPT ON EXCEPTION/ESCAPE" " " 2 +at_xfail=no +( + printf "%s\n" "438. $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 +printf "%s\n" "$at_srcdir/syn_screen.at:367: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:367" +( $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:367" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_screen.at:371' \ + "Referencing 88-level" " " 2 +at_xfail=no +( + printf "%s\n" "439. $at_setup_line: testing $at_desc ..." + $at_traceon + +# see bug #178 + + +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 +printf "%s\n" "$at_srcdir/syn_screen.at:393: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:393" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: condition-name not allowed here: 'blah' +prog.cob:12: error: condition-name not allowed here: 'blah' +prog.cob:12: error: condition-name not allowed here: 'blah' +" | \ + $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: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_439 +#AT_START_440 +at_fn_group_banner 440 'syn_screen.at:402' \ + "Conflicting screen clauses" " " 2 +at_xfail=no +( + printf "%s\n" "440. $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 +printf "%s\n" "$at_srcdir/syn_screen.at:432: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:432" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:432" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:446: \$COMPILE_ONLY -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_screen.at:446" +( $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"; printf "%s\n" "prog.cob:11: warning: cannot specify both LOWLIGHT and HIGHLIGHT +prog.cob:11: note: LOWLIGHT is ignored +prog.cob:12: warning: cannot specify both ERASE EOS and ERASE EOL +prog.cob:12: note: ERASE EOS is ignored +prog.cob:13: warning: cannot specify both BLANK SCREEN and BLANK LINE +prog.cob:13: note: BLANK SCREEN is ignored +prog.cob:16: warning: cannot specify both LOWLIGHT and HIGHLIGHT +prog.cob:16: note: LOWLIGHT is ignored +prog.cob:17: warning: cannot specify both ERASE EOS and ERASE EOL +prog.cob:17: note: ERASE EOS is ignored +prog.cob:18: warning: cannot specify both BLANK SCREEN and BLANK LINE +prog.cob:18: note: BLANK SCREEN is ignored +prog.cob:21: warning: cannot specify both SCROLL DOWN and SCROLL UP +prog.cob:21: note: SCROLL DOWN is ignored +prog.cob:21: warning: cannot specify both TAB and AUTO +prog.cob:21: note: TAB is ignored +prog.cob:22: warning: cannot specify both SCROLL DOWN and SCROLL UP +prog.cob:22: note: SCROLL DOWN is ignored +prog.cob:22: warning: cannot specify both NO UPDATE and UPDATE +prog.cob:22: note: 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:446" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:473' \ + "Redundant screen clauses" " " 2 +at_xfail=no +( + printf "%s\n" "441. $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 +printf "%s\n" "$at_srcdir/syn_screen.at:496: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.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"; printf "%s\n" "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: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_441 +#AT_START_442 +at_fn_group_banner 442 'syn_screen.at:506' \ + "Screen item OCCURS w-/wo relative LINE/COL" " " 2 +at_xfail=no +( + printf "%s\n" "442. $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 VALUE "a" OCCURS 10. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + SCREEN SECTION. + 01 x-scr. + 03 x PIC X VALUE "a" OCCURS 10 COL 10. + 01 y-scr. + 03 y PIC X VALUE "a" 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 VALUE "a" OCCURS 10 COL + 10. + 01 y-scr. + 03 y PIC X VALUE "a" OCCURS 10 LINE - 10. + 01 a-scr. + 03 a PIC X VALUE "a" OCCURS 10 COL PLUS 10. + 01 b-scr. + 03 b PIC X VALUE "a" OCCURS 10 LINE MINUS 10. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:544: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:544" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: OCCURS screen items is not implemented +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:544" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:549: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_screen.at:549" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:7: warning: OCCURS screen items is not implemented +prog2.cob:7: error: relative LINE/COLUMN clause required with OCCURS +prog2.cob:9: warning: OCCURS screen items is not implemented +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:549" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:556: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_screen.at:556" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:7: warning: OCCURS screen items is not implemented +prog3.cob:9: warning: OCCURS screen items is not implemented +prog3.cob:11: warning: OCCURS screen items is not implemented +prog3.cob:13: warning: OCCURS screen items 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: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_442 +#AT_START_443 +at_fn_group_banner 443 'syn_screen.at:566' \ + "VALUE clause missing" " " 2 +at_xfail=no +( + printf "%s\n" "443. $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 + + +# Note: currently depends on -std, may also depend on -frelax-syntax-checks +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:584: \$COMPILE_ONLY -std=cobol2002 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 prog.cob" "syn_screen.at:584" +( $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"; printf "%s\n" "prog.cob:9: error: missing 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_screen.at:584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:587: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:587" +( $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:587" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:592' \ + "FULL on numeric item" " " 2 +at_xfail=no +( + printf "%s\n" "444. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 999. + + SCREEN SECTION. + 01 scr. + 03 full-pointless PIC 999 TO num FULL. + 03 full-useful PIC ZZZ TO num FULL. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:609: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:609" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: warning: FULL has no effect on numeric items; you may want REQUIRED or PIC Z +" | \ + $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:609" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:616' \ + "Compiler-specific SCREEN SECTION clause rules" " " 2 +at_xfail=no +( + printf "%s\n" "445. $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 num PIC 9. + + SCREEN SECTION. + 01 scr. + 03 no-clauses. + 03 no-required-clauses BACKGROUND-COLOR 1. + 03 only-line LINE 1. + 03 numeric-pic-and-value PIC 999 VALUE 100. + 03 only-pic PIC 9. + 03 from-to-using-without-pic FROM x. + 03 auto-without-from-to-using PIC 9 AUTO. + 03 full-without-to-using PIC X FROM x FULL. + 03 full-and-justified PIC X USING x, FULL, JUST. + 03 secure-with-from PIC X FROM x SECURE. + 03 secure-justified-no-clauses VALUE "Hello" SECURE, JUST. + 03 blank-when-zero-without-pic FROM num, BLANK ZERO. + 03 justified-without-pic FROM x, JUST. + 03 sign-no-clauses PIC S9, SIGN LEADING SEPARATE. + 03 figurative-constant-value VALUE SPACES. + 03 only-erase ERASE EOL. + 03 only-blank BLANK SCREEN. + 03 only-bell BELL. + 03 numeric-value-no-pic VALUE 1. + + 01 always-ok-scr. + 03 my-group LINE 1, COL 1, FULL. + 05 PIC X FROM "x" TO x. + 05 PIC Z USING num. + 05 VALUE "Hello, world!". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:657: \$COMPILE_ONLY -fscreen-section-rules=std prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=std prog.cob" "syn_screen.at:657" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=std prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: 'no-clauses' needs a PIC, FROM, TO, USING, VALUE, BELL, BLANK or ERASE clause +prog.cob:13: error: 'no-required-clauses' needs a PIC, FROM, TO, USING, VALUE, BELL, BLANK or ERASE clause +prog.cob:14: error: 'only-line' needs a PIC, FROM, TO, USING, VALUE, BELL, BLANK or ERASE clause +prog.cob:16: error: 'only-pic' cannot have PIC without FROM, TO, USING or numeric VALUE +prog.cob:17: error: cannot have FROM, TO or USING without PIC +prog.cob:18: error: 'auto-without-from-to-using' cannot have PIC without FROM, TO, USING or numeric VALUE +prog.cob:20: error: cannot specify both FULL and JUSTIFIED +prog.cob:23: error: cannot have FROM, TO or USING without PIC +prog.cob:24: error: cannot have FROM, TO or USING without PIC +prog.cob:25: error: 'sign-no-clauses' cannot have PIC without FROM, TO, USING or numeric VALUE +prog.cob:26: error: VALUE may not contain a figurative constant +prog.cob:30: error: cannot have numeric VALUE without PIC +" | \ + $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:657" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:672: \$COMPILE_ONLY -fscreen-section-rules=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=acu prog.cob" "syn_screen.at:672" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=acu prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: cannot specify both PIC and VALUE +prog.cob:15: error: cannot have PIC without FROM, TO or USING +prog.cob:15: error: VALUE item may not be numeric +prog.cob:16: error: cannot have PIC without FROM, TO or USING +prog.cob:17: warning: 'from-to-using-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:18: error: cannot have PIC without FROM, TO or USING +prog.cob:22: error: cannot have JUSTIFIED without PIC +prog.cob:23: warning: 'blank-when-zero-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:23: error: cannot have BLANK WHEN ZERO without PIC +prog.cob:24: warning: 'justified-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:24: error: cannot have JUSTIFIED without PIC +prog.cob:25: error: cannot have PIC without FROM, TO or USING +prog.cob:30: error: VALUE item may not be 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_screen.at:672" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:688: \$COMPILE_ONLY -fscreen-section-rules=mf -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=mf -fmax-errors=0 prog.cob" "syn_screen.at:688" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=mf -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: 'no-clauses' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:13: error: 'no-required-clauses' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:15: error: cannot specify both PIC and VALUE +prog.cob:15: error: cannot have PIC without FROM, TO or USING +prog.cob:15: error: VALUE item may not be numeric +prog.cob:16: error: cannot have PIC without FROM, TO or USING +prog.cob:17: error: 'from-to-using-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:17: warning: 'from-to-using-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:18: error: cannot have PIC without FROM, TO or USING +prog.cob:18: error: cannot use AUTO, FULL, PROMPT, REQUIRED or SECURE on elementary item without TO or USING +prog.cob:19: error: cannot use AUTO, FULL, PROMPT, REQUIRED or SECURE on elementary item without TO or USING +prog.cob:21: error: cannot use AUTO, FULL, PROMPT, REQUIRED or SECURE on elementary item without TO or USING +prog.cob:22: error: cannot use AUTO, FULL, PROMPT, REQUIRED or SECURE on elementary item without TO or USING +prog.cob:22: error: cannot use BLANK WHEN ZERO, JUSTIFIED, OCCURS or SIGN on item without FROM, TO or USING +prog.cob:23: error: 'blank-when-zero-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:23: warning: 'blank-when-zero-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:24: error: 'justified-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:24: warning: 'justified-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:25: error: cannot have PIC without FROM, TO or USING +prog.cob:25: error: cannot use BLANK WHEN ZERO, JUSTIFIED, OCCURS or SIGN on item without FROM, TO or USING +prog.cob:26: error: VALUE may not contain a figurative constant +prog.cob:27: error: 'only-erase' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:30: error: VALUE item may not be numeric +prog.cob:36: error: cannot use AUTO, FULL, PROMPT, REQUIRED or SECURE on elementary item without TO or USING +" | \ + $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:688" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:715: \$COMPILE_ONLY -fscreen-section-rules=rm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=rm prog.cob" "syn_screen.at:715" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=rm prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:15: error: cannot specify both PIC and VALUE +prog.cob:15: error: cannot have PIC without FROM, TO or USING +prog.cob:15: error: VALUE item may not be numeric +prog.cob:16: error: cannot have PIC without FROM, TO or USING +prog.cob:17: error: cannot have FROM, TO or USING without PIC +prog.cob:18: error: cannot have PIC without FROM, TO or USING +prog.cob:22: error: cannot use AUTO, FULL, REQUIRED or SECURE on elementary item without FROM, TO or USING +prog.cob:22: error: cannot use BLANK WHEN ZERO, JUSTIFIED or SIGN without FROM, TO or USING +prog.cob:23: error: cannot have FROM, TO or USING without PIC +prog.cob:23: error: cannot use BLANK WHEN ZERO, JUSTIFIED or SIGN without FROM, TO or USING +prog.cob:24: error: cannot have FROM, TO or USING without PIC +prog.cob:24: error: cannot use BLANK WHEN ZERO, JUSTIFIED or SIGN without FROM, TO or USING +prog.cob:25: error: cannot have PIC without FROM, TO or USING +prog.cob:30: error: VALUE item may not be numeric +prog.cob:36: error: cannot use AUTO, FULL, REQUIRED or SECURE on elementary item without FROM, TO or USING +" | \ + $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:715" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:733: \$COMPILE_ONLY -fscreen-section-rules=xopen -fmax-errors=0 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=xopen -fmax-errors=0 prog.cob" "syn_screen.at:733" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=xopen -fmax-errors=0 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: 'no-clauses' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:13: error: 'no-required-clauses' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:15: error: cannot specify both PIC and VALUE +prog.cob:15: error: cannot have PIC without FROM, TO or USING +prog.cob:15: error: VALUE item may not be numeric +prog.cob:16: error: cannot have PIC without FROM, TO or USING +prog.cob:17: error: 'from-to-using-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:17: error: cannot have FROM, TO or USING without PIC +prog.cob:18: error: cannot have PIC without FROM, TO or USING +prog.cob:18: error: cannot have AUTO without FROM, TO or USING +prog.cob:19: error: cannot use FULL or REQUIRED on item without TO or USING +prog.cob:20: error: cannot specify both FULL and JUSTIFIED +prog.cob:21: error: SECURE can be used with TO only +prog.cob:22: error: SECURE must be used with TO +prog.cob:23: error: 'blank-when-zero-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:23: error: cannot have FROM, TO or USING without PIC +prog.cob:24: error: 'justified-without-pic' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:24: error: cannot have FROM, TO or USING without PIC +prog.cob:25: error: cannot have PIC without FROM, TO or USING +prog.cob:27: error: 'only-erase' needs a PIC, COL, LINE, VALUE, BELL or BLANK clause +prog.cob:30: error: VALUE item may not be numeric +prog.cob:36: error: cannot use FULL or REQUIRED on item without TO or USING +" | \ + $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:733" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:758: \$COMPILE_ONLY -fscreen-section-rules=gc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fscreen-section-rules=gc prog.cob" "syn_screen.at:758" +( $at_check_trace; $COMPILE_ONLY -fscreen-section-rules=gc prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: warning: 'no-clauses' does nothing +prog.cob:13: warning: 'no-required-clauses' does nothing +prog.cob:15: warning: 'numeric-pic-and-value' has numeric VALUE without PIC; PIC will be implied +prog.cob:16: warning: 'only-pic' does nothing +prog.cob:17: warning: 'from-to-using-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:18: warning: 'auto-without-from-to-using' does nothing +prog.cob:23: warning: 'blank-when-zero-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:24: warning: 'justified-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:25: warning: 'sign-no-clauses' does nothing +prog.cob:30: warning: 'numeric-value-no-pic' has numeric VALUE without PIC; PIC will be implied +" | \ + $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:758" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:774' \ + "MS-COBOL position-spec" " " 2 +at_xfail=no +( + printf "%s\n" "446. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: WITH clause including a WITH COLUMN (both separate (working) +# and combined - error - must be added + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 FIELD-A PIC X(06) VALUE "ms-cob". + 01 A PIC X. + PROCEDURE DIVISION. + DISPLAY ERASE + MOVE 10 TO LIN. MOVE 15 TO COL. + DISPLAY (LIN , COL - 3) FIELD-A. + DISPLAY (LIN + 1 , COL) FIELD-A. + ACCEPT ( , 10) A. + DISPLAY (08 , 12) FIELD-A. + ACCEPT ( , 08) A WITH NO-ECHO. + DISPLAY FIELD-A AT LINE 06 COLUMN 12. + ACCEPT A AT COLUMN 8. + SUBTRACT 2 FROM LIN. + SUBTRACT 3 FROM COL. + DISPLAY FIELD-A AT LINE LIN COLUMN COL. + ACCEPT ( , 10) A. + DISPLAY ( 1 , 1 ) ERASE. + DISPLAY ( 2 , 1 ) "Field value : ", FIELD-A. + DISPLAY ( 3 , 1 ) A " --> A value" + DISPLAY ( 5 , 1 ) "Press ENTER to exit". + ACCEPT (11 , 1 ) A. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:809: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:809" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: error: 'LIN' is not defined +prog.cob:10: error: syntax error, unexpected COL +prog.cob:11: error: syntax error, unexpected COL, expecting Literal or ) or Identifier +prog.cob:12: error: syntax error, unexpected COL, expecting Literal or ) or Identifier +prog.cob:19: error: syntax error, unexpected COL +prog.cob:20: error: syntax error, unexpected COL +" | \ + $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:809" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:817: \$COMPILE_ONLY -fregister=LIN,COL prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fregister=LIN,COL prog.cob" "syn_screen.at:817" +( $at_check_trace; $COMPILE_ONLY -fregister=LIN,COL prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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: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_446 +#AT_START_447 +at_fn_group_banner 447 'syn_screen.at:822' \ + "Screen with invalid FROM clause" " " 2 +at_xfail=no +( + printf "%s\n" "447. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: some warnings are useless / confusing with follow-up errors +# this has to be adjusted in cobc/field.c + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 some-const CONSTANT AS '123'. + 77 x PIC XX. + SCREEN SECTION. + 01 bild. + 05 from-constant-with-size FROM some-const. + 05 from-constant-without-pic FROM ZERO. + 05 LINE 24 COL 1 FROM message. + 05 from-func-without-pic FROM FUNCTION TRIM(x). + 05 from-func-with-pic FROM FUNCTION TRIM(x) PIC XX. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:845: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:845" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: syntax error, unexpected MESSAGE +prog.cob:11: warning: 'from-constant-with-size' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:12: warning: 'from-constant-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:12: error: PICTURE clause required for 'from-constant-without-pic' +prog.cob:14: warning: 'from-func-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:14: error: PICTURE clause required for 'from-func-without-pic' +" | \ + $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:845" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:853: \$COMPILE_ONLY -fnot-reserved=MESSAGE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-reserved=MESSAGE prog.cob" "syn_screen.at:853" +( $at_check_trace; $COMPILE_ONLY -fnot-reserved=MESSAGE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: 'message' is not defined, but is a reserved word in another dialect +prog.cob:11: warning: 'from-constant-with-size' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:12: warning: 'from-constant-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:12: error: PICTURE clause required for 'from-constant-without-pic' +prog.cob:13: warning: 'FILLER' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:13: error: PICTURE clause required for 'FILLER' +prog.cob:14: warning: 'from-func-without-pic' has FROM, TO or USING without PIC; PIC will be implied +prog.cob:14: error: PICTURE clause required for 'from-func-without-pic' +" | \ + $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:853" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:867' \ + "DISPLAY WITH CONVERSION" " " 2 +at_xfail=no +( + printf "%s\n" "448. $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 WITH CONVERSION "Whatever". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:880: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:880" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: warning: DISPLAY WITH CONVERSION 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:880" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_screen.at:887' \ + "VALUE ALL in SCREEN SECTION" " " 2 +at_xfail=no +( + printf "%s\n" "449. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. SCREEN-VALUE-ALL. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + SCREEN SECTION. + 01 SCREEN001 BLANK SCREEN AUTO-SKIP. + 03 SCR01 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7. + 05 LINE 02 COL 001 PIC X(50) VALUE ALL '-'. + + PROCEDURE DIVISION. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_screen.at:905: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:905" +( $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:905" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_set.at:24' \ + "SET ADDRESS OF item" " " 2 +at_xfail=no +( + printf "%s\n" "450. $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 +printf "%s\n" "$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"; printf "%s\n" "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_450 +#AT_START_451 +at_fn_group_banner 451 'syn_set.at:53' \ + "SET item TO 88-level" " " 2 +at_xfail=no +( + printf "%s\n" "451. $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. + 88 x-wrong-init value space. + 01 Y PIC X. + 88 y-wrong-init value low-value. + + PROCEDURE DIVISION. + SET x-wrong-init TO TRUE. + SET y-wrong-init TO TRUE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_set.at:73: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_set.at:73" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: literal type does not match numeric data type +prog.cob:13: error: invalid SET 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_set.at:73" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_functions.at:22' \ + "ANY LENGTH / NUMERIC as function RETURNING item" "" 2 +at_xfail=no +( + printf "%s\n" "452. $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 +printf "%s\n" "$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"; printf "%s\n" "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 +printf "%s\n" "$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"; printf "%s\n" "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_452 +#AT_START_453 +at_fn_group_banner 453 'syn_functions.at:64' \ + "REPOSITORY INTRINSIC phrase" " " 2 +at_xfail=no +( + printf "%s\n" "453. $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 +printf "%s\n" "$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_453 +#AT_START_454 +at_fn_group_banner 454 'syn_functions.at:87' \ + "REPOSITORY FUNCTION phrase" " " 2 +at_xfail=no +( + printf "%s\n" "454. $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. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION y AS "y" + FUNCTION z + . + PROCEDURE DIVISION. + DISPLAY FUNCTION y + DISPLAY FUNCTION z + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$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_454 +#AT_START_455 +at_fn_group_banner 455 'syn_functions.at:135' \ + "Redundant REPOSITORY entries" " " 2 +at_xfail=no +( + printf "%s\n" "455. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + PROGRAM-ID. prog. + END PROGRAM prog. + + IDENTIFICATION DIVISION. + FUNCTION-ID. alpha. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + ALPHABET gamma IS ASCII + . + REPOSITORY. + FUNCTION alpha + PROGRAM prog + PROGRAM prog + PROGRAM prog AS "alpha" + FUNCTION prog + FUNCTION gamma + . + END FUNCTION alpha. +_ATEOF + + +{ set +x +printf "%s\n" "$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"; printf "%s\n" "prog.cob:14: warning: prototype has same name as current function and will be ignored +prog.cob:16: warning: duplicate REPOSITORY entry for 'prog' +prog.cob:17: error: duplicate REPOSITORY entries for 'prog' do not match +prog.cob:18: error: duplicate REPOSITORY entries for 'prog' do not match +prog.cob:19: warning: no definition/prototype seen for FUNCTION 'gamma' +prog.cob:19: error: redefinition of 'gamma' +prog.cob:11: note: '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_455 +#AT_START_456 +at_fn_group_banner 456 'syn_functions.at:174' \ + "Missing prototype/definition" " " 2 +at_xfail=no +( + printf "%s\n" "456. $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 +printf "%s\n" "$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"; printf "%s\n" "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_456 +#AT_START_457 +at_fn_group_banner 457 'syn_functions.at:205' \ + "Empty function" " " 2 +at_xfail=no +( + printf "%s\n" "457. $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 +printf "%s\n" "$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"; printf "%s\n" "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_457 +#AT_START_458 +at_fn_group_banner 458 'syn_functions.at:232' \ + "Function definition inside program" " " 2 +at_xfail=no +( + printf "%s\n" "458. $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 +printf "%s\n" "$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"; printf "%s\n" "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_458 +#AT_START_459 +at_fn_group_banner 459 'syn_functions.at:255' \ + "Intrinsic functions: dialect" " " 2 +at_xfail=no +( + printf "%s\n" "459. $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 STORED-CHAR-LENGTH (" some text here"). + DISPLAY FUNCTION SUBSTITUTE ('some text' 'some' 'nice'). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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"; printf "%s\n" "prog.cob:9: error: FUNCTION 'STORED-CHAR-LENGTH' 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_459 +#AT_START_460 +at_fn_group_banner 460 'syn_functions.at:280' \ + "Intrinsic functions: replaced" " " 2 +at_xfail=no +( + printf "%s\n" "460. $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 +printf "%s\n" "$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 +printf "%s\n" "$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"; printf "%s\n" "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_460 +#AT_START_461 +at_fn_group_banner 461 'syn_functions.at:324' \ + "Intrinsic functions: number of arguments" " " 2 +at_xfail=no +( + printf "%s\n" "461. $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 +printf "%s\n" "$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"; printf "%s\n" "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_461 +#AT_START_462 +at_fn_group_banner 462 'syn_functions.at:364' \ + "Intrinsic functions: reference modification" " " 2 +at_xfail=no +( + printf "%s\n" "462. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# the following should be checked, currently doesn't work +cat >prog.cob <<'_ATEOF' + + 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")(-1:1). + DISPLAY FUNCTION REVERSE ("TESTME")(1:0). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_functions.at:382: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:382" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: FUNCTION 'CHAR' cannot have reference modification +prog.cob:9: error: FUNCTION 'NUMVAL-C' cannot have reference modification +prog.cob:10: error: FUNCTION 'REVERSE' has invalid reference modification +prog.cob:11: 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:382" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# missing: resolving constant values at compile-time, allowing us to +# catch bad ref-mods +#AT_DATA([prog2.cob], [ +# IDENTIFICATION DIVISION. +# PROGRAM-ID. prog2. +# ENVIRONMENT DIVISION. +# DATA DIVISION. +# WORKING-STORAGE SECTION. +# PROCEDURE DIVISION. +# DISPLAY FUNCTION REVERSE ("TESTME")(20:1). +# STOP RUN. +#]) +# +#AT_CHECK([$COMPILE_ONLY prog3.cob], [1], [], +#[prog.cob:8: error: FUNCTION 'REVERSE' has invalid reference modification +#prog.cob:8: error: reference modification out of bounds +#]) + + set +x + $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 'syn_functions.at:410' \ + "Intrinsic functions: argument type" " " 2 +at_xfail=no +( + printf "%s\n" "463. $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 +printf "%s\n" "$at_srcdir/syn_functions.at:426: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:426" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: error: FUNCTION 'ABS' has invalid argument +" | \ + $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:426" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_functions.at:433' \ + "invalid formatted date/time args" " " 2 +at_xfail=no +( + printf "%s\n" "464. $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 +printf "%s\n" "$at_srcdir/syn_functions.at:494: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:494" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:494" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_functions.at:514' \ + "invalid formats w/ DECIMAL-POINT IS COMMA" " " 2 +at_xfail=no +( + printf "%s\n" "465. $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). + DISPLAY FUNCTION FORMATTED-DATETIME + ("YYYYMMDDThhmmss,ss", 1, 1). + + DISPLAY FUNCTION FORMATTED-TIME ("hhmmss.ss", 1). + DISPLAY FUNCTION FORMATTED-DATETIME + ("YYYYMMDDThhmmss.ss", 1, 1). + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_functions.at:536: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:536" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:13: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format +prog.cob:14: 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:536" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_functions.at:544' \ + "Specified offset and SYSTEM-OFFSET" " " 2 +at_xfail=no +( + printf "%s\n" "466. $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 +printf "%s\n" "$at_srcdir/syn_functions.at:560: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_functions.at:560" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: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_466 +#AT_START_467 +at_fn_group_banner 467 'syn_functions.at:568' \ + "FUNCTION LENGTH / BYTE-LENGTH" " " 2 +at_xfail=no +( + printf "%s\n" "467. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY FUNCTION LENGTH ("abcd" & "xyz") + DISPLAY FUNCTION BYTE-LENGTH ("abcd" & "xyz") + DISPLAY FUNCTION LENGTH ("abcd" "xyz") + DISPLAY FUNCTION BYTE-LENGTH (01234) + DISPLAY FUNCTION LENGTH (567) + DISPLAY FUNCTION LENGTH ("abcd" & "xyz" PHYSICAL) + DISPLAY FUNCTION BYTE-LENGTH ("abcd" & "xyz" PHYSICAL) + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_functions.at:585: \$COMPILE -Wno-pending prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-pending prog.cob" "syn_functions.at:585" +( $at_check_trace; $COMPILE -Wno-pending prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:7: error: syntax error, unexpected Literal, expecting PHYSICAL or ) +prog.cob:8: error: a non-numeric literal is expected here +prog.cob:9: error: a non-numeric literal is expected 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_functions.at:585" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:25' \ + "continuation Indicator - too many lines" " " 2 +at_xfail=no +( + printf "%s\n" "468. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:569: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:569" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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_literals.at:569" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# extra test with listing as this is an edge case there + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:575: \$COMPILE_ONLY -t prog.lst prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob" "syn_literals.at:575" +( $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"; printf "%s\n" "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_literals.at:575" +$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_468 +#AT_START_469 +at_fn_group_banner 469 'syn_literals.at:583' \ + "literal too long" " " 2 +at_xfail=no +( + printf "%s\n" "469. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:787: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:787" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: invalid literal: ' ...' +prog.cob:9: note: 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_literals.at:787" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:792: \$COMPILE_ONLY -fliteral-length=160 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fliteral-length=160 prog.cob" "syn_literals.at:792" +( $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"; printf "%s\n" "prog.cob:9: error: invalid literal: ' ...' +prog.cob:9: note: 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_literals.at:792" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:797: \$COMPILE_ONLY -free prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog2.cob" "syn_literals.at:797" +( $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"; printf "%s\n" "prog2.cob:9: error: invalid literal: ' ...' +prog2.cob:9: note: 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_literals.at:797" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# extra test with listing as this is an edge case there + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:804: \$COMPILE_ONLY -t prog.lst prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob" "syn_literals.at:804" +( $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"; printf "%s\n" "prog.cob:9: error: invalid literal: ' ...' +prog.cob:9: note: 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_literals.at:804" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:810: \$COMPILE_ONLY -free -t prog2.lst prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -t prog2.lst prog2.cob" "syn_literals.at:810" +( $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"; printf "%s\n" "prog2.cob:9: error: invalid literal: ' ...' +prog2.cob:9: note: 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_literals.at:810" +$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_469 +#AT_START_470 +at_fn_group_banner 470 'syn_literals.at:819' \ + "numeric literals" " " 2 +at_xfail=no +( + printf "%s\n" "470. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:924: \$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_literals.at:924" +( $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_literals.at:924" +$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 +printf "%s\n" "$at_srcdir/syn_literals.at:978: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_literals.at:978" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:17: error: syntax error, unexpected -, expecting ( +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_literals.at:978" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:986: \$COMPILE_ONLY prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_literals.at:986" +( $at_check_trace; $COMPILE_ONLY prog3.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog3.cob:17: error: syntax error, unexpected -, expecting ( +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_literals.at:986" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:998' \ + "floating-point literals" " " 2 +at_xfail=no +( + printf "%s\n" "471. $at_setup_line: testing $at_desc ..." + $at_traceon + +# Refer to Section 8.3.1.2.2.2 of COBOL 2014. + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + *> Valid literals + DISPLAY 1.0E6144, +1.0E+3, +1.0E-6143, 123.E1, + +.123456789012345678901234567890123456E+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 .123456789012345678901234567890123456789E0 + END-DISPLAY + DISPLAY 0.0E3 END-DISPLAY + + *> Implementor-defined invalid literals + DISPLAY 1.0E6145 END-DISPLAY + DISPLAY 1.0E-6144 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,0E6144; +1,0E+3; +1,0E-6143; 123,E1; + +,123456789012345678901234567890123456E+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 ,123456789012345678901234567890123456789E0 + END-DISPLAY + DISPLAY 0,0E3 END-DISPLAY + + *> Implementor-defined invalid literals + DISPLAY 1,0E6145 END-DISPLAY + DISPLAY 1,0E-6144 END-DISPLAY + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1060: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1060" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: note: exponent has decimal point +prog.cob:15: error: invalid floating-point literal: '-0.0E-0' +prog.cob:15: note: significand of 0 must be positive +prog.cob:15: note: exponent of 0 must be positive +prog.cob:16: error: invalid floating-point literal: '1.0E00003' +prog.cob:16: note: exponent has more than 4 digits +prog.cob:17: error: invalid floating-point literal: '.123456789012345678901234567890123 ...' +prog.cob:17: note: significand has more than 36 digits +prog.cob:19: error: invalid floating-point literal: '0.0E3' +prog.cob:19: note: exponent of 0 must be 0 +prog.cob:22: error: invalid floating-point literal: '1.0E6145' +prog.cob:22: note: exponent not between -6143 and 6144 +prog.cob:23: error: invalid floating-point literal: '1.0E-6144' +prog.cob:23: note: exponent not between -6143 and 6144 +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1060" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1081: \$COMPILE_ONLY prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_literals.at:1081" +( $at_check_trace; $COMPILE_ONLY prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: note: exponent has decimal point +prog2.cob:19: error: invalid floating-point literal: '-0,0E-0' +prog2.cob:19: note: significand of 0 must be positive +prog2.cob:19: note: exponent of 0 must be positive +prog2.cob:20: error: invalid floating-point literal: '1,0E00003' +prog2.cob:20: note: exponent has more than 4 digits +prog2.cob:21: error: invalid floating-point literal: ',123456789012345678901234567890123 ...' +prog2.cob:21: note: significand has more than 36 digits +prog2.cob:23: error: invalid floating-point literal: '0,0E3' +prog2.cob:23: note: exponent of 0 must be 0 +prog2.cob:26: error: invalid floating-point literal: '1,0E6145' +prog2.cob:26: note: exponent not between -6143 and 6144 +prog2.cob:27: error: invalid floating-point literal: '1,0E-6144' +prog2.cob:27: note: exponent not between -6143 and 6144 +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1081" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1105' \ + "X literals" " " 2 +at_xfail=no +( + printf "%s\n" "472. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:1121: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1121" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: invalid X literal: 'GH' +prog.cob:9: note: literal contains invalid character 'G' +prog.cob:9: note: literal contains invalid character 'H' +prog.cob:10: error: invalid X literal: '1' +prog.cob:10: note: 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_literals.at:1121" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1129: \$COMPILE_ONLY -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "syn_literals.at:1129" +( $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"; printf "%s\n" "prog.cob:9: error: invalid X literal: 'GH' +prog.cob:9: note: literal contains invalid character 'G' +prog.cob:9: note: literal contains invalid character 'H' +prog.cob:10: warning: invalid X literal: '1' +prog.cob:10: note: 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_literals.at:1129" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1140' \ + "national literals" " " 2 +at_xfail=no +( + printf "%s\n" "473. $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". + DISPLAY NC"0123456789ABCDEF"- + NC'0123456789ABCDEF'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1155: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1155" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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 +prog.cob:9: warning: national-character literal used +prog.cob:9: warning: handling of national literal is unfinished; implementation is likely to be changed +prog.cob:10: warning: national-character literal used +prog.cob:10: 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_literals.at:1155" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1166: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_literals.at:1166" +( $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"; printf "%s\n" "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 +prog.cob:9: error: national-character literal does not conform to COBOL 85 +prog.cob:10: error: national-character 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_literals.at:1166" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1178' \ + "NX literals" " " 2 +at_xfail=no +( + printf "%s\n" "474. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:1194: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1194" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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: note: literal contains invalid character 'G' +prog.cob:10: note: 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: note: 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_literals.at:1194" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1206: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_literals.at:1206" +( $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"; printf "%s\n" "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_literals.at:1206" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1216' \ + "binary literals" " " 2 +at_xfail=no +( + printf "%s\n" "475. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:1234: \$COMPILE_ONLY -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_literals.at:1234" +( $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"; printf "%s\n" "prog.cob:9: error: invalid B literal: '23' +prog.cob:9: note: literal contains invalid character '2' +prog.cob:9: note: literal contains invalid character '3' +prog.cob:10: error: invalid B literal: '1111111111111111111111111111111111 ...' +prog.cob:10: note: 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_literals.at:1234" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1242: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_literals.at:1242" +( $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"; printf "%s\n" "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_literals.at:1242" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1252' \ + "binary-hexadecimal literals" " " 2 +at_xfail=no +( + printf "%s\n" "476. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:1267: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1267" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: error: invalid BX literal: '0123456789ABCDEF0123456789ABCDEF01 ...' +prog.cob:6: note: 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_literals.at:1267" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1272: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_literals.at:1272" +( $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"; printf "%s\n" "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_literals.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_476 +#AT_START_477 +at_fn_group_banner 477 'syn_literals.at:1281' \ + "HP COBOL octal literals" " " 2 +at_xfail=no +( + printf "%s\n" "477. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + *> Valid forms + DISPLAY %17 %37777777777 %456 + + *> invalid forms + DISPLAY %11111111111111111111111 + DISPLAY %89 + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1298: \$COMPILE_ONLY -Wno-unfinished -fhp-octal-literals=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished -fhp-octal-literals=ok prog.cob" "syn_literals.at:1298" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished -fhp-octal-literals=ok prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: error: invalid % literal: '11111111111111111111111' +prog.cob:9: note: literal length 23 exceeds 22 characters +prog.cob:10: error: invalid % literal: '89' +prog.cob:10: note: literal contains invalid character '8' +prog.cob:10: note: literal contains invalid character '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_literals.at:1298" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1306: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_literals.at:1306" +( $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"; printf "%s\n" "prog.cob:6: error: HP COBOL octal literal does not conform to COBOL 2014 +prog.cob:6: error: HP COBOL octal literal does not conform to COBOL 2014 +prog.cob:6: error: HP COBOL octal literal does not conform to COBOL 2014 +prog.cob:9: error: HP COBOL octal literal does not conform to COBOL 2014 +prog.cob:10: error: HP COBOL octal 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_literals.at:1306" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1317' \ + "ACUCOBOL literals" " " 2 +at_xfail=no +( + printf "%s\n" "478. $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 +printf "%s\n" "$at_srcdir/syn_literals.at:1338: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_literals.at:1338" +( $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"; printf "%s\n" "prog.cob:11: error: invalid B# literal: '1111111111111111111111111111111111 ...' +prog.cob:11: note: literal length 65 exceeds 64 characters +prog.cob:12: error: invalid O# literal: '11111111111111111111111' +prog.cob:12: note: literal length 23 exceeds 22 characters +prog.cob:12: error: invalid hexadecimal literal: '11111111111111111' +prog.cob:12: note: literal length 17 exceeds 16 characters +prog.cob:12: error: invalid hexadecimal literal: '22222222222222222' +prog.cob:12: note: literal length 17 exceeds 16 characters +prog.cob:14: error: invalid B# literal: '23' +prog.cob:14: note: literal contains invalid character '2' +prog.cob:14: note: literal contains invalid character '3' +prog.cob:14: error: invalid O# literal: '89' +prog.cob:14: note: literal contains invalid character '8' +prog.cob:14: note: literal contains invalid character '9' +prog.cob:14: error: invalid X# literal: 'GG' +prog.cob:14: note: literal contains invalid character 'G' +prog.cob:14: note: literal contains invalid character 'G' +prog.cob:14: error: invalid H# literal: 'HH' +prog.cob:14: note: literal contains invalid character 'H' +prog.cob:14: note: 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_literals.at:1338" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1361: \$COMPILE_ONLY -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_literals.at:1361" +( $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"; printf "%s\n" "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_literals.at:1361" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1379' \ + "ACUCOBOL 32bit literal size" " " 2 +at_xfail=no +( + printf "%s\n" "479. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# ACUCOBOL literal max - the result is system dependent on size of unsigned long int +# FIXME: do not skip when expecting we pass +printf "%s\n" "syn_literals.at:1383" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/syn_literals.at:1383" + + + +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_ONLY -std=acu prog.cob], [0], [], []) +# TODO check the result according to COB_32_BIT_LONG --> 1 should result in the following +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1401: \$COMPILE_ONLY -std=acu prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_literals.at:1401" +( $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"; printf "%s\n" "prog.cob:7: error: invalid B# literal: '11111111111111111111111111111111111...' +prog.cob:7: note: literal exceeds limit 4294967295 +prog.cob:8: error: invalid O# literal: '1111111111111111111111' +prog.cob:8: note: literal exceeds limit 4294967295 +prog.cob:8: error: invalid X# literal: '1111111111111111' +prog.cob:8: note: 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_literals.at:1401" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_literals.at:1412' \ + "zero-length literals" " " 2 +at_xfail=no +( + printf "%s\n" "480. $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 nat PIC N. + 01 n PIC 9. + + PROCEDURE DIVISION. + MOVE X'' TO x + MOVE H'' TO n + MOVE Z'' TO x + MOVE L'' TO x + MOVE N"" TO nat + MOVE NX'' TO nat + MOVE B"" TO n + MOVE BX"" TO n + . +_ATEOF + + +# unfinished national +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1438: \$COMPILE_ONLY -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-unfinished prog.cob" "syn_literals.at:1438" +( $at_check_trace; $COMPILE_ONLY -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: warning: hexadecimal literal has zero length; X'00' will be assumed +prog.cob:13: error: invalid H literal: '' +prog.cob:13: note: H literals must contain at least one character +prog.cob:14: error: invalid Z literal: '' +prog.cob:14: note: Z literals must contain at least one character +prog.cob:15: error: invalid L literal: '' +prog.cob:15: note: L literals must contain at least one character +prog.cob:16: warning: national literal has zero length; a SPACE will be assumed +prog.cob:17: warning: hexadecimal literal has zero length; X'00' will be assumed +prog.cob:18: warning: boolean literal has zero length; B'0' will be assumed +prog.cob:19: warning: hexadecimal literal has zero length; X'00' will be assumed +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1438" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1451: \$COMPILE_ONLY -fzero-length-literals=error -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fzero-length-literals=error -Wno-unfinished prog.cob" "syn_literals.at:1451" +( $at_check_trace; $COMPILE_ONLY -fzero-length-literals=error -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:12: error: zero-length literal used +prog.cob:12: warning: hexadecimal literal has zero length; X'00' will be assumed +prog.cob:13: error: invalid H literal: '' +prog.cob:13: note: H literals must contain at least one character +prog.cob:14: error: invalid Z literal: '' +prog.cob:14: note: Z literals must contain at least one character +prog.cob:15: error: invalid L literal: '' +prog.cob:15: note: L literals must contain at least one character +prog.cob:16: error: zero-length literal used +prog.cob:16: warning: national literal has zero length; a SPACE will be assumed +prog.cob:17: error: zero-length literal used +prog.cob:17: warning: hexadecimal literal has zero length; X'00' will be assumed +prog.cob:18: error: zero-length literal used +prog.cob:18: warning: boolean literal has zero length; B'0' will be assumed +prog.cob:19: error: zero-length literal used +prog.cob:19: warning: hexadecimal literal has zero length; X'00' will be assumed +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1451" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'syn_literals.at:1472' \ + "long literal in error message" " " 2 +at_xfail=no +( + printf "%s\n" "481. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. tutorial. + PROCEDURE DIVISION. + move low-values to + ' 1 c d e f g h i j k l m n 0 q.'- + ' 2 C D E F G H I J K L M N 0 Q.'- + ' 3 c d e f g h i j k l m n 0 q.'- + ' 4 C D E F G H I J K L M N 0 Q.'- + ' 5 c d e f g h i j k l m n 0 q.'- + ' 6 C D E F G H I J K L M N 0 Q.'- + ' 7 c d e f g h i j k l m n 0 q.'- + ' 8 C D E F G H I J K L M N 0 Q.'- + ' 9 c d e f g h i j k l m n 0 q.'- + '10 C D E F G H I J K L M N 0 Q.'- + '11 c d e f g h i j k l m n 0 q.'- + '12 C D E F G H I J K L M N 0 Q.'- + '13 c d e f g h i j k l m n 0 q.'- + '14 C D E F G H I J K L M N 0 Q.'- + '15 c d e f g h i j k l m n 0 q.'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1497: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_literals.at:1497" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: error: invalid MOVE target: literal \" 1 c d e f g h i j k l m n 0 q. 2 ...\" +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1497" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1504' \ + "literal missing terminating character" " " 2 +at_xfail=no +( + printf "%s\n" "482. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. tutorial. + PROCEDURE DIVISION. + DISPLAY ' 1 c d e f g h i j k l m n 0 q. + - ' 2 C D E F G H I J K L M N 0 Q. +_ATEOF + + +# FIXME: we should move this from scanner to pplex to preserve the spaces +# [prog.cob:5: error: invalid literal: ' 1 c d e f g h i j k l m n 0 q. ...' +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1517: \$COMPILE_ONLY -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -w prog.cob" "syn_literals.at:1517" +( $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"; printf "%s\n" "prog.cob:5: error: invalid literal: ' 1 c d e f g h i j k l m n 0 q. 2 ...' +prog.cob:5: note: missing terminating ' character +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.at:1517" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'syn_literals.at:1525' \ + "GCOS literals with EBCDIC symbols (syntax)" " " 2 +at_xfail=no +( + printf "%s\n" "483. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY ""135,151,151"bar"195,194,0"" + DISPLAY ""135,257"" + DISPLAY ""135,x,194,1"" + DISPLAY ""135,,155,"" + DISPLAY ""135 155 " " + + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1539: \$COMPILE -febcdic-symbolic-characters prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -febcdic-symbolic-characters prog.cob" "syn_literals.at:1539" +( $at_check_trace; $COMPILE -febcdic-symbolic-characters prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:5: error: character code 0 out of encoding range (1..256) +prog.cob:6: error: character code 257 out of encoding range (1..256) +prog.cob:7: error: invalid character 'x' in sequence of symbolic EBCDIC characters +prog.cob:8: error: extraneous character ',' in sequence of symbolic EBCDIC characters +prog.cob:8: error: extraneous separator ',' at end of symbolic EBCDIC 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_literals.at:1539" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY ""135,151,151"bar"195,194,234" = foobarBAZ" + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1553: \$COMPILE -febcdic-symbolic-characters prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -febcdic-symbolic-characters prog2.cob" "syn_literals.at:1553" +( $at_check_trace; $COMPILE -febcdic-symbolic-characters 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_literals.at:1553" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1554: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "syn_literals.at:1554" +( $at_check_trace; $COMPILE prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog2.cob:5: warning: alphanumeric literal has zero length; a SPACE will be 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_literals.at:1554" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/syn_literals.at:1557: \$COMPILE -febcdic-symbolic-characters -febcdic-table=dummyNotThere prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -febcdic-symbolic-characters -febcdic-table=dummyNotThere prog2.cob" "syn_literals.at:1557" +( $at_check_trace; $COMPILE -febcdic-symbolic-characters -febcdic-table=dummyNotThere prog2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: can't open translation table 'dummyNotThere' +prog2.cob:5: error: invalid parameter: -febcdic-table +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/syn_literals.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_483 +#AT_START_484 +at_fn_group_banner 484 'listings.at:21' \ + "Minimal lines per listing pages" " " 3 +at_xfail=no +( + printf "%s\n" "484. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: 2.2 did not use a minimal length, +# a typo like -tlines=2 loops forever + + + +cat >prog.cob <<'_ATEOF' + + * some comments go here + *> and here + *> and finally... here + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 NEWSTUFF PIC X(80). + PROCEDURE DIVISION. + DISPLAY NEWSTUFF " BENEFITS SOME PARTS FROM " + "MANY" "STUFF" ", " "VERY MUCH" "GOOD" NEWSTUFF + "AND STUFF !" + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +cat >expected.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob DDD MMM dd HH:MM:SS YYYY Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 * some comments go here +000003 *> and here +000004 *> and finally... here +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 +000013 "AND STUFF !" +000014 NO ADVANCING +000015 END-DISPLAY. +000016 STOP RUN. + + GnuCOBOL V.R.P prog.cob DDD MMM dd HH:MM:SS YYYY Page 0002 + +0 warnings in compilation group +0 errors in compilation group +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:75: \$COMPILE_ONLY -t prog.lst -tlines=2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=2 prog.cob" "listings.at:75" +( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=2 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cobc: warning: 2 lines per listing page specified, using 20 +" | \ + $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:75" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:79: \$UNIFY_LISTING prog.lst prog.lis" +at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:79" +( $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:79" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:80: diff expected.lst prog.lis" +at_fn_check_prepare_trace "listings.at:80" +( $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:80" +$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_484 +#AT_START_485 +at_fn_group_banner 485 'listings.at:85' \ + "COPY within comment" " " 3 +at_xfail=no +( + printf "%s\n" "485. $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 +printf "%s\n" "$at_srcdir/listings.at:98: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:98" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:98" +$at_failed && at_fn_log_failure +$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 +printf "%s\n" "$at_srcdir/listings.at:127: \$COMPILE_LISTING0 -t- -free prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -free prog2.cob" "listings.at:127" +( $at_check_trace; $COMPILE_LISTING0 -t- -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:149' \ + "Replacement w/o strings" " " 3 +at_xfail=no +( + printf "%s\n" "486. $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 +printf "%s\n" "$at_srcdir/listings.at:169: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:169" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:169" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:205' \ + "Partial replacement with literals" " " 3 +at_xfail=no +( + printf "%s\n" "487. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-DATA. + 3 X PIC X(1) VALUE "X". + 3 XX PIC X(2) VALUE "XX". + 3 Z PIC X(1) VALUE "Z". + 3 ZZ PIC X(2) VALUE "ZZ". + 3 Y PIC X(1) VALUE "Y". + PROCEDURE DIVISION. + REPLACE LEADING "X" BY SPACES + TRAILING "Z" BY SPACES + LEADING "Y" BY "X". + MAIN. + DISPLAY "XX: *" XX "*" + DISPLAY "X: *" X "*" + DISPLAY "ZZ: *" ZZ "*" + DISPLAY "Z: *" Z "*" + DISPLAY "Y: *" Y "*" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:232: \$COMPILE_LISTING0 -fpartial-replace-when-literal-src=skip -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -fpartial-replace-when-literal-src=skip -t- prog.cob" "listings.at:232" +( $at_check_trace; $COMPILE_LISTING0 -fpartial-replace-when-literal-src=skip -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 1 W-DATA. +000007 3 X PIC X(1) VALUE \"X\". +000008 3 XX PIC X(2) VALUE \"XX\". +000009 3 Z PIC X(1) VALUE \"Z\". +000010 3 ZZ PIC X(2) VALUE \"ZZ\". +000011 3 Y PIC X(1) VALUE \"Y\". +000012 PROCEDURE DIVISION. +000013 REPLACE LEADING \"X\" BY SPACES +000014 TRAILING \"Z\" BY SPACES +000015 LEADING \"Y\" BY \"X\". +000016 MAIN. +000017 DISPLAY \"XX: *\" X \"*\" +000018 DISPLAY \"X: *\" X \"*\" +000019 DISPLAY \"ZZ: *\" ZZ \"*\" +000020 DISPLAY \"Z: *\" Z \"*\" +000021 DISPLAY \"Y: *\" X \"*\" +000022 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.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_487 +#AT_START_488 +at_fn_group_banner 488 'listings.at:269' \ + "COPY replacement with partial match" " " 3 +at_xfail=no +( + printf "%s\n" "488. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-CC PIC X(4) VALUE "OK 2". +_ATEOF + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" REPLACING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-EE == BY == 02 TEST-FF ==. + PROCEDURE DIVISION. + DISPLAY TEST-AVR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:289: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:289" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 01 GET-VALUE. +000007 COPY \"copy.inc\" REPLACING ==TEST-VAR== BY ==TEST-AVR== +000008 == 02 TEST-EE == BY == 02 TEST-FF ==. +000001C +000002C 02 TEST-AVR PIC X(2) VALUE \"OK\". +000003C 02 TEST-CC PIC X(4) VALUE \"OK 2\". +000009 PROCEDURE DIVISION. +000010 DISPLAY TEST-AVR. +000011 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.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_488 +#AT_START_489 +at_fn_group_banner 489 'listings.at:318' \ + "COPY replacement with multiple partial matches" " " 3 +at_xfail=no +( + printf "%s\n" "489. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy.inc" REPLACING + LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + ==TEST-CC== BY ==TEST-DD== + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:349: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:349" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 01 GET-VALUE. +000007 COPY \"copy.inc\" REPLACING +000008 LEADING ==TEST-VAR== BY ==TEST-AVR== +000009 == 02 TEST-OK == BY == 02 TEST-KO == +000010 ==TEST-CC== BY ==TEST-DD== +000011 == 02 TEST-EE == BY == 02 TEST-FF == +000012 == PIC == BY == pic ==. +000001C +000002C 02 TEST-AVR pic X(2) VALUE \"OK\". +000003C 02 TEST-AVR-BIS pic X(6) VALUE \"OK BIS\". +000004C 02 TEST-DD pic X(4) VALUE \"OK 2\". +000005C 02 TEST-KO pic X(4) VALUE \"OK 3\". +000006C 02 TEST-FF pic X(4) VALUE \"OK 4\". +000013 PROCEDURE DIVISION. +000014 DISPLAY TEST-AVR. +000015 DISPLAY TEST-AVR-BIS. +000016 DISPLAY TEST-KO. +000017 DISPLAY TEST-DD. +000018 DISPLAY TEST-FF. +000019 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >copy2.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy2.inc" + REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + == TEST-CC == BY == TEST-DD == + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:413: \$COMPILE_LISTING0 -t- prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog2.cob" "listings.at:413" +( $at_check_trace; $COMPILE_LISTING0 -t- prog2.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"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog2. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 01 GET-VALUE. +000007 COPY \"copy2.inc\" +000008 REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== +000009 == 02 TEST-OK == BY == 02 TEST-KO == +000010 == TEST-CC == BY == TEST-DD == +000011 == 02 TEST-EE == BY == 02 TEST-FF == +000012 == PIC == BY == pic ==. +000001C +000002C 02 TEST-AVR pic X(2) VALUE \"OK\". +000003C 02 TEST-AVR-BIS pic X(6) VALUE \"OK BIS\". +000004C 02 TEST-DD pic X(4) VALUE \"OK 2\". +000005C 02 TEST-KO pic X(4) VALUE \"OK 3\". +000006C 02 TEST-FF pic X(4) VALUE \"OK 4\". +000013 PROCEDURE DIVISION. +000014 DISPLAY TEST-AVR. +000015 DISPLAY TEST-AVR-BIS. +000016 DISPLAY TEST-KO. +000017 DISPLAY TEST-DD. +000018 DISPLAY TEST-FF. +000019 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:413" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >copy3.inc <<'_ATEOF' + + 02 TEST-VAR PIC X(2) VALUE "OK". + 02 TEST-VAR-BIS PIC X(6) VALUE "OK BIS". + 02 TEST-CC PIC X(4) VALUE "OK 2". + 02 TEST-OK PIC X(4) VALUE "OK 3". + 02 TEST-EE PIC X(4) VALUE "OK 4". +_ATEOF + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GET-VALUE. + COPY "copy3.inc" + REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== + == 02 TEST-OK == BY == 02 TEST-KO == + ==TEST-CC== BY ==TEST-DD== + == 02 TEST-EE == BY == 02 TEST-FF == + == PIC == BY == pic ==. + PROCEDURE DIVISION. + DISPLAY TEST-AVR. + DISPLAY TEST-AVR-BIS. + DISPLAY TEST-KO. + DISPLAY TEST-DD. + DISPLAY TEST-FF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:477: \$COMPILE_LISTING0 -t- prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog3.cob" "listings.at:477" +( $at_check_trace; $COMPILE_LISTING0 -t- prog3.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"; printf "%s\n" "GnuCOBOL V.R.P prog3.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog3. +000004 DATA DIVISION. +000005 WORKING-STORAGE SECTION. +000006 01 GET-VALUE. +000007 COPY \"copy3.inc\" +000008 REPLACING LEADING ==TEST-VAR== BY ==TEST-AVR== +000009 == 02 TEST-OK == BY == 02 TEST-KO == +000010 ==TEST-CC== BY ==TEST-DD== +000011 == 02 TEST-EE == BY == 02 TEST-FF == +000012 == PIC == BY == pic ==. +000001C +000002C 02 TEST-AVR pic X(2) VALUE \"OK\". +000003C 02 TEST-AVR-BIS pic X(6) VALUE \"OK BIS\". +000004C 02 TEST-DD pic X(4) VALUE \"OK 2\". +000005C 02 TEST-KO pic X(4) VALUE \"OK 3\". +000006C 02 TEST-FF pic X(4) VALUE \"OK 4\". +000013 PROCEDURE DIVISION. +000014 DISPLAY TEST-AVR. +000015 DISPLAY TEST-AVR-BIS. +000016 DISPLAY TEST-KO. +000017 DISPLAY TEST-DD. +000018 DISPLAY TEST-FF. +000019 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.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_489 +#AT_START_490 +at_fn_group_banner 490 'listings.at:517' \ + "COPY replacement order" " " 3 +at_xfail=no +( + printf "%s\n" "490. $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 +printf "%s\n" "$at_srcdir/listings.at:538: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:538" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:538" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:569: \$COBC \$FLAGS -E -o prog.i prog.cob" +at_fn_check_prepare_dynamic "$COBC $FLAGS -E -o prog.i prog.cob" "listings.at:569" +( $at_check_trace; $COBC $FLAGS -E -o prog.i prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:569" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:570: \$COMPILE_LISTING0 -t- -ftsymbols prog.i" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.i" "listings.at:570" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols prog.i +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.i + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:570" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:608' \ + "COPY separators" " " 3 +at_xfail=no +( + printf "%s\n" "491. $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 +printf "%s\n" "$at_srcdir/listings.at:631: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:631" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:667' \ + "COPY partial replacement" " " 3 +at_xfail=no +( + printf "%s\n" "492. $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 +printf "%s\n" "$at_srcdir/listings.at:691: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:691" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:691" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >copy1.inc <<'_ATEOF' + + 01 'yyy-'struktur. + 05 'yyy-'hello pic x(30) value 'yyy copy1.inc'. + 05 'yy1-'hello pic x(30) value 'yy1 copy1.inc'. + 05 'yy2-'hello pic x(30) value 'yy2 copy1.inc'. + 05 filler pic x(20). +_ATEOF + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. copytest. + + data division. + working-storage section. + 01 hello pic x(20) value 'Copytest'. + + 01 xx pic x(02). + + copy 'copy1.inc' replacing 'YYY-' by a10- + 'yy1-' by a11- + 'yy2-' by a12-. + + copy 'copy1.inc' replacing 'YYY-' by a20- + 'yy1-' by a21- + 'yy2-' by a22-. + + copy 'copy1.inc' replacing 'YYY-' by a30- + 'yy1-' by a31- + 'yy2-' by a32-. + + procedure division. + + display hello + + display 'a10-struktur' + display a10-struktur + + display 'a20-struktur' + display a20-struktur + + display 'a30-struktur' + display a30-struktur + + goback. + end program copytest. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:774: \$COMPILE_LISTING0 -t- -ftsymbols prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog1.cob" "listings.at:774" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols prog1.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"; printf "%s\n" "GnuCOBOL V.R.P prog1.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 identification division. +000003 program-id. copytest. +000004 +000005 data division. +000006 working-storage section. +000007 01 hello pic x(20) value 'Copytest'. +000008 +000009 01 xx pic x(02). +000010 +000011 copy 'copy1.inc' replacing 'YYY-' by a10- +000012 'yy1-' by a11- +000013 'yy2-' by a12-. +000001C +000002C 01 a10-struktur. +000003C 05 a10-hello pic x(30) value 'yyy copy1.inc'. +000004C 05 a11-hello pic x(30) value 'yy1 copy1.inc'. +000005C 05 a12-hello pic x(30) value 'yy2 copy1.inc'. +000006C 05 filler pic x(20). +000014 +000015 copy 'copy1.inc' replacing 'YYY-' by a20- +000016 'yy1-' by a21- +000017 'yy2-' by a22-. +000001C +000002C 01 a20-struktur. +000003C 05 a20-hello pic x(30) value 'yyy copy1.inc'. +000004C 05 a21-hello pic x(30) value 'yy1 copy1.inc'. +000005C 05 a22-hello pic x(30) value 'yy2 copy1.inc'. +000006C 05 filler pic x(20). +000018 +000019 copy 'copy1.inc' replacing 'YYY-' by a30- +000020 'yy1-' by a31- +000021 'yy2-' by a32-. +000001C +000002C 01 a30-struktur. +000003C 05 a30-hello pic x(30) value 'yyy copy1.inc'. +000004C 05 a31-hello pic x(30) value 'yy1 copy1.inc'. +000005C 05 a32-hello pic x(30) value 'yy2 copy1.inc'. +000006C 05 filler pic x(20). +000022 +000023 procedure division. +000024 +000025 display hello +000026 +000027 display 'a10-struktur' +000028 display a10-struktur +000029 +000030 display 'a20-struktur' +000031 display a20-struktur +000032 +000033 display 'a30-struktur' +000034 display a30-struktur +000035 +000036 goback. +000037 end program copytest. + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00020 ALPHANUMERIC 01 hello X(20) + +00002 ALPHANUMERIC 01 xx X(02) + +00110 GROUP 01 a10-struktur +00030 ALPHANUMERIC 05 a10-hello X(30) +00030 ALPHANUMERIC 05 a11-hello X(30) +00030 ALPHANUMERIC 05 a12-hello X(30) +00020 ALPHANUMERIC 05 FILLER X(20) + +00110 GROUP 01 a20-struktur +00030 ALPHANUMERIC 05 a20-hello X(30) +00030 ALPHANUMERIC 05 a21-hello X(30) +00030 ALPHANUMERIC 05 a22-hello X(30) +00020 ALPHANUMERIC 05 FILLER X(20) + +00110 GROUP 01 a30-struktur +00030 ALPHANUMERIC 05 a30-hello X(30) +00030 ALPHANUMERIC 05 a31-hello X(30) +00030 ALPHANUMERIC 05 a32-hello X(30) +00020 ALPHANUMERIC 05 FILLER X(20) + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.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_492 +#AT_START_493 +at_fn_group_banner 493 'listings.at:869' \ + "COPY LEADING replacement" " " 3 +at_xfail=no +( + printf "%s\n" "493. $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 +printf "%s\n" "$at_srcdir/listings.at:893: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:893" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:893" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:932' \ + "COPY TRAILING replacement" " " 3 +at_xfail=no +( + printf "%s\n" "494. $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 +printf "%s\n" "$at_srcdir/listings.at:957: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:957" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:957" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:996' \ + "COPY recursive replacement" " " 3 +at_xfail=no +( + printf "%s\n" "495. $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 +printf "%s\n" "$at_srcdir/listings.at:1020: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:1020" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1020" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:1055' \ + "COPY multiple files" " " 3 +at_xfail=no +( + printf "%s\n" "496. $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) EXTERNAL. + * +_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 >tstcpybk.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 HEADER BASED. + 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. + * + 77 GLOB PIC 99 GLOBAL. + * + 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 +printf "%s\n" "$at_srcdir/listings.at:1146: \$COMPILE_LISTING0 -t- -ftsymbols tstcpybk.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols tstcpybk.cob" "listings.at:1146" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols tstcpybk.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"; printf "%s\n" "GnuCOBOL V.R.P tstcpybk.cob + +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 HEADER BASED. +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 77 GLOB PIC 99 GLOBAL. +000029 * +000030 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) EXTERNAL. +000007C * +000031 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 * +000032 +000033 PROCEDURE DIVISION. +000034 MAIN-PROCEDURE SECTION. +000035 MAIN-PROCEDURE-0000. +000036 CONTINUE. +000037 MAIN-PROCEDURE-EXIT. +000038 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 HEADER BASED +00016 ALPHANUMERIC 03 FILLER X(016) +00064 ALPHANUMERIC 03 FILLER X(064) +00002 ALPHANUMERIC 03 FILLER X(002) + +00002 NUMERIC 77 GLOB 99 GLOBAL + +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 NUMERIC 01 TEXTFILE-1-SIZE 9(004) EXTERNAL + +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 NUMERIC 01 TEXTFILE-2-SIZE 9(004) + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1146" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:1269' \ + "Error/Warning messages" " " 3 +at_xfail=no +( + printf "%s\n" "497. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >copy.inc <<'_ATEOF' + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT testfile + ASSIGN TO filename + ORGANIZATION RELATIVE + ACCESS IS sequentia + STATUS IS stat. +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + COPY "copy.inc". + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + DISPLAY FIRST-MATCH NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1295: \$COMPILE_LISTING -Wimplicit-define -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -Wimplicit-define -t- prog.cob" "listings.at:1295" +( $at_check_trace; $COMPILE_LISTING -Wimplicit-define -t- prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 COPY \"copy.inc\". +000001C +000002C ENVIRONMENT DIVISION. +000003C INPUT-OUTPUT SECTION. +000004C FILE-CONTROL. +000005C SELECT testfile +error: missing file description for FILE testfile +000006C ASSIGN TO filename +000007C ORGANIZATION RELATIVE +000008C ACCESS IS sequentia +error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or + + SEQUENTIAL +000009C STATUS IS stat. +000005 DATA DIVISION. +000006 WORKING-STORAGE SECTION. +000007 PROCEDURE DIVISION. +warning: variable 'filename' will be implicitly defined +000008 DISPLAY FIRST-MATCH NO ADVANCING +error: 'FIRST-MATCH' is not defined +000009 END-DISPLAY. +000010 STOP RUN. + + + GnuCOBOL V.R.P prog.cob Page 0002 + +Error/Warning summary: + +copy.inc:5: error: missing file description for FILE testfile +copy.inc:8: error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or SEQUENTIAL +prog.cob:7: warning: variable 'filename' will be implicitly defined +prog.cob:8: error: 'FIRST-MATCH' is not defined + +1 warning in compilation group +3 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1295" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1339: \$COMPILE_LISTING -Wimplicit-define -T- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -Wimplicit-define -T- prog.cob" "listings.at:1339" +( $at_check_trace; $COMPILE_LISTING -Wimplicit-define -T- prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob Page 0001 + +LINE PG/LN A...B............................................................SEQUENCE + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 COPY \"copy.inc\". +000001C +000002C ENVIRONMENT DIVISION. +000003C INPUT-OUTPUT SECTION. +000004C FILE-CONTROL. +000005C SELECT testfile +error: missing file description for FILE testfile +000006C ASSIGN TO filename +000007C ORGANIZATION RELATIVE +000008C ACCESS IS sequentia +error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or SEQUENTIAL +000009C STATUS IS stat. +000005 DATA DIVISION. +000006 WORKING-STORAGE SECTION. +000007 PROCEDURE DIVISION. +warning: variable 'filename' will be implicitly defined +000008 DISPLAY FIRST-MATCH NO ADVANCING +error: 'FIRST-MATCH' is not defined +000009 END-DISPLAY. +000010 STOP RUN. + + + GnuCOBOL V.R.P prog.cob Page 0002 + +Error/Warning summary: + +copy.inc:5: error: missing file description for FILE testfile +copy.inc:8: error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or SEQUENTIAL +prog.cob:7: warning: variable 'filename' will be implicitly defined +prog.cob:8: error: 'FIRST-MATCH' is not defined + +1 warning in compilation group +3 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1339" +$at_failed && at_fn_log_failure +$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 +printf "%s\n" "$at_srcdir/listings.at:1394: \$COMPILE_LISTING -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- -ftsymbols prog.cob" "listings.at:1394" +( $at_check_trace; $COMPILE_LISTING -t- -ftsymbols prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 Page 0002 + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00002 NUMERIC 01 TEST-VAR 9(2) + + + GnuCOBOL V.R.P prog.cob Page 0003 + +Error/Warning summary: + +prog.cob:6: warning: numeric value is expected + +1 warning in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1394" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1429: \$COMPILE_LISTING -t- crud.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- crud.cob" "listings.at:1429" +( $at_check_trace; $COMPILE_LISTING -t- crud.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P crud.cob Page 0001 + + cobc: crud.cob: No such file or directory + + +0 warnings in compilation group +1 error in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1429" +$at_failed && at_fn_log_failure +$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 + + +cat >prog17.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.i + +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 + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TEST-VAR PIC 9(2) VALUE 'A'. + COPY 'CRUD.CPY'. + PROCEDURE DIVISION. + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + MOVE 12 TO TEST-VAR + DISPLAY TEST-VAR NO ADVANCING + END-DISPLAY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1522: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:1522" +( $at_check_trace; $COMPILE_LISTING0 -t- prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 'A'. +warning: numeric value is expected +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 12 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 +prog.cob:6: warning: numeric value is expected + +1 warning in compilation group +1 error in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1522" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1555: \$COMPILE_LISTING0 -t- -Wfatal-errors prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -Wfatal-errors prog.cob" "listings.at:1555" +( $at_check_trace; $COMPILE_LISTING0 -t- -Wfatal-errors prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 'A'. +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 12 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 97 $at_status "$at_srcdir/listings.at:1555" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:1590' \ + "Two source files" " " 3 +at_xfail=no +( + printf "%s\n" "498. $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. prog1. + DATA DIVISION. + WORKING-STORAGE SECTION. + *COPY "copy.inc". + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1613: \$COMPILE_LISTING -t- prog.cob prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- prog.cob prog1.cob" "listings.at:1613" +( $at_check_trace; $COMPILE_LISTING -t- 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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog1. +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1613" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:1651' \ + "Multiple programs in one file" " " 3 +at_xfail=no +( + printf "%s\n" "499. $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 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 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 +printf "%s\n" "$at_srcdir/listings.at:1711: \$COMPILE \$LISTING_FLAGS -t prog.lst -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols prog.cob" "listings.at:1711" +( $at_check_trace; $COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1711" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1712: diff prog20.lst prog.lst" +at_fn_check_prepare_trace "listings.at:1712" +( $at_check_trace; diff prog20.lst prog.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:1712" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1713: \$COMPILE_LISTING -t prog2.lst -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t prog2.lst -ftsymbols prog.cob" "listings.at:1713" +( $at_check_trace; $COMPILE_LISTING -t prog2.lst -ftsymbols prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1713" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1714: diff prog20.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:1714" +( $at_check_trace; diff prog20.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:1714" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1716: rm -f prog.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:1716" +( $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:1716" +$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 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 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 +printf "%s\n" "$at_srcdir/listings.at:1778: \$COMPILE \$LISTING_FLAGS -t prog.lst -ftsymbols progb.cob" +at_fn_check_prepare_dynamic "$COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols progb.cob" "listings.at:1778" +( $at_check_trace; $COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols 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:1778" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1779: diff prog20b.lst prog.lst" +at_fn_check_prepare_trace "listings.at:1779" +( $at_check_trace; diff prog20b.lst prog.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:1779" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1780: \$COMPILE_LISTING -t prog2.lst -ftsymbols progb.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t prog2.lst -ftsymbols progb.cob" "listings.at:1780" +( $at_check_trace; $COMPILE_LISTING -t prog2.lst -ftsymbols 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:1780" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1781: diff prog20b.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:1781" +( $at_check_trace; diff prog20b.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:1781" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1783: rm -f prog.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:1783" +( $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:1783" +$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 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 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 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 +printf "%s\n" "$at_srcdir/listings.at:1852: \$COMPILE \$LISTING_FLAGS -t prog.lst -ftsymbols progc.cob" +at_fn_check_prepare_dynamic "$COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols progc.cob" "listings.at:1852" +( $at_check_trace; $COMPILE $LISTING_FLAGS -t prog.lst -ftsymbols progc.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/listings.at:1852" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1853: diff prog20c.lst prog.lst" +at_fn_check_prepare_trace "listings.at:1853" +( $at_check_trace; diff prog20c.lst prog.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:1853" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1854: \$COMPILE_LISTING -t prog2.lst -ftsymbols progc.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t prog2.lst -ftsymbols progc.cob" "listings.at:1854" +( $at_check_trace; $COMPILE_LISTING -t prog2.lst -ftsymbols progc.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/listings.at:1854" +$at_failed && at_fn_log_failure \ +"prog.lst" \ +"prog2.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:1855: diff prog20c.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:1855" +( $at_check_trace; diff prog20c.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:1855" +$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_499 +#AT_START_500 +at_fn_group_banner 500 'listings.at:1860' \ + "Multiple programs in one compilation group" " " 3 +at_xfail=no +( + printf "%s\n" "500. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO CHECK +# combinations and positions of entries in compilation group, +# the previous test should likely produce a different result, too... + + + +cat >prog-1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-1. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 blah PIC x. + + PROCEDURE DIVISION. + ACCEPT blah END-ACCEPT + CALL "prog-2" USING blah END-CALL + GO TO EX + + DISPLAY blah. + + EX. STOP RUN. +_ATEOF + + +cat >prog-2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 data-b PIC 9. + LINKAGE SECTION. + 01 stuff PIC x. + PROCEDURE DIVISION USING stuff. + MAIN. + MOVE FUNCTION NUMVAL (stuff) TO data-b + DISPLAY data-b + GO TO EX + + ACCEPT stuff. + + EX. STOP RUN. + +_ATEOF + + +cat >expected.lst <<'_ATEOF' +GnuCOBOL V.R.P prog-1.cob 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 ACCEPT blah END-ACCEPT +000011 CALL "prog-2" USING blah END-CALL +000012 GO TO EX +000013 +000014 DISPLAY blah. +warning: unreachable statement 'DISPLAY' +000015 +000016 EX. STOP RUN. + GnuCOBOL V.R.P prog-1.cob Page 0002 + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00001 ALPHANUMERIC 01 blah X + + GnuCOBOL V.R.P prog-1.cob Page 0003 + +NAME DEFINED REFERENCES + +blah 7 *10 11 14 x3 + + GnuCOBOL V.R.P prog-1.cob Page 0004 + +LABEL DEFINED REFERENCES + +E prog__1 10 +P EX 16 12 x1 + GnuCOBOL V.R.P prog-1.cob Page 0005 + +FUNCTION TYPE REFERENCES + +L prog-2 EXTERN 11 x1 + + GnuCOBOL V.R.P prog-1.cob Page 0006 + +Error/Warning summary: + +prog-1.cob:14: warning: unreachable statement 'DISPLAY' + +1 warning in compilation group +0 errors in compilation group + GnuCOBOL V.R.P prog-2.cob Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog-2. +000004 +000005 DATA DIVISION. +000006 WORKING-STORAGE SECTION. +000007 01 data-b PIC 9. +000008 LINKAGE SECTION. +000009 01 stuff PIC x. +000010 PROCEDURE DIVISION USING stuff. +000011 MAIN. +000012 MOVE FUNCTION NUMVAL (stuff) TO data-b +000013 DISPLAY data-b +000014 GO TO EX +000015 +000016 ACCEPT stuff. +warning: unreachable statement 'ACCEPT' +000017 +000018 EX. STOP RUN. +000019 + GnuCOBOL V.R.P prog-2.cob Page 0002 + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00001 NUMERIC 01 data-b 9 + + LINKAGE SECTION + +00001 ALPHANUMERIC 01 stuff X + + GnuCOBOL V.R.P prog-2.cob Page 0003 + +NAME DEFINED REFERENCES + +data-b 7 *12 13 x2 + +stuff 9 *10 12 *16 x3 + + GnuCOBOL V.R.P prog-2.cob Page 0004 + +LABEL DEFINED REFERENCES + +E prog__2 11 +P MAIN 11 not referenced +P EX 18 14 x1 + + GnuCOBOL V.R.P prog-2.cob Page 0005 + +Error/Warning summary: + +prog-2.cob:16: warning: unreachable statement 'ACCEPT' + +2 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 +printf "%s\n" "$at_srcdir/listings.at:2029: \$COMPILE \$LISTING_FLAGS -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.cob" +at_fn_check_prepare_dynamic "$COMPILE $LISTING_FLAGS -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.cob" "listings.at:2029" +( $at_check_trace; $COMPILE $LISTING_FLAGS -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.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/listings.at:2029" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2030: diff expected.lst prog.lst" +at_fn_check_prepare_trace "listings.at:2030" +( $at_check_trace; diff expected.lst prog.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:2030" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2032: \$COMPILE_LISTING -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.cob" "listings.at:2032" +( $at_check_trace; $COMPILE_LISTING -Wunreachable -t prog.lst -Xref -ftsymbols prog-1.cob prog-2.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/listings.at:2032" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2033: diff expected.lst prog.lst" +at_fn_check_prepare_trace "listings.at:2033" +( $at_check_trace; diff expected.lst prog.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:2033" +$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_500 +#AT_START_501 +at_fn_group_banner 501 'listings.at:2038' \ + "command line" " " 3 +at_xfail=no +( + printf "%s\n" "501. $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. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2055: \$COBC \$LISTING_FLAGS -q -fsyntax-only -t- -fno-theader -ftcmd prog.cob" +at_fn_check_prepare_dynamic "$COBC $LISTING_FLAGS -q -fsyntax-only -t- -fno-theader -ftcmd prog.cob" "listings.at:2055" +( $at_check_trace; $COBC $LISTING_FLAGS -q -fsyntax-only -t- -fno-theader -ftcmd 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"; printf "%s\n" " +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. + +command line: + cobc -fttitle=GnuCOBOL_V.R.P -fno-ttimestamp -q -fsyntax-only -t- ++ -fno-theader -ftcmd prog.cob +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2055" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2076: \$COBC \$LISTING_FLAGS -q -std=default -Wall -fno-tmessages -fsyntax-only -t- -fno-tsymbols -ftcmd prog.cob" +at_fn_check_prepare_dynamic "$COBC $LISTING_FLAGS -q -std=default -Wall -fno-tmessages -fsyntax-only -t- -fno-tsymbols -ftcmd prog.cob" "listings.at:2076" +( $at_check_trace; $COBC $LISTING_FLAGS -q -std=default -Wall -fno-tmessages -fsyntax-only -t- -fno-tsymbols -ftcmd 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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. + GnuCOBOL V.R.P prog.cob Page 0002 + +command line: + cobc -fttitle=GnuCOBOL_V.R.P -fno-ttimestamp -q -std=default -Wall ++ -fno-tmessages -fsyntax-only -t- -fno-tsymbols -ftcmd prog.cob +" | \ + $at_diff - "$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; } + + + set +x + $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 'listings.at:2102' \ + "Wide listing" " " 3 +at_xfail=no +( + printf "%s\n" "502. $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 +printf "%s\n" "$at_srcdir/listings.at:2115: \$COMPILE_LISTING -T- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -T- prog.cob" "listings.at:2115" +( $at_check_trace; $COMPILE_LISTING -T- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2115" +$at_failed && at_fn_log_failure +$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 +printf "%s\n" "$at_srcdir/listings.at:2150: \$COMPILE_LISTING -T- -free prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -T- -free prog2.cob" "listings.at:2150" +( $at_check_trace; $COMPILE_LISTING -T- -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob 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 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2150" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:2178' \ + "Symbols: simple" " " 3 +at_xfail=no +( + printf "%s\n" "503. $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 +printf "%s\n" "$at_srcdir/listings.at:2199: \$COMPILE_LISTING0 -t- -fno-tmessages -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -fno-tmessages -ftsymbols prog.cob" "listings.at:2199" +( $at_check_trace; $COMPILE_LISTING0 -t- -fno-tmessages -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 + + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2199" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + 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 +printf "%s\n" "$at_srcdir/listings.at:2252: \$COMPILE_LISTING0 -t- -fno-tmessages -fno-tsource -ftsymbols prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -fno-tmessages -fno-tsource -ftsymbols prog2.cob" "listings.at:2252" +( $at_check_trace; $COMPILE_LISTING0 -t- -fno-tmessages -fno-tsource -ftsymbols prog2.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"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob + +SIZE TYPE LVL NAME PICTURE + + LINKAGE SECTION + +00004 NUMERIC 01 WS-ONE 9(4) + +00004 ALPHABETIC 01 WS-TWO A(4) + +00004 ALPHANUMERIC 01 WS-THREE X(4) + + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2252" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + 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 +printf "%s\n" "$at_srcdir/listings.at:2284: \$COMPILE_LISTING0 -t prog.lst -fno-tsource -fno-tmessages -ftsymbols prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t prog.lst -fno-tsource -fno-tmessages -ftsymbols prog3.cob" "listings.at:2284" +( $at_check_trace; $COMPILE_LISTING0 -t prog.lst -fno-tsource -fno-tmessages -ftsymbols 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:2284" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +cat >prog15-1.lst <<'_ATEOF' +GnuCOBOL V.R.P prog3.cob + +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 + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2310: diff prog15-1.lst prog.lst" +at_fn_check_prepare_trace "listings.at:2310" +( $at_check_trace; diff prog15-1.lst prog.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:2310" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +# verify that the symbol listing is identical if full codegen was done +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2313: \$COMPILE \$LISTING_FLAGS -t prog2.lst -tlines=0 -fno-tsource -fno-tmessages -ftsymbols prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE $LISTING_FLAGS -t prog2.lst -tlines=0 -fno-tsource -fno-tmessages -ftsymbols prog3.cob" "listings.at:2313" +( $at_check_trace; $COMPILE $LISTING_FLAGS -t prog2.lst -tlines=0 -fno-tsource -fno-tmessages -ftsymbols 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:2313" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2315: diff prog15-1.lst prog2.lst" +at_fn_check_prepare_trace "listings.at:2315" +( $at_check_trace; diff prog15-1.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:2315" +$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_503 +#AT_START_504 +at_fn_group_banner 504 'listings.at:2320' \ + "Symbols: pointer" " " 3 +at_xfail=no +( + printf "%s\n" "504. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >prog.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 +printf "%s\n" "$at_srcdir/listings.at:2372: \$COMPILE_LISTING0 -t prog.lst -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t prog.lst -ftsymbols prog.cob" "listings.at:2372" +( $at_check_trace; $COMPILE_LISTING0 -t prog.lst -ftsymbols prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2372" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2374: test \"\$COB_HAS_64_BIT_POINTER\" = \"yes\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_64_BIT_POINTER\" = \"yes\"" "listings.at:2374" +( $at_check_trace; test "$COB_HAS_64_BIT_POINTER" = "yes" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2374" +if $at_failed +then : + # Previous test "failed" --> 32 bit + +cat >prog17-32.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob + +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 NUMERIC 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 NUMERIC 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 +printf "%s\n" "$at_srcdir/listings.at:2481: diff prog17-32.lst prog.lst" +at_fn_check_prepare_trace "listings.at:2481" +( $at_check_trace; diff prog17-32.lst prog.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:2481" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + + +else $as_nop + # Previous test "passed" --> 64 bit + +cat >prog17-64.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob + +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 NUMERIC 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 NUMERIC 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 +printf "%s\n" "$at_srcdir/listings.at:2590: diff prog17-64.lst prog.lst" +at_fn_check_prepare_trace "listings.at:2590" +( $at_check_trace; diff prog17-64.lst prog.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:2590" +$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_504 +#AT_START_505 +at_fn_group_banner 505 'listings.at:2598' \ + "Symbols: multiple programs/functions" " " 3 +at_xfail=no +( + printf "%s\n" "505. $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 +printf "%s\n" "$at_srcdir/listings.at:2643: \$COMPILE_LISTING -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- -ftsymbols prog.cob" "listings.at:2643" +( $at_check_trace; $COMPILE_LISTING -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 prog.cob 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2643" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:2718' \ + "Symbols: OCCURS and REDEFINES" " " 3 +at_xfail=no +( + printf "%s\n" "506. $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). + LINKAGE SECTION. + 01 O1 PIC X OCCURS UNBOUNDED DEPENDING ON FL4. + 01 O2. + 05 O-START PIC X(42). + 05 FILLER OCCURS UNBOUNDED DEPENDING ON FL9. + 07 O-ENTRY. + 10 O-E1 PIC 9(24). + 10 O-E2 PIC XXX. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2762: \$COMPILE_LISTING -fcomplex-odo -t- -fno-tsource -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -fcomplex-odo -t- -fno-tsource -ftsymbols prog.cob" "listings.at:2762" +( $at_check_trace; $COMPILE_LISTING -fcomplex-odo -t- -fno-tsource -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob Page 0001 + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +05204 GROUP 01 SETUP-REC +00004 ALPHANUMERIC 05 FL1 X(04) +00005 NUMERIC 05 FL2 ZZZZZ +00004 NUMERIC 05 FL3 9(04) +00004 NUMERIC 05 FL4 9(08) COMP +00002 NUMERIC 05 FL5 9(04) COMP +00008 NUMERIC 05 FL6 Z,ZZZ.99 +00006 NUMERIC 05 FL7 S9(05) +00004 ALPHANUMERIC 05 FL8 X(04) +00004 NUMERIC 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) + + LINKAGE SECTION + +????? ALPHANUMERIC 01 O1 X, OCCURS 0 TO UNBOUNDED + +????? GROUP 01 O2 +00042 ALPHANUMERIC 05 O-START X(42) +????? GROUP 05 FILLER OCCURS 0 TO UNBOUNDED +00027 GROUP 07 O-ENTRY +00024 NUMERIC 10 O-E1 9(24) +00003 ALPHANUMERIC 10 O-E2 XXX + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2762" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:2808' \ + "Conditional compilation" " " 3 +at_xfail=no +( + printf "%s\n" "507. $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 + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + 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 + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2848: \$COMPILE_LISTING -DACTIVATE2 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -DACTIVATE2 -t- prog.cob" "listings.at:2848" +( $at_check_trace; $COMPILE_LISTING -DACTIVATE2 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2848" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:2876: \$COMPILE_LISTING -DACTIVATE2 -t- prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -DACTIVATE2 -t- prog2.cob" "listings.at:2876" +( $at_check_trace; $COMPILE_LISTING -DACTIVATE2 -t- prog2.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"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob Page 0001 + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog2. +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 +000017 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2876" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:2907' \ + "File descriptions" " " 3 +at_xfail=no +( + printf "%s\n" "508. $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 +printf "%s\n" "$at_srcdir/listings.at:3023: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:3023" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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\" +error: missing file description for FILE PRT-VERSION +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 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 + +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:11: error: missing file description for FILE PRT-VERSION +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 +1 error in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.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_508 +#AT_START_509 +at_fn_group_banner 509 'listings.at:3245' \ + "Invalid PICTURE strings" " " 3 +at_xfail=no +( + printf "%s\n" "509. $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 multiple-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). *> CHECKME: should this be really valid? + + + 01 PC-COLOR-BACKGROUND-TABLE. + 05 BIT-BACKGROUND-BLACK PIC 1(8) BIT VALUE B"00000000". + 05 BIT-BACKGROUND-BLUE PIC 1(8) BIT VALUE B"00010000". + 05 BIT-BACKGROUND-GREEN PIC 1(8) BIT VALUE B"00100000". + 05 BIT-BACKGROUND-CYAN PIC 1(8) BIT VALUE B"00110000". + 05 BIT-BACKGROUND-RED PIC 1(8) BIT VALUE B"01000000". + 05 BIT-BACKGROUND-MAGENTA PIC 1(8) BIT VALUE B"01010000". + 05 BIT-BACKGROUND-BROWN PIC 1(8) BIT VALUE B"01100000". + 05 BIT-BACKGROUND-LIGHT-GRAY PIC 1(8) BIT VALUE B"01110000". + 01 FILLER REDEFINES PC-COLOR-BACKGROUND-TABLE. + 05 COLOR-BACKGROUND + OCCURS 8 TIMES PIC 1(8) BIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3348: \$COMPILE_LISTING0 -t prog.lst -ftsymbols -Wno-pending -Wno-unfinished -fmax-errors=0 -fword-continuation=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t prog.lst -ftsymbols -Wno-pending -Wno-unfinished -fmax-errors=0 -fword-continuation=ok prog.cob" "listings.at:3348" +( $at_check_trace; $COMPILE_LISTING0 -t prog.lst -ftsymbols -Wno-pending -Wno-unfinished -fmax-errors=0 -fword-continuation=ok 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/listings.at:3348" +$at_failed && at_fn_log_failure \ +"prog.lst" +$at_traceon; } + + +cat >expected.lst <<'_ATEOF' +GnuCOBOL V.R.P prog.cob + +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. +000010 01 too-long-pic2 PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +error: PICTURE string may not contain more than 255 characters; contains 301 + + characters +000011 -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +000012 -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +000013 -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +000014 -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. +000015 01 multiple-symbols. +000016 03 PIC 9CRCR. +error: CR or DB may only occur once in a PICTURE string +000017 03 PIC 9DBDB. +error: CR or DB may only occur once in a PICTURE string +000018 03 PIC SS99S. +error: S may only occur once in a PICTURE string +error: S must be at start of PICTURE string +000019 03 PIC 99..9. +error: . may only occur once in a PICTURE string +000020 03 PIC 99VV9. +error: V may only occur once in a PICTURE string +000021 03 PIC +$99+. +error: floating '+' symbols cannot have a '9' between them +000022 03 PIC $+99$-. +error: floating '$' symbols cannot have a '9' between them +000023 01 non-symbols. +000024 03 PIC 9K. +error: invalid PICTURE character 'K' +000025 03 PIC 999C. +error: C must be followed by R +000026 03 PIC 999D. +error: D must be followed by B +000027 01 too-many-digits PIC 9(50). +error: numeric field cannot be larger than 38 digits +000028 01 too-long-number-in-parens PIC 9(11111111111111). +error: only up to 10 significant digits are permitted within parentheses +000029 01 nested-parens PIC 9((100)). +error: parentheses must be preceded by a picture symbol +000030 01 unbalanced-parens PIC 9(. +error: unbalanced parentheses +000031 01 multiple-pairs-of-parens PIC 9(5)(3). +error: parentheses must be preceded by a picture symbol +000032 01 no-digit-in-parens PIC 9(). +error: parentheses must contain an unsigned integer +000033 01 mutually-exclusive-symbols. +000034 03 PIC P(3)9.9. +error: . cannot follow a P which is after the decimal point +000035 03 PIC 9V.9. +error: . cannot follow V +000036 03 PIC Z*. +error: cannot have both Z and * in PICTURE string +000037 03 PIC +(5)--. +error: only one of the symbols '-' , '+' or '$' may occur multiple times in a + + PICTURE string +000038 03 PIC $(4)Z(9). +error: a Z or * which is before the decimal point cannot follow a floating + + currency symbol string which is before the decimal point +000039 03 PIC $$B*(4). +error: a Z or * which is before the decimal point cannot follow a floating + + currency symbol string which is before the decimal point +000040 03 PIC NX. +error: A or X cannot follow N +000041 03 PIC AN. +error: N cannot follow A or X +000042 03 PIC AZ(3). +error: a Z or * which is before the decimal point cannot follow A or X +000043 03 PIC 99.99XXXXX. +error: A or X cannot follow . +000044 03 PIC SA. +error: A or X cannot follow S +000045 03 PIC $$$B+++B---. +error: only one of the symbols '-' , '+' or '$' may occur multiple times in a + + PICTURE string +000046 03 PIC +++9+. +error: floating '+' symbols cannot have a '9' between them +000047 03 PIC +9(5)CR. +error: CR or DB cannot follow a leading +/- sign +000048 03 PIC -9(5)DB. +error: CR or DB cannot follow a leading +/- sign +000049 01 non-rightmost-leftmost-symbols. +000050 03 PIC BBB+BB99. +error: a leading +/- sign cannot follow B, 0 or / +000051 03 PIC 99-B. +error: a leading +/- sign cannot follow 9 +000052 03 PIC 9CRB. +error: B, 0 or / cannot follow CR or DB +000053 03 PIC DB9(5). +error: 9 cannot follow CR or DB +000054 03 PIC 99$$$. +error: a floating currency symbol string which is before the decimal point + + cannot follow 9 +000055 03 PIC 99$B. +error: B, 0 or / cannot follow a trailing currency symbol +000056 03 PIC 0$99. +error: a leading currency symbol cannot follow B, 0 or / +000057 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 +000058 01 missing-symbols. +000059 03 PIC B(5). +error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 + + and *; or at least two of the set +, - and the currency symbol +000060 03 PIC +. +error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 + + and *; or at least two of the set +, - and the currency symbol +000061 03 PIC $. +error: PICTURE string must contain at least one of the set A, N, U, X, Z, 1, 9 + + and *; or at least two of the set +, - and the currency symbol +000062 +000063 01 str-constant CONSTANT "hello". +000064 01 float-constant CONSTANT 1.0. +000065 01 signed-constant CONSTANT -1. +000066 01 invalid-constant. +000067 03 PIC X(str-constant). +error: 'STR-CONSTANT' is not an unsigned positive integer +000068 03 PIC X(float-constant). +error: 'FLOAT-CONSTANT' is not an unsigned positive integer +000069 03 PIC X(signed-constant). +error: 'SIGNED-CONSTANT' is not an unsigned positive integer +000070 03 PIC X(unseen-constant). +error: 'UNSEEN-CONSTANT' is not defined +000071 +000072 01 integer-constant CONSTANT 5. +000073 01 valid-pics. +000074 03 PIC VP9B. +000075 03 PIC B9P(3). +000076 03 PIC B$$$. +000077 03 PIC 0000+B0+++0B,+. +000078 03 PIC +(5)P(3). +000079 03 PIC ++.++. +000080 03 PIC $(integer-constant). +000081 03 PIC $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +warning: uncommon parentheses +000082 -(integer-constant). *> CHECKME: should this be really valid? +000083 +000084 +000085 01 PC-COLOR-BACKGROUND-TABLE. +000086 05 BIT-BACKGROUND-BLACK PIC 1(8) BIT VALUE B"00000000". +000087 05 BIT-BACKGROUND-BLUE PIC 1(8) BIT VALUE B"00010000". +000088 05 BIT-BACKGROUND-GREEN PIC 1(8) BIT VALUE B"00100000". +000089 05 BIT-BACKGROUND-CYAN PIC 1(8) BIT VALUE B"00110000". +000090 05 BIT-BACKGROUND-RED PIC 1(8) BIT VALUE B"01000000". +000091 05 BIT-BACKGROUND-MAGENTA PIC 1(8) BIT VALUE B"01010000". +000092 05 BIT-BACKGROUND-BROWN PIC 1(8) BIT VALUE B"01100000". +000093 05 BIT-BACKGROUND-LIGHT-GRAY PIC 1(8) BIT VALUE B"01110000". +000094 01 FILLER REDEFINES PC-COLOR-BACKGROUND-TABLE. +000095 05 COLOR-BACKGROUND +000096 OCCURS 8 TIMES PIC 1(8) BIT. + +SIZE TYPE LVL NAME PICTURE + + WORKING-STORAGE SECTION + +00000 ALPHANUMERIC 01 empty-pic INVALID + +00077 ALPHANUMERIC 01 too-long-pic XXXXXXXXXXXXXXXXXXXX... + +00000 ALPHANUMERIC 01 too-long-pic2 INVALID + +00000 GROUP 01 multiple-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-symbols +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID + +00050 NUMERIC 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 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 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 +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID + +00000 GROUP 01 invalid-constant +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID +00000 ALPHANUMERIC 03 FILLER INVALID + +00086 GROUP 01 valid-pics +00002 NUMERIC 03 FILLER VP9B +00002 NUMERIC 03 FILLER B9P(3) +00004 NUMERIC 03 FILLER B$$$ +00014 NUMERIC 03 FILLER 0000+B0+++0B,+ +00005 NUMERIC 03 FILLER +(5)P(3) +00005 NUMERIC 03 FILLER ++.++ +00005 NUMERIC 03 FILLER $(INTEGER-CONSTANT) +00049 NUMERIC 03 FILLER $$$$$$$$$$$$$$$$$$$$... + +00008 GROUP 01 PC-COLOR-BACKGROUND-TABLE +00001 NUMERIC 05 BIT-BACKGROUND-BLACK 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-BLUE 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-GREEN 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-CYAN 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-RED 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-MAGENTA 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-BROWN 1(8) +00001 NUMERIC 05 BIT-BACKGROUND-LIGHT-GRAY 1(8) + +00008 GROUP 01 FILLER, REDEFINES PC-COLOR-BACKGROUND-TABLE +00001 BOOLEAN 05 COLOR-BACKGROUND 1(8), OCCURS 8 + + + +Error/Warning summary: + +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: floating '+' symbols cannot have a '9' between them +prog.cob:22: error: floating '$' symbols cannot have a '9' between them +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 10 significant digits are permitted within parentheses +prog.cob:29: error: parentheses must be preceded by a picture symbol +prog.cob:30: error: unbalanced parentheses +prog.cob:31: error: parentheses must be preceded by a picture symbol +prog.cob:32: error: parentheses must contain an unsigned 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: only one of the symbols '-' , '+' or '$' may occur multiple times 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: error: A or X cannot follow N +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: only one of the symbols '-' , '+' or '$' may occur multiple times in a PICTURE string +prog.cob:46: error: floating '+' symbols cannot have a '9' between them +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: B, 0 or / cannot follow a trailing currency symbol +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, U, 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, U, 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, U, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol +prog.cob:67: error: 'STR-CONSTANT' is not an unsigned positive integer +prog.cob:68: error: 'FLOAT-CONSTANT' is not an unsigned positive integer +prog.cob:69: error: 'SIGNED-CONSTANT' is not an unsigned positive integer +prog.cob:70: error: 'UNSEEN-CONSTANT' is not defined +prog.cob:81: warning: uncommon parentheses + +1 warning in compilation group +50 errors in compilation group +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3669: diff expected.lst prog.lst" +at_fn_check_prepare_trace "listings.at:3669" +( $at_check_trace; diff expected.lst prog.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:3669" +$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_509 +#AT_START_510 +at_fn_group_banner 510 'listings.at:3674' \ + "Variable format" " " 3 +at_xfail=no +( + printf "%s\n" "510. $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 +printf "%s\n" "$at_srcdir/listings.at:3688: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:3688" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3688" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:3711' \ + "MFCOMMENT" " " 3 +at_xfail=no +( + printf "%s\n" "511. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + * DISPLAY 'COMMENTASTERISK' + / DISPLAY 'COMMENTSLASH' +* DISPLAY 'MFCOMMENTASTERISK' +/ DISPLAY 'MFCOMMENTSLASH' + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3725: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:3725" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 PROCEDURE DIVISION. +000005 * DISPLAY 'COMMENTASTERISK' + +LINE PG/LN A...B............................................................ + +000006 / DISPLAY 'COMMENTSLASH' +000007 * DISPLAY 'MFCOMMENTASTERISK' +000008 / DISPLAY 'MFCOMMENTSLASH' +000009 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3725" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3748: \$COMPILE_LISTING0 -t- -fmfcomment prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -fmfcomment prog.cob" "listings.at:3748" +( $at_check_trace; $COMPILE_LISTING0 -t- -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 PROCEDURE DIVISION. +000005 * DISPLAY 'COMMENTASTERISK' + +LINE PG/LN A...B............................................................ + +000006 / DISPLAY 'COMMENTSLASH' +000008 / DISPLAY 'MFCOMMENTSLASH' +000009 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3748" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:3773' \ + "LISTING directive" " " 3 +at_xfail=no +( + printf "%s\n" "512. $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. + >>LISTING OFF + DISPLAY TEST1-VAR NO ADVANCING + END-DISPLAY. + >> LISTING ON + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3810: \$COMPILE_LISTING0 -t- -ftsymbols prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols prog.cob" "listings.at:3810" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 >>LISTING OFF +000012 >> LISTING ON +000013 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3810" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:3869' \ + "LISTING directive free-form reference-format" " " 3 +at_xfail=no +( + printf "%s\n" "513. $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. +>>LISTING OFF + DISPLAY TEST1-VAR NO ADVANCING + END-DISPLAY. +>> LISTING ON + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3906: \$COMPILE_LISTING0 -t- -ftsymbols -free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols -free prog.cob" "listings.at:3906" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE .....................SOURCE............................................. + +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 >>LISTING OFF +000012 >> LISTING ON +000013 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3906" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:3965' \ + "Listing-directive statements" " " 3 +at_xfail=no +( + printf "%s\n" "514. $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. + 01 TITLE-01 PIC X(2). + 01 TITLE-02 PIC X(2). + TITLE "here goes the code" + PROCEDURE DIVISION. + EJECT + MOVE SPACE TO TITLE-01 + TITLE-02. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:3986: \$COMPILE_LISTING -t- -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- -std=ibm prog.cob" "listings.at:3986" +( $at_check_trace; $COMPILE_LISTING -t- -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL lists IBM prog.cob Page 0001 + +LINE PG/LN A...B............................................................ + +000002 IDENTIFICATION DIVISION. + + +000004 PROGRAM-ID. prog. + + + +000006 DATA DIVISION. + + + + +000008 WORKING-STORAGE SECTION. +000009 01 TITLE-01 PIC X(2). +000010 01 TITLE-02 PIC X(2). + here goes the code prog.cob Page 0002 + +LINE PG/LN A...B............................................................ + +000012 PROCEDURE DIVISION. + here goes the code prog.cob Page 0003 + +LINE PG/LN A...B............................................................ + +000014 MOVE SPACE TO TITLE-01 +000015 TITLE-02. +000016 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.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_514 +#AT_START_515 +at_fn_group_banner 515 'listings.at:4027' \ + "Eject page" " " 3 +at_xfail=no +( + printf "%s\n" "515. $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 +printf "%s\n" "$at_srcdir/listings.at:4042: \$COMPILE_LISTING -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- prog.cob" "listings.at:4042" +( $at_check_trace; $COMPILE_LISTING -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob 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 Page 0002 + +LINE PG/LN A...B............................................................ + +000006 / +000007 PROCEDURE DIVISION. +000008 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4042" +$at_failed && at_fn_log_failure \ +"prog.lis" +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. +>>PAGE + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:4076: \$COMPILE_LISTING -t- -free prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- -free prog2.cob" "listings.at:4076" +( $at_check_trace; $COMPILE_LISTING -t- -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=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P prog2.cob 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 Page 0002 + +LINE .....................SOURCE............................................. + +000006 >>PAGE +000007 PROCEDURE DIVISION. +000008 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4076" +$at_failed && at_fn_log_failure \ +"prog.lis" +$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 +printf "%s\n" "$at_srcdir/listings.at:4124: \$COMPILE_LISTING -t- prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- prog3.cob" "listings.at:4124" +( $at_check_trace; $COMPILE_LISTING -t- prog3.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"; printf "%s\n" "GnuCOBOL V.R.P prog3.cob 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 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 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4124" +$at_failed && at_fn_log_failure \ +"prog.lis" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:4162: \$COMPILE_LISTING -t- -tlines=20 prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING -t- -tlines=20 prog3.cob" "listings.at:4162" +( $at_check_trace; $COMPILE_LISTING -t- -tlines=20 prog3.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"; printf "%s\n" "GnuCOBOL V.R.P prog3.cob 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 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 + GnuCOBOL V.R.P prog3.cob Page 0003 + +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4162" +$at_failed && at_fn_log_failure \ +"prog.lis" +$at_traceon; } + + + set +x + $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 'listings.at:4205' \ + "Cross reference" " " 3 +at_xfail=no +( + printf "%s\n" "516. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >EDITOR.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 +printf "%s\n" "$at_srcdir/listings.at:4535: \$COMPILE_LISTING0 -Xref -t- -ftsymbols EDITOR.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -Xref -t- -ftsymbols EDITOR.cob" "listings.at:4535" +( $at_check_trace; $COMPILE_LISTING0 -Xref -t- -ftsymbols EDITOR.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P EDITOR.cob + +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\" +error: missing file description for FILE PRT-VERSION +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 x7 +OLD-RECORD 46 44 258 x2 +OLD-STATEMENT 47 164 212 249 269 286 + x5 +OLD-NUMBER 48 202 211 264 291 x4 + +NEW-VERSION 28 50 *154 *282 304 305 + 312 322 x7 +NEW-RECORD 55 53 282 313 x3 +NEW-STATEMENT 56 *164 *212 *236 *249 *269 + *286 x6 +NEW-NUMBER 57 *281 x1 + +PRT-VERSION 30 not referenced + +MODIFICATION 32 59 153 174 225 322 + x5 +UPDATE-ORDER 64 62 178 x2 +INSERTION 65 236 x1 +COMMAND 66 referenced by parent/child +ENDJOB 67 191 x1 +ENDSET 68 229 x1 +REMOVE 69 188 x1 +ADDNEW 70 192 x1 +CHANGE 71 187 x1 +DISPLY 72 189 x1 +A-FIELD 74 *181 183 x2 +A-ALPHA 75 referenced by parent/child +A-BLANK 76 181 x1 +B-FIELD 78 *182 184 x2 +B-ALPHA 79 referenced by parent/child +B-BLANK 80 182 x1 + +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 x23 +COMMENT-LINE 89 87 *162 *170 *171 *176 + *179 *194 *204 *209 *227 + *232 *239 *260 *267 *275 + *293 *296 *299 *302 *314 + *321 x21 + +COMMAND-ADDITIONS 94 230 233 *234 *240 x4 +COMMAND-SUBTRACTIONS 95 *263 265 268 *270 x4 +TOTAL-INSERTED 96 *233 294 x2 +TOTAL-DELETED 97 *268 297 x2 +OUTPUT-COUNT 98 *280 281 300 x3 +LINE-COUNT 99 *169 *180 *241 242 *261 + 262 *315 316 x8 +FIELDA 100 *183 202 208 211 x4 +FIELDB 101 *184 264 x2 +BLANK-LINE 102 171 x1 +DATE-FROM-SYS 104 *156 x1 +DFSYS 105 157 158 159 x3 +HEADINGS-LINE 107 170 x1 +PHASE 110 *306 x1 +MONTH-RUN 111 *158 x1 +DAY-RUN 113 *159 x1 +YEAR-RUN 115 *157 x1 +PAGE-NUMBER 118 *168 *307 x2 +COMMAND-LISTING 120 179 x1 +COMMAND-IMAGE 122 *178 x1 +ACTIVITIES-LISTING 124 239 260 314 x3 +DISPOSITION 125 *237 *259 *309 x3 +ACTIVE-IMAGE 126 *236 *258 *313 x3 +UPSI-BYTE 128 referenced by child +UPSI-BIT 129 *155 *189 303 x3 +MESSAGE-LOG 131 162 176 194 204 227 + 321 x6 +MESSAGE-TEXT 133 *161 *175 *193 *203 *226 + *320 x6 +DISPLAY-MESSAGE 135 209 232 267 275 293 + 296 299 302 x8 +DISPLAY-TEMP 137 *208 *230 *265 *291 *294 + *297 *300 x7 +DISPLAY-TEXT 139 *207 *231 *266 *274 *292 + *295 *298 *301 x8 +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 + x5 +P READ-A-COMMAND 173 195 205 251 271 x4 +P TEST-COMMAND-TYPE 186 not referenced +P CHANGE-A-RECORD 197 187 x1 +P FIND-FIELDA 201 214 222 255 x3 +P RETURN-TO-USER 216 198 220 254 x3 +P INSERT-A-RECORD 219 192 x1 +P INSERTION-PROCESS 224 198 220 243 x3 +P NEXT-JOB-STEP 245 199 221 235 x3 +P FORCED-WRITE 248 221 x1 +P DELETE-A-RECORD 253 188 x1 +P DELETION-PROCESS 257 199 254 277 x3 +P OUTPUT-A-RECORD 279 165 213 238 250 287 + x5 +P FINISH-JOB 284 177 190 191 x3 +P TEST-FOR-LISTING 289 285 x1 +P LISTING-LOOP 311 317 x1 +P END-JOB 319 163 210 217 228 246 + 276 303 312 x8 + + +Error/Warning summary: + +EDITOR.cob:30: error: missing file description for FILE PRT-VERSION +EDITOR.cob:42: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:44: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:51: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:53: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:60: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:62: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:85: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:87: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:198: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:199: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:220: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:221: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:254: warning: ALTER is obsolete in GnuCOBOL + +13 warnings in compilation group +1 error in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:4535" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:5116: \$COMPILE_LISTING0 -Xref -T- -ftsymbols EDITOR.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -Xref -T- -ftsymbols EDITOR.cob" "listings.at:5116" +( $at_check_trace; $COMPILE_LISTING0 -Xref -T- -ftsymbols EDITOR.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "EDITOR.cob:42: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:44: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:51: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:53: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:60: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:62: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:85: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:87: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:30: error: missing file description for FILE PRT-VERSION +EDITOR.cob: in paragraph 'CHANGE-A-RECORD': +EDITOR.cob:198: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:199: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob: in paragraph 'INSERT-A-RECORD': +EDITOR.cob:220: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:221: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob: in paragraph 'DELETE-A-RECORD': +EDITOR.cob:254: warning: ALTER is obsolete in GnuCOBOL +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "GnuCOBOL V.R.P EDITOR.cob + +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 +error: missing file description for FILE PRT-VERSION +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 x7 +OLD-RECORD 46 44 258 x2 +OLD-STATEMENT 47 164 212 249 269 286 x5 +OLD-NUMBER 48 202 211 264 291 x4 + +NEW-VERSION 28 50 *154 *282 304 305 312 322 x7 +NEW-RECORD 55 53 282 313 x3 +NEW-STATEMENT 56 *164 *212 *236 *249 *269 *286 x6 +NEW-NUMBER 57 *281 x1 + +PRT-VERSION 30 not referenced + +MODIFICATION 32 59 153 174 225 322 x5 +UPDATE-ORDER 64 62 178 x2 +INSERTION 65 236 x1 +COMMAND 66 referenced by parent/child +ENDJOB 67 191 x1 +ENDSET 68 229 x1 +REMOVE 69 188 x1 +ADDNEW 70 192 x1 +CHANGE 71 187 x1 +DISPLY 72 189 x1 +A-FIELD 74 *181 183 x2 +A-ALPHA 75 referenced by parent/child +A-BLANK 76 181 x1 +B-FIELD 78 *182 184 x2 +B-ALPHA 79 referenced by parent/child +B-BLANK 80 182 x1 + +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 x23 +COMMENT-LINE 89 87 *162 *170 *171 *176 *179 *194 *204 *209 *227 + *232 *239 *260 *267 *275 *293 *296 *299 *302 *314 + *321 x21 + +COMMAND-ADDITIONS 94 230 233 *234 *240 x4 +COMMAND-SUBTRACTIONS 95 *263 265 268 *270 x4 +TOTAL-INSERTED 96 *233 294 x2 +TOTAL-DELETED 97 *268 297 x2 +OUTPUT-COUNT 98 *280 281 300 x3 +LINE-COUNT 99 *169 *180 *241 242 *261 262 *315 316 x8 +FIELDA 100 *183 202 208 211 x4 +FIELDB 101 *184 264 x2 +BLANK-LINE 102 171 x1 +DATE-FROM-SYS 104 *156 x1 +DFSYS 105 157 158 159 x3 +HEADINGS-LINE 107 170 x1 +PHASE 110 *306 x1 +MONTH-RUN 111 *158 x1 +DAY-RUN 113 *159 x1 +YEAR-RUN 115 *157 x1 +PAGE-NUMBER 118 *168 *307 x2 +COMMAND-LISTING 120 179 x1 +COMMAND-IMAGE 122 *178 x1 +ACTIVITIES-LISTING 124 239 260 314 x3 +DISPOSITION 125 *237 *259 *309 x3 +ACTIVE-IMAGE 126 *236 *258 *313 x3 +UPSI-BYTE 128 referenced by child +UPSI-BIT 129 *155 *189 303 x3 +MESSAGE-LOG 131 162 176 194 204 227 321 x6 +MESSAGE-TEXT 133 *161 *175 *193 *203 *226 *320 x6 +DISPLAY-MESSAGE 135 209 232 267 275 293 296 299 302 x8 +DISPLAY-TEMP 137 *208 *230 *265 *291 *294 *297 *300 x7 +DISPLAY-TEXT 139 *207 *231 *266 *274 *292 *295 *298 *301 x8 +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 x5 +P READ-A-COMMAND 173 195 205 251 271 x4 +P TEST-COMMAND-TYPE 186 not referenced +P CHANGE-A-RECORD 197 187 x1 +P FIND-FIELDA 201 214 222 255 x3 +P RETURN-TO-USER 216 198 220 254 x3 +P INSERT-A-RECORD 219 192 x1 +P INSERTION-PROCESS 224 198 220 243 x3 +P NEXT-JOB-STEP 245 199 221 235 x3 +P FORCED-WRITE 248 221 x1 +P DELETE-A-RECORD 253 188 x1 +P DELETION-PROCESS 257 199 254 277 x3 +P OUTPUT-A-RECORD 279 165 213 238 250 287 x5 +P FINISH-JOB 284 177 190 191 x3 +P TEST-FOR-LISTING 289 285 x1 +P LISTING-LOOP 311 317 x1 +P END-JOB 319 163 210 217 228 246 276 303 312 x8 + + +Error/Warning summary: + +EDITOR.cob:30: error: missing file description for FILE PRT-VERSION +EDITOR.cob:42: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:44: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:51: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:53: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:60: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:62: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:85: warning: LABEL RECORDS is obsolete in GnuCOBOL +EDITOR.cob:87: warning: DATA RECORDS is obsolete in GnuCOBOL +EDITOR.cob:198: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:199: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:220: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:221: warning: ALTER is obsolete in GnuCOBOL +EDITOR.cob:254: warning: ALTER is obsolete in GnuCOBOL + +13 warnings in compilation group +1 error in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/listings.at:5116" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:5701' \ + "Report Writer" " " 3 +at_xfail=no +( + printf "%s\n" "517. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + * ************************************************************* * + * REPORT WRITER EXAMPLE #1. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD TRANSACTION-DATA. + + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + + FD REPORT-FILE + REPORT IS CUSTOMER-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + REPORT SECTION. + RD CUSTOMER-REPORT + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'C U S T O M E R C H A R G E R E P O R T'. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + + PROCEDURE DIVISION. + + 000-INITIATE. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-TRANSACTION-DATA. + GENERATE CHARGE-DETAIL. + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + 199-EXIT. + EXIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:5812: \$COMPILE_LISTING0 -t- -ftsymbols -Xref prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- -ftsymbols -Xref prog.cob" "listings.at:5812" +( $at_check_trace; $COMPILE_LISTING0 -t- -ftsymbols -Xref 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 +000005 * ************************************************************* * +000006 * REPORT WRITER EXAMPLE #1. * +000007 * ************************************************************* * +000008 +000009 ENVIRONMENT DIVISION. +000010 CONFIGURATION SECTION. +000011 +000012 INPUT-OUTPUT SECTION. +000013 FILE-CONTROL. +000014 +000015 SELECT TRANSACTION-DATA +000016 ASSIGN TO EXTERNAL DATAIN +000017 ORGANIZATION IS LINE SEQUENTIAL. +000018 +000019 SELECT REPORT-FILE +000020 ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. +000021 +000022 DATA DIVISION. +000023 FILE SECTION. +000024 +000025 FD TRANSACTION-DATA. +000026 +000027 01 TRANSACTION-RECORD. +000028 03 TR-CUSTOMER-NUMBER PIC 9(04). +000029 03 FILLER PIC X(01). +000030 03 TR-CUSTOMER-NAME PIC X(16). +000031 03 FILLER PIC X(01). +000032 03 TR-ITEM-NUMBER PIC 9(05). +000033 03 FILLER REDEFINES TR-ITEM-NUMBER. +000034 05 TR-ITEM-DEPARTMENT PIC 9(01). +000035 05 FILLER PIC 9(04). +000036 03 FILLER PIC X(01). +000037 03 TR-ITEM-COST PIC 9(03)V99. +000038 03 FILLER PIC X(47). +000039 +000040 FD REPORT-FILE +000041 REPORT IS CUSTOMER-REPORT. +000042 +000043 WORKING-STORAGE SECTION. +000044 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. +000045 88 END-OF-FILE VALUE 'Y'. +000046 +000047 REPORT SECTION. +000048 RD CUSTOMER-REPORT +000049 PAGE LIMIT IS 66 LINES +000050 HEADING 1 +000051 FIRST DETAIL 5 +000052 LAST DETAIL 58. +000053 +000054 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. +000055 02 LINE 1. +000056 03 COLUMN 27 PIC X(41) VALUE +000057 'C U S T O M E R C H A R G E R E P O R T'. +000058 02 LINE PLUS 2. +000059 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. +000060 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. +000061 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. +000062 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. +000063 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. +000064 +000065 01 CHARGE-DETAIL TYPE DETAIL. +000066 02 LINE PLUS 1. +000067 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. +000068 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. +000069 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. +000070 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. +000071 03 COLUMN 51 PIC \$\$\$\$.99 SOURCE TR-ITEM-COST. +000072 +000073 PROCEDURE DIVISION. +000074 +000075 000-INITIATE. +000076 +000077 OPEN INPUT TRANSACTION-DATA, +000078 OUTPUT REPORT-FILE. +000079 +000080 INITIATE CUSTOMER-REPORT. +000081 +000082 READ TRANSACTION-DATA +000083 AT END +000084 MOVE 'Y' TO END-OF-FILE-SWITCH. +000085 * END-READ. +000086 +000087 PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT +000088 UNTIL END-OF-FILE. +000089 +000090 000-TERMINATE. +000091 TERMINATE CUSTOMER-REPORT. +000092 +000093 CLOSE TRANSACTION-DATA, +000094 REPORT-FILE. +000095 +000096 STOP RUN. +000097 +000098 100-PROCESS-TRANSACTION-DATA. +000099 GENERATE CHARGE-DETAIL. +000100 READ TRANSACTION-DATA +000101 AT END +000102 MOVE 'Y' TO END-OF-FILE-SWITCH. +000103 * END-READ. +000104 +000105 199-EXIT. +000106 EXIT. + +SIZE TYPE LVL NAME PICTURE + +00080 FILE TRANSACTION-DATA +00080 GROUP 01 TRANSACTION-RECORD +00004 NUMERIC 03 TR-CUSTOMER-NUMBER 9(04) +00001 ALPHANUMERIC 03 FILLER X(01) +00016 ALPHANUMERIC 03 TR-CUSTOMER-NAME X(16) +00001 ALPHANUMERIC 03 FILLER X(01) +00005 NUMERIC 03 TR-ITEM-NUMBER 9(05) +00005 GROUP 03 FILLER, REDEFINES TR-ITEM-NUMBER +00001 NUMERIC 05 TR-ITEM-DEPARTMENT 9(01) +00004 NUMERIC 05 FILLER 9(04) +00001 ALPHANUMERIC 03 FILLER X(01) +00005 NUMERIC 03 TR-ITEM-COST 9(03)V99 +00047 ALPHANUMERIC 03 FILLER X(47) + +00126 FILE REPORT-FILE + + WORKING-STORAGE SECTION + +00001 ALPHANUMERIC 77 END-OF-FILE-SWITCH X(1) + CONDITIONAL 88 END-OF-FILE + + REPORT SECTION + +00126 GROUP 01 PAGE-HEAD-GROUP +00067 GROUP 02 FILLER +00041 ALPHANUMERIC 03 FILLER X(41) +00059 GROUP 02 FILLER +00009 ALPHANUMERIC 03 FILLER X(09) +00010 ALPHANUMERIC 03 FILLER X(10) +00005 ALPHANUMERIC 03 FILLER X(05) +00008 ALPHANUMERIC 03 FILLER X(08) +00009 ALPHANUMERIC 03 FILLER X(09) + +00126 GROUP 01 CHARGE-DETAIL +00057 GROUP 02 FILLER +00004 NUMERIC 03 FILLER Z(04) +00016 ALPHANUMERIC 03 FILLER X(16) +00001 NUMERIC 03 FILLER 9(01) +00005 NUMERIC 03 FILLER 9(05) +00007 NUMERIC 03 FILLER \$\$\$\$.99 + + +NAME DEFINED REFERENCES + +TRANSACTION-DATA 15 25 77 82 93 100 + x5 +TRANSACTION-RECORD 27 referenced by child +TR-CUSTOMER-NUMBER 28 67 x1 +TR-CUSTOMER-NAME 30 68 x1 +TR-ITEM-NUMBER 32 70 x1 +TR-ITEM-DEPARTMENT 34 69 x1 +TR-ITEM-COST 37 71 x1 + +REPORT-FILE 19 40 *78 94 x3 + +END-OF-FILE-SWITCH 44 *84 *102 x2 +END-OF-FILE 45 88 x1 + +PAGE-HEAD-GROUP 54 not referenced +CHARGE-DETAIL 65 99 x1 + + +LABEL DEFINED REFERENCES + +E prog 75 +P 000-INITIATE 75 not referenced +P 000-TERMINATE 90 not referenced +P 100-PROCESS-TRANSACTION-DATA 98 87 x1 +P 199-EXIT 105 87 x1 + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:5812" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:6003' \ + "huge REPLACE" " " 3 +at_xfail=no +( + printf "%s\n" "518. $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. + + REPLACE ==111111111111111111111111111111111111111== + BY ==' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' '==. + + + DISPLAY 111111111111111111111111111111111111111 + DISPLAY 111111111111111111111111111111111111111 + DISPLAY 111111111111111111111111111111111111111 + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:6128: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:6128" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 PROCEDURE DIVISION. +000009 +000010 REPLACE ==111111111111111111111111111111111111111== +000011 BY ==' +000012 - ' +000013 - ' +000014 - ' +000015 - ' +000016 - ' +000017 - ' +000018 - ' +000019 - ' +000020 - ' +000021 - ' +000022 - ' +000023 - ' +000024 - ' +000025 - ' +000026 - ' +000027 - ' +000028 - ' +000029 - ' +000030 - ' +000031 - ' +000032 - ' +000033 - ' +000034 - ' +000035 - ' +000036 - ' +000037 - ' +000038 - ' +000039 - ' +000040 - ' +000041 - ' +000042 - ' +000043 - ' +000044 - ' +000045 - ' +000046 - ' +000047 - ' +000048 - ' +000049 - ' +000050 - ' +000051 - ' +000052 - ' +000053 - ' +000054 - ' +000055 - ' +000056 - ' +000057 - ' +000058 - ' +000059 - ' +000060 - ' +000061 - ' +000062 - ' +000063 - ' +000064 - ' +000065 - ' +000066 - ' +000067 - ' +000068 - ' +000069 - ' +000070 - ' +000071 - ' +000072 - ' +000073 - ' +000074 - ' +000075 - ' +000076 - ' +000077 - ' +000078 - ' +000079 - ' +000080 - ' +000081 - ' +000082 - ' +000083 - ' +000084 - ' +000085 - ' +000086 - ' +000087 - ' +000088 - ' +000089 - ' +000090 - ' +000091 - ' +000092 - ' +000093 - ' +000094 - ' +000095 - ' +000096 - ' +000097 - ' +000098 - ' +000099 - ' +000100 - ' +000101 - ' +000102 - ' +000103 - ' +000104 - ' +000105 - ' +000106 - ' +000107 - ' +000108 - ' +000109 - ' +000110 - ' +000111 - ' +000112 - ' +000113 - ' '==. +000114 +000115 +000116 DISPLAY ' +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - +000116+ - ' +000117 DISPLAY ' +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - +000117+ - ' +000118 DISPLAY ' +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - +000118+ - ' +000119 +000120 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:6128" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >display.inc <<'_ATEOF' + + DISPLAY 111111111111111111111111111111111111111 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + + COPY "display.inc" + REPLACING ==111111111111111111111111111111111111111== + BY ==' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' + - ' '==. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:6681: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:6681" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +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 PROCEDURE DIVISION. +000009 +000010 COPY \"display.inc\" +000011 REPLACING ==111111111111111111111111111111111111111== +000012 BY ==' +000013 - ' +000014 - ' +000015 - ' +000016 - ' +000017 - ' +000018 - ' +000019 - ' +000020 - ' +000021 - ' +000022 - ' +000023 - ' +000024 - ' +000025 - ' +000026 - ' +000027 - ' +000028 - ' +000029 - ' +000030 - ' +000031 - ' +000032 - ' +000033 - ' +000034 - ' +000035 - ' +000036 - ' +000037 - ' +000038 - ' +000039 - ' +000040 - ' +000041 - ' +000042 - ' +000043 - ' +000044 - ' +000045 - ' +000046 - ' +000047 - ' +000048 - ' +000049 - ' +000050 - ' +000051 - ' +000052 - ' +000053 - ' +000054 - ' +000055 - ' +000056 - ' +000057 - ' +000058 - ' +000059 - ' +000060 - ' +000061 - ' +000062 - ' +000063 - ' +000064 - ' +000065 - ' +000066 - ' +000067 - ' +000068 - ' +000069 - ' +000070 - ' +000071 - ' +000072 - ' +000073 - ' +000074 - ' +000075 - ' +000076 - ' +000077 - ' +000078 - ' +000079 - ' +000080 - ' +000081 - ' +000082 - ' +000083 - ' +000084 - ' +000085 - ' +000086 - ' +000087 - ' +000088 - ' +000089 - ' +000090 - ' +000091 - ' +000092 - ' +000093 - ' +000094 - ' +000095 - ' +000096 - ' +000097 - ' +000098 - ' +000099 - ' +000100 - ' +000101 - ' +000102 - ' +000103 - ' +000104 - ' +000105 - ' +000106 - ' +000107 - ' +000108 - ' +000109 - ' +000110 - ' +000111 - ' +000112 - ' +000113 - ' +000114 - ' '==. +000001C +000002C DISPLAY ' +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - +000002+ - ' +000115 +000116 STOP RUN. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:6681" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'listings.at:6913' \ + "Long concatenated literal" " " 3 +at_xfail=no +( + printf "%s\n" "519. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + >>SOURCE FORMAT IS FREE +ID DIVISION. +PROGRAM-ID. ED000MAIN IS INITIAL. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 WCOVER PIC X(1280) VALUE + " _________ ____________________________________ " & + " __ ____/__________ ___ ____/_ __ \__ __ )_ __ \__ / " & + " _ / __ __ __ \ / / / / _ / / /_ __ | / / /_ / " & + " / /_/ / _ / / / /_/ // /___ / /_/ /_ /_/ // /_/ /_ /___ " & + " \____/ /_/ /_/\__,_/ \____/ \____/ /_____/ \____/ /_____/ " & + " _________________________ " & + " ___ ____/__ __ \__ __ \ " & + " __ __/ __ /_/ /_ /_/ / " & + " _ /___ _ _, _/_ ____/ " & + " /_____/ /_/ |_| /_/ " & + " /_/ |_| .___/_ .___//_/ /_/ \___/ \__,_/ \__/ /_/ \____//_/ /_/ " & + " /_/ /_/ " & + "1234567890123456789012". +PROCEDURE DIVISION. + EXIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/listings.at:6940: \$COMPILE_LISTING0 -t- prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_LISTING0 -t- prog.cob" "listings.at:6940" +( $at_check_trace; $COMPILE_LISTING0 -t- 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"; printf "%s\n" "GnuCOBOL V.R.P prog.cob + +LINE PG/LN A...B............................................................ + +000001 +000002 >>SOURCE FORMAT IS FREE +000003 ID DIVISION. +000004 PROGRAM-ID. ED000MAIN IS INITIAL. +000005 DATA DIVISION. +000006 WORKING-STORAGE SECTION. +000007 01 WCOVER PIC X(1280) VALUE +000008 \" _________ _________________________________ +000008+ ___ \" & +000009 \" __ ____/__________ ___ ____/_ __ \\__ __ )_ __ \\__ +000009+ / \" & +000010 \" _ / __ __ __ \\ / / / / _ / / /_ __ | / / /_ +000010+ / \" & +000011 \" / /_/ / _ / / / /_/ // /___ / /_/ /_ /_/ // /_/ /_ +000011+ /___ \" & +000012 \" \\____/ /_/ /_/\\__,_/ \\____/ \\____/ /_____/ \\____/ /__ +000012+ ___/ \" & +000013 \" _________________________ +000013+ \" & +000014 \" ___ ____/__ __ \\__ __ \\ +000014+ \" & +000015 \" __ __/ __ /_/ /_ /_/ / +000015+ \" & +000016 \" _ /___ _ _, _/_ ____/ +000016+ \" & +000017 \" /_____/ /_/ |_| /_/ +000017+ \" & +000018 \" /_/ |_| .___/_ .___//_/ /_/ \\___/ \\__,_/ \\__/ /_/ \\___ +000018+ _//_/ /_/ \" & +000019 \" /_/ /_/ +000019+ \" & +000020 \"1234567890123456789012\". +000021 PROCEDURE DIVISION. +000022 EXIT. + + +0 warnings in compilation group +0 errors in compilation group +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listings.at:6940" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:25' \ + "DISPLAY literals" " " 4 +at_xfail=no +( + printf "%s\n" "520. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "abc". + DISPLAY 123. + DISPLAY +123. + DISPLAY -123. + DISPLAY 12.3. + DISPLAY +12.3. + DISPLAY -12.3. + DISPLAY 1.23E0. + DISPLAY +1.23E0. + DISPLAY -1.23E0. + DISPLAY 12.3E-2. + DISPLAY +12.3E-2. + DISPLAY -12.3E-2. + DISPLAY B'0101'. + DISPLAY BX'EC'. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:50: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:50" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:51: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:51" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:72' \ + "DISPLAY literals, DECIMAL-POINT is COMMA" " " 4 +at_xfail=no +( + printf "%s\n" "521. $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. + DISPLAY +12,3. + DISPLAY -12,3. + DISPLAY 1,23E0. + DISPLAY +1,23E0. + DISPLAY -1,23E0. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:92: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.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_fundamental.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:93: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:93" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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: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_521 +#AT_START_522 +at_fn_group_banner 522 'run_fundamental.at:105' \ + "Hexadecimal literal" " " 4 +at_xfail=no +( + printf "%s\n" "522. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 4; i++) + printf ("%02x", data[i]); + 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:137: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_fundamental.at:137" +( $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:137" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:138: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:138" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:138" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:139: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:139" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "123 +00010200" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:139" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:146' \ + "DISPLAY data items with VALUE clause" " " 4 +at_xfail=no +( + printf "%s\n" "523. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:179: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:179" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:179" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:180: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:180" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:180" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:193' \ + "DISPLAY data items with MOVE statement" " " 4 +at_xfail=no +( + printf "%s\n" "524. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:233: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:233" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:233" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:234: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:234" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:234" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:247' \ + "MOVE to edited item (1)" " " 4 +at_xfail=no +( + printf "%s\n" "525. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:284: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:284" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:284" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:285: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:285" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "> 1< +> 0< +> 0< +> +0< +> < +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:285" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:296' \ + "MOVE to edited item (2)" " " 4 +at_xfail=no +( + printf "%s\n" "526. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:333: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:333" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:333" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:334: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:334" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" ">0000 < +>0000+< +> < +>0000 < +>0001DB< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:345' \ + "MOVE to edited item (3)" " " 4 +at_xfail=no +( + printf "%s\n" "527. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID . DisplayToAlphaEdited. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 SRC-FIELD PIC 9(06). + *> + 01 DST-FIELD-1 PIC 0XXXXXX. + 01 DST-FIELD-2 PIC BXXXXXX. + 01 DST-FIELD-3 PIC /XXXXXX. + 01 DST-FIELD-4 PIC XXXXXX0. + 01 DST-FIELD-5 PIC XXXXXXB. + 01 DST-FIELD-6 PIC XXXXXX/. + 01 DST-FIELD-7 PIC XXX0XXX. + 01 DST-FIELD-8 PIC XXXBXXX. + 01 DST-FIELD-9 PIC XXX/XXX. + 01 DST-FIELD-10 PIC XB0XB0/. + 01 DST-FIELD-11 PIC 0AA. + 01 DST-FIELD-12 PIC BXA. + 01 DST-FIELD-13 PIC /99. + 01 DST-FIELD-14 PIC 990. + 01 DST-FIELD-15 PIC XAB. + 01 DST-FIELD-16 PIC XA/. + *> + 01 EXPT-FIELD-1 CONSTANT AS '0123456' . + 01 EXPT-FIELD-2 CONSTANT AS ' 123456' . + 01 EXPT-FIELD-3 CONSTANT AS '/123456' . + 01 EXPT-FIELD-4 CONSTANT AS '1234560' . + 01 EXPT-FIELD-5 CONSTANT AS '123456 ' . + 01 EXPT-FIELD-6 CONSTANT AS '123456/' . + 01 EXPT-FIELD-7 CONSTANT AS '1230456' . + 01 EXPT-FIELD-8 CONSTANT AS '123 456' . + 01 EXPT-FIELD-9 CONSTANT AS '123/456' . + 01 EXPT-FIELD-10 CONSTANT AS '1 02 0/' . + 01 EXPT-FIELD-11 CONSTANT AS '012' . + 01 EXPT-FIELD-12 CONSTANT AS ' 12' . + 01 EXPT-FIELD-13 CONSTANT AS '/00' . + 01 EXPT-FIELD-14 CONSTANT AS '560' . + 01 EXPT-FIELD-15 CONSTANT AS '12 ' . + 01 EXPT-FIELD-16 CONSTANT AS '12/' . + PROCEDURE DIVISION. + TEST-RUNNER. + *> done twice to already check for later compile-time optimization + MOVE '123456' + TO DST-FIELD-1 DST-FIELD-2 DST-FIELD-3 + DST-FIELD-4 DST-FIELD-5 DST-FIELD-6 + DST-FIELD-7 DST-FIELD-8 DST-FIELD-9 + DST-FIELD-10 DST-FIELD-11 DST-FIELD-12 + DST-FIELD-12 DST-FIELD-14 DST-FIELD-15 + DST-FIELD-16 SRC-FIELD + PERFORM DO-TEST. + *> done twice to already check for later compile-time optimization + MOVE SRC-FIELD + TO DST-FIELD-1 DST-FIELD-2 DST-FIELD-3 + DST-FIELD-4 DST-FIELD-5 DST-FIELD-6 + DST-FIELD-7 DST-FIELD-8 DST-FIELD-9 + DST-FIELD-10 DST-FIELD-11 DST-FIELD-12 + DST-FIELD-12 DST-FIELD-14 DST-FIELD-15 + DST-FIELD-16 + PERFORM DO-TEST. + GOBACK. + DO-TEST. + IF DST-FIELD-1 NOT = EXPT-FIELD-1 + DISPLAY '1: <' DST-FIELD-1 '> != <' EXPT-FIELD-1 '>'. + IF DST-FIELD-2 NOT = EXPT-FIELD-2 + DISPLAY '2: <' DST-FIELD-2 '> != <' EXPT-FIELD-2 '>'. + IF DST-FIELD-3 NOT = EXPT-FIELD-3 + DISPLAY '3: <' DST-FIELD-3 '> != <' EXPT-FIELD-3 '>'. + IF DST-FIELD-4 NOT = EXPT-FIELD-4 + DISPLAY '4: <' DST-FIELD-4 '> != <' EXPT-FIELD-4 '>'. + IF DST-FIELD-5 NOT = EXPT-FIELD-5 + DISPLAY '5: <' DST-FIELD-5 '> != <' EXPT-FIELD-5 '>'. + IF DST-FIELD-6 NOT = EXPT-FIELD-6 + DISPLAY '6: <' DST-FIELD-6 '> != <' EXPT-FIELD-6 '>'. + IF DST-FIELD-7 NOT = EXPT-FIELD-7 + DISPLAY '7: <' DST-FIELD-7 '> != <' EXPT-FIELD-7 '>'. + IF DST-FIELD-8 NOT = EXPT-FIELD-8 + DISPLAY '8: <' DST-FIELD-8 '> != <' EXPT-FIELD-8 '>'. + IF DST-FIELD-9 NOT = EXPT-FIELD-9 + DISPLAY '9: <' DST-FIELD-9 '> != <' EXPT-FIELD-9 '>'. + IF DST-FIELD-10 NOT = EXPT-FIELD-10 + DISPLAY '10: <' DST-FIELD-10 '> != <' EXPT-FIELD-10 '>'. + IF DST-FIELD-11 NOT = EXPT-FIELD-11 + DISPLAY '11: <' DST-FIELD-11 '> != <' EXPT-FIELD-11 '>'. + IF DST-FIELD-12 NOT = EXPT-FIELD-12 + DISPLAY '12: <' DST-FIELD-12 '> != <' EXPT-FIELD-12 '>'. + IF DST-FIELD-13 NOT = EXPT-FIELD-13 + DISPLAY '13: <' DST-FIELD-13 '> != <' EXPT-FIELD-13 '>'. + IF DST-FIELD-14 NOT = EXPT-FIELD-14 + DISPLAY '14: <' DST-FIELD-14 '> != <' EXPT-FIELD-14 '>'. + IF DST-FIELD-15 NOT = EXPT-FIELD-15 + DISPLAY '15: <' DST-FIELD-15 '> != <' EXPT-FIELD-15 '>'. + IF DST-FIELD-16 NOT = EXPT-FIELD-16 + DISPLAY '16: <' DST-FIELD-16 '> != <' EXPT-FIELD-16 '>'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:444: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:444" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:444" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:445: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:445" +( $at_check_trace; $COBCRUN_DIRECT ./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:445" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:450' \ + "MOVE to edited item (4)" " " 4 +at_xfail=no +( + printf "%s\n" "528. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + *@OPTIONS MAIN(MAIN) + IDENTIFICATION DIVISION. + + PROGRAM-ID. NUM-EDIT. + ****************************************************************** + *AUTHOR. MICHAEL F GLEASON. * + * TESTING RESULTS OF NUMERIC EDIT * + ****************************************************************** + + ENVIRONMENT DIVISION. + + CONFIGURATION SECTION. + + ****************************************************************** + * * + * THIS PROGRAM WILL ONLY DISPLAY MESSAGES IF THE * + * COMPILER IS GENERATING AN INCORRECT RESULT. * + * * + * IF YOU WISH TO SEE ALL THE DISPLAYS, THEN * + * UNCOMMENT THE SOURCE-COMPUTER LINE BELOW. * + * * + ****************************************************************** + + ****************************************************************** + *SOURCE-COMPUTER. IBM-PC WITH DEBUGGING MODE. + ****************************************************************** + OBJECT-COMPUTER. IBM-PC. + + ****************************************************************** + *REPOSITORY. * + *FUNCTION ALL INTRINSIC. * + ****************************************************************** + + DATA DIVISION. + + WORKING-STORAGE SECTION. + + 01 MISC-WORKING-STORAGE. + 05 WS-COUNT PIC 9(03) VALUE 0. + 05 PIC9V99 PIC S9(09)V99 COMP-3. + 05 MSG PIC X(50). + 05 MSG-1 PIC X(50). + 05 WS-CARDS-BANK-TOT PIC S9(9) COMP-3 VALUE 100. + 05 WS-CARDS-BANK PIC --,---,--9. + 05 EX-1 PIC ---,---,--9. + 05 EX-2 PIC $,$$$,$$9.99CR. + 05 EX-3 PIC ZZ,ZZZ,ZZ9DB. + 05 EX-4 PIC ZZ,ZZZ,ZZ9CR. + 05 EX-5 PIC $,$$$,$$9.99-. + 05 EX-6 PIC +$$$,$$$,$$9. + 05 EX-7 PIC -$,$$$,$$9.99. + 05 EX-8 PIC +$,$$$,$$9.99. + 05 EX-9 PIC +$ZZZZ9.99. *> PROG GUIDE EXMPL + 05 EX-10 PIC -$ZZZZ9.99. + 05 EX-11 PIC ++++,+++,++9. + 05 EX-12 PIC 9BB999BB999B9999. + 05 EX-13 PIC $$$$$//99//99CR. + 05 EX-13-2 PIC $$$$$/B/90/B/90CR. + 05 identifier-1 PIC S9(09) COMP-3. + 05 identifier-2 PIC ----,---,--9. + 05 A-PHONE-NUMBER PIC 9(11) VALUE 15128006789. + 05 Year-Month-Day PIC 9(4)/9(2)/9(2). + 05 YYYY-MM-DD PIC 9(10) VALUE 20240401. + 05 EX-14 PIC +$Z,,B0B,,9.909. + 05 EX-15 PIC ****,***,***.**. + + PROCEDURE DIVISION. + + 000-BEGIN-TEST. + + ****************************************************************** + *TEST-1 * + ****************************************************************** + D DISPLAY "Results for Year-Month-Day " + D "when input is an identifier" + D DISPLAY "PIC 9(4)/9(2)/9(2)." + MOVE YYYY-MM-DD TO Year-Month-Day + IF Year-Month-Day EQUAL "2024/04/01" + MOVE "PASS" TO MSG-1 + D DISPLAY "2024/04/01 IS WHAT I EXPECTED" + ELSE + MOVE "FAIL" TO MSG-1 + ADD 1 TO WS-COUNT + DISPLAY "TEST-1 EXPECTING 2024/04/01. WHAT I GOT WAS " + Year-Month-Day "." + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *TEST-2 * + ****************************************************************** + D DISPLAY "Results identifier-2 for WS-CARDS-BANK" + D DISPLAY "PIC --,---,--9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO WS-CARDS-BANK-TOT + MOVE WS-CARDS-BANK-TOT TO WS-CARDS-BANK + IF WS-CARDS-BANK = " -10" + MOVE SPACE TO MSG + D DISPLAY "-10 " WS-CARDS-BANK MSG + ELSE + MOVE " <---<<< EXPECTING ' -10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-2 -10 " WS-CARDS-BANK MSG + END-IF + ****************************************************************** + *TEST-3 * + ****************************************************************** + MOVE -100 TO WS-CARDS-BANK-TOT + MOVE WS-CARDS-BANK-TOT TO WS-CARDS-BANK + IF WS-CARDS-BANK = " -100" + MOVE SPACE TO MSG + D DISPLAY "-100 " WS-CARDS-BANK MSG + ELSE + MOVE " <---<<< EXPECTING ' -100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-3 -100 " WS-CARDS-BANK MSG + END-IF + ****************************************************************** + *TEST-4 * + ****************************************************************** + MOVE -1000 TO WS-CARDS-BANK-TOT + MOVE WS-CARDS-BANK-TOT TO WS-CARDS-BANK + IF WS-CARDS-BANK = " -1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " WS-CARDS-BANK + ELSE + MOVE " <---<<< EXPECTING ' -1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-4 -1000 " WS-CARDS-BANK MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *TEST-5 * + ****************************************************************** + D DISPLAY "MOVE identifier-1 TO identifier-2" + D DISPLAY "PIC ----,---,--9." + MOVE "PASS" TO MSG-1 + MOVE -123456789 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = "-123,456,789" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 -123456789 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING '-123,456,789'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-5 identifier-1 -123456789 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-6 * + ****************************************************************** + MOVE -123 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " -123" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 -123 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' -123'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-6 identifier-1 -123 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-7 * + ****************************************************************** + MOVE -1234 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " -1,234" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 -1234 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,234'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-7 identifier-1 -1234 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-8 * + ****************************************************************** + MOVE -123 TO identifier-2 + IF identifier-2 = " -123" + MOVE SPACE TO MSG + D DISPLAY "literal-1 -123 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' -123'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-8 literal-1 -123 identifier-2 " + identifier-2 MSG + END-IF + D DISPLAY "literal-1 -123 identifier-2 " + ****************************************************************** + *TEST-9 * + ****************************************************************** + MOVE -1234 TO identifier-2 + IF identifier-2 = " -1,234" + MOVE SPACE TO MSG + D DISPLAY "literal-1 -1234 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,234'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-9 literal-1 -1234 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-10 * + ****************************************************************** + MOVE 123456789 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " 123,456,789" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 123456789 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 123,456,789'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-10 identifier-1 123456789 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-11 * + ****************************************************************** + MOVE 12 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " 12" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 12 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 12'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-11 identifier-1 12 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-12 * + ****************************************************************** + MOVE 123 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " 123" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 123 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 123'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-12 identifier-1 123 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-13 * + ****************************************************************** + MOVE 1234 TO identifier-1 + MOVE identifier-1 TO identifier-2 + IF identifier-2 = " 1,234" + MOVE SPACE TO MSG + D DISPLAY "identifier-1 1234 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,234'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-13 identifier-1 1234 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-14 * + ****************************************************************** + MOVE 123 TO identifier-2 + IF identifier-2 = " 123" + MOVE SPACE TO MSG + D DISPLAY "literal-1 123 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 123'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-14 literal-1 123 identifier-2 " + identifier-2 MSG + END-IF + ****************************************************************** + *TEST-15 * + ****************************************************************** + MOVE 1234 TO identifier-2 + IF identifier-2 = " 1,234" + MOVE SPACE TO MSG + D DISPLAY "literal-1 1234 identifier-2 " + D identifier-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,234'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "TEST-15 literal-1 1234 identifier-2 " + identifier-2 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-1A * + ****************************************************************** + D DISPLAY "Results for EX-1 when input is a literal" + D DISPLAY "PIC ---,---,--9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO EX-1 + IF EX-1 = " -10" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.01 -10 " EX-1 MSG + END-IF + + MOVE -100 TO EX-1 + IF EX-1 = " -100" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.02 -100 " EX-1 MSG + END-IF + + MOVE -1000 TO EX-1 + IF EX-1 = " -1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.03 -1000 " EX-1 MSG + END-IF + + MOVE -10000 TO EX-1 + IF EX-1 = " -10,000" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.04 -10000 " EX-1 MSG + END-IF + + MOVE 10 TO EX-1 + IF EX-1 = " 10" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.05 10 " EX-1 MSG + END-IF + + MOVE 100 TO EX-1 + IF EX-1 = " 100" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.06 100 " EX-1 MSG + END-IF + + MOVE 1000 TO EX-1 + IF EX-1 = " 1,000" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.07 1000 " EX-1 MSG + END-IF + + MOVE 10000 TO EX-1 + IF EX-1 = " 10,000" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.08 10000 " EX-1 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-1B * + ****************************************************************** + D DISPLAY "Results for EX-1 when input is an identifier" + D DISPLAY "PIC ---,---,--9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " -10" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.09 -10 " EX-1 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " -100" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.10 -100 " EX-1 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " -1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.11 -1000 " EX-1 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " -10,000" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.12 -10000 " EX-1 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " 10" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.13 10 " EX-1 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " 100" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.14 100 " EX-1 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " 1,000" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.15 1000 " EX-1 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-1 + IF EX-1 = " 10,000" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-1 MSG + ELSE + MOVE " <---<<< EXPECTING ' 10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-1.16 10000 " EX-1 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-2 * + ****************************************************************** + D DISPLAY "Results for EX-2 when input is a literal" + D DISPLAY "PIC $,$$$,$$9.99CR." + MOVE "PASS" TO MSG-1 + MOVE 100 TO EX-2 + IF EX-2 = " $100.00 " + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.01 100 " EX-2 MSG + END-IF + + MOVE -100 TO EX-2 + IF EX-2 = " $100.00CR" + MOVE SPACE TO MSG + D DISPLAY " -100 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00CR'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.02 -100 " EX-2 MSG + END-IF + + MOVE 1000 TO EX-2 + IF EX-2 = " $1,000.00 " + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.03 1000 " EX-2 MSG + END-IF + + MOVE -1000 TO EX-2 + IF EX-2 = " $1,000.00CR" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00CR'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.04 -1000 " EX-2 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + D DISPLAY "Results for EX-2 when input is an identifier " + D DISPLAY "PIC $,$$$,$$9.99CR." + MOVE "PASS" TO MSG-1 + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-2 + IF EX-2 = " $100.00 " + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.05 100 " EX-2 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-2 + IF EX-2 = " $100.00CR" + MOVE SPACE TO MSG + D DISPLAY " -100 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00CR'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.06 -100 " EX-2 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-2 + IF EX-2 = " $1,000.00 " + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.07 1000 " EX-2 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-2 + IF EX-2 = " $1,000.00CR" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-2 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00CR'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-2.08 -1000 " EX-2 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-3 * + ****************************************************************** + D DISPLAY "Results for EX-3 when input is a literal" + D DISPLAY "PIC ZZ,ZZZ,ZZ9DB." + MOVE "PASS" TO MSG-1 + MOVE 100 TO EX-3 + IF EX-3 = " 100 " + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-3 MSG + ELSE + MOVE " <---<<< EXPECTING ' 100 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-3.01 100 " EX-3 MSG + END-IF + + MOVE -100 TO EX-3 + IF EX-3 = " 100DB" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-3 MSG + ELSE + MOVE " <---<<< EXPECTING ' 100DB'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-3.02 -100 " EX-3 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-4 * + ****************************************************************** + D DISPLAY "Results for EX-4 when input is a literal" + D DISPLAY "PIC ZZ,ZZZ,ZZ9CR." + MOVE "PASS" TO MSG-1 + MOVE 1000 TO EX-4 + IF EX-4 = " 1,000 " + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-4 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,000 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-4.01 1000 " EX-4 MSG + END-IF + + MOVE -1000 TO EX-4 + IF EX-4 = " 1,000CR" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-4 MSG + ELSE + MOVE " <---<<< EXPECTING ' 1,000CR'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-4.02 -1000 " EX-4 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-5 * + ****************************************************************** + D DISPLAY "Results for EX-5 when input is an identifier " + D DISPLAY "PIC $,$$$,$$9.99-." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $10.00-" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10.00-'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.01 -10 " EX-5 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $100.00-" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00-'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.02 -100 " EX-5 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $1,000.00-" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00-'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.03 -1000 " EX-5 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $10,000.00-" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10,000.00-'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.04 -10000 " EX-5 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $10.00 " + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.05 10 " EX-5 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $100.00 " + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.06 100 " EX-5 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $1,000.00 " + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.07 1000 " EX-5 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-5 + IF EX-5 = " $10,000.00 " + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-5 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10,000.00 '" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-5.08 10000 " EX-5 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-6 * + ****************************************************************** + D DISPLAY "Results for EX-6 when input is an identifier" + D DISPLAY "PIC +$$$,$$$,$$9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "- $10" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.01 -10 " EX-6 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "- $100" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '- $100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.02 -100 " EX-6 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "- $1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '- $1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.03 -1000 " EX-6 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "- $10,000" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.04 -10000 " EX-6 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "+ $10" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.05 10 " EX-6 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "+ $100" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.06 100 " EX-6 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "+ $1,000" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.07 1000 " EX-6 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-6 + IF EX-6 = "+ $10,000" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-6 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-6.08 10000 " EX-6 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-7 * + ****************************************************************** + D DISPLAY "Results for EX-7 when input is an identifier" + D DISPLAY "PIC -$,$$$,$$9.99." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = "- $10.00" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.01 -10 " EX-7 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = "- $100.00" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING '- $100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.02 -100 " EX-7 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = "- $1,000.00" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING '- $1,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.03 -1000 " EX-7 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = "- $10,000.00" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.04 -10000 " EX-7 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = " $10.00" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.05 10 " EX-7 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = " $100.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING ' $100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.06 100 " EX-7 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = " $1,000.00" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING ' $1,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.07 1000 " EX-7 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-7 + IF EX-7 = " $10,000.00" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-7 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-7.08 10000 " EX-7 MSG + END-IF + D DISPLAY "------------------"MSG-1 + ****************************************************************** + *EX-8 * + ****************************************************************** + D DISPLAY "Results for EX-8 when input is an identifier" + D DISPLAY "PIC +$,$$$,$$9.99." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "- $10.00" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.01 -10 " EX-8 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "- $100.00" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '- $100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.02 -100 " EX-8 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "- $1,000.00" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '- $1,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.03 -1000 " EX-8 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "- $10,000.00" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '- $10,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.04 -10000 " EX-8 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "+ $10.00" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.05 10 " EX-8 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "+ $100.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.06 100 " EX-8 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "+ $1,000.00" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $1,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.07 1000 " EX-8 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-8 + IF EX-8 = "+ $10,000.00" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-8 MSG + ELSE + MOVE " <---<<< EXPECTING '+ $10,000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-8.08 10000 " EX-8 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-9 * + ****************************************************************** + D DISPLAY "Results for EX-9 when input is an identifier" + D " and a literal" + D DISPLAY "PIC +$ZZZZ9.99. *> PROG GUIDE EXMPL" + D DISPLAY " The -$ signs don't float is correct" + D DISPLAY "According to P.G. the sign and $ should float" + D DISPLAY "In reality and by the COBOL STANDARDS, it doesn't" + MOVE "PASS" TO MSG-1 + MOVE 1 TO EX-9 + D DISPLAY "literal-1 1 " EX-9 + MOVE -1 TO EX-9 + D DISPLAY "literal-1 -1 " EX-9 + D " <---<<< Should be -$ when negative" + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "-$ 10.00" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.01 -10 " EX-9 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "-$ 100.00" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.02 -100 " EX-9 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "-$ 1000.00" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 1000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.03 -1000 " EX-9 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "-$10000.00" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '-$10000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.04 -10000 " EX-9 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "+$ 10.00" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '+$ 10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.05 10 " EX-9 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "+$ 100.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '+$ 100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.06 100 " EX-9 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "+$ 1000.00" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '+$ 1000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.07 1000 " EX-9 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-9 + IF EX-9 = "+$10000.00" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-9 MSG + ELSE + MOVE " <---<<< EXPECTING '+$10000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-9.08 10000 " EX-9 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-10 * + ****************************************************************** + D DISPLAY "Results for EX-10 when input is an identifier" + D " and a literal" + D DISPLAY "PIC -$ZZZZ9.99." + D DISPLAY " The -$ signs don't float is correct" + D DISPLAY "According to P.G. the sign and $ should float" + D DISPLAY "In reality and by the COBOL STANDARDS, it doesn't" + MOVE "PASS" TO MSG-1 + MOVE 1 TO EX-10 + D DISPLAY "literal-1 1 " EX-10 + D " <---<<< Should be just $ not -$ when positive" + MOVE -1 TO EX-10 + D DISPLAY "literal-1 -1 " EX-10 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = "-$ 10.00" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.01 -10 " EX-10 MSG + END-IF + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = "-$ 100.00" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.02 -100 " EX-10 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = "-$ 1000.00" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING '-$ 1000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.03 -1000 " EX-10 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = "-$10000.00" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING '-$10000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.04 -10000 " EX-10 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = " $ 10.00" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING ' $ 10.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.05 10 " EX-10 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = " $ 100.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING ' $ 100.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.06 100 " EX-10 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = " $ 1000.00" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING ' $ 1000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.07 1000 " EX-10 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-10 + IF EX-10 = " $10000.00" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-10 MSG + ELSE + MOVE " <---<<< EXPECTING ' $10000.00'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-10.08 10000 " EX-10 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-11A * + ****************************************************************** + D DISPLAY "Results for EX-11 when input is a literal" + D DISPLAY "PIC ++++,+++,++9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO EX-11 + IF EX-11 = " -10" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.01 -10 " EX-11 MSG + END-IF + + MOVE -100 TO EX-11 + IF EX-11 = " -100" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.02 -100 " EX-11 MSG + END-IF + + MOVE -1000 TO EX-11 + IF EX-11 = " -1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.03 -1000 " EX-11 MSG + END-IF + + MOVE -10000 TO EX-11 + IF EX-11 = " -10,000" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.04 -10000 " EX-11 MSG + END-IF + + MOVE 10 TO EX-11 + IF EX-11 = " +10" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.05 10 " EX-11 MSG + END-IF + + MOVE 100 TO EX-11 + IF EX-11 = " +100" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.06 100 " EX-11 MSG + END-IF + + MOVE 1000 TO EX-11 + IF EX-11 = " +1,000" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.07 1000 " EX-11 MSG + END-IF + + MOVE 10000 TO EX-11 + IF EX-11 = " +10,000" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.08 10000 " EX-11 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-11B * + ****************************************************************** + D DISPLAY "Results for EX-11 when input is an identifier" + D DISPLAY "PIC ++++,+++,++9." + MOVE "PASS" TO MSG-1 + MOVE -10 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " -10" + MOVE SPACE TO MSG + D DISPLAY "-10 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.09 -10 " EX-11 MSG + END-IF + D DISPLAY "-10 " EX-11 MSG + + MOVE -100 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " -100" + MOVE SPACE TO MSG + D DISPLAY "-100 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.10 -100 " EX-11 MSG + END-IF + + MOVE -1000 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " -1,000" + MOVE SPACE TO MSG + D DISPLAY "-1000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.11 -1000 " EX-11 MSG + END-IF + + MOVE -10000 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " -10,000" + MOVE SPACE TO MSG + D DISPLAY "-10000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' -10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.12 -10000 " EX-11 MSG + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " +10" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +10'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.13 10 " EX-11 MSG + END-IF + + MOVE 100 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " +100" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +100'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.14 100 " EX-11 MSG + END-IF + + MOVE 1000 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " +1,000" + MOVE SPACE TO MSG + D DISPLAY " 1000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +1,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.15 1000 " EX-11 MSG + END-IF + + MOVE 10000 TO identifier-1 + MOVE identifier-1 TO EX-11 + IF EX-11 = " +10,000" + MOVE SPACE TO MSG + D DISPLAY " 10000 " EX-11 MSG + ELSE + MOVE " <---<<< EXPECTING ' +10,000'" TO MSG + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-11.16 10000 " EX-11 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-12 * + ****************************************************************** + D DISPLAY "Results for EX-12 when input is an identifier" + D DISPLAY "PIC 9BB999BB999B9999." + MOVE A-PHONE-NUMBER TO EX-12 + MOVE "(" TO EX-12 (3:1) + MOVE ")" TO EX-12 (7:1) + IF EX-12 EQUAL "1 (512) 800 6789" + MOVE "PASS" TO MSG-1 + D DISPLAY "HURAH, '" EX-12 "' IS WHAT I WANTED." + ELSE + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-12.01 EXPECTING '1 (512) 800 6789' NOT '" + EX-12 "'" + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-13 * + ****************************************************************** + D DISPLAY "Results for EX-13 when input is an identifier" + D DISPLAY "PIC $$$$$//99//99CR" + MOVE -123456 TO identifier-1 + MOVE identifier-1 TO EX-13 + IF EX-13 EQUAL " $12//34//56CR" + MOVE "PASS" TO MSG-1 + D DISPLAY " $12//34//56CR IS WHAT I EXPECTED" + ELSE + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-13.01 EXPECTING ==> '$12//34//56CR' <==" + " WHAT I GOT WAS ==>'" + EX-13 "'<==" + END-IF + + MOVE 10 TO identifier-1 + MOVE identifier-1 TO EX-13 + IF EX-13 EQUAL " $//00//10 " + MOVE "PASS" TO MSG-1 + D DISPLAY " $//00//10 IS WHAT I EXPECTED" + ELSE + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-13.02 EXPECTING ==>' $//00//10 ' " + "WHAT I GOT WAS ==>'" + EX-13 "'<==" + D DISPLAY "------------------" MSG-1 + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + *EX-13-2 * + ****************************************************************** + D DISPLAY "Results for EX-13-2 when input is an identifier" + D DISPLAY "PIC $$$$$/B/90/B/90CR" + MOVE -12345 TO identifier-1 + MOVE identifier-1 TO EX-13-2 + IF EX-13-2 EQUAL " $123/ /40/ /50CR" + MOVE "PASS" TO MSG-1 + D DISPLAY " $123/ /40/ /50CR IS WHAT I EXPECTED" + D DISPLAY "------------------" MSG-1 + ELSE + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-13-2.1 EXPECTING $123/ /40/ /50CR " + "WHAT I GOT WAS ==>'" + EX-13-2(1:) "'<==" + D DISPLAY "------------------" MSG-1 + END-IF + ****************************************************************** + *EX-14 * + ****************************************************************** + MOVE -123456.7895 TO EX-14. + IF EX-14(1:) EQUAL "-$5,, 0 ,,6.708" + MOVE "PASS" TO MSG-1 + D DISPLAY "EX-14 ==> IS WHAT I EXPECTED '" EX-14(1:) "'" + D DISPLAY "------------------" MSG-1 + ELSE + ADD 1 TO WS-COUNT + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-14 ==> WHAT I EXPECTED '-$5,, 0 ,,6.708'" + DISPLAY "EX-14 ==> WHAT I GOT '" EX-14(1:) "'" + D DISPLAY "------------------" MSG-1 + END-IF + + ****************************************************************** + *EX-15 * + * It does not matter if a + or - amount is moved to this edit, * + * the result will be the same. * + ****************************************************************** + D DISPLAY "Results for EX-15 when input is an identifier" + D DISPLAY "PIC ****,***,***.**." + MOVE "PASS" TO MSG-1 + MOVE -123.45 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "*********123.45" + MOVE SPACE TO MSG + D DISPLAY "-123.45 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '*********123.45'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.1 -123.45 " EX-15 MSG + END-IF + + MOVE -1234.56 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "*******1,234.56" + MOVE SPACE TO MSG + D DISPLAY "-1234.56 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '*******1,234.56'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.2 -1234.56 " EX-15 MSG + END-IF + + MOVE -12345.67 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "******12,345.67" + MOVE SPACE TO MSG + D DISPLAY "-12345.67 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '******12,345.67'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.3 -12345.67 " EX-15 MSG + END-IF + + MOVE 10 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "**********10.00" + MOVE SPACE TO MSG + D DISPLAY " 10 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '**********10.00'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.4 10 " EX-15 MSG + END-IF + + MOVE 100 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "*********100.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '*********100.00'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.5 100 " EX-15 MSG + END-IF + + MOVE 100000000 TO PIC9V99 + MOVE PIC9V99 TO EX-15 + IF EX-15 = "*100,000,000.00" + MOVE SPACE TO MSG + D DISPLAY " 100 " EX-15 MSG + ELSE + ADD 1 TO WS-COUNT + MOVE " <---<<< EXPECTING '*100,000,000.00'" TO MSG + MOVE "FAIL" TO MSG-1 + DISPLAY "EX-15.6 100 " EX-15 MSG + END-IF + D DISPLAY "------------------" MSG-1 + ****************************************************************** + * End of process. Display error total if not zero * + ****************************************************************** + IF WS-COUNT > ZERO + MOVE "TESTS FAILED" TO MSG-1 + DISPLAY "------------------" WS-COUNT SPACE MSG-1(1 : 12) + "------------------" + END-IF + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2122: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:2122" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:2122" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2123: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2123" +( $at_check_trace; $COBCRUN_DIRECT ./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:2123" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2128' \ + "MOVE to edited item (5)" " " 4 +at_xfail=no +( + printf "%s\n" "529. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *AUTHOR. CHUCK HAATVEDT + + * CHECK THE char_to_precedence_idx function in tree.c + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + ****************************************************************** + * * + * THIS PROGRAM WILL ONLY DISPLAY MESSAGES IF THE * + * COMPILER IS GENERATING AN INCORRECT RESULT. * + * * + * IF YOU WISH TO SEE ALL THE DISPLAYS, THEN * + * COMMENT THE SOURCE-COMPUTER LINE BELOW. * + * * + ****************************************************************** + + ****************************************************************** + SOURCE-COMPUTER. IBM-PC WITH DEBUGGING MODE. + ****************************************************************** + OBJECT-COMPUTER. IBM-PC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CURR00 PIC 9$DB. + 77 CURR01 PIC 9$+. + 77 CURR02 PIC 9$. + 77 CURR03 PIC $9. + 77 CURR04 PIC +$9. + 77 CURR05 PIC 090. + 77 CURR06 PIC $9,9999.99-. + 77 CURR07 PIC +$9,9999.99. + 77 CURR08 PIC +$9,9999.99,99. + 77 CURR09 PIC +$9,9999.99099. + 77 CURR10 PIC 9,9/99.99$. + 77 CURR11 PIC $,$$$$.$$+. + 77 CURR12 PIC $,$$$$.$$CR. + 77 CURR13 PIC -$,$$$$.$$. + 77 CURR14 PIC $,$$$$.$$. + 77 CURR15 PIC $,$$$$V99. + 77 CURR16 PIC $,$$$$.99. + 77 CURR17 PIC -,----V--. + 77 CURR18 PIC -,----.--. + 77 CURR19 PIC 9$-. + 77 CURR20 PIC -$9. + 77 CURR21 PIC 9$DB. + 77 CURR22 PIC 9$CR. + 77 CURR23 PIC 9,9/99.99+. + 77 N1 PIC S9(8) COMP-5 VALUE +0. + 77 PAD-1 PIC *,***.**-. + 77 PAD-2 PIC $.**. + + PROCEDURE DIVISION. + MOVE +7 TO CURR00 + D IF CURR00 NOT EQUAL '7$ ' + DISPLAY 'TEST 1 CURR00 ===>' CURR00 '<===' + D END-IF. + + MOVE +0.01 TO CURR01 + D IF CURR01 NOT EQUAL '0$+' + DISPLAY 'TEST 1 CURR01 ===>' CURR01 '<===' + D END-IF. + + MOVE +0.01 TO CURR02 + D IF CURR02 NOT EQUAL '0$' + DISPLAY 'TEST 1 CURR02 ===>' CURR02 '<===' + D END-IF. + + MOVE +0.01 TO CURR03 + D IF CURR03 NOT EQUAL '$0' + DISPLAY 'TEST 1 CURR03 ===>' CURR03 '<===' + D END-IF. + + MOVE +0.01 TO CURR04 + D IF CURR04 NOT EQUAL '+$0' + DISPLAY 'TEST 1 CURR04 ===>' CURR04 '<===' + D END-IF. + + MOVE +0.01 TO CURR05 + D IF CURR05 NOT EQUAL '000' + DISPLAY 'TEST 1 CURR05 ===>' CURR05 '<===' + D END-IF. + + MOVE +0.01 TO CURR06 + D IF CURR06 NOT EQUAL '$0,0000.01' + DISPLAY 'TEST 1 CURR06 ===>' CURR06 '<===' + D END-IF. + + MOVE +0.01 TO CURR07 + D IF CURR07 NOT EQUAL '+$0,0000.01' + DISPLAY 'TEST 1 CURR07 ===>' CURR07 '<===' + D END-IF. + + MOVE +0.01 TO CURR08 + D IF CURR08 NOT EQUAL '+$0,0000.01,00' + DISPLAY 'TEST 1 CURR08 ===>' CURR08 '<===' + D END-IF. + + MOVE +0.01 TO CURR09 + D IF CURR09 NOT EQUAL '+$0,0000.01000' + DISPLAY 'TEST 1 CURR09 ===>' CURR09 '<===' + D END-IF. + + MOVE +0.01 TO CURR10 + D IF CURR10 NOT EQUAL '0,0/00.01$' + DISPLAY 'TEST 1 CURR10 ===>' CURR10 '<===' + D END-IF. + + MOVE +0.01 TO CURR11 + D IF CURR11 NOT EQUAL ' $.01+' + DISPLAY 'TEST 1 CURR11 ===>' CURR11 '<===' + D END-IF. + + MOVE +0.01 TO CURR12 + D IF CURR12 NOT EQUAL ' $.01 ' + DISPLAY 'TEST 1 CURR12 ===>' CURR12 '<===' + D END-IF. + + MOVE +0.01 TO CURR13 + D IF CURR13 NOT EQUAL ' $.01' + DISPLAY 'TEST 1 CURR13 ===>' CURR13 '<===' + D END-IF. + + MOVE +0.01 TO CURR14 + D IF CURR14 NOT EQUAL ' $.01' + DISPLAY 'TEST 1 CURR14 ===>' CURR14 '<===' + D END-IF. + + MOVE +0.01 TO CURR15 + D IF CURR15 NOT EQUAL ' $01' + DISPLAY 'TEST 1 CURR15 ===>' CURR15 '<===' + D END-IF. + + MOVE +0.01 TO CURR16 + D IF CURR16 NOT EQUAL ' $.01' + DISPLAY 'TEST 1 CURR16 ===>' CURR16 '<===' + D END-IF. + + MOVE +0.01 TO CURR17 + D IF CURR17 NOT EQUAL ' 01' + DISPLAY 'TEST 1 CURR17 ===>' CURR17 '<===' + D END-IF. + + MOVE +0.01 TO CURR18 + D IF CURR18 NOT EQUAL ' .01' + DISPLAY 'TEST 1 CURR18 ===>' CURR18 '<===' + D END-IF. + + MOVE +0.01 TO CURR19 + D IF CURR19 NOT EQUAL '0$' + DISPLAY 'TEST 1 CURR19 ===>' CURR19 '<===' + D END-IF. + + MOVE +0.01 TO CURR20 + D IF CURR20 NOT EQUAL ' $0' + DISPLAY 'TEST 1 CURR20 ===>' CURR20 '<===' + D END-IF. + + MOVE +0.01 TO CURR21 + D IF CURR21 NOT EQUAL '0$' + DISPLAY 'TEST 1 CURR21 ===>' CURR21 '<===' + D END-IF. + + MOVE +0.01 TO CURR22 + D IF CURR22 NOT EQUAL '0$' + DISPLAY 'TEST 1 CURR22 ===>' CURR22 '<===' + D END-IF. + + MOVE +0.01 TO CURR23 + D IF CURR23 NOT EQUAL '0,0/00.01+' + DISPLAY 'TEST 1 CURR23 ===>' CURR23 '<===' + D END-IF. + + + + MOVE -987654321.987654 TO CURR01 + D IF CURR01 NOT EQUAL '1$-' + DISPLAY 'TEST 2 CURR01 ===>' CURR01 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR02 + D IF CURR02 NOT EQUAL '1$' + DISPLAY 'TEST 2 CURR02 ===>' CURR02 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR03 + D IF CURR03 NOT EQUAL '$1' + DISPLAY 'TEST 2 CURR03 ===>' CURR03 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR04 + D IF CURR04 NOT EQUAL '-$1' + DISPLAY 'TEST 2 CURR04 ===>' CURR04 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR05 + D IF CURR05 NOT EQUAL '010' + DISPLAY 'TEST 2 CURR05 ===>' CURR05 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR06 + D IF CURR06 NOT EQUAL '$5,4321.98-' + DISPLAY 'TEST 2 CURR06 ===>' CURR06 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR07 + D IF CURR07 NOT EQUAL '-$5,4321.98' + DISPLAY 'TEST 2 CURR07 ===>' CURR07 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR08 + D IF CURR08 NOT EQUAL '-$5,4321.98,76' + DISPLAY 'TEST 2 CURR08 ===>' CURR08 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR09 + D IF CURR09 NOT EQUAL '-$5,4321.98076' + DISPLAY 'TEST 2 CURR09 ===>' CURR09 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR10 + D IF CURR10 NOT EQUAL '4,3/21.98$' + DISPLAY 'TEST 2 CURR10 ===>' CURR10 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR11 + D IF CURR11 NOT EQUAL ' $4321.98-' + DISPLAY 'TEST 2 CURR11 ===>' CURR11 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR12 + D IF CURR12 NOT EQUAL ' $4321.98CR' + DISPLAY 'TEST 2 CURR12 ===>' CURR12 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR13 + D IF CURR13 NOT EQUAL '- $4321.98' + DISPLAY 'TEST 2 CURR13 ===>' CURR13 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR14 + D IF CURR14 NOT EQUAL ' $4321.98' + DISPLAY 'TEST 2 CURR14 ===>' CURR14 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR15 + D IF CURR15 NOT EQUAL ' $432198' + DISPLAY 'TEST 2 CURR15 ===>' CURR15 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR16 + D IF CURR16 NOT EQUAL ' $4321.98' + DISPLAY 'TEST 2 CURR16 ===>' CURR16 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR17 + D IF CURR17 NOT EQUAL ' -432198' + DISPLAY 'TEST 2 CURR17 ===>' CURR17 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR18 + D IF CURR18 NOT EQUAL ' -4321.98' + DISPLAY 'TEST 2 CURR18 ===>' CURR18 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR19 + D IF CURR19 NOT EQUAL '1$-' + DISPLAY 'TEST 2 CURR19 ===>' CURR19 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR20 + D IF CURR20 NOT EQUAL '-$1' + DISPLAY 'TEST 2 CURR20 ===>' CURR20 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR21 + D IF CURR21 NOT EQUAL '1$DB' + DISPLAY 'TEST 2 CURR21 ===>' CURR21 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR22 + D IF CURR22 NOT EQUAL '1$CR' + DISPLAY 'TEST 2 CURR22 ===>' CURR22 '<===' + D END-IF. + + MOVE -987654321.987654 TO CURR23 + D IF CURR23 NOT EQUAL '4,3/21.98-' + DISPLAY 'TEST 2 CURR23 ===>' CURR23 '<===' + D END-IF. + + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2427: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:2427" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:2427" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2428: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2428" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_529 +#AT_START_530 +at_fn_group_banner 530 'run_fundamental.at:2433' \ + "MOVE to item with simple and floating insertion" "" 4 +at_xfail=no +( + printf "%s\n" "530. $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**,***.**. + 01 num-3 PIC $BB--,---.--. + 01 num-4 PIC $,$$$,$$9.99CR. + 01 num-5 PIC --,---,--9. + 01 num-packed-1 PIC S9(9)V999 COMP-3. + + PROCEDURE DIVISION. + MOVE -123 TO num-1 + DISPLAY ">" num-1 "<" + + MOVE 1234.56 TO num-2 + DISPLAY ">" num-2 "<" + + MOVE 1234.56 TO num-3 + DISPLAY ">" num-3 "<" + + MOVE 456789 to num-4 + DISPLAY ">" num-4 "<" + + MOVE -100 to num-5 + DISPLAY ">" num-5 "<" + + MOVE -1000 to num-5 + DISPLAY ">" num-5 "<" + + MOVE -123 TO num-packed-1 + MOVE num-packed-1 TO num-1 + DISPLAY ">" num-1 "<" + + MOVE 1234.56 TO num-packed-1 + MOVE num-packed-1 TO num-2 + DISPLAY ">" num-2 "<" + + MOVE 1234.56 TO num-packed-1 + MOVE num-packed-1 TO num-3 + DISPLAY ">" num-3 "<" + + MOVE 123456789 to num-packed-1 + MOVE num-packed-1 TO num-4 + DISPLAY ">" num-4 "<" + + MOVE -100 to num-packed-1 + MOVE num-packed-1 TO num-5 + DISPLAY ">" num-5 "<" + + MOVE -1000 to num-packed-1 + MOVE num-packed-1 TO num-5 + DISPLAY ">" num-5 "<" + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2494: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.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_fundamental.at:2494" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2495: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2495" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" ">-**123< +>\$ *1,234.56< +>\$ 1,234.56< +> \$456,789.00 < +> -100< +> -1,000< +>-**123< +>\$ *1,234.56< +>\$ 1,234.56< +> \$456,789.00 < +> -100< +> -1,000< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.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_530 +#AT_START_531 +at_fn_group_banner 531 'run_fundamental.at:2513' \ + "MOVE to JUSTIFIED item" " " 4 +at_xfail=no +( + printf "%s\n" "531. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:2546: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2546" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2546" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2547: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2547" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "> 0011< +> 0022< +> 0033< +> 004400< +>5500000< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2547" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2558' \ + "MOVE integer literal to alphanumeric" " " 4 +at_xfail=no +( + printf "%s\n" "532. $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. + MOVE 1000 TO X. + DISPLAY X NO ADVANCING END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2575: \$COMPILE_ONLY -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fdiagnostics-show-option prog.cob" "run_fundamental.at:2575" +( $at_check_trace; $COMPILE_ONLY -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: alphanumeric value is expected [-Wtyping] +prog.cob:6: note: 'X' defined here as PIC X(04) [-Wtyping] +" | \ + $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:2575" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2579: \$COMPILE_ONLY -Wstrict-typing -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wstrict-typing -fdiagnostics-show-option prog.cob" "run_fundamental.at:2579" +( $at_check_trace; $COMPILE_ONLY -Wstrict-typing -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: alphanumeric value is expected [-Wtyping] +prog.cob:6: note: 'X' defined here as PIC X(04) [-Wtyping] +prog.cob:10: warning: alphanumeric value is expected [-Wstrict-typing] +" | \ + $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:2579" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2584: \$COMPILE_ONLY -Wextra -Wno-strict-typing -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wextra -Wno-strict-typing -fdiagnostics-show-option prog.cob" "run_fundamental.at:2584" +( $at_check_trace; $COMPILE_ONLY -Wextra -Wno-strict-typing -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: alphanumeric value is expected [-Wtyping] +prog.cob:6: note: 'X' defined here as PIC X(04) [-Wtyping] +" | \ + $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:2584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2588: \$COMPILE -Wextra -Wno-typing -fdiagnostics-show-option prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wextra -Wno-typing -fdiagnostics-show-option prog.cob" "run_fundamental.at:2588" +( $at_check_trace; $COMPILE -Wextra -Wno-typing -fdiagnostics-show-option prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2588" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2589: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2589" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0 1000" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2589" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2594' \ + "Compare FLOAT-LONG with floating-point literal" " " 4 +at_xfail=no +( + printf "%s\n" "533. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR FLOAT-LONG VALUE 0.0. + + PROCEDURE DIVISION. + MOVE 9.899999999999E+304 TO VAR + IF VAR < 0 + DISPLAY 'error: compare ' VAR ' < ' 0 + ' failed!' + END-DISPLAY + END-IF. + IF VAR < 9.799999999999E+304 + DISPLAY 'error: compare ' VAR ' < ' 9.799999999999E+304 + ' failed!' + END-DISPLAY + END-IF. + IF VAR > 9.999999999999E+304 + DISPLAY 'error: compare ' VAR ' > ' 9.999999999999E+304 + ' failed!' + END-DISPLAY + END-IF. + MOVE -9.899999999999E+304 TO VAR + IF VAR > 0 + DISPLAY 'error: compare ' VAR ' > ' 0 + ' failed!' + END-DISPLAY + END-IF. + IF VAR < -9.999999999999E+304 + DISPLAY 'error: compare ' VAR ' < ' -9.999999999999E+304 + ' failed!' + END-DISPLAY + END-IF. + IF VAR > -9.799999999999E+304 + DISPLAY 'error: compare ' VAR ' > ' -9.799999999999E+304 + ' failed!' + END-DISPLAY + END-IF. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2641: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2641" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2641" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2642: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2642" +( $at_check_trace; $COBCRUN_DIRECT ./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:2642" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2647' \ + "equality of FLOAT-SHORT / FLOAT-LONG" " " 4 +at_xfail=no +( + printf "%s\n" "534. $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 1: move/compare FLOAT-LONG to FLOAT-SHORT + - 'failed ' DST1 + END-DISPLAY + END-IF. + + MOVE SRC1 TO DST2. + IF DST1 not = 11.55 + DISPLAY 'error 2: move/compare FLOAT-LONG to FLOAT-LONG f + - 'ailed ' DST2 + END-DISPLAY + END-IF. + + MOVE ZERO TO DST1. + MOVE ZERO TO DST2. + + MOVE SRC2 TO DST1. + IF DST1 not = 11.55 + DISPLAY 'error 3: move/compare FLOAT-SHORT to FLOAT-SHORT + - ' failed: ' DST1 + END-DISPLAY + END-IF. + + MOVE SRC2 TO DST2. + IF DST2 not = 11.55 + DISPLAY 'error 4: move/compare FLOAT-SHORT to FLOAT-LONG + - 'failed: ' 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:2764: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2764" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2764" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2765: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2765" +( $at_check_trace; $COBCRUN_DIRECT ./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:2765" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2770' \ + "equality of FLOAT-SHORT / FLOAT-EXTENDED" " " 4 +at_xfail=no +( + printf "%s\n" "535. $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-EXTENDED VALUE 11.55. + 01 DST1 FLOAT-SHORT. + 01 SRC2 FLOAT-SHORT VALUE 11.55. + 01 DST2 FLOAT-EXTENDED. + + PROCEDURE DIVISION. + MOVE SRC1 TO DST1. + IF DST1 not = 11.55 + DISPLAY 'error 1: move/compare FLOAT-EXTENDED to FLOAT-SH + - 'ORT failed ' DST1 + END-DISPLAY + END-IF. + + MOVE SRC1 TO DST2. + IF DST1 not = 11.55 + DISPLAY 'error 2: move/compare FLOAT-EXTENDED to FLOAT-SH + - 'ORT failed ' DST2 + END-DISPLAY + END-IF. + + MOVE ZERO TO DST1. + MOVE ZERO TO DST2. + + MOVE SRC2 TO DST1. + IF DST1 not = 11.55 + DISPLAY 'error 3: move/compare FLOAT-EXTENDED to FLOAT-SH + - 'ORT failed ' DST1 + END-DISPLAY + END-IF. + + MOVE SRC2 TO DST2. + IF DST2 not = 11.55 + DISPLAY 'error 4: move/compare FLOAT-EXTENDED to FLOAT-SHOR + - 'T failed ' 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. + MOVE 1.1234567 TO DST1. + MOVE 0.1234568 TO DST2. + ADD 1.0 TO DST2. + IF DST1 not = DST2 THEN + DISPLAY 'move/compare of very near numbers failed (not id + - 'entical after ADD): ' 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:2895: \$COMPILE -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob" "run_fundamental.at:2895" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2895" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2896: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2896" +( $at_check_trace; $COBCRUN_DIRECT ./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:2896" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:2901' \ + "Overlapping MOVE (GnuCOBOL)" " " 4 +at_xfail=no +( + printf "%s\n" "536. $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 + + +# directly seen by the compiler +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2931: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2931" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2931" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2936: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:2936" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " 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:2936" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# not seen by the compiler because in LINKAGE +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 F1(1:8) TO F2 (7:8). + IF F2 NOT = "Hallo1123456780" + DISPLAY "error:3: " F2. + + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + 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. + + CALL "subprog" USING BY REFERENCE FIELD2 STRUCTURE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2978: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_fundamental.at:2978" +( $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_fundamental.at:2978" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2979: \$COMPILE_MODULE subprog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE subprog.cob" "run_fundamental.at:2979" +( $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:2979" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:2980: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_fundamental.at:2980" +( $at_check_trace; $COBCRUN_DIRECT ./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_fundamental.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_536 +#AT_START_537 +at_fn_group_banner 537 'run_fundamental.at:2985' \ + "Overlapping MOVE (IBM)" " " 4 +at_xfail=no +( + printf "%s\n" "537. $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 + + +# Overlap directly seen by the compiler, ignored because of move-ibm +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3015: \$COMPILE -fmove-ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fmove-ibm prog.cob" "run_fundamental.at:3015" +( $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:3015" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3017: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3017" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " 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:3017" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# not seen by the compiler because in LINKAGE +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 F1(1:8) TO F2 (7:8). + IF F2 NOT = "Hallo1111111110" + DISPLAY "error:3: " F2. + + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + 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. + + CALL "subprog" USING BY REFERENCE FIELD2 STRUCTURE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3059: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_fundamental.at:3059" +( $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_fundamental.at:3059" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3060: \$COMPILE_MODULE -fmove-ibm subprog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fmove-ibm subprog.cob" "run_fundamental.at:3060" +( $at_check_trace; $COMPILE_MODULE -fmove-ibm 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:3060" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3061: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_fundamental.at:3061" +( $at_check_trace; $COBCRUN_DIRECT ./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_fundamental.at:3061" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3066' \ + "ALPHABETIC test" " " 4 +at_xfail=no +( + printf "%s\n" "538. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3092: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3092" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3092" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3093: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3093" +( $at_check_trace; $COBCRUN_DIRECT ./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:3093" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3098' \ + "ALPHABETIC-UPPER test" " " 4 +at_xfail=no +( + printf "%s\n" "539. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3124: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3124" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3124" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3125: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3125" +( $at_check_trace; $COBCRUN_DIRECT ./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:3125" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3130' \ + "ALPHABETIC-LOWER test" " " 4 +at_xfail=no +( + printf "%s\n" "540. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3156: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3156" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3156" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3157: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3157" +( $at_check_trace; $COBCRUN_DIRECT ./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:3157" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3162' \ + "GLOBAL at same level" " " 4 +at_xfail=no +( + printf "%s\n" "541. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3201: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3201" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3201" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3202: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3202" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "prog1 +prog2 +prog1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3202" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3211' \ + "GLOBAL at lower level" " " 4 +at_xfail=no +( + printf "%s\n" "542. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3250: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3250" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3250" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3251: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3251" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "prog1 +prog2 +prog2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3251" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3260' \ + "GLOBAL CONSTANT" " " 4 +at_xfail=no +( + printf "%s\n" "543. $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 implicitly 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 FUNCTION TRIM (GLOB-PATH TRAILING) + END-DISPLAY + END-IF + EXIT PROGRAM. + END PROGRAM prog3. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3333: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3333" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3333" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3334: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3334" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "GLOBP1GLOBV1 +GLOBP2GLOBV2 +in prog3 +GLOB-PATH +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3344' \ + "GLOBAL identifiers from ENVIRONMENT DIVISION" " " 4 +at_xfail=no +( + printf "%s\n" "544. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + FUNCTION-ID. f1. + DATA DIVISION. + LINKAGE SECTION. + 01 r BINARY-LONG. + PROCEDURE DIVISION RETURNING r. + move 1 to r + GOBACK + . + END FUNCTION f1. + FUNCTION-ID. f2. + DATA DIVISION. + LINKAGE SECTION. + 01 i BINARY-LONG. + 01 r BINARY-LONG. + PROCEDURE DIVISION USING i RETURNING r. + add i to i giving r + GOBACK + . + END FUNCTION f2. + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION f1 + FUNCTION f2. + SPECIAL-NAMES. + CURRENCY SIGN IS "Y" + DECIMAL-POINT IS COMMA. + + PROCEDURE DIVISION. + CALL "prog-nested" + . + + PROGRAM-ID. prog-nested. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 n1 BINARY-LONG VALUE 0. + 77 curr PIC 9.9999,99Y. + + PROCEDURE DIVISION. + MOVE f1() TO n1 + IF n1 NOT = 1 + DISPLAY "ERROR 1" GOBACK + END-IF + MOVE f2(n1) TO n1 + IF n1 NOT = 2 + DISPLAY "ERROR 2" GOBACK + END-IF + MOVE f1() TO n1 + IF n1 NOT = 1 + DISPLAY "ERROR 1 2nd" GOBACK + END-IF + MOVE f2(f2(n1)) TO n1 + IF n1 NOT = 4 + DISPLAY "ERROR 4" GOBACK + END-IF + MOVE n1 TO curr + DISPLAY curr + + GOBACK + . + END PROGRAM prog-nested. + END PROGRAM prog. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3417: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3417" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3417" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3418: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3418" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0.0004,00Y +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3418" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3425' \ + "GLOBAL REDEFINES" " " 4 +at_xfail=no +( + printf "%s\n" "545. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 T0 PIC X VALUE "X". + 01 T1 REDEFINES T0 PIC X GLOBAL. + PROCEDURE DIVISION. + DISPLAY T1. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3439: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3439" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3439" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3444' \ + "function with variable-length RETURNING item" " " 4 +at_xfail=no +( + printf "%s\n" "546. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see Bug #641 + + +# Skipped in 3.1.1 as the codegen is not safe (returning local variable address) +# codegen adjusted in 4.x + +printf "%s\n" "run_fundamental.at:3453" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/run_fundamental.at:3453" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + FUNCTION-ID. reply. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 arg-len USAGE BINARY-LONG. + LINKAGE SECTION. + 01 argument PIC X ANY LENGTH. + 01 result. + 05 filler PIC X OCCURS 0 to 999 DEPENDING ON arg-len. + PROCEDURE DIVISION USING BY REFERENCE argument RETURNING result. + MOVE FUNCTION LENGTH (argument) TO arg-len + MOVE argument TO result. + END FUNCTION reply. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION reply. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 arg pic x(100). + + PROCEDURE DIVISION. + *> + IF not (FUNCTION REPLY ("test") = "test" + and FUNCTION LENGTH (REPLY ("test")) = 4 ) + DISPLAY "'test' failed: " + FUNCTION LENGTH (REPLY ("test")) " #" + FUNCTION REPLY ("test") "#". + *> + IF not (FUNCTION REPLY ("test ") = "test" + and FUNCTION LENGTH (REPLY ("test ")) = 7 ) + DISPLAY "'test ' failed: " + FUNCTION LENGTH (REPLY ("test ")) " #" + FUNCTION REPLY ("test ") "#". + *> + IF not (FUNCTION REPLY (arg) = spaces + and FUNCTION LENGTH (REPLY (arg)) = 100 ) + DISPLAY "empty arg failed: " + FUNCTION LENGTH (REPLY (arg)) " #" + FUNCTION REPLY (arg) "#". + *> + MOVE "echo this" to arg + IF not (FUNCTION REPLY (arg) = arg + and FUNCTION LENGTH (REPLY (arg)) = 100 ) + DISPLAY "echo arg failed: " + FUNCTION LENGTH (REPLY (arg)) " #" + FUNCTION REPLY (arg) "#". + *> + MOVE z"echo this" to arg + IF not (FUNCTION REPLY (arg) = arg + and FUNCTION LENGTH (REPLY (arg)) = 100 ) + DISPLAY "z'echo arg failed: " + FUNCTION LENGTH (REPLY (arg)) " #" + FUNCTION REPLY (arg) "#". + *> + GOBACK + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3521: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3521" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3521" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3522: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3522" +( $at_check_trace; $COBCRUN_DIRECT ./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:3522" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3527' \ + "Entry point visibility (1)" " " 4 +at_xfail=no +( + printf "%s\n" "547. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + PROCEDURE DIVISION. + CALL 'module' + CALL 'modulepart' + STOP RUN. +_ATEOF + + +cat >module.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. module. + DATA DIVISION. + PROCEDURE DIVISION. + DISPLAY 'A' WITH NO ADVANCING + GOBACK. + ENTRY 'modulepart'. + DISPLAY 'B' WITH NO ADVANCING + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3552: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3552" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3552" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3553: \$COMPILE_MODULE module.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE module.cob" "run_fundamental.at:3553" +( $at_check_trace; $COMPILE_MODULE module.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3553" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3554: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3554" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "AB" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3554" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3559' \ + "Entry point visibility (2)" " " 4 +at_xfail=no +( + printf "%s\n" "548. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: skip on __OS400__ + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + PROCEDURE DIVISION. + CALL 'module' + STOP RUN. +_ATEOF + + +cat >module.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +some (void) +{ + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3584: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.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_fundamental.at:3584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3585: \$COMPILE_MODULE module.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE module.c" "run_fundamental.at:3585" +( $at_check_trace; $COMPILE_MODULE module.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:3585" +$at_failed && at_fn_log_failure +$at_traceon; } + +# the warning itself is very system specific, so disable it, +# then run again checking only for the warning +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3588: COB_DISABLE_WARNINGS=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_DISABLE_WARNINGS=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:3588" +( $at_check_trace; COB_DISABLE_WARNINGS=1 $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:6: error: entry point 'module' not found +" | \ + $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:3588" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3591: \$COBCRUN_DIRECT ./prog 2> err.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 2> err.log" "run_fundamental.at:3591" +( $at_check_trace; $COBCRUN_DIRECT ./prog 2> err.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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_fundamental.at:3591" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3592: \$GREP \"libcob: prog.cob:6: warning: \" err.log" +at_fn_check_prepare_dynamic "$GREP \"libcob: prog.cob:6: warning: \" err.log" "run_fundamental.at:3592" +( $at_check_trace; $GREP "libcob: prog.cob:6: warning: " err.log +) >>"$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_fundamental.at:3592" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3597' \ + "Contained program visibility (1)" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3644: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3644" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3645: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3645" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:14: error: module 'prog3' not found +" | \ + $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:3645" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3652' \ + "Contained program visibility (2)" " " 4 +at_xfail=no +( + printf "%s\n" "550. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3697: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3697" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3697" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3698: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3698" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:25: error: module 'prog3' not found +" | \ + $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: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_550 +#AT_START_551 +at_fn_group_banner 551 'run_fundamental.at:3705' \ + "Contained program visibility (3)" " " 4 +at_xfail=no +( + printf "%s\n" "551. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3750: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3750" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3750" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3751: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3751" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_551 +#AT_START_552 +at_fn_group_banner 552 'run_fundamental.at:3756' \ + "Contained program visibility (4)" " " 4 +at_xfail=no +( + printf "%s\n" "552. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:3804: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3804" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3804" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3805: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3805" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "P1P2P3P4" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3805" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:3811' \ + "CALL alphanumeric data-name" " " 4 +at_xfail=no +( + printf "%s\n" "553. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 prgm PIC X(32) VALUE "recursion-test". + + PROCEDURE DIVISION. + CALL prgm + DISPLAY "<" + + MOVE "cancel-test" TO prgm + CALL prgm + CALL prgm + CANCEL prgm + CALL prgm + DISPLAY "<" + + MOVE "dummy-call" TO prgm + CALL prgm + >> IF CHECK-PERF IS DEFINED + PERFORM 500000 TIMES + CALL prgm + END-PERFORM + >> END-IF + . + END PROGRAM prog. + + + IDENTIFICATION DIVISION. + PROGRAM-ID. recursion-test RECURSIVE. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x PIC 9 VALUE 0. + + PROCEDURE DIVISION. + ADD 1 TO x + DISPLAY x NO ADVANCING + IF x = 1 + CALL "recursion-test" + 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. + + + IDENTIFICATION DIVISION. + PROGRAM-ID. dummy-call. + + PROCEDURE DIVISION. + CONTINUE + . + END PROGRAM dummy-call. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3883: \$COMPILE -fno-program-name-redefinition prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-program-name-redefinition prog.cob" "run_fundamental.at:3883" +( $at_check_trace; $COMPILE -fno-program-name-redefinition prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3883" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3884: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3884" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3884" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3888: COB_PHYSICAL_CANCEL=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./prog" "run_fundamental.at:3888" +( $at_check_trace; COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3888" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3892: COB_PHYSICAL_CANCEL=NEVER \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=NEVER $COBCRUN_DIRECT ./prog" "run_fundamental.at:3892" +( $at_check_trace; COB_PHYSICAL_CANCEL=NEVER $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3892" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_fundamental.at:3899' \ + "CALL program-pointer" " " 4 +at_xfail=no +( + printf "%s\n" "554. $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 prog-ptr USAGE PROGRAM-POINTER. + 77 num PIC 9 VALUE 0. + + PROCEDURE DIVISION. + SET prog-ptr TO ADDRESS OF PROGRAM "recursion-test" + CALL prog-ptr USING num + DISPLAY "<" + + SET prog-ptr TO ADDRESS OF PROGRAM "cancel-test" + CALL prog-ptr + CALL prog-ptr + CANCEL "cancel-test" + *> NOTE: the following results in the previous address + *> if physical cancel is not active, otherwise _likely_ + *> in a different one + SET prog-ptr TO ADDRESS OF PROGRAM "cancel-test" + CALL prog-ptr + DISPLAY "<" + + SET prog-ptr TO ADDRESS OF PROGRAM "dummy-call" + CALL prog-ptr + >> IF CHECK-PERF IS DEFINED + PERFORM 500000 TIMES + CALL prog-ptr + END-PERFORM + >> END-IF + . + 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. + 77 self-ptr USAGE PROGRAM-POINTER VALUE NULL. + 01 x PIC 9 VALUE 1. + + PROCEDURE DIVISION. + SET self-ptr TO ENTRY "cancel-test" + IF self-ptr = NULL + DISPLAY 'self-address not set' UPON SYSERR. + DISPLAY x NO ADVANCING + ADD 1 TO x + . + END PROGRAM cancel-test. + + + IDENTIFICATION DIVISION. + PROGRAM-ID. dummy-call. + + PROCEDURE DIVISION. + CONTINUE + . + END PROGRAM dummy-call. +_ATEOF + + +{ set +x +printf "%s\n" "$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 +at_fn_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:3983" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3984: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:3984" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3984" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:3988: COB_PHYSICAL_CANCEL=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./prog" "run_fundamental.at:3988" +( $at_check_trace; COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.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_554 +#AT_START_555 +at_fn_group_banner 555 'run_fundamental.at:3995' \ + "CALL/CANCEL/SET ADDRESS program-prototype-name" " " 4 +at_xfail=no +( + printf "%s\n" "555. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + *> simple prototypes + IDENTIFICATION DIVISION. + PROGRAM-ID. recursion-test PROTOTYPE. + DATA DIVISION. + LINKAGE SECTION. + 01 n PIC 9. + PROCEDURE DIVISION USING n. + END PROGRAM recursion-test. + + IDENTIFICATION DIVISION. + PROGRAM-ID. cancel-test IS PROTOTYPE. + PROCEDURE DIVISION. + END PROGRAM cancel-test. + + *> program referencing those prototpyes + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + PROGRAM recursion-test + PROGRAM cancel-test + . + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 prog-ptr USAGE PROGRAM-POINTER VALUE NULL. + 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 "<" + SET prog-ptr TO ADDRESS OF PROGRAM recursion-test + IF prog-ptr = NULL + DISPLAY 'address of recursion-prog not set' UPON SYSERR + ELSE + SET prog-ptr TO NULL + END-IF + SET prog-ptr TO ADDRESS OF PROGRAM cancel-test + IF prog-ptr = NULL + DISPLAY 'address of cancel-prog not set' UPON SYSERR + ELSE + SET prog-ptr TO NULL + END-IF + . + END PROGRAM prog. + + *> actual implementation of the prototyped programs + 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 + *> CHECKME: Should this work (disabled for now...) ? + *> CALL recursion-test USING x + 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 + + +# TODO: +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4087: \$COMPILE -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob" "run_fundamental.at:4087" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4087" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4088: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4088" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4088" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4092: COB_PHYSICAL_CANCEL=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./prog" "run_fundamental.at:4092" +( $at_check_trace; COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "12< +121< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4092" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_fundamental.at:4099' \ + "GLOBAL FD (1)" " " 4 +at_xfail=no +( + printf "%s\n" "556. $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 + + +# FIXME: move to different place or adjust test - note: so far +# we only want to verify codegen +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4146: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.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=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.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_556 +#AT_START_557 +at_fn_group_banner 557 'run_fundamental.at:4150' \ + "GLOBAL FD (2)" " " 4 +at_xfail=no +( + printf "%s\n" "557. $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 + +# FIXME: move to different place or adjust test - note: so far +# we only want to verify codegen, otherwise add +# AT_SKIP_IF([test "$COB_HAS_ISAM" = "no"]) +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4197: \$COMPILE -Wno-unsupported prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unsupported prog.cob" "run_fundamental.at:4197" +( $at_check_trace; $COMPILE -Wno-unsupported prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4197" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4202' \ + "GLOBAL FD (3)" " " 4 +at_xfail=no +( + printf "%s\n" "558. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4246: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4246" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4246" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4247: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4247" +( $at_check_trace; $COBCRUN_DIRECT ./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:4247" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4252' \ + "GLOBAL FD (4)" " " 4 +at_xfail=no +( + printf "%s\n" "559. $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 + + +# Note: special check: we test the invalid open here, it doesn't +# matter _why_ it is invalid (missing file / missing support) +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4298: \$COMPILE -Wno-unsupported prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unsupported prog.cob" "run_fundamental.at:4298" +( $at_check_trace; $COMPILE -Wno-unsupported prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4298" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4299: COB_DISABLE_WARNINGS=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_DISABLE_WARNINGS=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:4299" +( $at_check_trace; COB_DISABLE_WARNINGS=1 $COBCRUN_DIRECT ./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:4299" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4304' \ + "CANCEL test (1)" " " 4 +at_xfail=no +( + printf "%s\n" "560. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4320: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4320" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4320" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4321: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4321" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:8: error: 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:4321" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4324: COB_PHYSICAL_CANCEL=1 ./prog" +at_fn_check_prepare_trace "run_fundamental.at:4324" +( $at_check_trace; COB_PHYSICAL_CANCEL=1 ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:8: error: 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:4324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4331' \ + "CANCEL test (2)" " " 4 +at_xfail=no +( + printf "%s\n" "561. $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". + DISPLAY "NG" NO ADVANCING. + 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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4356: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4356" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4356" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4357: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_fundamental.at:4357" +( $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:4357" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4358: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4358" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:7: error: 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:4358" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4361: COB_PHYSICAL_CANCEL=1 ./prog" +at_fn_check_prepare_trace "run_fundamental.at:4361" +( $at_check_trace; COB_PHYSICAL_CANCEL=1 ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:7: error: 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:4361" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4368' \ + "CANCEL test (3)" " " 4 +at_xfail=no +( + printf "%s\n" "562. $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". + CALL "prog2". + CANCEL "prog2". + CALL "prog2". + CANCEL "prog2". + DISPLAY "NG" NO ADVANCING. + 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. + ADD 1 TO VAR. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4398: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4398" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4398" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4399: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_fundamental.at:4399" +( $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:4399" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4400: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4400" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "121NG" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4400" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4401: COB_PHYSICAL_CANCEL=1 ./prog" +at_fn_check_prepare_trace "run_fundamental.at:4401" +( $at_check_trace; 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"; printf "%s\n" "121NG" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4401" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4406' \ + "Separate sign positions (1)" " " 4 +at_xfail=no +( + printf "%s\n" "563. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4424: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4424" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4424" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4425: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4425" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-11-" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4425" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4430' \ + "Separate sign positions (2)" " " 4 +at_xfail=no +( + printf "%s\n" "564. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4455: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4455" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4455" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4456: \$COMPILE_MODULE -fpretty-display prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fpretty-display prog.cob" "run_fundamental.at:4456" +( $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:4456" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4457: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4457" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+0+00+0+" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4457" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4458: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "run_fundamental.at:4458" +( $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"; printf "%s\n" "+0+00+0+" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4458" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4463' \ + "Context sensitive words (1)" " " 4 +at_xfail=no +( + printf "%s\n" "565. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4480: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4480" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4480" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4481: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4481" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4481" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4486' \ + "Context sensitive words (2)" " " 4 +at_xfail=no +( + printf "%s\n" "566. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4504: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4504" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4504" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4505: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4505" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4505" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4510' \ + "Context sensitive words (3)" " " 4 +at_xfail=no +( + printf "%s\n" "567. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4528: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4528" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4528" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4529: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4529" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4529" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4534' \ + "Context sensitive words (4)" " " 4 +at_xfail=no +( + printf "%s\n" "568. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4553: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4553" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4553" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4554: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4554" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4554" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4559' \ + "Context sensitive words (5)" " " 4 +at_xfail=no +( + printf "%s\n" "569. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4576: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4576" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4576" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4577: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4577" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4577" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4582' \ + "Context sensitive words (6)" " " 4 +at_xfail=no +( + printf "%s\n" "570. $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 *> Intentionally no period or END-DISPLAY + STOP RUN NORMAL. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4598: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4598" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4598" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4599: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4599" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4599" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4604' \ + "Context sensitive words (7)" " " 4 +at_xfail=no +( + printf "%s\n" "571. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4625: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4625" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4625" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4626: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4626" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "21" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4626" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4631' \ + "Context sensitive words (8)" " " 4 +at_xfail=no +( + printf "%s\n" "572. $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 UNBOUNDED. + 03 ATTRIBUTES PIC 9 VALUE 0. + 01 LOC. + 03 NAMESPACE PIC 9 VALUE 1. + PROCEDURE DIVISION. + DISPLAY UNBOUNDED ATTRIBUTES + NAMESPACE IN LOC + NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4652: \$COMPILE -std=ibm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm-strict prog.cob" "run_fundamental.at:4652" +( $at_check_trace; $COMPILE -std=ibm-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_fundamental.at:4652" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4653: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4653" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "001" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4653" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4658' \ + "ROUNDED AWAY-FROM-ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "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. + 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4715: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4715" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4715" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4716: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4716" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:4716" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4721' \ + "ROUNDED NEAREST-AWAY-FROM-ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4778: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4778" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4778" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4779: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4779" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:4779" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4784' \ + "ROUNDED NEAREST-EVEN" " " 4 +at_xfail=no +( + printf "%s\n" "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. + 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4841: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4841" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4841" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4842: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4842" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:4842" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4847' \ + "ROUNDED NEAREST-TOWARD-ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4904: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4904" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4904" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4905: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4905" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:4905" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4910' \ + "ROUNDED TOWARD-GREATER" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:4967: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4967" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4967" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:4968: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:4968" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:4968" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:4973' \ + "ROUNDED TOWARD-LESSER" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:5030: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:5030" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5030" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5031: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5031" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:5031" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5036' \ + "ROUNDED TRUNCATION" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_fundamental.at:5093: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:5093" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5093" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5094: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5094" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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:5094" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5099' \ + "Numeric operations (1)" " " 4 +at_xfail=no +( + printf "%s\n" "580. $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. + MOVE 0.1 TO X. + SUBTRACT 1 FROM X. + IF X NOT = -0.9 + DISPLAY X. + MOVE -0.1 TO Y. + ADD 1 TO Y. + IF Y NOT = 0.9 + DISPLAY Y. + MOVE 0.1 TO Y. + SUBTRACT 1 FROM Y. + IF Y NOT = -0.9 + DISPLAY Y. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5129: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:5129" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5129" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5130: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5130" +( $at_check_trace; $COBCRUN_DIRECT ./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:5130" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5135' \ + "Numeric operations (2) DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "581. $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). + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + MOVE 0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 1 " FIELD. + + MOVE 0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 2 " FIELD. + + MOVE -0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 3 " FIELD. + + MOVE -0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 4 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 5 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 6 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 7 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 8 " FIELD. + + MOVE 0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 9 " FELD2. + + MOVE 0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 10 " FELD2. + + MOVE -0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 11 " FELD2. + + MOVE -0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 12 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 13 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 14 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 15 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 16 " FELD2. + + MOVE 0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 17 " FELD3. + + MOVE 0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 18 " FELD3. + + MOVE -0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 19 " FELD3. + + MOVE -0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 20 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 21 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 22 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 23 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 24 " FELD3. + + MOVE 2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 25 " FELD4. + + MOVE 2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 26 " FELD4. + + MOVE -2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 27 " FELD4. + + MOVE -2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 28 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 29 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 30 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 31 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 32 " FELD4. + + MOVE 1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 33 " FELD4. + + MOVE 1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 34 " FELD4. + + MOVE -1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 35 " FELD4. + + MOVE -1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 36 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 37 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 38 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 39 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 40 " FELD4. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5365: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:5365" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:5365" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5366: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5366" +( $at_check_trace; $COBCRUN_DIRECT ./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:5366" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5371' \ + "Numeric operations (3) PACKED-DECIMAL" " " 4 +at_xfail=no +( + printf "%s\n" "582. $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. + 01 FELD4b PIC S9(4) COMP-3. + 01 FELD5 PIC 9(9)v9(9) COMP-3. + 01 FELD5b PIC 9(18) COMP-3. + 01 FELD6 PIC 9(8)v9(20) COMP-3. + 01 FELD6b PIC s9(8)9(20) COMP-3. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + MOVE 0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 1 " FIELD. + + MOVE 0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 2 " FIELD. + + MOVE -0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 3 " FIELD. + + MOVE -0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 4 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 5 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 6 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 7 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 8 " FIELD. + + MOVE 0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 9 " FELD2. + + MOVE 0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 10 " FELD2. + + MOVE -0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 11 " FELD2. + + MOVE -0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 12 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 13 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 14 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 15 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 16 " FELD2. + + MOVE 0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 17 " FELD3. + + MOVE 0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 18 " FELD3. + + * unsigned, so ends as 0.2 + MOVE -0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 19 " FELD3. + + * unsigned, so ends as 0.2 - 1 -> -0.8 -> 0.8 + MOVE -0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 20 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 21 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 22 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 23 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 24 " FELD3. + + MOVE 2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 25 " FELD4. + + MOVE 2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 26 " FELD4. + + MOVE -2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 27 " FELD4. + + MOVE -2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 28 " FELD4. + + MOVE -2 TO FELD4b + ADD -1 TO FELD4b + IF FELD4b NOT = -3 + DISPLAY "Test 28b " FELD4b. + + MOVE 2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 29 " FELD4. + + MOVE 2 TO FELD4b + SUBTRACT 1 FROM FELD4b + IF FELD4b NOT = 1 + DISPLAY "Test 29b " FELD4b. + + MOVE 2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 30 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 31 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 32 " FELD4. + + MOVE 1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 33 " FELD4. + + MOVE 1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 34 " FELD4. + + MOVE -1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 35 " FELD4. + + MOVE -1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 36 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 37 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 38 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 39 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 40 " FELD4. + + *> test with 18 digits (last implied zero by field) + *> -> maximum cob_u64_t for separate code branch + MOVE 123456789.01234567 TO FELD5 + ADD 2 TO FELD5 + IF FELD5 NOT = 123456791.01234567 + DISPLAY "Test 41 ADD " FELD5. + MOVE 123456789.01234567 TO FELD5 + SUBTRACT -2 FROM FELD5 + IF FELD5 NOT = 123456791.01234567 + DISPLAY "Test 41 SUBTRACT " FELD5. + + *> now testing optimized functions (only used for non-scaled) + MOVE 12345678901234567 TO FELD5b + ADD 18518518351851850 TO FELD5b + IF FELD5b NOT = 30864197253086417 + DISPLAY "Test 41b ADD " FELD5b. + MOVE 30864197253086417 TO FELD5b + SUBTRACT 18518518351851850 FROM FELD5b + IF FELD5b NOT = 12345678901234567 + DISPLAY "Test 41b SUBTRACT " FELD5b. + + *> tests with more than 19 digits for separate code branch + *> -> last 8 digits with implied zero by field + MOVE 12345678.123456901234 TO FELD6 + ADD -2.1 TO FELD6 + IF FELD6 NOT = 12345676.023456901234 + DISPLAY "Test 42 ADD " FELD6. + MOVE 12345678.123456901234 TO FELD6 + SUBTRACT 2.1 FROM FELD6 + IF FELD6 NOT = 12345676.023456901234 + DISPLAY "Test 42 SUBTRACT " FELD6. + + *> -> first 8 digits with implied zero by field, + *> last 4 digits truncated + MOVE .123456789012345678901234 TO FELD6 + ADD 1.8 TO FELD6 + IF FELD6 NOT = 1.9234567890123456789 + DISPLAY "Test 43 " FELD6. + + *> now testing optimized functions (only used for non-scaled) + MOVE 7123456789012345670 TO FELD6b + ADD 1800000000000000000 TO FELD6b + IF FELD6b NOT = 8923456789012345670 + DISPLAY "Test 43b ADD " FELD6b. + IF FELD6b = -8923456789012345670 + DISPLAY "Test 43b2 ADD " FELD6b. + MULTIPLY FELD6b BY -1 GIVING FELD6b + IF FELD6b NOT = -8923456789012345670 + DISPLAY "Test 43c NEGATIVE " FELD6b. + IF FELD6b = 8923456789012345670 + DISPLAY "Test 43c2 NEGATIVE " FELD6b. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5669: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:5669" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:5669" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5670: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5670" +( $at_check_trace; $COBCRUN_DIRECT ./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:5670" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5675' \ + "Numeric operations (4) BINARY" " " 4 +at_xfail=no +( + printf "%s\n" "583. $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. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + MOVE 0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 1 " FIELD. + + MOVE 0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 2 " FIELD. + + MOVE -0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 3 " FIELD. + + MOVE -0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 4 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 5 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 6 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 7 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 8 " FIELD. + + MOVE 0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 9 " FELD2. + + MOVE 0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 10 " FELD2. + + MOVE -0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 11 " FELD2. + + MOVE -0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 12 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 13 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 14 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 15 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 16 " FELD2. + + MOVE 0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 17 " FELD3. + + MOVE 0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 18 " FELD3. + + MOVE -0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 19 " FELD3. + + MOVE -0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 20 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 21 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 22 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 23 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 24 " FELD3. + + MOVE 2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 25 " FELD4. + + MOVE 2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 26 " FELD4. + + MOVE -2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 27 " FELD4. + + MOVE -2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 28 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 29 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 30 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 31 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 32 " FELD4. + + MOVE 1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 33 " FELD4. + + MOVE 1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 34 " FELD4. + + MOVE -1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 35 " FELD4. + + MOVE -1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 36 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 37 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 38 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 39 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 40 " FELD4. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5904: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:5904" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:5904" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:5905: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:5905" +( $at_check_trace; $COBCRUN_DIRECT ./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:5905" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:5910' \ + "Numeric operations (5) COMP-5" " " 4 +at_xfail=no +( + printf "%s\n" "584. $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. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + MOVE 0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 1 " FIELD. + + MOVE 0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 2 " FIELD. + + MOVE -0.2 TO FIELD + ADD 1 TO FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 3 " FIELD. + + MOVE -0.2 TO FIELD + ADD -1 TO FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 4 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -0.8 + DISPLAY "Test 5 " FIELD. + + MOVE 0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 1.2 + DISPLAY "Test 6 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT 1 FROM FIELD + IF FIELD NOT = -1.2 + DISPLAY "Test 7 " FIELD. + + MOVE -0.2 TO FIELD + SUBTRACT -1 FROM FIELD + IF FIELD NOT = 0.8 + DISPLAY "Test 8 " FIELD. + + MOVE 0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 9 " FELD2. + + MOVE 0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 10 " FELD2. + + MOVE -0.2 TO FELD2 + ADD 1 TO FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 11 " FELD2. + + MOVE -0.2 TO FELD2 + ADD -1 TO FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 12 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -0.8 + DISPLAY "Test 13 " FELD2. + + MOVE 0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 1.2 + DISPLAY "Test 14 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT 1 FROM FELD2 + IF FELD2 NOT = -1.2 + DISPLAY "Test 15 " FELD2. + + MOVE -0.2 TO FELD2 + SUBTRACT -1 FROM FELD2 + IF FELD2 NOT = 0.8 + DISPLAY "Test 16 " FELD2. + + MOVE 0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 17 " FELD3. + + MOVE 0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 18 " FELD3. + + MOVE -0.2 TO FELD3 + ADD 1 TO FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 19 " FELD3. + + MOVE -0.2 TO FELD3 + ADD -1 TO FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 20 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 21 " FELD3. + + MOVE 0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 22 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT 1 FROM FELD3 + IF FELD3 NOT = 0.8 + DISPLAY "Test 23 " FELD3. + + MOVE -0.2 TO FELD3 + SUBTRACT -1 FROM FELD3 + IF FELD3 NOT = 1.2 + DISPLAY "Test 24 " FELD3. + + MOVE 2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 25 " FELD4. + + MOVE 2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 26 " FELD4. + + MOVE -2 TO FELD4 + ADD 1 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 27 " FELD4. + + MOVE -2 TO FELD4 + ADD -1 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 28 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 29 " FELD4. + + MOVE 2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 30 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT 1 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 31 " FELD4. + + MOVE -2 TO FELD4 + SUBTRACT -1 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 32 " FELD4. + + MOVE 1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 33 " FELD4. + + MOVE 1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 34 " FELD4. + + MOVE -1 TO FELD4 + ADD 2 TO FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 35 " FELD4. + + MOVE -1 TO FELD4 + ADD -2 TO FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 36 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -1 + DISPLAY "Test 37 " FELD4. + + MOVE 1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 3 + DISPLAY "Test 38 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT 2 FROM FELD4 + IF FELD4 NOT = -3 + DISPLAY "Test 39 " FELD4. + + MOVE -1 TO FELD4 + SUBTRACT -2 FROM FELD4 + IF FELD4 NOT = 1 + DISPLAY "Test 40 " FELD4. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6139: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:6139" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:6139" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6140: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6140" +( $at_check_trace; $COBCRUN_DIRECT ./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:6140" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6145' \ + "Numeric operations (6)" " " 4 +at_xfail=no +( + printf "%s\n" "585. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 + IF P-FIELD1 NOT = 5000 + DISPLAY "Error: Add 5 to PIC 99PPP.". + CALL "dump" USING P-FIELD1. + + ADD 5000 TO P-FIELD1 + IF P-FIELD1 NOT = 10000 + DISPLAY "Error: Add 5000 to PIC 99PPP.". + CALL "dump" USING P-FIELD1. + + MOVE 0.00055 TO P-FIELD2 + ADD 0.00033 TO P-FIELD2 + IF P-FIELD2 NOT = 0.00088 + DISPLAY "Error: Add 0.00033 to PIC PPP99.". + CALL "dump" USING P-FIELD2. + + MOVE 0.00055 TO P-FIELD2 + ADD 0.00300 TO P-FIELD2 + IF P-FIELD2 NOT = 0.00055 + DISPLAY "Error: Add 0.00300 to PIC PPP99.". + CALL "dump" USING P-FIELD2. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6198: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_fundamental.at:6198" +( $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:6198" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6199: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6199" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6199" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6200: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6200" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "05108855" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:6200" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6205' \ + "Numeric operations (7)" " " 4 +at_xfail=no +( + printf "%s\n" "586. $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. + + 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. + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6489: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6489" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6489" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6490: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6490" +( $at_check_trace; $COBCRUN_DIRECT ./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:6490" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6495' \ + "Numeric operations (8)" " " 4 +at_xfail=no +( + printf "%s\n" "587. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6535: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6535" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:6535" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6538: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6538" +( $at_check_trace; $COBCRUN_DIRECT ./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:6538" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6545' \ + "ADD CORRESPONDING" " " 4 +at_xfail=no +( + printf "%s\n" "588. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6587: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6587" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6587" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6588: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6588" +( $at_check_trace; $COBCRUN_DIRECT ./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:6588" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6593' \ + "ADD CORRESPONDING no match" " " 4 +at_xfail=no +( + printf "%s\n" "589. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6635: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6635" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:6635" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6638: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6638" +( $at_check_trace; $COBCRUN_DIRECT ./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:6638" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6643' \ + "SYNC in OCCURS" " " 4 +at_xfail=no +( + printf "%s\n" "590. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6675: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6675" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6675" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6676: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6676" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:6676" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6683' \ + "88 level with THRU" " " 4 +at_xfail=no +( + printf "%s\n" "591. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR-X PIC X VALUE SPACE. + 88 X VALUE "X". + 88 T-Y VALUE "T" THRU "Y". + 01 VAR-9 PIC 9 VALUE ZERO. + 88 V9 VALUE 9. + 88 V2-4 VALUE 2 THRU 4. + PROCEDURE DIVISION. + IF X + DISPLAY "NOT OK '" VAR-X "' IS X" + END-DISPLAY + END-IF + SET X TO TRUE + IF NOT X + DISPLAY "NOT OK '" VAR-X "' IS NOT X" + END-DISPLAY + END-IF + IF NOT T-Y + DISPLAY "NOT OK '" VAR-X "' IS NOT T-Y" + END-DISPLAY + END-IF + SET T-Y TO TRUE + IF NOT T-Y + DISPLAY "NOT OK '" VAR-X "' IS NOT T-Y" + END-DISPLAY + END-IF + MOVE 'Y' TO VAR-X + IF NOT T-Y + DISPLAY "NOT OK '" VAR-X "' IS NOT T-Y" + END-DISPLAY + END-IF + MOVE 'Z' TO VAR-X + IF T-Y + DISPLAY "NOT OK '" VAR-X "' IS T-Y" + END-DISPLAY + END-IF + MOVE 'A' TO VAR-X + IF T-Y + DISPLAY "NOT OK '" VAR-X "' IS T-Y" + END-DISPLAY + END-IF + IF V9 + DISPLAY "NOT OK '" VAR-9 "' IS V9" + END-DISPLAY + END-IF + SET V9 TO TRUE + IF NOT V9 + DISPLAY "NOT OK '" VAR-9 "' IS NOT V9" + END-DISPLAY + END-IF + SET V2-4 TO TRUE + IF V9 + DISPLAY "NOT OK '" VAR-9 "' IS V9" + END-DISPLAY + END-IF + IF NOT V2-4 + DISPLAY "NOT OK '" VAR-9 "' IS NOT V2-4" + END-DISPLAY + END-IF + MOVE 3 TO VAR-9 + IF NOT V2-4 + DISPLAY "NOT OK '" VAR-9 "' IS NOT V2-4" + END-DISPLAY + END-IF + MOVE 4 TO VAR-9 + IF NOT V2-4 + DISPLAY "NOT OK '" VAR-9 "' IS NOT V2-4" + END-DISPLAY + END-IF + MOVE 5 TO VAR-9 + IF V2-4 + DISPLAY "NOT OK '" VAR-9 "' IS V2-4" + END-DISPLAY + END-IF + MOVE 1 TO VAR-9 + IF V2-4 + DISPLAY "NOT OK '" VAR-9 "' IS V2-4" + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6772: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6772" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6772" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6773: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6773" +( $at_check_trace; $COBCRUN_DIRECT ./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:6773" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6778' \ + "88 level with FILLER" " " 4 +at_xfail=no +( + printf "%s\n" "592. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6801: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6801" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6801" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6802: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6802" +( $at_check_trace; $COBCRUN_DIRECT ./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:6802" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6807' \ + "88 level with FALSE IS clause" " " 4 +at_xfail=no +( + printf "%s\n" "593. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:6829: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6829" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6829" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6830: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6830" +( $at_check_trace; $COBCRUN_DIRECT ./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:6830" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6835' \ + "BLANK WHEN ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "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 9, BLANK WHEN ZERO, VALUE 1. + + PROCEDURE DIVISION. + DISPLAY x + MOVE 0 TO x + DISPLAY FUNCTION TRIM(x) + MOVE ZERO TO x + DISPLAY FUNCTION TRIM(x) + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6855: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6855" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6855" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6856: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6856" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1 + + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:6856" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6865' \ + "MULTIPLY BY literal in INITIAL program" " " 4 +at_xfail=no +( + printf "%s\n" "595. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog INITIAL. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 9(4) VALUE 5. + 01 result PIC 9(4). + 01 ws-temp PIC 9(8)V99. + 01 ws-temp2 PIC 9(3)V99 VALUE 10.50. + PROCEDURE DIVISION. + MULTIPLY num BY 4 GIVING result + MOVE 1.10 TO WS-TEMP. + MULTIPLY WS-TEMP2 BY WS-TEMP GIVING WS-TEMP. + *> + IF result NOT = 20 DISPLAY 'Bad integer: ' result. + IF WS-TEMP NOT = 11.55 DISPLAY 'Bad decimal: ' ws-temp. + *> + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6888: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:6888" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6888" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:6889: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:6889" +( $at_check_trace; $COBCRUN_DIRECT ./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:6889" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:6894' \ + "DIVIDE complex" " " 4 +at_xfail=no +( + printf "%s\n" "596. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DivideExtent. + DATA DIVISION. + *>---------------------------------------------------------------- + *> Cover the cob_div_quotient c FUNCTION + *> and complete all divide_statement parser rules + *>---------------------------------------------------------------- + WORKING-STORAGE SECTION. + 01 W01-DIVIDES. + 05 RES-TAB PIC S9(09) BINARY OCCURS 3. + *> + PROCEDURE DIVISION. + *>------------------ + TEST-FORMAT-1. + *>------------- + *> DIVIDE Format 1 DIVIDE INTO + *> case 1 : should not size error + MOVE 100 TO RES-TAB(1). + MOVE 200 TO RES-TAB(2). + MOVE 300 TO RES-TAB(3). + DIVIDE 100 INTO + RES-TAB(1) + RES-TAB(2) + RES-TAB(3) + ON SIZE ERROR + DISPLAY '1: Should not raised size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 1 + OR RES-TAB(2) NOT = 2 + OR RES-TAB(3) NOT = 3 + DISPLAY 'F1.1: result <' RES-TAB(1) '> <' RES-TAB(2) '> <' + RES-TAB(3) '> should be 1 2 3'. + *> case 2 : should size error + MOVE 0 TO RES-TAB(1). + MOVE 100 TO RES-TAB(2). + MOVE 200 TO RES-TAB(3). + DIVIDE RES-TAB(1) INTO + RES-TAB(2) + RES-TAB(3) + NOT ON SIZE ERROR + DISPLAY 'F1.2: Should raise size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 0 + OR RES-TAB(2) NOT = 100 + OR RES-TAB(3) NOT = 200 + DISPLAY 'F1.2: result <' RES-TAB(1) '> <' RES-TAB(2) '> <' + RES-TAB(3) '> should be 0 100 200'. + *> case 3 : not rounded + MOVE 100 TO RES-TAB(1). + DIVIDE 2.19 INTO RES-TAB(1) + ON SIZE ERROR + DISPLAY 'F1.3: Should not raise size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 45 + DISPLAY 'F1.3: result <' RES-TAB(1) '> should be 45'. + *> case 4 : rounded + MOVE 100 TO RES-TAB(1). + DIVIDE 2.19 INTO RES-TAB(1) ROUNDED + ON SIZE ERROR + DISPLAY 'F1.4: Should not raise size error' + END-DIVIDE. + * + IF RES-TAB(1) NOT = 46 + DISPLAY 'F1.4: result <' RES-TAB(1) '> should be 46'. + *> + TEST-FORMAT-2. + *>------------- + *> DIVIDE Format 2: + *> DIVIDE STATEMENT WITH INTO AND GIVING PHRASE + DIVIDE 10.2 INTO 100 GIVING RES-TAB(1) + ON SIZE ERROR + DISPLAY 'F2.1: Should not raised size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 9 + DISPLAY 'F2.1: result <' RES-TAB(1) '> should be 9'. + DIVIDE 10.5 INTO 100 GIVING RES-TAB(1) ROUNDED + ON SIZE ERROR + DISPLAY 'F2.2: Should not raise size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 10 + DISPLAY 'F2.2: result <' RES-TAB(1) '> should be 10'. + DIVIDE 10.6 INTO 100 GIVING RES-TAB(1) ROUNDED + ON SIZE ERROR + DISPLAY 'F2.3: Should not raise size error' + END-DIVIDE. + IF RES-TAB(1) NOT = 9 + DISPLAY 'F2.3: result <' RES-TAB(1) '> should be 9'. + *> + TEST-FORMAT-4. + *>------------- + *> DIVIDE Format 4: + *> DIVIDE STATEMENT WITH INTO AND REMAINDER PHRASE + DIVIDE 2 INTO 100 GIVING RES-TAB(1) REMAINDER RES-TAB(2). + IF RES-TAB(1) NOT = 50 OR RES-TAB(2) NOT = 0 + DISPLAY 'F4.1: result <' RES-TAB(1) '> <' RES-TAB(2) + '> should be <50> <0>'. + DIVIDE 3 INTO 100 GIVING RES-TAB(1) REMAINDER RES-TAB(2). + IF RES-TAB(1) NOT = 33 OR RES-TAB(2) NOT = 1 + DISPLAY 'F4.1: result <' RES-TAB(1) '> <' RES-TAB(2) + '> should be <33> <1>'. + MOVE 0 TO RES-TAB(1) RES-TAB(2) RES-TAB(3). + DIVIDE RES-TAB(1) INTO 100 + GIVING RES-TAB(2) + REMAINDER RES-TAB(3) + NOT ON SIZE ERROR + DISPLAY 'F4.3: Should raised size error' + END-DIVIDE. + *> + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7009: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7009" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7009" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7010: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7010" +( $at_check_trace; $COBCRUN_DIRECT ./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:7010" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7015' \ + "COMPUTE with decimal constants" " " 4 +at_xfail=no +( + printf "%s\n" "597. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see bug #798, GC 2.2 may change the precision of decimal contants + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 CNT PIC 99 VALUE ZERO. + 77 CALCER PIC s99v99. + 01 DUMMY-RES PIC 99. + *> + PROCEDURE DIVISION. + *> variable setting postponed here to work around "easy" + *> optimization to constant + MOVE 3.5 TO CALCER + PERFORM 42 TIMES + ADD 1 TO CNT + >>D DISPLAY CNT + *> directly returns: + *> COMPUTE DUMMY-RES = 2 * (CALCER + 2) + 2 + *> performs "felt as forever": + COMPUTE DUMMY-RES = (CALCER + 2) * 2 + 2 + END-PERFORM + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7045: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7045" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7045" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7046: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7046" +( $at_check_trace; $COBCRUN_DIRECT ./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:7046" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7051' \ + "decimal constant with multiple programs" " " 4 +at_xfail=no +( + printf "%s\n" "598. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see bug #923, generated modules init/clear unused decimal constants + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + *> to ensure we don't optimize that away: EXTERNAL + 01 X PIC 9(2) EXTERNAL. + PROCEDURE DIVISION. + CALL "prog2" + IF X NOT NUMERIC + MOVE ZERO TO X. + IF X + 42 = 0 + DISPLAY "BAD". + STOP RUN. + END PROGRAM prog. + + PROGRAM-ID. prog2 INITIAL. + PROCEDURE DIVISION. + EXIT PROGRAM. + END PROGRAM prog2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7078: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7078" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7078" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7079: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7079" +( $at_check_trace; $COBCRUN_DIRECT ./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:7079" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7084' \ + "debugging lines (not active)" " " 4 +at_xfail=no +( + printf "%s\n" "599. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:7100: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7100" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7100" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7101: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7101" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7101" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7107' \ + "debugging lines (-fdebugging-line)" " " 4 +at_xfail=no +( + printf "%s\n" "600. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:7123: \$COMPILE -fdebugging-line prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdebugging-line prog.cob" "run_fundamental.at:7123" +( $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_fundamental.at:7123" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7124: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7124" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKKO" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7124" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7130' \ + "debugging lines (WITH DEBUGGING MODE)" " " 4 +at_xfail=no +( + printf "%s\n" "601. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:7149: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7149" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7149" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7150: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7150" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "KOOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7150" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7156' \ + "debugging lines, free format (not active)" " " 4 +at_xfail=no +( + printf "%s\n" "602. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:7172: \$COMPILE -free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -free prog.cob" "run_fundamental.at:7172" +( $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_fundamental.at:7172" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7173: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7173" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7173" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7179' \ + "debugging lines, free format (-fdebugging-line)" "" 4 +at_xfail=no +( + printf "%s\n" "603. $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 +printf "%s\n" "$at_srcdir/run_fundamental.at:7195: \$COMPILE -free -fdebugging-line prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -free -fdebugging-line prog.cob" "run_fundamental.at:7195" +( $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_fundamental.at:7195" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7196: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7196" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKKO" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7202' \ + "USE FOR DEBUGGING (no DEBUGGING MODE)" " " 4 +at_xfail=no +( + printf "%s\n" "604. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. USE FOR DEBUGGING ON ALL PROCEDURES. + DISPLAY DEBUG-ITEM END-DISPLAY. + END DECLARATIVES. + FIRST-PAR. + DISPLAY "OK1" END-DISPLAY. + GO TO SECOND-PAR. + SECOND-PAR. + DISPLAY "OK2" END-DISPLAY. + THIRD-PAR. + DISPLAY "OK3" END-DISPLAY. + PERFORM FIRST-PAR THRU SECOND-PAR. + DISPLAY "OK4" END-DISPLAY. + PERFORM SECOND-PAR. + DISPLAY "OK5" END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7232: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7232" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7232" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7233: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7233" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" "OK1 +OK2 +OK3 +OK1 +OK2 +OK4 +OK2 +OK5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7233" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7247' \ + "USE FOR DEBUGGING (COB_SET_DEBUG deactivated)" " " 4 +at_xfail=no +( + printf "%s\n" "605. $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. + DECLARATIVES. + TEST-DEBUG SECTION. USE FOR DEBUGGING ON ALL PROCEDURES. + DISPLAY DEBUG-ITEM END-DISPLAY. + END DECLARATIVES. + FIRST-PAR. + DISPLAY "OK1" END-DISPLAY. + GO TO SECOND-PAR. + SECOND-PAR. + DISPLAY "OK2" END-DISPLAY. + THIRD-PAR. + DISPLAY "OK3" END-DISPLAY. + PERFORM FIRST-PAR THRU SECOND-PAR. + DISPLAY "OK4" END-DISPLAY. + PERFORM SECOND-PAR. + DISPLAY "OK5" END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7277: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7277" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7277" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7278: COB_SET_DEBUG=0 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=0 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7278" +( $at_check_trace; COB_SET_DEBUG=0 $COBCRUN_DIRECT ./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"; printf "%s\n" "OK1 +OK2 +OK3 +OK1 +OK2 +OK4 +OK2 +OK5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7278" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7292' \ + "USE FOR DEBUGGING ON ALL PROCEDURES" " " 4 +at_xfail=no +( + printf "%s\n" "606. $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. + DECLARATIVES. + TEST-DEBUG SECTION. USE FOR DEBUGGING ON ALL PROCEDURES. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + FIRST-PAR. + DISPLAY "OK1" END-DISPLAY. + GO TO SECOND-PAR. + SECOND-PAR. + DISPLAY "OK2" END-DISPLAY. + THIRD-PAR. + DISPLAY "OK3" END-DISPLAY. + PERFORM FIRST-PAR THRU SECOND-PAR. + DISPLAY "OK4" END-DISPLAY. + PERFORM SECOND-PAR. + DISPLAY "OK5" END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7322: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7322" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7322" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7323: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7323" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " FIRST-PAR START PROGRAM | +OK1 + 16 SECOND-PAR | +OK2 + 18 THIRD-PAR FALL THROUGH | +OK3 + 21 FIRST-PAR PERFORM LOOP | +OK1 + 16 SECOND-PAR | +OK2 +OK4 + 23 SECOND-PAR PERFORM LOOP | +OK2 +OK5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7323" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7343' \ + "USE FOR DEBUGGING ON procedure" " " 4 +at_xfail=no +( + printf "%s\n" "607. $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. + DECLARATIVES. + TEST-DEBUG SECTION. USE FOR DEBUGGING ON SECOND-PAR. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + FIRST-PAR. + DISPLAY "OK1" END-DISPLAY. + GO TO SECOND-PAR. + SECOND-PAR. + DISPLAY "OK2" END-DISPLAY. + THIRD-PAR. + DISPLAY "OK3" END-DISPLAY. + PERFORM FIRST-PAR THRU SECOND-PAR. + DISPLAY "OK4" END-DISPLAY. + PERFORM SECOND-PAR. + DISPLAY "OK5" END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7373: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7373" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7373" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7374: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7374" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" "OK1 + 16 SECOND-PAR | +OK2 +OK3 +OK1 + 16 SECOND-PAR | +OK2 +OK4 + 23 SECOND-PAR PERFORM LOOP | +OK2 +OK5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7374" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7391' \ + "USE FOR DEBUGGING (COB_SET_DEBUG switched)" " " 4 +at_xfail=no +( + printf "%s\n" "608. $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. + DECLARATIVES. + TEST-DEBUG SECTION. USE FOR DEBUGGING ON ALL PROCEDURES. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + FIRST-PAR. + SET ENVIRONMENT "COB_SET_DEBUG" TO "false" + DISPLAY "OK1" END-DISPLAY. + GO TO SECOND-PAR. + SECOND-PAR. + DISPLAY "OK2" END-DISPLAY. + THIRD-PAR. + DISPLAY "OK3" END-DISPLAY. + PERFORM FIRST-PAR THRU SECOND-PAR. + DISPLAY "OK4" END-DISPLAY. + SET ENVIRONMENT "COB_SET_DEBUG" TO "Y" + PERFORM SECOND-PAR. + DISPLAY "OK5" END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7423: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7423" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7423" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7424: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7424" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " FIRST-PAR START PROGRAM | +OK1 +OK2 +OK3 +OK1 +OK2 +OK4 + 25 SECOND-PAR PERFORM LOOP | +OK2 +OK5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7424" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7440' \ + "USE FOR DEBUGGING ON [ALL] REFERENCES OF field" " " 4 +at_xfail=no +( + printf "%s\n" "609. $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. + 01 MY-DATA-FIELDS. + 02 MY-DATA-FIELD-1 PIC 9 VALUE 1. + 02 MDF. + 03 MDF-TOO-LONG-NAMES. + 05 MY-DATA-FIELD-2 PIC 9 VALUE 4. + 05 MY-DATA-FIELD-3 REDEFINES MY-DATA-FIELD-2 PIC X. + 01 MY-DATA-FIELD-B PIC X(40) VALUE "ABCD". + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF MY-DATA-FIELD-1 + ALL MY-DATA-FIELD-2 + MY-DATA-FIELD-3 MY-DATA-FIELD-B. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + INIT-PAR. + MOVE 6 TO MY-DATA-FIELD-2. + FIRST-PAR. + PERFORM VARYING MY-DATA-FIELD-1 FROM 1 BY 1 + UNTIL MY-DATA-FIELD-1 > MY-DATA-FIELD-2 + *> empty by design + END-PERFORM. + END-PAR. + MOVE "99" TO MY-DATA-FIELD-B. + MOVE MY-DATA-FIELD-B TO MY-DATA-FIELDS. + MOVE "X" TO MY-DATA-FIELD-3 + OF MDF + OF MY-DATA-FIELDS. + MOVE "-" TO MY-DATA-FIELD-3 + OF MDF-TOO-LONG-NAMES + OF MDF + OF MY-DATA-FIELDS. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7486: \$COMPILE -fmissing-statement=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fmissing-statement=ok prog.cob" "run_fundamental.at:7486" +( $at_check_trace; $COMPILE -fmissing-statement=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_fundamental.at:7486" +$at_failed && at_fn_log_failure +$at_traceon; } + +# TODO: validate against other compilers, especially the line 30; +# likely the second line should be 25 instead of 24: +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7489: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7489" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 25 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 1 | + 27 MY-DATA-FIELD-1 1 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 2 | + 27 MY-DATA-FIELD-1 2 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 3 | + 27 MY-DATA-FIELD-1 3 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 4 | + 27 MY-DATA-FIELD-1 4 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 5 | + 27 MY-DATA-FIELD-1 5 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 6 | + 27 MY-DATA-FIELD-1 6 | + 27 MY-DATA-FIELD-2 6 | + 27 MY-DATA-FIELD-1 7 | + 27 MY-DATA-FIELD-1 7 | + 27 MY-DATA-FIELD-2 6 | + 32 MY-DATA-FIELD-B 99 | + 34 MY-DATA-FIELD-3 OF MDF OF MY-D X | + 37 MY-DATA-FIELD-3 OF MDF-TOO-LON - | +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7489" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7520' \ + "USE FOR DEBUGGING, reference within DEBUGGING" " " 4 +at_xfail=no +( + printf "%s\n" "610. $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. + 01 DATA-FIELD PIC X(40) VALUE "ABCD". + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF DATA-FIELD. + DISPLAY DEBUG-ITEM "|". + MOVE "ABCD" TO DATA-FIELD. + DISPLAY DEBUG-ITEM "|". + END DECLARATIVES. + SOME-PAR. + MOVE QUOTE TO DATA-FIELD. + IF DATA-FIELD = QUOTE DISPLAY "NO DEBUG" STOP RUN. + DISPLAY "DEBUG". + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7546: \$COMPILE -Wno-terminator prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-terminator prog.cob" "run_fundamental.at:7546" +( $at_check_trace; $COMPILE -Wno-terminator prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7546" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7547: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7547" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 19 DATA-FIELD \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"| + 19 DATA-FIELD \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"| + 20 DATA-FIELD ABCD | + 20 DATA-FIELD ABCD | +DEBUG +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7547" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7554: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7554" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "NO DEBUG +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7554" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7561' \ + "USE FOR DEBUGGING, time of execution" " " 4 +at_xfail=yes +( + printf "%s\n" "611. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: the debugging procedure is executed after the statement, +# which is generally fine, but not for "nested" statements +# where DEBUG-ITEM contains wrong data and the +# debugging procedure is called too late + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. mine WITH DEBUGGING MODE. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DATA-FIELD PIC X(40) VALUE "ABCD". + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF DATA-FIELD. + DISPLAY DEBUG-ITEM "|". + MOVE "ABCD" TO DATA-FIELD. + END DECLARATIVES. + SOME-PAR. + MOVE QUOTE TO DATA-FIELD. + IF DATA-FIELD = QUOTE + DISPLAY "NO DEBUG" + ELSE + DISPLAY "DEBUG" + MOVE SPACES TO DATA-FIELD + CALL "NOTHERE" USING DATA-FIELD + ON OVERFLOW + DISPLAY "THIS IS FINE". + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7598: \$COMPILE -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "run_fundamental.at:7598" +( $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/run_fundamental.at:7598" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7599: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7599" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 18 DATA-FIELD \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"| + 19 DATA-FIELD ABCD | +DEBUG + 23 DATA-FIELD | + 24 DATA-FIELD ABCD | +THIS IS FINE +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7599" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7611' \ + "USE FOR DEBUGGING, reference with OCCURS" " " 4 +at_xfail=no +( + printf "%s\n" "612. $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. + 01 FILLER. + 02 FILLER OCCURS 10. + 03 FILLER OCCURS 5. + 04 DATA-FIELD PIC X(40) VALUE "ABCD" OCCURS 2. + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF DATA-FIELD. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + SOME-PAR. + MOVE QUOTE TO DATA-FIELD (4, 2, 1). + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7636: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7636" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7636" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7637: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7637" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 20 DATA-FIELD +0004 +0002 +0001 \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"| +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7637" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7644' \ + "USE FOR DEBUGGING, referencing BASED item" " " 4 +at_xfail=no +( + printf "%s\n" "613. $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. + 01 DATA-FIELD PIC X(40) VALUE "ABCD" BASED. + 77 PTR USAGE POINTER VALUE NULL. + 01 DATA-FIELD3 PIC X(13) VALUE "42" BASED. + LINKAGE SECTION. + 01 DATA-FIELD2 PIC X(10) VALUE "DEF". + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON ALL REFERENCES OF DATA-FIELD + ALL REFERENCES OF DATA-FIELD2 + DATA-FIELD3. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + SOME-PAR. + ALLOCATE -20 CHARACTERS RETURNING PTR + SET ADDRESS OF DATA-FIELD TO PTR *> first expected output -> is NULL + ALLOCATE DATA-FIELD INITIALIZED *> output with data as specified + FREE DATA-FIELD *> No data any more + ALLOCATE DATA-FIELD2 INITIALIZED *> DO-CHECK MF extension - otherwise identical + SET PTR TO ADDRESS OF DATA-FIELD2 + FREE PTR + SET ADDRESS OF DATA-FIELD2 TO NULL + ALLOCATE DATA-FIELD3 INITIALIZED + SET PTR TO ADDRESS OF DATA-FIELD3 *> only read, no output expected + FREE DATA-FIELD3 + STOP RUN. +_ATEOF + +# relaxed syntax is needed as the standard allows only to ALLOCATE BASED items +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7683: \$COMPILE -frelax-syntax-checks prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob" "run_fundamental.at:7683" +( $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_fundamental.at:7683" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7684: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:7684" +( $at_check_trace; $COBCRUN_DIRECT ./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:7684" +$at_failed && at_fn_log_failure +$at_traceon; } + # not active -> no displays +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7685: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7685" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 24 DATA-FIELD | + 25 DATA-FIELD ABCD | + 26 DATA-FIELD | + 27 DATA-FIELD2 DEF | + 28 DATA-FIELD2 DEF | + 30 DATA-FIELD2 | + 31 DATA-FIELD3 42 | + 33 DATA-FIELD3 | +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7685" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7699' \ + "USE FOR DEBUGGING file" " " 4 +at_xfail=no +( + printf "%s\n" "614. $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. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE ASSIGN "./TEST-FILE". + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(40). + PROCEDURE DIVISION. + DECLARATIVES. + TEST-DEBUG SECTION. + USE FOR DEBUGGING ON TEST-FILE. + DISPLAY DEBUG-ITEM "|" END-DISPLAY. + END DECLARATIVES. + SOME-PAR. + OPEN OUTPUT TEST-FILE. + WRITE TEST-REC FROM "DEF". + CLOSE TEST-FILE. + OPEN INPUT TEST-FILE. + READ TEST-FILE. + CLOSE TEST-FILE. + STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7730: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:7730" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7730" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:7731: COB_SET_DEBUG=1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SET_DEBUG=1 $COBCRUN_DIRECT ./prog" "run_fundamental.at:7731" +( $at_check_trace; COB_SET_DEBUG=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " 21 TEST-FILE | + 23 TEST-FILE | + 24 TEST-FILE | + 25 TEST-FILE DEF | + 26 TEST-FILE | +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:7731" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:7742' \ + "Simple Expressions with figurative constants" " " 4 +at_xfail=no +( + printf "%s\n" "615. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + ****************************************************************** + WORKING-STORAGE SECTION. + 01 FLDX PIC X VALUE 'X'. + 01 FLDXX PIC XX VALUE SPACES. + 01 FLDX50 PIC X(50) VALUE 'X50'. + 01 FLDX500 PIC X(500) VALUE 'X500'. + 01 FLDX32K PIC X(32000) VALUE 'X'. + 01 FLD1 PIC X VALUE '1'. + 01 FLD1X PIC X(32000) VALUE '1'. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN-LINE. + + *> Test with DISPLAY on error + PERFORM DO-CHECK + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + *> minimal side-test for performance comparisons + PERFORM DO-CHECK 20000 TIMES + >> END-IF + GOBACK. + + DO-CHECK. + *> check with 1 byte, comparison algorithm is a direct comparison + IF FLDX > SPACE CONTINUE + ELSE DISPLAY '! "X" > SPACE'. + IF FLDX < SPACE DISPLAY ' "X" < SPACE!'. + IF FLDX >= SPACE CONTINUE + ELSE DISPLAY '! "X" >= SPACE'. + IF FLDX <= SPACE DISPLAY ' "X" <= SPACE!'. + + IF SPACE < FLDX CONTINUE + ELSE DISPLAY '! SPACE < "X"'. + IF SPACE > FLDX DISPLAY ' SPACE > "X"!'. + IF SPACE <= FLDX CONTINUE + ELSE DISPLAY '! SPACE <= "X"'. + IF SPACE >= FLDX DISPLAY ' SPACE >= "X"!'. + + IF FLDX > " " CONTINUE + ELSE DISPLAY '! "X" > " "'. + IF FLDX < " " DISPLAY ' "X" < " "!'. + IF FLDX >= " " CONTINUE + ELSE DISPLAY '! "X" >= " "'. + IF FLDX <= " " DISPLAY ' "X" <= " "!'. + + IF " " < FLDX CONTINUE + ELSE DISPLAY '! " " < "X"'. + IF " " > FLDX DISPLAY ' " " > "X"!'. + IF " " <= FLDX CONTINUE + ELSE DISPLAY '! " " <= "X"'. + IF " " >= FLDX DISPLAY ' " " >= "X"!'. + + + IF FLDX > LOW-VALUE CONTINUE + ELSE DISPLAY '! "X" > LOW-VALUE'. + IF FLDX < LOW-VALUE DISPLAY ' "X" < LOW-VALUE!'. + IF FLDX >= LOW-VALUE CONTINUE + ELSE DISPLAY '! "X" >= LOW-VALUE'. + IF FLDX <= LOW-VALUE DISPLAY ' "X" <= LOW-VALUE!'. + + IF LOW-VALUE < FLDX CONTINUE + ELSE DISPLAY '! LOW-VALUE < "X"'. + IF LOW-VALUE > FLDX DISPLAY ' LOW-VALUE > "X"!'. + IF LOW-VALUE <= FLDX CONTINUE + ELSE DISPLAY '! LOW-VALUE <= "X"'. + IF LOW-VALUE >= FLDX DISPLAY ' LOW-VALUE >= "X"!'. + + IF FLDX > x"00" CONTINUE + ELSE DISPLAY '! "X" > x"00"'. + IF FLDX < x"00" DISPLAY ' "X" < x"00"!'. + IF FLDX >= x"00" CONTINUE + ELSE DISPLAY '! "X" >= x"00"'. + IF FLDX <= x"00" DISPLAY ' "X" <= x"00"!'. + + IF x"00" < FLDX CONTINUE + ELSE DISPLAY '! x"00" < "X"'. + IF x"00" > FLDX DISPLAY ' x"00" > "X"!'. + IF x"00" <= FLDX CONTINUE + ELSE DISPLAY '! x"00" <= "X"'. + IF x"00" >= FLDX DISPLAY ' x"00" >= "X"!'. + + + IF FLDX < HIGH-VALUE CONTINUE + ELSE DISPLAY '! "X" < HIGH-VALUE'. + IF FLDX > HIGH-VALUE DISPLAY ' "X" > HIGH-VALUE!'. + IF FLDX <= HIGH-VALUE CONTINUE + ELSE DISPLAY '! "X" <= HIGH-VALUE'. + IF FLDX >= HIGH-VALUE DISPLAY ' "X" >= HIGH-VALUE!'. + + IF HIGH-VALUE > FLDX CONTINUE + ELSE DISPLAY '! HIGH-VALUE > "X"'. + IF HIGH-VALUE < FLDX DISPLAY ' HIGH-VALUE < "X"!'. + IF HIGH-VALUE >= FLDX CONTINUE + ELSE DISPLAY '! HIGH-VALUE >= "X"'. + IF HIGH-VALUE <= FLDX DISPLAY ' HIGH-VALUE <= "X"!'. + + IF FLDX < x"FF" CONTINUE + ELSE DISPLAY '! "X" < x"FF"'. + IF FLDX > x"FF" DISPLAY ' "X" > x"FF"!'. + IF FLDX <= x"FF" CONTINUE + ELSE DISPLAY '! "X" <= x"FF"'. + IF FLDX >= x"FF" DISPLAY ' "X" >= x"FF"!'. + + IF x"FF" > FLDX CONTINUE + ELSE DISPLAY '! x"FF" > "X"'. + IF x"FF" < FLDX DISPLAY ' x"FF" < "X"!'. + IF x"FF" >= FLDX CONTINUE + ELSE DISPLAY '! x"FF" >= "X"'. + IF x"FF" <= FLDX DISPLAY ' x"FF" <= "X"!'. + + + IF FLD1 > ZERO CONTINUE + ELSE DISPLAY '! "1" > ZERO'. + IF FLD1 < ZERO DISPLAY ' "1" < ZERO!'. + IF FLD1 >= ZERO CONTINUE + ELSE DISPLAY '! "1" >= ZERO'. + IF FLD1 <= ZERO DISPLAY ' "1" <= ZERO!'. + + IF ZERO < FLD1 CONTINUE + ELSE DISPLAY '! ZERO < "1"'. + IF ZERO > FLD1 DISPLAY ' ZERO > "1"!'. + IF ZERO <= FLD1 CONTINUE + ELSE DISPLAY '! ZERO <= "1"'. + IF ZERO >= FLD1 DISPLAY ' ZERO >= "1"!'. + + IF FLD1 > "0" CONTINUE + ELSE DISPLAY '! "1" > "0"'. + IF FLD1 < "0" DISPLAY ' "1" < "0"!'. + IF FLD1 >= "0" CONTINUE + ELSE DISPLAY '! "1" >= "0"'. + IF FLD1 <= "0" DISPLAY ' "1" <= "0"!'. + + IF "0" < FLD1 CONTINUE + ELSE DISPLAY '! "0" < "1"'. + IF "0" > FLD1 DISPLAY ' "0" > "1"!'. + IF "0" <= FLD1 CONTINUE + ELSE DISPLAY '! "0" <= "1"'. + IF "0" >= FLD1 DISPLAY ' "0" >= "1"!'. + + *> check with many bytes, needs another comparison algorithm (function) + IF FLDX32K > SPACE CONTINUE + ELSE DISPLAY '! "X " > SPACE'. + IF FLDX32K < SPACE DISPLAY ' "X " < SPACE!'. + IF FLDX32K >= SPACE CONTINUE + ELSE DISPLAY '! "X " >= SPACE'. + IF FLDX32K <= SPACE DISPLAY ' "X " <= SPACE!'. + + IF SPACE < FLDX32K CONTINUE + ELSE DISPLAY '! SPACE < "X "'. + IF SPACE > FLDX32K DISPLAY ' SPACE > "X "!'. + IF SPACE <= FLDX32K CONTINUE + ELSE DISPLAY '! SPACE <= "X "'. + IF SPACE >= FLDX32K DISPLAY ' SPACE >= "X "!'. + + IF FLDX32K > " " CONTINUE + ELSE DISPLAY '! "X " > " "'. + IF FLDX32K < " " DISPLAY ' "X " < " "!'. + IF FLDX32K >= " " CONTINUE + ELSE DISPLAY '! "X " >= " "'. + IF FLDX32K <= " " DISPLAY ' "X " <= " "!'. + + IF " " < FLDX32K CONTINUE + ELSE DISPLAY '! " " < "X "'. + IF " " > FLDX32K DISPLAY ' " " > "X "!'. + IF " " <= FLDX32K CONTINUE + ELSE DISPLAY '! " " <= "X "'. + IF " " >= FLDX32K DISPLAY ' " " >= "X "!'. + + + IF FLDX32K > LOW-VALUE CONTINUE + ELSE DISPLAY '! "X" > LOW-VALUE'. + IF FLDX32K < LOW-VALUE DISPLAY ' "X" < LOW-VALUE!'. + IF FLDX32K >= LOW-VALUE CONTINUE + ELSE DISPLAY '! "X" >= LOW-VALUE'. + IF FLDX32K <= LOW-VALUE DISPLAY ' "X" <= LOW-VALUE!'. + + IF LOW-VALUE < FLDX32K CONTINUE + ELSE DISPLAY '! LOW-VALUE < "X"'. + IF LOW-VALUE > FLDX32K DISPLAY ' LOW-VALUE > "X"!'. + IF LOW-VALUE <= FLDX32K CONTINUE + ELSE DISPLAY '! LOW-VALUE <= "X"'. + IF LOW-VALUE >= FLDX32K DISPLAY ' LOW-VALUE >= "X"!'. + + IF FLDX32K > x"00" CONTINUE + ELSE DISPLAY '! "X " > x"00"'. + IF FLDX32K < x"00" DISPLAY ' "X " < x"00"!'. + IF FLDX32K >= x"00" CONTINUE + ELSE DISPLAY '! "X " >= x"00"'. + IF FLDX32K <= x"00" DISPLAY ' "X " <= x"00"!'. + + IF x"00" < FLDX32K CONTINUE + ELSE DISPLAY '! x"00" < "X "'. + IF x"00" > FLDX32K DISPLAY ' x"00" > "X "!'. + IF x"00" <= FLDX32K CONTINUE + ELSE DISPLAY '! x"00" <= "X "'. + IF x"00" >= FLDX32K DISPLAY ' x"00" >= "X "!'. + + + IF FLDX32K < HIGH-VALUE CONTINUE + ELSE DISPLAY '! "X " < HIGH-VALUE'. + IF FLDX32K > HIGH-VALUE DISPLAY ' "X " > HIGH-VALUE!'. + IF FLDX32K <= HIGH-VALUE CONTINUE + ELSE DISPLAY '! "X " <= HIGH-VALUE'. + IF FLDX32K >= HIGH-VALUE DISPLAY ' "X " >= HIGH-VALUE!'. + + IF HIGH-VALUE > FLDX32K CONTINUE + ELSE DISPLAY '! HIGH-VALUE > "X "'. + IF HIGH-VALUE < FLDX32K DISPLAY ' HIGH-VALUE < "X "!'. + IF HIGH-VALUE >= FLDX32K CONTINUE + ELSE DISPLAY '! HIGH-VALUE >= "X "'. + IF HIGH-VALUE <= FLDX32K DISPLAY ' HIGH-VALUE <= "X "!'. + + IF FLDX32K < x"FF" CONTINUE + ELSE DISPLAY '! "X " < x"FF"'. + IF FLDX32K > x"FF" DISPLAY ' "X " > x"FF"!'. + IF FLDX32K <= x"FF" CONTINUE + ELSE DISPLAY '! "X " <= x"FF"'. + IF FLDX32K >= x"FF" DISPLAY ' "X " >= x"FF"!'. + + IF x"FF" > FLDX32K CONTINUE + ELSE DISPLAY '! x"FF" > "X "'. + IF x"FF" < FLDX32K DISPLAY ' x"FF" < "X "!'. + IF x"FF" >= FLDX32K CONTINUE + ELSE DISPLAY '! x"FF" >= "X "'. + IF x"FF" <= FLDX32K DISPLAY ' x"FF" <= "X "!'. + + + IF FLD1X > ZERO CONTINUE + ELSE DISPLAY '! "1 " > ZERO'. + IF FLD1X < ZERO DISPLAY ' "1 " < ZERO!'. + IF FLD1X >= ZERO CONTINUE + ELSE DISPLAY '! "1 " >= ZERO'. + IF FLD1X <= ZERO DISPLAY ' "1 " <= ZERO!'. + + IF ZERO < FLD1X CONTINUE + ELSE DISPLAY '! ZERO < "1 "'. + IF ZERO > FLD1X DISPLAY ' ZERO > "1 "!'. + IF ZERO <= FLD1X CONTINUE + ELSE DISPLAY '! ZERO <= "1 "'. + IF ZERO >= FLD1X DISPLAY ' ZERO >= "1 "!'. + + IF FLD1X > "0" CONTINUE + ELSE DISPLAY '! "1 " > "0"'. + IF FLD1X < "0" DISPLAY ' "1 " < "0"!'. + IF FLD1X >= "0" CONTINUE + ELSE DISPLAY '! "1 " >= "0"'. + IF FLD1X <= "0" DISPLAY ' "1 " <= "0"!'. + + IF "0" < FLD1X CONTINUE + ELSE DISPLAY '! "0" < "1 "'. + IF "0" > FLD1X DISPLAY ' "0" > "1 "!'. + IF "0" <= FLD1X CONTINUE + ELSE DISPLAY '! "0" <= "1 "'. + IF "0" >= FLD1X DISPLAY ' "0" >= "1 "!'. + + *> special check for SPACE-optimization and extra spaces + IF FLDX500 > SPACE CONTINUE + ELSE DISPLAY '! "X5" > SPACE'. + IF FLDX500 < SPACE DISPLAY ' "X5" < SPACE!'. + IF FLDX500 >= SPACE CONTINUE + ELSE DISPLAY '! "X5" >= SPACE'. + IF FLDX500 <= SPACE DISPLAY ' "X5" <= SPACE!'. + + IF SPACE < FLDX500 CONTINUE + ELSE DISPLAY '! SPACE < "X5"'. + IF SPACE > FLDX500 DISPLAY ' SPACE > "X5"!'. + IF SPACE <= FLDX500 CONTINUE + ELSE DISPLAY '! SPACE <= "X5"'. + IF SPACE >= FLDX500 DISPLAY ' SPACE >= "X5"!'. + + MOVE SPACES TO FLDXX + IF FLDXX = " " CONTINUE + ELSE DISPLAY '! "XX" <> " "'. + MOVE ALL "A" TO FLDXX + IF FLDXX = "AA " CONTINUE + ELSE DISPLAY '! "AA" <> "AA "'. + IF FLDXX = "AAA" DISPLAY '! "AA" = "AAA "'. + IF FLDXX = ALL "A" CONTINUE + ELSE DISPLAY '! "AA" <> ALL "A"'. + MOVE "B" TO FLDXX (2:1) + IF FLDXX = ALL "AB" CONTINUE + ELSE DISPLAY '! "AB" <> ALL "AB"'. + + IF FLDX <= ALL "XX" CONTINUE + ELSE DISPLAY '! "X" > ALL "XX"'. + IF ALL "XX" NOT > FLDX CONTINUE + ELSE DISPLAY '! ALL "XX" <= "X"'. + + *> special check for ZERO-optimization and extra spaces + MOVE ALL ZERO TO FLDX500 FLDX50 + MOVE "1" TO FLDX500 (500:1) FLDX50(50:1) + IF FLDX50 > ZERO CONTINUE + ELSE DISPLAY '! "000...01" > ZERO'. + IF FLDX50 < ZERO DISPLAY ' "000...01" < ZERO!'. + IF FLDX50 >= ZERO CONTINUE + ELSE DISPLAY '! "000...01" >= ZERO'. + IF FLDX50 <= ZERO DISPLAY ' "000...01" <= ZERO!'. + + IF ZERO < FLDX50 CONTINUE + ELSE DISPLAY '! ZERO < "000...01"'. + IF ZERO > FLDX50 DISPLAY ' ZERO > "000...01"!'. + IF ZERO <= FLDX50 CONTINUE + ELSE DISPLAY '! ZERO <= "000...01"'. + IF ZERO >= FLDX50 DISPLAY ' ZERO >= "000...01"!'. + + IF FLDX500 > ZERO CONTINUE + ELSE DISPLAY '! "000...01" > ZERO'. + IF FLDX500 < ZERO DISPLAY ' "000...01" < ZERO!'. + IF FLDX500 >= ZERO CONTINUE + ELSE DISPLAY '! "000...01" >= ZERO'. + IF FLDX500 <= ZERO DISPLAY ' "000...01" <= ZERO!'. + + IF ZERO < FLDX500 CONTINUE + ELSE DISPLAY '! ZERO < "000...01"'. + IF ZERO > FLDX500 DISPLAY ' ZERO > "000...01"!'. + IF ZERO <= FLDX500 CONTINUE + ELSE DISPLAY '! ZERO <= "000...01"'. + IF ZERO >= FLDX500 DISPLAY ' ZERO >= "000...01"!'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8073: \$COMPILE prog.cob -Wno-constant-expression" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -Wno-constant-expression" "run_fundamental.at:8073" +( $at_check_trace; $COMPILE prog.cob -Wno-constant-expression +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8073" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8074: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8074" +( $at_check_trace; $COBCRUN_DIRECT ./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:8074" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8076: \$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare" "run_fundamental.at:8076" +( $at_check_trace; $COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8076" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8077: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8077" +( $at_check_trace; $COBCRUN_DIRECT ./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:8077" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8079: \$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding" "run_fundamental.at:8079" +( $at_check_trace; $COMPILE prog.cob -Wno-constant-expression -fno-constant-folding +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8079" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8080: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8080" +( $at_check_trace; $COBCRUN_DIRECT ./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:8080" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8085' \ + "Expression numeric vs. DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "616. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + ****************************************************************** + WORKING-STORAGE SECTION. + 01 FLDX50 PIC X(50) VALUE 'X50'. + 01 FLDX10J PIC X(10) VALUE '0123'. + 01 FLDNUMD PIC S9(3) VALUE -123. + 01 FLDNUMD4 PIC S9(4) VALUE -123. + 01 FLDNUMB PIC S9v99 VALUE -1.23 USAGE BINARY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN-LINE. + + *> Test with DISPLAY on error + PERFORM DO-CHECK + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + *> minimal side-test for performance comparisons + PERFORM DO-CHECK 20000 TIMES + >> END-IF + GOBACK. + + DO-CHECK. + MOVE "123" TO FLDX50 + IF 123 = FLDX50 CONTINUE + ELSE DISPLAY '! 123 <> "123"'. + IF FLDNUMD = FLDNUMD4 CONTINUE + ELSE DISPLAY '! 123 <> 0123'. + IF FLDX50 = FLDNUMD4 DISPLAY '! "123" = 0123' + ELSE CONTINUE. + IF FLDNUMD = FLDX50 CONTINUE + ELSE DISPLAY '!-123 DISP <> "123"'. + IF FLDX50 = FLDNUMB CONTINUE + ELSE DISPLAY '!-1.23 BIN <> "123"'. + IF FLDX10J = FLDNUMD4 CONTINUE + ELSE DISPLAY '! "0123" J <> "0123"'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8132: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8132" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8132" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8133: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8133" +( $at_check_trace; $COBCRUN_DIRECT ./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:8133" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8135: \$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare" "run_fundamental.at:8135" +( $at_check_trace; $COMPILE prog.cob -Wno-constant-expression -fno-constant-folding -fno-fast-compare +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8135" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8140' \ + "Abbreviated Expressions" " " 4 +at_xfail=no +( + printf "%s\n" "617. $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 WRK-SWITCH-1 + ON STATUS IS ON-WRK-SWITCH-1 + OFF STATUS IS OFF-WRK-SWITCH-1 + SWITCH-2 + IS WRK-SWITCH-2 + OFF STATUS IS OFF-WRK-SWITCH-2. + DATA DIVISION. + ****************************************************************** + WORKING-STORAGE SECTION. + * + 01 FLD9-0 PIC 9 VALUE 0. + 01 FLD9-1 PIC 9 VALUE 1. + 01 FLD9-2 PIC 9 VALUE 2. + 01 FLD9-5 PIC 9 VALUE 5. + 01 FLD9-7 PIC 9 VALUE 7. + 01 FLD9-9 PIC 9 VALUE 9. + 01 FLDX PIC X VALUE 'X'. + 01 FLDY PIC X VALUE 'Y'. + 01 FLDYY PIC X VALUE 'Y'. + 01 FLDZ PIC X VALUE 'Z'. + 01 TESTNUM PIC 99 VALUE 1. + + PROCEDURE DIVISION. + MAIN-LINE. + + IF FLD9-7 > FLD9-5 AND NOT < FLD9-0 OR FLD9-1 + PERFORM PASS ELSE PERFORM FAIL. + IF FLD9-7 NOT = FLD9-5 OR FLD9-1 + PERFORM PASS ELSE PERFORM FAIL. + IF FLD9-7 NOT = FLD9-5 AND FLD9-1 + PERFORM PASS ELSE PERFORM FAIL. + IF NOT FLD9-7 = FLD9-5 OR FLD9-1 + PERFORM PASS ELSE PERFORM FAIL. + IF NOT (FLD9-5 > FLD9-7 OR < FLD9-1) + PERFORM PASS ELSE PERFORM FAIL. + IF NOT (FLD9-7 NOT > FLD9-5 AND FLD9-2 AND NOT FLD9-1) + PERFORM PASS ELSE PERFORM FAIL. + IF FLD9-9 > FLD9-2 AND FLD9-7 AND FLD9-5 + PERFORM PASS ELSE PERFORM FAIL. + IF FLD9-9 > FLD9-2 AND FLD9-7 OR FLD9-5 + PERFORM PASS ELSE PERFORM FAIL. + IF FLD9-1 < FLD9-2 AND FLD9-5 AND FLD9-7 + PERFORM PASS ELSE PERFORM FAIL. + + * // DISPLAY "***Constant expressions***". + IF 9 > 2 AND 7 AND 5 AND 1 + PERFORM PASS ELSE PERFORM FAIL. + IF 1 < 2 AND 5 AND 7 AND 9 + PERFORM PASS ELSE PERFORM FAIL. + IF 5 < 2 OR 1 OR 9 OR 7 + PERFORM PASS ELSE PERFORM FAIL. + IF 5 > 1 AND < 3 OR 6 + PERFORM PASS ELSE PERFORM FAIL. + + * // DISPLAY "***Switch expressions***". + IF ON-WRK-SWITCH-1 + OR NOT OFF-WRK-SWITCH-2 + AND OFF-WRK-SWITCH-1 + PERFORM FAIL ELSE PERFORM PASS. + DISPLAY "***FINE***" WITH NO ADVANCING. + STOP RUN. + + PASS. + * // DISPLAY 'Test ' TESTNUM ' passed' + ADD 1 TO TESTNUM. + + FAIL. + DISPLAY 'Test ' TESTNUM ' failed!' + ADD 1 TO TESTNUM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8221: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8221" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-LINE': +prog.cob:47: warning: suggest parentheses around AND within OR +prog.cob:53: warning: expression '9' GREATER THAN '2' is always TRUE +prog.cob:53: warning: expression '9' GREATER THAN '7' is always TRUE +prog.cob:53: warning: expression '9' GREATER THAN '5' is always TRUE +prog.cob:53: warning: expression '9' GREATER THAN '1' is always TRUE +prog.cob:55: warning: expression '1' LESS THAN '2' is always TRUE +prog.cob:55: warning: expression '1' LESS THAN '5' is always TRUE +prog.cob:55: warning: expression '1' LESS THAN '7' is always TRUE +prog.cob:55: warning: expression '1' LESS THAN '9' is always TRUE +prog.cob:57: warning: expression '5' LESS THAN '2' is always FALSE +prog.cob:57: warning: expression '5' LESS THAN '1' is always FALSE +prog.cob:57: warning: expression '5' LESS THAN '9' is always TRUE +prog.cob:57: warning: expression '5' LESS THAN '7' is always TRUE +prog.cob:59: warning: expression '5' GREATER THAN '1' is always TRUE +prog.cob:59: warning: expression '5' LESS THAN '3' is always FALSE +prog.cob:59: warning: expression '5' LESS THAN '6' 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/run_fundamental.at:8221" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8241: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8241" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "***FINE***" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8241" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8243: \$COMPILE -fno-constant-folding prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-constant-folding prog.cob" "run_fundamental.at:8243" +( $at_check_trace; $COMPILE -fno-constant-folding prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-LINE': +prog.cob:47: warning: suggest parentheses around AND within OR +" | \ + $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:8243" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8247: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8247" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "***FINE***" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8247" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8252' \ + "integer arithmetic on floating-point var" " " 4 +at_xfail=no +( + printf "%s\n" "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 USAGE FLOAT-SHORT VALUE 123.456. + + PROCEDURE DIVISION. + ADD 360 TO x + IF x <> 483.456 + DISPLAY "ADD wrong: " x + MOVE 483.456 TO x + END-IF + + SUBTRACT 360 FROM x + IF x <> 123.456 + DISPLAY "SUBTRACT wrong: " x + MOVE 123.456 TO x + END-IF + + DIVIDE 2 INTO x + IF x <> 61.728 + DISPLAY "DIVIDE wrong: " x + MOVE 61.728 TO x + END-IF + + MULTIPLY 2 BY x + IF x <> 123.456 + DISPLAY "MULTIPLY wrong: " x + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8289: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8289" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8289" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8290: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8290" +( $at_check_trace; $COBCRUN_DIRECT ./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:8290" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_fundamental.at:8294' \ + "TYPEDEF application" " " 4 +at_xfail=no +( + printf "%s\n" "619. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 INT IS TYPEDEF BINARY-LONG. + 88 INT-ZERO VALUE 0. + 88 INT-ONE VALUE 1. + 77 EXT-INT IS TYPEDEF BINARY-LONG EXTERNAL. + *> should this be possible? + *>77 INT-VAL IS TYPEDEF USAGE INT VALUE 12. + 77 INT-VAL IS TYPEDEF BINARY-LONG VALUE 12. + 01 SOMEVAR USAGE INT VALUE 10. + 01 SOMEVAR2 USAGE INT VALUE 11. + 77 SOMEVAL USAGE INT-VAL. + 77 SOMEEXT USAGE EXT-INT. + + PROCEDURE DIVISION. + IF SOMEVAR <> 10 + DISPLAY "SOMEVAR (INT) wrong: " SOMEVAR. + IF SOMEVAL <> 12 + DISPLAY "SOMEVAL (INT-VAL) wrong: " SOMEVAL. + SET INT-ZERO OF SOMEVAR TO TRUE + SET INT-ONE OF SOMEVAR2 TO TRUE + IF SOMEVAR <> 0 + DISPLAY "SOMEVAR (INT) by SET wrong: " SOMEVAR. + IF SOMEVAR2 <> 1 + DISPLAY "SOMEVAR2 (INT) by SET wrong: " SOMEVAR2. + IF INT-ONE OF SOMEVAR + OR NOT INT-ONE OF SOMEVAR2 + DISPLAY "CHECK BY condition-nam wrong". + MOVE 42 TO SOMEEXT + CALL "callee" + GOBACK. +_ATEOF + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 EXT-INT IS TYPEDEF BINARY-LONG EXTERNAL. + 77 SOMEEXT USAGE EXT-INT. + + PROCEDURE DIVISION. + IF SOMEEXT <> 42 + DISPLAY "SOMEEXT (EXT-INT) wrong: " SOMEEXT + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8350: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_fundamental.at:8350" +( $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_fundamental.at:8350" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8351: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_fundamental.at:8351" +( $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_fundamental.at:8351" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8352: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_fundamental.at:8352" +( $at_check_trace; $COBCRUN_DIRECT ./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_fundamental.at:8352" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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_fundamental.at:8356' \ + "Alphanumeric VALUE longer than PIC" " " 4 +at_xfail=no +( + printf "%s\n" "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-SPACES PIC XXX VALUE " ". + 01 X-Xs PIC XX VALUE "XXX". + *> not longer but goes into similar codegen: + 01 X-XXX PIC XXX VALUE "XX". + PROCEDURE DIVISION. + IF X-SPACES NOT = ALL SPACE + DISPLAY 'BAD SPACE: ' X-SPACES. + IF X-Xs NOT = ALL "X" + DISPLAY 'BAD X: ' X-Xs. + IF X-XXX NOT = "XX " + DISPLAY 'BAD XXX: ' X-XXX. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8378: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8378" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: value does not fit the picture string +prog.cob:7: warning: value size exceeds data size +prog.cob:7: note: value size is 3 +" | \ + $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:8378" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8383: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8383" +( $at_check_trace; $COBCRUN_DIRECT ./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:8383" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8388' \ + "DISPLAY with P fields" " " 4 +at_xfail=no +( + printf "%s\n" "621. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this test verifies that the size is correctly printed, which was buggy +# with "P on the left side of the decimal point", see bug #874 +# me make a general DISPLAY with implied digits out of this test +# and also verify no-pretty-printing result to be reasonable + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P1 PIC 999 value 1. + 01 P2 PIC 9P value 0. + 01 P3 PIC V999 value .123. + 01 P4 PIC VP9 value 0. + 01 P5 PIC VPP9 value 0. + 01 P6 PIC 9P value 10. + PROCEDURE DIVISION. + display '00=' P2 '; 001=' P1 '; 00=' P2 ';' + display '.00=' P4 '; .000=' P5 '; .123=' P3 '; ' + '.00=' P4 '; .000=' P5 ';' + move P1 to P2 + move P3 to P4, P5 + display '00=' P2 '; .02=' P4 '; .003=' P5 ';' + display '10=' P6 ';' + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8418: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8418" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8418" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8419: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8419" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00=00; 001=001; 00=00; +.00=.00; .000=.000; .123=.123; .00=.00; .000=.000; +00=00; .02=.02; .003=.003; +10=10; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8419" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8425: \$COMPILE -fno-pretty-display prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-pretty-display prog.cob" "run_fundamental.at:8425" +( $at_check_trace; $COMPILE -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/run_fundamental.at:8425" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8426: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8426" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00=0; 001=001; 00=0; +.00=0; .000=0; .123=123; .00=0; .000=0; +00=0; .02=2; .003=3; +10=1; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8426" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >packed.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. packed. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P1 PIC 999 COMP-3 value 1. + 01 P2 PIC 9P COMP-3 value 0. + 01 P3 PIC V999 COMP-3 value .123. + 01 P4 PIC VP9 COMP-3 value 0. + 01 P5 PIC VPP9 COMP-3 value 0. + 01 P6 PIC 9P COMP-3 value 10. + PROCEDURE DIVISION. + display '00=' P2 '; 001=' P1 '; 00=' P2 ';' + display '.00=' P4 '; .000=' P5 '; .123=' P3 '; ' + '.00=' P4 '; .000=' P5 ';' + move P1 to P2 + move P3 to P4, P5 + display '00=' P2 '; .02=' P4 '; .003=' P5 ';' + display '10=' P6 ';' + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8455: \$COMPILE packed.cob" +at_fn_check_prepare_dynamic "$COMPILE packed.cob" "run_fundamental.at:8455" +( $at_check_trace; $COMPILE packed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8455" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8456: \$COBCRUN_DIRECT ./packed" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./packed" "run_fundamental.at:8456" +( $at_check_trace; $COBCRUN_DIRECT ./packed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "00=00; 001=001; 00=00; +.00=.00; .000=.000; .123=.123; .00=.00; .000=.000; +00=00; .02=.02; .003=.003; +10=10; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8456" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8463: \$COMPILE -fno-pretty-display packed.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-pretty-display packed.cob" "run_fundamental.at:8463" +( $at_check_trace; $COMPILE -fno-pretty-display packed.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8463" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8464: \$COBCRUN_DIRECT ./packed" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./packed" "run_fundamental.at:8464" +( $at_check_trace; $COBCRUN_DIRECT ./packed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "00=0; 001=001; 00=0; +.00=0; .000=0; .123=123; .00=0; .000=0; +00=0; .02=2; .003=3; +10=1; +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8464" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8474' \ + "condition IS ZERO AND" " " 4 +at_xfail=no +( + printf "%s\n" "622. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# for more details see bug #875 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 V PIC 9 VALUE 0. + 01 W PIC 9 VALUE 1. + PROCEDURE DIVISION. + IF V IS ZERO + DISPLAY "V IS ZERO" + END-IF. + IF V IS ZERO AND W EQUAL 1 + DISPLAY "V IS ZERO AND W EQUAL 1" + END-IF. + IF W EQUAL 1 AND V IS ZERO + DISPLAY "W EQUAL 1 AND V IS ZERO" + END-IF. + IF W IS POSITIVE + DISPLAY "W IS POSITIVE" + END-IF. + IF W IS NEGATIVE + DISPLAY "W IS NEGATIVE" + END-IF. + IF W IS POSITIVE AND V EQUAL 0 + DISPLAY "W IS POSITIVE AND V EQUAL 0" + END-IF. + IF V EQUAL 0 AND W IS POSITIVE + DISPLAY "V EQUAL 0 AND W IS POSITIVE" + END-IF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8510: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8510" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:21: warning: unsigned 'W' may not be LESS THAN 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:8510" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8514: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8514" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "V IS ZERO +V IS ZERO AND W EQUAL 1 +W EQUAL 1 AND V IS ZERO +W IS POSITIVE +W IS POSITIVE AND V EQUAL 0 +V EQUAL 0 AND W IS POSITIVE +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8514" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8525' \ + "abbreviated conditions" " " 4 +at_xfail=no +( + printf "%s\n" "623. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# for more details see bug #880 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. CHECKBOOL. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR1 PIC X(16) VALUE "#0001". + 01 VAR2 PIC X(16) VALUE "#0002". + 01 VAR3 PIC X(16) VALUE "#0003". + 01 VAR4 PIC X(16) VALUE "#0004". + PROCEDURE DIVISION. + MAIN-PROGRAM SECTION. + INIZIO. + IF VAR1 = (VAR2 AND VAR3 AND VAR4) + DISPLAY "TRUE 1" + END-IF + IF VAR1 NOT = (VAR2 AND VAR3 AND VAR4) + DISPLAY "TRUE 2" + END-IF + IF VAR1 NOT > (VAR2 AND VAR3 AND VAR4) + DISPLAY "TRUE 3" + END-IF + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8554: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8554" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8554" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8555: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8555" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "TRUE 2 +TRUE 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:8555" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8562' \ + "invalid use of condition-names" " " 4 +at_xfail=no +( + printf "%s\n" "624. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. CHECKCOND. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAR1 PIC X. + 88 VAR1-K VALUE 'K' + 01 VAR2 PIC X. + 88 VAR2-K VALUE 'K' + + PROCEDURE DIVISION. + MAIN-PROGRAM SECTION. + BUG. + IF VAR1-K AND NOT = VAR2-K + DISPLAY "INVALID" UPON STDERR. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8583: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "run_fundamental.at:8583" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: 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/run_fundamental.at:8583" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8590' \ + "MOVE with JUSTIFIED clause" " " 4 +at_xfail=no +( + printf "%s\n" "625. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. JUST00. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 77 ELE PIC X(10) JUSTIFIED RIGHT. + 77 SHORT PIC X(4) VALUE 'ABC '. + 77 LONG PIC X(16) + VALUE 'ABCDEFGHIGKLMNOP'. + + PROCEDURE DIVISION. + MOVE 'ABC ' TO ELE + IF ELE NOT EQUAL ' ABC ' + DISPLAY 'MOVE WITH SHORT FIELD JUSTIFIED HAS FAILED: ' + '"' ELE '"'. + + MOVE 'ABCDEFGHIGKLMNOP' TO ELE + IF ELE NOT EQUAL 'GHIGKLMNOP' + DISPLAY 'MOVE WITH LONG FIELD JUSTIFIED HAS FAILED: ' + '"' ELE '"'. + + MOVE SHORT TO ELE + IF ELE NOT EQUAL ' ABC ' + DISPLAY 'MOVE WITH SHORT FIELD JUSTIFIED HAS FAILED: ' + '"' ELE '"'. + + MOVE LONG TO ELE + IF ELE NOT EQUAL 'GHIGKLMNOP' + DISPLAY 'MOVE WITH LONG FIELD JUSTIFIED HAS FAILED: ' + '"' ELE '"'. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8629: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:8629" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:8629" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8630: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8630" +( $at_check_trace; $COBCRUN_DIRECT ./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:8630" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8635' \ + "MOVE with PICTURE P" " " 4 +at_xfail=no +( + printf "%s\n" "626. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. Move_Basic_P_Pic . + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> Basic checking of P Picture + *> -check lengt content and move + *>---------------------------------------------------------------- + *> + DATA DIVISION. + WORKING-STORAGE SECTION. + *> + 01 P-PIC-1 PIC 99P(4) . + 01 P-PIC-1-9 REDEFINES P-PIC-1 PIC 9(02) . + 01 FLD-1 PIC 9(06) . + 01 FLD-1-RES PIC 9(06) . + *> + 01 P-PIC-2 PIC S99P(4) . + 01 P-PIC-2-9 REDEFINES P-PIC-2 PIC S9(02) . + 01 FLD-2 PIC S9(06) . + 01 FLD-2-RES PIC S9(06) . + *> + 01 P-PIC-3 PIC P(4)9 . + 01 P-PIC-3-9 REDEFINES P-PIC-3 PIC 9(01) . + 01 FLD-3 PIC V9(05) . + 01 FLD-3-RES PIC V9(05) . + *> + 01 P-PIC-4 PIC SP(4)9 . + 01 P-PIC-4-9 REDEFINES P-PIC-4 PIC S9(01) . + 01 FLD-4 PIC SV9(05) . + 01 FLD-4-RES PIC SV9(05) . + *> + 01 W01-I PIC 9(02) . + *> + PROCEDURE DIVISION . + *> + *> Check Length + *> + PERFORM CHECK-LENGTH . + *> + PERFORM CHECK-CONTENT. + *> + PERFORM CHECK-MOVE . + *> + GOBACK . + *> + CHECK-CONTENT. + *>------------ + *> + MOVE 123456 TO P-PIC-1 . + IF P-PIC-1-9 NOT = 12 + THEN + DISPLAY 'Error C1 VALUE <' P-PIC-1-9 '> != 12' . + *> + MOVE 345678 TO P-PIC-2 . + IF P-PIC-2-9 NOT = 34 + THEN + DISPLAY 'Error C2 VALUE <' P-PIC-2-9 '> != 34' . + *> + MOVE -456789 TO P-PIC-2 . + IF P-PIC-2-9 NOT = -45 + THEN + DISPLAY 'Error C3 VALUE <' P-PIC-2-9 '> != -45' . + *> + MOVE 0.12345 TO P-PIC-3 . + IF P-PIC-3-9 NOT = 5 + THEN + DISPLAY 'Error C4 VALUE <' P-PIC-3-9 '> != 5' . + *> + MOVE 0.56789 TO P-PIC-4 . + IF P-PIC-4-9 NOT = 9 + THEN + DISPLAY 'Error C5 VALUE <' P-PIC-4-9 '> != 9' . + *> + MOVE -0.34567 TO P-PIC-4 . + IF P-PIC-4-9 NOT = -7 + THEN + DISPLAY 'Error C6 VALUE <' P-PIC-4-9 '> != -7' . + *> + CHECK-MOVE . + *>---------- + *> + MOVE 123456 TO P-PIC-1 . + MOVE P-PIC-1 TO FLD-1 . + MOVE 120000 TO FLD-1-RES . + IF FLD-1 NOT = FLD-1-RES + THEN + DISPLAY 'M1 <' FLD-1-RES '> != ' FLD-1 . + *> + MOVE 001234 TO P-PIC-1 . + MOVE P-PIC-1 TO FLD-1 . + MOVE 000000 TO FLD-1-RES . + IF FLD-1 NOT = FLD-1-RES + THEN + DISPLAY 'M2 <' FLD-1-RES '> != ' FLD-1 . + *>----------------------------------- + MOVE 001234 TO P-PIC-2 . + MOVE P-PIC-2 TO FLD-2 . + MOVE 000000 TO FLD-2-RES . + IF FLD-2 NOT = FLD-2-RES + THEN + DISPLAY 'M3 <' FLD-2-RES '> != ' FLD-2 . + *> + MOVE -005678 TO P-PIC-2 . + MOVE P-PIC-2 TO FLD-2 . + MOVE 000000 TO FLD-2-RES . + IF FLD-2 NOT = FLD-2-RES + THEN + DISPLAY 'M4 <' FLD-2-RES '> != ' FLD-2 . + *> + MOVE 456789 TO P-PIC-2 . + MOVE P-PIC-2 TO FLD-2 . + MOVE 450000 TO FLD-2-RES . + IF FLD-2 NOT = FLD-2-RES + THEN + DISPLAY 'M5 <' FLD-2-RES '> != ' FLD-2 . + *> + MOVE -456789 TO P-PIC-2 . + MOVE P-PIC-2 TO FLD-2 . + MOVE -450000 TO FLD-2-RES . + IF FLD-2 NOT = FLD-2-RES + THEN + DISPLAY 'M6 <' FLD-2-RES '> != ' FLD-2 . + *>----------------------------------- + MOVE 0.12345 TO P-PIC-3 . + MOVE P-PIC-3 TO FLD-3 . + MOVE 0.00005 TO FLD-3-RES . + IF FLD-3 NOT = FLD-3-RES + THEN + DISPLAY 'M7 <' FLD-3-RES '> != ' FLD-3 . + *> + MOVE 0.00010 TO P-PIC-3 . + MOVE P-PIC-3 TO FLD-3 . + MOVE 0.00000 TO FLD-3-RES . + IF FLD-3 NOT = FLD-3-RES + THEN + DISPLAY 'M8 <' FLD-3-RES '> != ' FLD-3 . + *> + *>----------------------------------- + *> + MOVE 0.23456 TO P-PIC-4 . + MOVE P-PIC-4 TO FLD-4 . + MOVE 0.00006 TO FLD-4-RES . + IF FLD-4 NOT = FLD-4-RES + THEN + DISPLAY 'M9 <' FLD-4-RES '> != ' FLD-4 . + *> + MOVE 0.02340 TO P-PIC-4 . + MOVE P-PIC-4 TO FLD-4 . + MOVE 0.00000 TO FLD-4-RES . + IF FLD-4 NOT = FLD-4-RES + THEN + DISPLAY 'M10 <' FLD-4-RES '> != ' FLD-4 . + *> + MOVE -0.12345 TO P-PIC-4 . + MOVE P-PIC-4 TO FLD-4 . + MOVE -0.00005 TO FLD-4-RES . + IF FLD-4 NOT = FLD-4-RES + THEN + DISPLAY 'M11 <' FLD-4-RES '> != ' FLD-4 . + *> + MOVE -0.34560 TO P-PIC-4 . + MOVE P-PIC-4 TO FLD-4 . + MOVE 0.00000 TO FLD-4-RES . + IF FLD-4 NOT = FLD-4-RES + THEN + DISPLAY 'M11 <' FLD-4-RES '> != ' FLD-4 . + *> + *>----------------------------------- + *> + CHECK-LENGTH. + *>----------- + *> + MOVE LENGTH OF P-PIC-1 TO W01-I . + IF W01-I NOT = 2 + THEN + DISPLAY 'Error 1 size <' W01-I '> !=2' . + *> + MOVE LENGTH OF P-PIC-2 TO W01-I . + IF W01-I NOT = 2 + THEN + DISPLAY 'Error 2 size <' W01-I '> !=2' . + *> + MOVE LENGTH OF P-PIC-3 TO W01-I . + IF W01-I NOT = 1 + THEN + DISPLAY 'Error 3 size <' W01-I '> !=1' . + *> + + MOVE LENGTH OF P-PIC-4 TO W01-I . + IF W01-I NOT = 1 + THEN + DISPLAY 'Error 4 size <' W01-I '> !=1' . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8833: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_fundamental.at:8833" +( $at_check_trace; $COMPILE -Wno-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_fundamental.at:8833" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8834: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8834" +( $at_check_trace; $COBCRUN_DIRECT ./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:8834" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8839' \ + "MOVE with de-editting to USAGE DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "627. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveDeEditing. + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> CHECK DE-EDITING + *> Receiving field is NUMERIC DISPLAY Type + *>---------------------------------------------------------------- + *> + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 EDIT-1 PIC $(4)9.99CR. + 01 DISP-1 PIC S9(4)V99. + 01 EDIT-2 PIC --9B.99B99/99. + 01 DISP-2 PIC S99V9(6). + + + PROCEDURE DIVISION . + + MOVE -123.45 TO EDIT-1 . + MOVE EDIT-1 TO DISP-1 . + IF DISP-1 NOT = -123.45 + THEN + DISPLAY 'Error 1: DISP-1 <' DISP-1 '> != -0123.45' . + + IF EDIT-1 NOT = " $123.45CR" + THEN + DISPLAY 'Error 2: EDIT-1 <' EDIT-1 '> != < $123.45CR>'. + + MOVE -42.9876 TO EDIT-2. + MOVE EDIT-2 TO DISP-2. + IF DISP-2 NOT = -42.987600 + THEN + DISPLAY 'Error 3: DISP-2 <' DISP-2 '> != <-42.987600>'. + + IF EDIT-2 NOT = "-42 .98 76/00" + THEN + DISPLAY 'Error 4: EDIT-2 <' EDIT-2 '> != <-42 .98 76/00>'. + + + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8885: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8885" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8885" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8886: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8886" +( $at_check_trace; $COBCRUN_DIRECT ./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:8886" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8891' \ + "MOVE with de-editting to DECIMAL IS COMMA" " " 4 +at_xfail=no +( + printf "%s\n" "628. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveDeEditing_2 . + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> CHECK DE-EDITING WITH DECIMAL-POINT IS COMMA + *> Receiving fied is display type + *>---------------------------------------------------------------- + *> + + ENVIRONMENT DIVISION . + CONFIGURATION SECTION. + SPECIAL-NAMES. + DECIMAL-POINT IS COMMA. + DATA DIVISION. + + WORKING-STORAGE SECTION. + 01 EDIT-1 PIC $(4)9,99CR. + 01 DISP-1 PIC S9(4)V99. + 01 EDIT-2 PIC --9B,99B99/99. + 01 DISP-2 PIC S99V9(6). + + + PROCEDURE DIVISION . + + MOVE -123,45 TO EDIT-1 . + MOVE EDIT-1 TO DISP-1 . + IF DISP-1 NOT = -123,45 + THEN + DISPLAY 'Error 1: DISP-1 <' DISP-1 '> != -0123,45' . + + IF EDIT-1 NOT = " $123,45CR" + THEN + DISPLAY 'Error 2: EDIT-1 <' EDIT-1 '> != < $123,45CR>'. + + MOVE -42,9876 TO EDIT-2. + MOVE EDIT-2 TO DISP-2. + IF DISP-2 NOT = -42,987600 + THEN + DISPLAY 'Error 3: DISP-2 <' DISP-2 '> != <-42,987600>'. + + IF EDIT-2 NOT = "-42 ,98 76/00" + THEN + DISPLAY 'Error 4: EDIT-2 <' EDIT-2 '> != <-42 ,98 76/00>'. + + + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8943: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8943" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8943" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8944: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8944" +( $at_check_trace; $COBCRUN_DIRECT ./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:8944" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:8949' \ + "MOVE with de-editting to BINARY" " " 4 +at_xfail=no +( + printf "%s\n" "629. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveDeEditing_3. + DATA DIVISION. + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> CHECK DE-EDITING + *> Receiving fied is binary type + *>---------------------------------------------------------------- + WORKING-STORAGE SECTION. + 01 EDIT-1 PIC $(4)9.99CR. + 01 DISP-1 PIC S9(4)V99 BINARY . + 01 EDIT-2 PIC --9B.99B99/99. + 01 DISP-2 PIC S99V9(6) BINARY . + + + PROCEDURE DIVISION . + + MOVE -123.45 TO EDIT-1 . + MOVE EDIT-1 TO DISP-1 . + IF DISP-1 NOT = -123.45 + THEN + DISPLAY 'Error 1: DISP-1 <' DISP-1 '> != -0123.45' . + + IF EDIT-1 NOT = " $123.45CR" + THEN + DISPLAY 'Error 2: EDIT-1 <' EDIT-1 '> != < $123.45CR>'. + + MOVE -42.9876 TO EDIT-2. + MOVE EDIT-2 TO DISP-2. + IF DISP-2 NOT = -42.987600 + THEN + DISPLAY 'Error 3: DISP-2 <' DISP-2 '> != <-42.987600>'. + + IF EDIT-2 NOT = "-42 .98 76/00" + THEN + DISPLAY 'Error 4: EDIT-2 <' EDIT-2 '> != <-42 .98 76/00>'. + + + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8994: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:8994" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8994" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:8995: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:8995" +( $at_check_trace; $COBCRUN_DIRECT ./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:8995" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:9000' \ + "MOVE with de-editting to COMP-3" " " 4 +at_xfail=no +( + printf "%s\n" "630. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveDeEditing_4. + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> CHECK DE-EDITING + *> Receiving field is PACKED Type + *>---------------------------------------------------------------- + *> + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 EDIT-1 PIC $(4)9.99CR. + 01 DISP-1 PIC S9(4)V99 COMP-3 . + 01 EDIT-2 PIC --9B.99B99/99. + 01 DISP-2 PIC S99V9(6) COMP-3 . + + + PROCEDURE DIVISION . + + MOVE -123.45 TO EDIT-1 . + MOVE EDIT-1 TO DISP-1 . + IF DISP-1 NOT = -123.45 + THEN + DISPLAY 'Error 1: DISP-1 <' DISP-1 '> != -0123.45' . + + IF EDIT-1 NOT = " $123.45CR" + THEN + DISPLAY 'Error 2: EDIT-1 <' EDIT-1 '> != < $123.45CR>'. + + MOVE -42.9876 TO EDIT-2. + MOVE EDIT-2 TO DISP-2. + IF DISP-2 NOT = -42.987600 + THEN + DISPLAY 'Error 3: DISP-2 <' DISP-2 '> != <-42.987600>'. + + IF EDIT-2 NOT = "-42 .98 76/00" + THEN + DISPLAY 'Error 4: EDIT-2 <' EDIT-2 '> != <-42 .98 76/00>'. + + + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9046: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:9046" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:9046" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9047: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:9047" +( $at_check_trace; $COBCRUN_DIRECT ./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:9047" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:9052' \ + "MOVE with de-editting to COMP-5" " " 4 +at_xfail=no +( + printf "%s\n" "631. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveDeEditing_5. + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> CHECK DE-EDITING + *> Receiving field is COMP-5 Type + *>---------------------------------------------------------------- + *> + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 EDIT-1 PIC $(4)9.99CR. + 01 DISP-1 PIC S9(4)V99 COMP-5 . + 01 EDIT-2 PIC --9B.99B99/99. + 01 DISP-2 PIC S99V9(6) COMP-5 . + + + PROCEDURE DIVISION . + + MOVE -123.45 TO EDIT-1 . + MOVE EDIT-1 TO DISP-1 . + IF DISP-1 NOT = -123.45 + THEN + DISPLAY 'Error 1: DISP-1 <' DISP-1 '> != -0123.45' . + + IF EDIT-1 NOT = " $123.45CR" + THEN + DISPLAY 'Error 2: EDIT-1 <' EDIT-1 '> != < $123.45CR>'. + + MOVE -42.9876 TO EDIT-2. + MOVE EDIT-2 TO DISP-2. + IF DISP-2 NOT = -42.987600 + THEN + DISPLAY 'Error 3: DISP-2 <' DISP-2 '> != <-42.987600>'. + + IF EDIT-2 NOT = "-42 .98 76/00" + THEN + DISPLAY 'Error 4: EDIT-2 <' EDIT-2 '> != <-42 .98 76/00>'. + + + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9098: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:9098" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:9098" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9099: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:9099" +( $at_check_trace; $COBCRUN_DIRECT ./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:9099" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:9104' \ + "MOVE with de-editting to NUMERIC DISPLAY (2)" " " 4 +at_xfail=no +( + printf "%s\n" "632. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveEditedToDisplay. + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> Add more test case for edited field + *>---------------------------------------------------------------- + *> + + ENVIRONMENT DIVISION. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 EDITED-FIELD . + + + 05 SRC-FIELD-100 PIC +$ZZ9999900BB9 . + 05 SRC-FIELD-101 PIC -$ZZ9999900BB9 . + 05 SRC-FIELD-102 PIC $ZZ9999900BB9CR . + 05 SRC-FIELD-103 PIC $ZZ9999900BB9DB . + 05 SRC-FIELD-400 PIC +$**9999900BB9 . + 05 SRC-FIELD-401 PIC -$**9999900BB9 . + 05 SRC-FIELD-402 PIC $**9999900BB9CR . + 05 SRC-FIELD-403 PIC $**9999900BB9DB . + * + 01 DST-FIELD. + 05 DST-FIELD-1 PIC 9(10)V9(04) . + 05 DST-FIELD-2 PIC S9(10)V9(04) . + * + PROCEDURE DIVISION. + *>------------------- + *> + MOVE 12345 TO SRC-FIELD-100 . + MOVE SRC-FIELD-100 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 1234005 + DISPLAY '1: DST-FIELD-1 <' DST-FIELD-1 '> != 1234005' . + *> + MOVE 23456 TO SRC-FIELD-101 . + MOVE SRC-FIELD-101 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 2345006 + DISPLAY '2: DST-FIELD-1 <' DST-FIELD-1 '> != 2345006' . + *> + MOVE 34567 TO SRC-FIELD-102 . + MOVE SRC-FIELD-102 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 3456007 + DISPLAY '3: DST-FIELD-1 <' DST-FIELD-1 '> != 3456007' . + *> + MOVE 45678 TO SRC-FIELD-103 . + MOVE SRC-FIELD-103 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 4567008 + DISPLAY '4: DST-FIELD-1 <' DST-FIELD-1 '> != 4567008' . + *> + *>-------------------------------------------------------------- + *> + MOVE -12345 TO SRC-FIELD-100 . + MOVE SRC-FIELD-100 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -1234005 + DISPLAY '5: DST-FIELD-2 <' DST-FIELD-2 '> != 1234005' . + *> + MOVE -23456 TO SRC-FIELD-101 . + MOVE SRC-FIELD-101 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -2345006 + DISPLAY '6: DST-FIELD-2 <' DST-FIELD-2 '> != -2345006' . + *> + MOVE -34567 TO SRC-FIELD-102 . + MOVE SRC-FIELD-102 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -3456007 + DISPLAY '7: DST-FIELD-2 <' DST-FIELD-2 '> != -3456007' . + *> + MOVE -45678 TO SRC-FIELD-103 . + MOVE SRC-FIELD-103 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = 4567008 + DISPLAY '8: DST-FIELD-2 <' DST-FIELD-2 '> != 45676008' . + *> + *>-------------------------------------------------------------- + *> + MOVE 12345 TO SRC-FIELD-400 . + MOVE SRC-FIELD-400 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 1234005 + DISPLAY '9: DST-FIELD-1 <' DST-FIELD-1 '> != 1234005' . + *> + MOVE 23456 TO SRC-FIELD-401 . + MOVE SRC-FIELD-401 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 2345006 + DISPLAY '10: DST-FIELD-1 <' DST-FIELD-1 '> != 2345006' . + *> + MOVE 34567 TO SRC-FIELD-402 . + MOVE SRC-FIELD-402 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 3456007 + DISPLAY '11: DST-FIELD-1 <' DST-FIELD-1 '> != 3456007' . + *> + MOVE 45678 TO SRC-FIELD-403 . + MOVE SRC-FIELD-403 TO DST-FIELD-1 . + IF DST-FIELD-1 NOT = 4567008 + DISPLAY '12: DST-FIELD-1 <' DST-FIELD-1 '1 != 45676008' . + *> + MOVE -12345 TO SRC-FIELD-400 . + MOVE SRC-FIELD-400 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -1234005 + DISPLAY '13: DST-FIELD-2 <' DST-FIELD-2 '> != 1234005' . + *> + MOVE -23456 TO SRC-FIELD-401 . + MOVE SRC-FIELD-401 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -2345006 + DISPLAY '14: DST-FIELD-2 <' DST-FIELD-2 '> != -2345006' . + *> + MOVE -34567 TO SRC-FIELD-402 . + MOVE SRC-FIELD-402 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = -3456007 + DISPLAY '15: DST-FIELD-2 <' DST-FIELD-2 '> != -3456007' . + *> + MOVE -45678 TO SRC-FIELD-403 . + MOVE SRC-FIELD-403 TO DST-FIELD-2 . + IF DST-FIELD-2 NOT = 4567008 + DISPLAY '16: DST-FIELD-2 <' DST-FIELD-2 '> != 4567008' . + *> + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9227: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:9227" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:9227" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9228: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:9228" +( $at_check_trace; $COBCRUN_DIRECT ./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:9228" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:9233' \ + "MOVE misc. edited" " " 4 +at_xfail=no +( + printf "%s\n" "633. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID . MoveOtherCases . + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> Last several specifics test cases + *>---------------------------------------------------------------- + *> + ENVIRONMENT DIVISION. + *>------------- + + DATA DIVISION . + *>-------------- + + WORKING-STORAGE SECTION. + *>----------------------- + + 01 SRC-BIN PIC S9(09) BINARY . + 01 DST-BIN PIC 9(09) BINARY . + *> + 01 SRC-EDIT PIC $$$$,$$9V99- . + 01 DST-DISP PIC 9(06) . + *> + 01 DST-FIELD-1 PIC XB0XB099/ . + + *> + PROCEDURE DIVISION . + *>------------------- + *> + *> Case 1 move unsigned to signed + *> + MOVE -12345678 TO SRC-BIN . + MOVE SRC-BIN TO DST-BIN . + IF DST-BIN NOT = 12345678 + THEN + DISPLAY '1: DST-BIN <' DST-BIN '>!= <12345678>' . + + *> + *> Case 2 move negative edited to display + *> + MOVE -3 TO SRC-EDIT . + MOVE SRC-EDIT TO DST-DISP . + IF SRC-EDIT NOT = ' $300-' + THEN + DISPLAY '2: SRC-EDIT <' SRC-EDIT '> != < $300->' . + *> + IF DST-DISP NOT = 3 + THEN + DISPLAY '2.1: DST-DISP <' DST-DISP '> != <3>' . + + + *> + *> Case 3 cob_move alphanum to edited case + *> + MOVE 3 TO SRC-EDIT . + MOVE SRC-EDIT TO DST-FIELD-1 . + + IF DST-FIELD-1 NOT = ' 0 0 /' + THEN + DISPLAY '3: DST-FIELD-1 <' DST-FIELD-1 '> != < 0 0 />'. + + *> + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9301: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:9301" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:9301" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:9302: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:9302" +( $at_check_trace; $COBCRUN_DIRECT ./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:9302" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:9307' \ + "MOVE between USAGEs" " " 4 +at_xfail=no +( + printf "%s\n" "634. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID . MoveTestCobMove . + *>---------------------------------------------------------------- + *> This programm cover the cob_move function for numeric + *> data types except numeric edited + *>---------------------------------------------------------------- + *> + ENVIRONMENT DIVISION. + DATA DIVISION . + WORKING-STORAGE SECTION. + + 01 ALL-SRC . + 05 FIELD-02 BINARY-C-LONG SIGNED . + 05 FIELD-03 BINARY-C-LONG UNSIGNED . + 05 FIELD-04 BINARY-CHAR SIGNED . + 05 FIELD-05 BINARY-CHAR UNSIGNED . + 05 FIELD-06 BINARY-DOUBLE SIGNED . + 05 FIELD-07 BINARY-DOUBLE UNSIGNED . + 05 FIELD-08 BINARY-INT . + 05 FIELD-09 BINARY-LONG SIGNED . + 05 FIELD-10 BINARY-LONG UNSIGNED . + 05 FIELD-11 BINARY-LONG-LONG . + 05 FIELD-12 BINARY-SHORT SIGNED . + 05 FIELD-13 BINARY-SHORT UNSIGNED . + 05 FIELD-14 FLOAT-DECIMAL-16 . + 05 FIELD-15 FLOAT-DECIMAL-34 . + 05 FIELD-16 FLOAT-LONG . + 05 FIELD-17 FLOAT-SHORT . + 05 FIELD-18 SIGNED-INT . + 05 FIELD-19 SIGNED-LONG . + 05 FIELD-20 SIGNED-SHORT . + 05 FIELD-21 UNSIGNED-INT . + 05 FIELD-22 UNSIGNED-LONG . + 05 FIELD-23 UNSIGNED-SHORT . + 05 FIELD-24 COMP-1 . + 05 FIELD-25 COMP-2 . + 05 FIELD-26 PIC 9(10) COMP-6 . + 05 FIELD-50 PIC S9(09) BINARY . + 05 FIELD-51 PIC S9(09) COMP . + 05 FIELD-52 PIC S9(09)V99 COMP-3 . + 05 FIELD-53 PIC S9(09) COMP-4 . + 05 FIELD-54 PIC S9(09) COMP-5 . + 05 FIELD-55 PIC S9(09) COMP-X . + 05 FIELD-56 PIC S9(09)V99 DISPLAY . + *> + 01 EXPTD-RESULT PIC 9(09) . + *> + 01 ALL-DST . + 05 FIELD-02 BINARY-C-LONG SIGNED . + 05 FIELD-03 BINARY-C-LONG UNSIGNED . + 05 FIELD-04 BINARY-CHAR SIGNED . + 05 FIELD-05 BINARY-CHAR UNSIGNED . + 05 FIELD-06 BINARY-DOUBLE SIGNED . + 05 FIELD-07 BINARY-DOUBLE UNSIGNED . + 05 FIELD-08 BINARY-INT . + 05 FIELD-09 BINARY-LONG SIGNED . + 05 FIELD-10 BINARY-LONG UNSIGNED . + 05 FIELD-11 BINARY-LONG-LONG . + 05 FIELD-12 BINARY-SHORT SIGNED . + 05 FIELD-13 BINARY-SHORT UNSIGNED . + 05 FIELD-14 FLOAT-DECIMAL-16 . + 05 FIELD-15 FLOAT-DECIMAL-34 . + 05 FIELD-16 FLOAT-LONG . + 05 FIELD-17 FLOAT-SHORT . + 05 FIELD-18 SIGNED-INT . + 05 FIELD-19 SIGNED-LONG . + 05 FIELD-20 SIGNED-SHORT . + 05 FIELD-21 UNSIGNED-INT . + 05 FIELD-22 UNSIGNED-LONG . + 05 FIELD-23 UNSIGNED-SHORT . + 05 FIELD-24 COMP-1 . + 05 FIELD-25 COMP-2 . + 05 FIELD-26 PIC 9(10) COMP-6 . + 05 FIELD-50 PIC S9(09) BINARY . + 05 FIELD-51 PIC S9(09) COMP . + 05 FIELD-52 PIC S9(09)V99 COMP-3 . + 05 FIELD-53 PIC S9(09) COMP-4 . + 05 FIELD-54 PIC S9(09) COMP-5 . + 05 FIELD-55 PIC S9(09) COMP-X . + 05 FIELD-56 PIC S9(09)V99 DISPLAY . + + *> + PROCEDURE DIVISION . + *> + INITIALIZE ALL-SRC REPLACING NUMERIC BY 1 . + PERFORM TEST-PASS-1 . + *> + INITIALIZE ALL-DST REPLACING NUMERIC BY 2 . + PERFORM TEST-PASS-2 . + *> + MOVE 3 TO FIELD-02 OF ALL-SRC . + MOVE 3 TO EXPTD-RESULT . + MOVE FIELD-02 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 4 TO FIELD-03 OF ALL-SRC . + MOVE 4 TO EXPTD-RESULT . + MOVE FIELD-03 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 5 TO FIELD-04 OF ALL-SRC . + MOVE 5 TO EXPTD-RESULT . + MOVE FIELD-04 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 6 TO FIELD-05 OF ALL-SRC . + MOVE 6 TO EXPTD-RESULT . + MOVE FIELD-05 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 7 TO FIELD-06 OF ALL-SRC . + MOVE 7 TO EXPTD-RESULT . + MOVE FIELD-06 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 8 TO FIELD-07 OF ALL-SRC . + MOVE 8 TO EXPTD-RESULT . + MOVE FIELD-07 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 9 TO FIELD-08 OF ALL-SRC . + MOVE 9 TO EXPTD-RESULT . + MOVE FIELD-08 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 10 TO FIELD-09 OF ALL-SRC . + MOVE 10 TO EXPTD-RESULT . + MOVE FIELD-09 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 11 TO FIELD-10 OF ALL-SRC . + MOVE 11 TO EXPTD-RESULT . + MOVE FIELD-10 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 12 TO FIELD-11 OF ALL-SRC . + MOVE 12 TO EXPTD-RESULT . + MOVE FIELD-11 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 13 TO FIELD-12 OF ALL-SRC . + MOVE 13 TO EXPTD-RESULT . + MOVE FIELD-12 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 14 TO FIELD-13 OF ALL-SRC . + MOVE 14 TO EXPTD-RESULT . + MOVE FIELD-13 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 15 TO FIELD-14 OF ALL-SRC . + MOVE 15 TO EXPTD-RESULT . + MOVE FIELD-14 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 16 TO FIELD-15 OF ALL-SRC . + MOVE 16 TO EXPTD-RESULT . + MOVE FIELD-15 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 17 TO FIELD-16 OF ALL-SRC . + MOVE 17 TO EXPTD-RESULT . + MOVE FIELD-16 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 18 TO FIELD-17 OF ALL-SRC . + MOVE 18 TO EXPTD-RESULT . + MOVE FIELD-17 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 19 TO FIELD-18 OF ALL-SRC . + MOVE 19 TO EXPTD-RESULT . + MOVE FIELD-18 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 20 TO FIELD-19 OF ALL-SRC . + MOVE 20 TO EXPTD-RESULT . + MOVE FIELD-19 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 21 TO FIELD-20 OF ALL-SRC . + MOVE 21 TO EXPTD-RESULT . + MOVE FIELD-20 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 22 TO FIELD-21 OF ALL-SRC . + MOVE 22 TO EXPTD-RESULT . + MOVE FIELD-21 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 23 TO FIELD-22 OF ALL-SRC . + MOVE 23 TO EXPTD-RESULT . + MOVE FIELD-22 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 24 TO FIELD-23 OF ALL-SRC . + MOVE 24 TO EXPTD-RESULT . + MOVE FIELD-23 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 25 TO FIELD-24 OF ALL-SRC . + MOVE 25 TO EXPTD-RESULT . + MOVE FIELD-24 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 26 TO FIELD-25 OF ALL-SRC . + MOVE 26 TO EXPTD-RESULT . + MOVE FIELD-25 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 27 TO FIELD-26 OF ALL-SRC . + MOVE 27 TO EXPTD-RESULT . + MOVE FIELD-26 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 50 TO FIELD-50 OF ALL-SRC . + MOVE 50 TO EXPTD-RESULT . + MOVE FIELD-50 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 51 TO FIELD-51 OF ALL-SRC . + MOVE 51 TO EXPTD-RESULT . + MOVE FIELD-51 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 52 TO FIELD-52 OF ALL-SRC . + MOVE 52 TO EXPTD-RESULT . + MOVE FIELD-52 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 53 TO FIELD-53 OF ALL-SRC . + MOVE 53 TO EXPTD-RESULT . + MOVE FIELD-53 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 54 TO FIELD-54 OF ALL-SRC . + MOVE 54 TO EXPTD-RESULT . + MOVE FIELD-54 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 55 TO FIELD-55 OF ALL-SRC . + MOVE 55 TO EXPTD-RESULT . + MOVE FIELD-55 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + MOVE 56 TO FIELD-56 OF ALL-SRC . + MOVE 56 TO EXPTD-RESULT . + MOVE FIELD-56 OF ALL-SRC + TO FIELD-02 OF ALL-DST + FIELD-03 OF ALL-DST + FIELD-04 OF ALL-DST + FIELD-05 OF ALL-DST + FIELD-06 OF ALL-DST + FIELD-07 OF ALL-DST + FIELD-08 OF ALL-DST + FIELD-09 OF ALL-DST + FIELD-10 OF ALL-DST + FIELD-11 OF ALL-DST + FIELD-12 OF ALL-DST + FIELD-13 OF ALL-DST + FIELD-14 OF ALL-DST + FIELD-15 OF ALL-DST + FIELD-16 OF ALL-DST + FIELD-17 OF ALL-DST + FIELD-18 OF ALL-DST + FIELD-19 OF ALL-DST + FIELD-20 OF ALL-DST + FIELD-21 OF ALL-DST + FIELD-22 OF ALL-DST + FIELD-23 OF ALL-DST + FIELD-24 OF ALL-DST + FIELD-25 OF ALL-DST + FIELD-26 OF ALL-DST + FIELD-50 OF ALL-DST + FIELD-51 OF ALL-DST + FIELD-52 OF ALL-DST + FIELD-53 OF ALL-DST + FIELD-54 OF ALL-DST + FIELD-55 OF ALL-DST + FIELD-56 OF ALL-DST . + PERFORM TEST-PASS-3 . + *> + GOBACK . + *> + TEST-PASS-1. + *>---------- + *> + IF FIELD-02 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-02 <' FIELD-02 OF + ALL-SRC '> != 1' . + *> + IF FIELD-03 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-03 <' FIELD-03 OF + ALL-SRC '> != 1' . + *> + IF FIELD-04 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-04 <' FIELD-04 OF + ALL-SRC '> != 1' . + *> + IF FIELD-05 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-05 <' FIELD-05 OF + ALL-SRC '> != 1' . + *> + IF FIELD-06 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-06 <' FIELD-06 OF + ALL-SRC '> != 1' . + *> + IF FIELD-07 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-07 <' FIELD-07 OF + ALL-SRC '> != 1' . + *> + IF FIELD-08 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-08 <' FIELD-08 OF + ALL-SRC '> != 1' . + *> + IF FIELD-09 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-09 <' FIELD-09 OF + ALL-SRC '> != 1' . + *> + IF FIELD-10 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-10 <' FIELD-10 OF + ALL-SRC '> != 1' . + *> + IF FIELD-11 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-11 <' FIELD-11 OF + ALL-SRC '> != 1' . + *> + IF FIELD-12 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-12 <' FIELD-12 OF + ALL-SRC '> != 1' . + *> + IF FIELD-13 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-13 <' FIELD-13 OF + ALL-SRC '> != 1' . + *> + IF FIELD-14 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-14 <' FIELD-14 OF + ALL-SRC '> != 1' . + *> + IF FIELD-15 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-15 <' FIELD-15 OF + ALL-SRC '> != 1' . + *> + IF FIELD-16 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-16 <' FIELD-16 OF + ALL-SRC '> != 1' . + *> + IF FIELD-17 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-17 <' FIELD-17 OF + ALL-SRC '> != 1' . + *> + IF FIELD-18 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-18 <' FIELD-18 OF + ALL-SRC '> != 1' . + *> + IF FIELD-19 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-19 <' FIELD-19 OF + ALL-SRC '> != 1' . + *> + IF FIELD-20 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-20 <' FIELD-20 OF + ALL-SRC '> != 1' . + *> + IF FIELD-21 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-21 <' FIELD-21 OF + ALL-SRC '> != 1' . + *> + IF FIELD-22 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-22 <' FIELD-22 OF + ALL-SRC '> != 1' . + *> + IF FIELD-23 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-23 <' FIELD-23 OF + ALL-SRC '> != 1' . + *> + IF FIELD-24 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-24 <' FIELD-24 OF + ALL-SRC '> != 1' . + *> + IF FIELD-25 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-25 <' FIELD-25 OF + ALL-SRC '> != 1' . + *> + IF FIELD-26 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-26 <' FIELD-26 OF + ALL-SRC '> != 1' . + *> + IF FIELD-50 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-50 <' FIELD-50 OF + ALL-SRC '> != 1' . + *> + IF FIELD-51 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-51 <' FIELD-51 OF + ALL-SRC '> != 1' . + *> + IF FIELD-52 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-52 <' FIELD-52 OF + ALL-SRC '> != 1' . + *> + IF FIELD-53 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-53 <' FIELD-52 OF + ALL-SRC '> != 1' . + *> + IF FIELD-54 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-54 <' FIELD-54 OF + ALL-SRC '> != 1' . + *> + IF FIELD-55 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-55 <' FIELD-55 OF + ALL-SRC '> != 1' . + *> + IF FIELD-56 OF ALL-SRC IS NOT = 1 + THEN + DISPLAY 'PASS ONE: FIELD-56 <' FIELD-56 OF + ALL-SRC '> != 1' . + *> + TEST-PASS-2. + *>---------- + *> + IF FIELD-02 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-02 <' FIELD-02 OF + ALL-DST '> != 2' . + *> + IF FIELD-03 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-03 <' FIELD-03 OF + ALL-DST '> != 2' . + *> + IF FIELD-04 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-04 <' FIELD-04 OF + ALL-DST '> != 2' . + *> + IF FIELD-05 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-05 <' FIELD-05 OF + ALL-DST '> != 2' . + *> + IF FIELD-06 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-06 <' FIELD-06 OF + ALL-DST '> != 2' . + *> + IF FIELD-07 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-07 <' FIELD-07 OF + ALL-DST '> != 2' . + *> + IF FIELD-08 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-08 <' FIELD-08 OF + ALL-DST '> != 2' . + *> + IF FIELD-09 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-09 <' FIELD-09 OF + ALL-DST '> != 2' . + *> + IF FIELD-10 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-10 <' FIELD-10 OF + ALL-DST '> != 2' . + *> + IF FIELD-11 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-11 <' FIELD-11 OF + ALL-DST '> != 2' . + *> + IF FIELD-12 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-12 <' FIELD-12 OF + ALL-DST '> != 2' . + *> + IF FIELD-13 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-13 <' FIELD-13 OF + ALL-DST '> != 2' . + *> + IF FIELD-14 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-14 <' FIELD-14 OF + ALL-DST '> != 2' . + *> + IF FIELD-15 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-15 <' FIELD-15 OF + ALL-DST '> != 2' . + *> + IF FIELD-16 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-16 <' FIELD-16 OF + ALL-DST '> != 2' . + *> + IF FIELD-17 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-17 <' FIELD-17 OF + ALL-DST '> != 2' . + *> + IF FIELD-18 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-18 <' FIELD-18 OF + ALL-DST '> != 2' . + *> + IF FIELD-19 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-19 <' FIELD-19 OF + ALL-DST '> != 2' . + *> + IF FIELD-20 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-20 <' FIELD-20 OF + ALL-DST '> != 2' . + *> + IF FIELD-21 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-21 <' FIELD-21 OF + ALL-DST '> != 2' . + *> + IF FIELD-22 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-22 <' FIELD-22 OF + ALL-DST '> != 2' . + *> + IF FIELD-23 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-23 <' FIELD-23 OF + ALL-DST '> != 2' . + *> + IF FIELD-24 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-24 <' FIELD-24 OF + ALL-DST '> != 2' . + *> + IF FIELD-25 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-25 <' FIELD-25 OF + ALL-DST '> != 2' . + *> + IF FIELD-26 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-26 <' FIELD-26 OF + ALL-DST '> != 2' . + *> + IF FIELD-50 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-50 <' FIELD-50 OF + ALL-DST '> != 2' . + *> + IF FIELD-51 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-51 <' FIELD-51 OF + ALL-DST '> != 2' . + *> + IF FIELD-52 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-52 <' FIELD-52 OF + ALL-DST '> != 2' . + *> + IF FIELD-53 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-53 <' FIELD-52 OF + ALL-DST '> != 2' . + *> + IF FIELD-54 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-54 <' FIELD-54 OF + ALL-DST '> != 2' . + *> + IF FIELD-55 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-55 <' FIELD-55 OF + ALL-DST '> != 2' . + *> + IF FIELD-56 OF ALL-DST IS NOT = 2 + THEN + DISPLAY 'PASS TWO: FIELD-56 <' FIELD-56 OF + ALL-DST '> != 2' . + *> + TEST-PASS-3. + *>---------- + *> + IF FIELD-02 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-02 <' FIELD-02 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-03 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-03 <' FIELD-03 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-04 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-04 <' FIELD-04 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + + *> + IF FIELD-05 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-05 <' FIELD-05 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-06 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-06 <' FIELD-06 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-07 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-07 <' FIELD-07 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-08 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-08 <' FIELD-08 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-09 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-09 <' FIELD-09 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-10 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-10 <' FIELD-10 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-11 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-11 <' FIELD-11 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-12 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-12 <' FIELD-12 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-13 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-13 <' FIELD-13 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-14 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-14 <' FIELD-14 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-15 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-15 <' FIELD-15 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-16 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-16 <' FIELD-16 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-17 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-17 <' FIELD-17 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-18 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-18 <' FIELD-18 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-19 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-19 <' FIELD-19 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-20 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-20 <' FIELD-20 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-21 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-21 <' FIELD-21 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-22 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-22 <' FIELD-22 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-23 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-23 <' FIELD-23 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-24 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-24 <' FIELD-24 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-25 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-25 <' FIELD-25 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-26 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-26 <' FIELD-26 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-50 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-50 <' FIELD-50 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-51 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-51 <' FIELD-51 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-52 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-52 <' FIELD-52 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-53 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-53 <' FIELD-52 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-54 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-54 <' FIELD-54 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-55 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-55 <' FIELD-55 OF + ALL-DST '> != <' EXPTD-RESULT '>' . + *> + IF FIELD-56 OF ALL-DST IS NOT = EXPTD-RESULT + THEN + DISPLAY 'PASS THREE: FIELD-56 <' FIELD-56 OF + ALL-DST '> != <' EXPTD-RESULT '>' . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11084: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:11084" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11084" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11085: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:11085" +( $at_check_trace; $COBCRUN_DIRECT ./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:11085" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:11090' \ + "MOVE to editted ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "635. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. MoveToEditedZero . + *>---------------------------------------------------------------- + *> Additional test cases for MOVE statement + *> Move To Edited + *> Edited field contains only '*' and sending field is ZERO + *>---------------------------------------------------------------- + *> + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DISP-1 PIC 999999 . + 01 EDIT-1 PIC ****** . + 01 EDIT-1-X REDEFINES EDIT-1 PIC X(06) . + + *> + PROCEDURE DIVISION . + *> + MOVE 111111 TO EDIT-1 *> avoid init by default + *> + MOVE ZEROES TO DISP-1 . + MOVE DISP-1 TO EDIT-1 . + IF EDIT-1-X NOT = '******' + THEN + DISPLAY 'Error EDIT-1-X <' EDIT-1-X '> != <******>' . + *> + *> + MOVE 123 TO DISP-1 . + MOVE DISP-1 TO EDIT-1 . + IF EDIT-1-X NOT = '***123' + THEN + DISPLAY 'Error EDIT-1-X <' EDIT-1-X '> != <***123>' . + *> + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11129: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:11129" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11129" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11130: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:11130" +( $at_check_trace; $COBCRUN_DIRECT ./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:11130" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_fundamental.at:11135' \ + "SPECIAL-NAMES CLASS" " " 4 +at_xfail=no +( + printf "%s\n" "636. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. TSTCLASS. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION . + SPECIAL-NAMES . + CLASS HEXA IS '0' THRU '9' + 'A' THRU 'F' . + CLASS ODD IS '1' '3' '5' '7' '9' . + + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * * + * NOTICE THAT THE VALUES SUPPLIED ARE NUMERIC LITERALS * + * WHICH REPRESENT A VALUE WHICH IS 1 NUMBER HIGHER THAN * + * THE HEX VALUES WHICH THEY REPRESENT. THIS IS BECAUSE * + * THE ALLOWABLE VALUES ARE FROM 1 THROUGH 256. * + * * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + CLASS EVEN IS 49 51 53 55 57. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ALPHA PIC X(01) . + 01 NUM-1 PIC 9(01) . + *> + PROCEDURE DIVISION. + *> + MOVE '3' TO ALPHA . + IF ALPHA IS HEXA + THEN + CONTINUE + ELSE + DISPLAY 'ERROR 1' + END-IF. + *> + IF ALPHA IS ODD + THEN + CONTINUE + ELSE + DISPLAY 'ERROR 2' + END-IF. + *> + MOVE 2 TO NUM-1 + IF NUM-1 IS EVEN + THEN + CONTINUE + ELSE + DISPLAY 'ERROR 3' + END-IF. + *> + GOBACK . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11192: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:11192" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11192" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_fundamental.at:11193: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_fundamental.at:11193" +( $at_check_trace; $COBCRUN_DIRECT ./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:11193" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:26' \ + "Subscript out of bounds" " " 4 +at_xfail=no +( + printf "%s\n" "637. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_subscripts.at:44: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:44" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: 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/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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_subscripts.at:63: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_subscripts.at:63" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:10: error: subscript of 'X' out of bounds: 11 +note: 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_637 +#AT_START_638 +at_fn_group_banner 638 'run_subscripts.at:71' \ + "Value of DEPENDING ON N out of bounds" " " 4 +at_xfail=no +( + printf "%s\n" "638. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_subscripts.at:94: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:94" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:15: error: OCCURS DEPENDING ON 'N' out of bounds: 3 +note: minimum subscript for 'X': 4 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_subscripts.at:114: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_subscripts.at:114" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:10: error: OCCURS DEPENDING ON 'N' out of bounds: 7 +note: 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_638 +#AT_START_639 +at_fn_group_banner 639 'run_subscripts.at:122' \ + "Subscript bounds with OCCURS DEPENDING ON (1)" " " 4 +at_xfail=no +( + printf "%s\n" "639. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_subscripts.at:140: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:140" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:10: error: subscript of 'X' out of bounds: 5 +note: 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_639 +#AT_START_640 +at_fn_group_banner 640 'run_subscripts.at:148' \ + "Subscript bounds with OCCURS DEPENDING ON (2)" " " 4 +at_xfail=no +( + printf "%s\n" "640. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verifies that the check is generated within conditions - simple IF + +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. + IF X(5) <> SPACE + DISPLAY X(5). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:167: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:167" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:167" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:168: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:168" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:10: error: subscript of 'X' out of bounds: 5 +note: 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:168" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:176' \ + "Subscript bounds with OCCURS DEPENDING ON (3)" " " 4 +at_xfail=no +( + printf "%s\n" "641. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verifies that the check is generated within conditions - WHEN +# complex test for correct place and not raised if guarded by check + +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. + EVALUATE TRUE + WHEN N >= 5 + AND X(5) <> SPACE + DISPLAY "1-" X(5) + WHEN N >= 5 + WHEN X(5) <> SPACE + DISPLAY "2-" X(5) + END-EVALUATE + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:202: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.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/run_subscripts.at:202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:203: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:203" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:15: error: subscript of 'X' out of bounds: 5 +note: 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: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_641 +#AT_START_642 +at_fn_group_banner 642 'run_subscripts.at:211' \ + "Subscript by arithmetic expression" " " 4 +at_xfail=no +( + printf "%s\n" "642. $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 +printf "%s\n" "$at_srcdir/run_subscripts.at:236: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.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/run_subscripts.at:236" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:237: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:237" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_642 +#AT_START_643 +at_fn_group_banner 643 'run_subscripts.at:242' \ + "length of ODO w/- reference-modification" " " 4 +at_xfail=no +( + printf "%s\n" "643. $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 +printf "%s\n" "$at_srcdir/run_subscripts.at:292: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:292" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:292" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:293: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:293" +( $at_check_trace; $COBCRUN_DIRECT ./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:293" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:298' \ + "SEARCH ALL with OCCURS DEPENDING ON" " " 4 +at_xfail=no +( + printf "%s\n" "644. $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 +printf "%s\n" "$at_srcdir/run_subscripts.at:342: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.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/run_subscripts.at:342" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:343: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:343" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "END +FOUND +FOUND +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.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_644 +#AT_START_645 +at_fn_group_banner 645 'run_subscripts.at:351' \ + "enable / disable subscript check" " " 4 +at_xfail=no +( + printf "%s\n" "645. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x VALUE "12345!". + 03 y PIC X OCCURS 5 TIMES. + 03 z PIC X VALUE "!". + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + DISPLAY y (idx) + WITH NO ADVANCING + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + WITH NO ADVANCING + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:374: \$COMPILE prog.cob -o badprog1" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -o badprog1" "run_subscripts.at:374" +( $at_check_trace; $COMPILE prog.cob -o badprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:374" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:375: \$COBCRUN_DIRECT ./badprog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./badprog1" "run_subscripts.at:375" +( $at_check_trace; $COBCRUN_DIRECT ./badprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:13: error: subscript of 'y' out of bounds: 6 +note: maximum subscript for 'y': 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_subscripts.at:375" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:379: \$COBC -x prog.cob -o exprog1" +at_fn_check_prepare_dynamic "$COBC -x prog.cob -o exprog1" "run_subscripts.at:379" +( $at_check_trace; $COBC -x prog.cob -o exprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:379" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:380: \$COBCRUN_DIRECT ./exprog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./exprog1" "run_subscripts.at:380" +( $at_check_trace; $COBCRUN_DIRECT ./exprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:380" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:382: \$COMPILE -fno-ec=EC-BOUND-SUBSCRIPT -o exprog2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=EC-BOUND-SUBSCRIPT -o exprog2 prog.cob" "run_subscripts.at:382" +( $at_check_trace; $COMPILE -fno-ec=EC-BOUND-SUBSCRIPT -o exprog2 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:382" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:383: \$COBCRUN_DIRECT ./exprog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./exprog2" "run_subscripts.at:383" +( $at_check_trace; $COBCRUN_DIRECT ./exprog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:383" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:384: \$COMPILE -fno-ec=BOUND -o exprog3 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=BOUND -o exprog3 prog.cob" "run_subscripts.at:384" +( $at_check_trace; $COMPILE -fno-ec=BOUND -o exprog3 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:384" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:385: \$COBCRUN_DIRECT ./exprog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./exprog3" "run_subscripts.at:385" +( $at_check_trace; $COBCRUN_DIRECT ./exprog3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:385" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:387: \$COBC -x -fec=BoUnd-subscript prog.cob -o badprog2" +at_fn_check_prepare_dynamic "$COBC -x -fec=BoUnd-subscript prog.cob -o badprog2" "run_subscripts.at:387" +( $at_check_trace; $COBC -x -fec=BoUnd-subscript prog.cob -o badprog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:387" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:388: \$COBCRUN_DIRECT ./badprog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./badprog2" "run_subscripts.at:388" +( $at_check_trace; $COBCRUN_DIRECT ./badprog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:13: error: subscript of 'y' out of bounds: 6 +note: maximum subscript for 'y': 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_subscripts.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_645 +#AT_START_646 +at_fn_group_banner 646 'run_subscripts.at:396' \ + "enable / disable subscript check with ODO" " " 4 +at_xfail=no +( + printf "%s\n" "646. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TAB. + 02 X PIC X OCCURS 4 TO 6 DEPENDING ON N + VALUE "A". + 01 N PIC 9 VALUE 5. + PROCEDURE DIVISION. + MOVE "B" TO X (6) + IF X (6) NOT EQUAL TO "B" THEN + DISPLAY "Got X (6) = " X (6) ", expected B" + END-DISPLAY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:416: \$COMPILE prog.cob -o badprog1" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -o badprog1" "run_subscripts.at:416" +( $at_check_trace; $COMPILE prog.cob -o badprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:416" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:417: \$COBCRUN_DIRECT ./badprog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./badprog1" "run_subscripts.at:417" +( $at_check_trace; $COBCRUN_DIRECT ./badprog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:11: error: subscript of 'X' out of bounds: 6 +note: current maximum subscript for 'X': 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_subscripts.at:417" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:422: \$COMPILE prog.cob -fsubscript-check=full -o failprog1-check-full" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fsubscript-check=full -o failprog1-check-full" "run_subscripts.at:422" +( $at_check_trace; $COMPILE prog.cob -fsubscript-check=full -o failprog1-check-full +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:422" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:423: \$COBCRUN_DIRECT ./failprog1-check-full" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./failprog1-check-full" "run_subscripts.at:423" +( $at_check_trace; $COBCRUN_DIRECT ./failprog1-check-full +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:11: error: subscript of 'X' out of bounds: 6 +note: current maximum subscript for 'X': 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_subscripts.at:423" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:428: \$COMPILE prog.cob -fsubscript-check=max -o okprog1-check-max" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fsubscript-check=max -o okprog1-check-max" "run_subscripts.at:428" +( $at_check_trace; $COMPILE prog.cob -fsubscript-check=max -o okprog1-check-max +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:428" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:429: \$COBCRUN_DIRECT ./okprog1-check-max" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./okprog1-check-max" "run_subscripts.at:429" +( $at_check_trace; $COBCRUN_DIRECT ./okprog1-check-max +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:429" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:431: \$COMPILE prog.cob -fno-ec=bound -fsubscript-check=full -o okprog1-no-ec" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fno-ec=bound -fsubscript-check=full -o okprog1-no-ec" "run_subscripts.at:431" +( $at_check_trace; $COMPILE prog.cob -fno-ec=bound -fsubscript-check=full -o okprog1-no-ec +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:431" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:432: \$COBCRUN_DIRECT ./okprog1-no-ec" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./okprog1-no-ec" "run_subscripts.at:432" +( $at_check_trace; $COBCRUN_DIRECT ./okprog1-no-ec +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:432" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:437' \ + "BOUND and NOBOUND directives" " " 4 +at_xfail=no +( + printf "%s\n" "647. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: the >> TURN directive is checked in run_misc.at + +cat >prog.cob <<'_ATEOF' + + $SET BOUND + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x VALUE "12345!". + 03 y PIC X OCCURS 5 TIMES. + 03 z PIC X. + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + DISPLAY y (idx) WITH NO ADVANCING + . +_ATEOF + + +cat >progn.cob <<'_ATEOF' + + $SET NOBOUND + IDENTIFICATION DIVISION. + PROGRAM-ID. progn. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x VALUE "12345!". + 03 y PIC X OCCURS 5 TIMES. + 03 z PIC X. + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + DISPLAY y (idx) WITH NO ADVANCING + . +_ATEOF + + +cat >progn2.cob <<'_ATEOF' + + $SET NO-BOUND + IDENTIFICATION DIVISION. + PROGRAM-ID. progn2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x VALUE "12345!". + 03 y PIC X OCCURS 5 TIMES. + 03 z PIC X. + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + DISPLAY y (idx) WITH NO ADVANCING + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:493: \$COBC -x prog.cob" +at_fn_check_prepare_dynamic "$COBC -x prog.cob" "run_subscripts.at:493" +( $at_check_trace; $COBC -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=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:493" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:494: \$COMPILE progn.cob" +at_fn_check_prepare_dynamic "$COMPILE progn.cob" "run_subscripts.at:494" +( $at_check_trace; $COMPILE progn.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:494" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:495: \$COMPILE progn2.cob" +at_fn_check_prepare_dynamic "$COMPILE progn2.cob" "run_subscripts.at:495" +( $at_check_trace; $COMPILE progn2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:495" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:496: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:496" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:14: error: subscript of 'y' out of bounds: 6 +note: maximum subscript for 'y': 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_subscripts.at:496" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:500: \$COBCRUN_DIRECT ./progn" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progn" "run_subscripts.at:500" +( $at_check_trace; $COBCRUN_DIRECT ./progn +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:500" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:501: \$COBCRUN_DIRECT ./progn2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progn2" "run_subscripts.at:501" +( $at_check_trace; $COBCRUN_DIRECT ./progn2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:506' \ + "SSRANGE and NOSSRANGE directives" " " 4 +at_xfail=no +( + printf "%s\n" "648. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# WARNING: this testcase is "broken" as those SSRANGE may only be +# defined before IDENTIFICATION DIVISION (initial $SET) + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X OCCURS 5 TIMES VALUE SPACE. + 03 z PIC X VALUE "!". + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + $SET NOSSRANGE + DISPLAY y (idx) + *> Note: MF says "sets BOUND" + $SET SSRANGE + DISPLAY y (idx) + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:532: \$COMPILE -DTEST-SUBSCRIPT prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -DTEST-SUBSCRIPT prog.cob" "run_subscripts.at:532" +( $at_check_trace; $COMPILE -DTEST-SUBSCRIPT prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:532" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:533: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:533" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:17: error: subscript of 'y' out of bounds: 6 +note: maximum subscript for 'y': 5 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:533" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_subscripts.at:542' \ + "CALL with OCCURS DEPENDING ON" " " 4 +at_xfail=no +( + printf "%s\n" "649. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog-main. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 parm. + 03 parm-size PIC S999 COMP. + 03 parm-str. + 05 parm-char PIC X OCCURS 0 TO 100 TIMES + DEPENDING ON parm-size. + + PROCEDURE DIVISION. + MOVE 10 TO parm-size + MOVE "Hi, there!" TO parm-str + CALL "prog" USING parm + . + END PROGRAM prog-main. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + LINKAGE SECTION. + 01 parm. + 03 parm-size PIC S999 COMP. + 03 parm-str. + 05 parm-char PIC X OCCURS 0 TO 100 TIMES + DEPENDING ON parm-size. + + PROCEDURE DIVISION USING parm. + DISPLAY FUNCTION TRIM(parm-str) WITH NO ADVANCING + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:581: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:581" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:581" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_subscripts.at:582: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_subscripts.at:582" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hi, there!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.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_649 +#AT_START_650 +at_fn_group_banner 650 'run_refmod.at:25' \ + "Static reference-modification" " " 4 +at_xfail=no +( + printf "%s\n" "650. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_refmod.at:47: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:47" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_650 +#AT_START_651 +at_fn_group_banner 651 'run_refmod.at:57' \ + "Dynamic reference-modification" " " 4 +at_xfail=no +( + printf "%s\n" "651. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_refmod.at:84: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:84" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_651 +#AT_START_652 +at_fn_group_banner 652 'run_refmod.at:94' \ + "Offset underflow" " " 4 +at_xfail=no +( + printf "%s\n" "652. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_refmod.at:111: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:111" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:9: error: 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_652 +#AT_START_653 +at_fn_group_banner 653 'run_refmod.at:118' \ + "Offset overflow" " " 4 +at_xfail=no +( + printf "%s\n" "653. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01. + 03 X PIC X(4) VALUE "abcd". + 03 I PIC 9 VALUE 5. + PROCEDURE DIVISION. + DISPLAY X(I:1) NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_refmod.at:135: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:135" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:10: error: offset of 'X' out of bounds: 5, maximum: 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_refmod.at:135" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:139: \$COBC -x prog.cob -o progb" +at_fn_check_prepare_dynamic "$COBC -x prog.cob -o progb" "run_refmod.at:139" +( $at_check_trace; $COBC -x prog.cob -o progb +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:139" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:140: \$COBCRUN_DIRECT ./progb" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progb" "run_refmod.at:140" +( $at_check_trace; $COBCRUN_DIRECT ./progb +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "5" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.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_653 +#AT_START_654 +at_fn_group_banner 654 'run_refmod.at:145' \ + "Length underflow" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_refmod.at:161: \$COMPILE -std=cobol2002 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 prog.cob" "run_refmod.at:161" +( $at_check_trace; $COMPILE -std=cobol2002 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:161" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:162: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:162" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:9: error: 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:162" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC X(4) VALUE "abcd". + 01 I PIC 9 VALUE 0. + PROCEDURE DIVISION. + >> REF-MOD-ZERO-LENGTH + DISPLAY X(1:I) NO ADVANCING. + >> REF-MOD-ZERO-LENGTH OFF + DISPLAY X(1:I) NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:181: \$COMPILE -fno-ref-mod-zero-length prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ref-mod-zero-length prog2.cob" "run_refmod.at:181" +( $at_check_trace; $COMPILE -fno-ref-mod-zero-length 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_refmod.at:181" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:182: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_refmod.at:182" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:11: error: 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:182" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_refmod.at:189' \ + "Length overflow" " " 4 +at_xfail=no +( + printf "%s\n" "655. $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 +printf "%s\n" "$at_srcdir/run_refmod.at:205: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:205" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:206: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:206" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:9: error: length of 'X' out of bounds: 5, maximum: 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_refmod.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC X(4) VALUE "abcd". + 01 I PIC 9 VALUE 5. + PROCEDURE DIVISION. + DISPLAY X(3:I) NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:223: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_refmod.at:223" +( $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_refmod.at:223" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:224: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_refmod.at:224" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:9: error: length of 'X' out of bounds: 5, maximum: 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_refmod.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_refmod.at:231' \ + "Length overflow with offset (1)" " " 4 +at_xfail=no +( + printf "%s\n" "656. $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 3. + PROCEDURE DIVISION. + DISPLAY X(3:I) NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:246: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:246" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:246" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:247: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:247" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:9: error: length of 'X' out of bounds: 3, starting at: 3, maximum: 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_refmod.at:247" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_refmod.at:254' \ + "Length overflow with offset (2)" " " 4 +at_xfail=no +( + printf "%s\n" "657. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verifies that the check is generated within conditions - simple IF + +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 3. + PROCEDURE DIVISION. + IF X(3:I) <> SPACES + DISPLAY X(3:I) NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:272: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.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_refmod.at:272" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:273: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:273" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:9: error: length of 'X' out of bounds: 3, starting at: 3, maximum: 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_refmod.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_657 +#AT_START_658 +at_fn_group_banner 658 'run_refmod.at:280' \ + "Length overflow with offset (3)" " " 4 +at_xfail=no +( + printf "%s\n" "658. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# verifies that the check is generated within conditions - WHEN +# complex test for correct place and not raised if guarded by check + +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 3. + PROCEDURE DIVISION. + EVALUATE TRUE + WHEN I < 2 + AND X(3:I) <> SPACES + DISPLAY "1-" X(3:I) NO ADVANCING + WHEN I < 2 + WHEN X(3:I) <> SPACES + DISPLAY "2-" X(3:I) NO ADVANCING + END-EVALUATE + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:305: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.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_refmod.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:306: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:306" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:14: error: length of 'X' out of bounds: 3, starting at: 3, maximum: 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_refmod.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_658 +#AT_START_659 +at_fn_group_banner 659 'run_refmod.at:313' \ + "enable / disable ref-mod check" " " 4 +at_xfail=no +( + printf "%s\n" "659. $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 y PIC XXX VALUE "abc". + 03 z PIC X VALUE "d". + 01 len PIC 99 VALUE 2. + + PROCEDURE DIVISION. + DISPLAY y (3:len) + WITH NO ADVANCING + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + WITH NO ADVANCING + DISPLAY "." + WITH NO ADVANCING + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:337: \$COMPILE -w -fno-ec=BOUND-REF-MOD prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w -fno-ec=BOUND-REF-MOD prog.cob" "run_refmod.at:337" +( $at_check_trace; $COMPILE -w -fno-ec=BOUND-REF-MOD prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:337" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:338: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:338" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "cd." | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:338" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:339: \$COMPILE -w -fno-ec=BOUND prog.cob -o progb" +at_fn_check_prepare_dynamic "$COMPILE -w -fno-ec=BOUND prog.cob -o progb" "run_refmod.at:339" +( $at_check_trace; $COMPILE -w -fno-ec=BOUND prog.cob -o progb +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:339" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:340: \$COBCRUN_DIRECT ./progb" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progb" "run_refmod.at:340" +( $at_check_trace; $COBCRUN_DIRECT ./progb +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "cd." | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:340" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:341: \$COMPILE -w prog.cob -o progc" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob -o progc" "run_refmod.at:341" +( $at_check_trace; $COMPILE -w prog.cob -o progc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:341" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:342: \$COBCRUN_DIRECT ./progc" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progc" "run_refmod.at:342" +( $at_check_trace; $COBCRUN_DIRECT ./progc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:13: error: length of 'y' out of bounds: 2, starting at: 3, maximum: 3 +" | \ + $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:342" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X VALUE "a". + 03 z PIC X VALUE "b". + 01 len PIC 99 VALUE 0. + + PROCEDURE DIVISION. + DISPLAY y (1:len) + WITH NO ADVANCING + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + WITH NO ADVANCING + DISPLAY "." + WITH NO ADVANCING + MOVE 2 TO len + DISPLAY y (1:len) + WITH NO ADVANCING + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + WITH NO ADVANCING + DISPLAY "." + WITH NO ADVANCING + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:374: \$COMPILE -w -fno-ec=BOUND-REF-MOD prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -w -fno-ec=BOUND-REF-MOD prog2.cob" "run_refmod.at:374" +( $at_check_trace; $COMPILE -w -fno-ec=BOUND-REF-MOD 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_refmod.at:374" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:375: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_refmod.at:375" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" ".ab." | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:375" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:376: \$COMPILE -w -o prog2b prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -w -o prog2b prog2.cob" "run_refmod.at:376" +( $at_check_trace; $COMPILE -w -o prog2b 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_refmod.at:376" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:377: \$COBCRUN_DIRECT ./prog2b" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2b" "run_refmod.at:377" +( $at_check_trace; $COBCRUN_DIRECT ./prog2b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:20: error: length of 'y' out of bounds: 2, maximum: 1 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "." | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:377" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:380: \$COMPILE -w -fno-ref-mod-zero-length -o prog2c prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -w -fno-ref-mod-zero-length -o prog2c prog2.cob" "run_refmod.at:380" +( $at_check_trace; $COMPILE -w -fno-ref-mod-zero-length -o prog2c 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_refmod.at:380" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:381: \$COBCRUN_DIRECT ./prog2c" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2c" "run_refmod.at:381" +( $at_check_trace; $COBCRUN_DIRECT ./prog2c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:13: error: length of 'y' 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:381" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_refmod.at:388' \ + "MF SSRANGE and NOSSRANGE directives" " " 4 +at_xfail=no +( + printf "%s\n" "660. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: SSRANGE directive is "initial" and must be specified +# before IDENTIFICATION DIVISION + +cat >prog.cob <<'_ATEOF' + + $SET NOSSRANGE + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X VALUE SPACE. + 03 z PIC X VALUE "!". + 01 n PIC 9 VALUE 0. + 01 m PIC 9 VALUE 2. + + PROCEDURE DIVISION. + DISPLAY y (1:m) NO ADVANCING + DISPLAY y (1:n) no ADVANCING + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:413: \$COBC -w -x -debug -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COBC -w -x -debug -std=mf prog.cob" "run_refmod.at:413" +( $at_check_trace; $COBC -w -x -debug -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_refmod.at:413" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:414: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_refmod.at:414" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " !" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:414" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog1.cob <<'_ATEOF' + + $SET SSRANGE"1" + IDENTIFICATION DIVISION. + PROGRAM-ID. progb. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X VALUE SPACE. + 03 z PIC X VALUE "!". + 01 n PIC 9 VALUE 0. + 01 m PIC 9 VALUE 2. + + PROCEDURE DIVISION. + DISPLAY y (1:m) NO ADVANCING + DISPLAY y (1:n) + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:435: \$COBC -w -x -std=mf prog1.cob" +at_fn_check_prepare_dynamic "$COBC -w -x -std=mf prog1.cob" "run_refmod.at:435" +( $at_check_trace; $COBC -w -x -std=mf 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_refmod.at:435" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:436: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_refmod.at:436" +( $at_check_trace; $COBCRUN_DIRECT ./prog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog1.cob:16: error: length of 'y' out of bounds: 0 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " !" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:436" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + $SET SSRANGE"2" + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X VALUE SPACE. + 03 z PIC X VALUE "!". + 01 n PIC 9 VALUE 0. + 01 m PIC 9 VALUE 2. + + PROCEDURE DIVISION. + $IF TEST-ZERO-LEN-REF-MOD DEFINED + DISPLAY y (1:n) + $END + DISPLAY y (1:m) + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:461: \$COBC -w -x -std=mf -DTEST-ZERO-LEN-REF-MOD prog2.cob" +at_fn_check_prepare_dynamic "$COBC -w -x -std=mf -DTEST-ZERO-LEN-REF-MOD prog2.cob" "run_refmod.at:461" +( $at_check_trace; $COBC -w -x -std=mf -DTEST-ZERO-LEN-REF-MOD 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_refmod.at:461" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:462: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_refmod.at:462" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:16: error: length of 'y' 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:462" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:466: \$COBC -w -x -std=mf -o prog2b prog2.cob" +at_fn_check_prepare_dynamic "$COBC -w -x -std=mf -o prog2b prog2.cob" "run_refmod.at:466" +( $at_check_trace; $COBC -w -x -std=mf -o prog2b 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_refmod.at:466" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:467: \$COBCRUN_DIRECT ./prog2b" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2b" "run_refmod.at:467" +( $at_check_trace; $COBCRUN_DIRECT ./prog2b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:18: error: length of 'y' out of bounds: 2, maximum: 1 +" | \ + $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:467" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + $SET SSRANGE"3" + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x. + 03 y PIC X VALUE SPACE. + 03 z PIC X VALUE "!". + 01 n PIC 9 VALUE 0. + 01 m PIC 9 VALUE 2. + + PROCEDURE DIVISION. + DISPLAY y (1:n) NO ADVANCING + DISPLAY y (1:m) + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:490: \$COBC -w -x -std=mf prog3.cob" +at_fn_check_prepare_dynamic "$COBC -w -x -std=mf prog3.cob" "run_refmod.at:490" +( $at_check_trace; $COBC -w -x -std=mf 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_refmod.at:490" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_refmod.at:491: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_refmod.at:491" +( $at_check_trace; $COBCRUN_DIRECT ./prog3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog3.cob:16: error: length of 'y' out of bounds: 2, maximum: 1 +" | \ + $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:491" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_accept.at:29' \ + "ACCEPT OMITTED (simple)" " " 4 +at_xfail=no +( + printf "%s\n" "661. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + ACCEPT OMITTED. +_ATEOF + + +cat >input.txt <<'_ATEOF' + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:42: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:42" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:42" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:43: \$COBCRUN_DIRECT ./prog < input.txt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog < input.txt" "run_accept.at:43" +( $at_check_trace; $COBCRUN_DIRECT ./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:43" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_accept.at:51' \ + "ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (1)" "" 4 +at_xfail=no +( + printf "%s\n" "662. $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 +printf "%s\n" "$at_srcdir/run_accept.at:112: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.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_accept.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:113: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_accept.at:113" +( $at_check_trace; $COBCRUN_DIRECT ./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:113" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# testing all variants for the offset (to not break anything hard, +# actual testing of the values need a bigger test in COBOL) +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:117: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS+01:00\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:117" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS+01:00" \ +$COBCRUN_DIRECT ./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:117" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:119: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS-0115\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:119" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS-0115" \ +$COBCRUN_DIRECT ./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:119" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:121: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS+02\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:121" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS+02" \ +$COBCRUN_DIRECT ./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:121" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:123: COB_CURRENT_DATE=\"YYYYMMDDHHMMSSZ\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:123" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSSZ" \ +$COBCRUN_DIRECT ./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:123" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:125: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS-011569\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:125" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS-011569" \ +$COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: COB_CURRENT_DATE 'YYYYMMDDHHMMSS-011569' is invalid +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:125" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:129: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS+01:0000\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:129" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS+01:0000" \ +$COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: COB_CURRENT_DATE 'YYYYMMDDHHMMSS+01:0000' is invalid +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:129" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:133: COB_CURRENT_DATE=\"YYYYMMDDHHMMSS-010A\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:133" +( $at_check_trace; COB_CURRENT_DATE="YYYYMMDDHHMMSS-010A" \ +$COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: COB_CURRENT_DATE 'YYYYMMDDHHMMSS-010A' is invalid +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_accept.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_662 +#AT_START_663 +at_fn_group_banner 663 'run_accept.at:141' \ + "ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (2)" "" 4 +at_xfail=no +( + printf "%s\n" "663. $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-TODAY-9 REDEFINES WS-DATE-TODAY PIC 9(06). + + 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-NOW-9 REDEFINES WS-TIME-NOW PIC 9(08). + + 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. + + 01 WS-MICROSECOND-TIME. + 05 WS-TIME-MICRO PIC 9(14). + + PROCEDURE DIVISION. + PERFORM RUN-TEST. + PERFORM RUN-VALIDATION. + >> IF CHECK-PERF IS DEFINED + *> included performance check + PERFORM RUN-TEST 50000 TIMES + >> END-IF + GOBACK. + + RUN-TEST. + ACCEPT WS-DATE-TODAY-9 FROM DATE. + ACCEPT WS-TIME-NOW-9 FROM TIME. + ACCEPT WS-TIME-MICRO FROM MICROSECOND-TIME. + + RUN-VALIDATION. + *> actual verification + 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 UPON SYSOUT + END-DISPLAY + DISPLAY ' MICROSECOND-TIME ' + WITH NO ADVANCING UPON SYSOUT + END-DISPLAY + DISPLAY WS-MICROSECOND-TIME + WITH NO ADVANCING UPON SYSOUT + END-DISPLAY + DISPLAY '.' UPON SYSOUT. + *> Bigger fields return 8/12 depending on std + *> CHECKME: we may should limit to 6 depending on std, too + ACCEPT WS-TIME-MICRO FROM TIME + DISPLAY 'PROCESS BIG TIME : ' + WITH NO ADVANCING UPON SYSOUT + DISPLAY WS-MICROSECOND-TIME UPON SYSOUT. + ACCEPT WS-YYYYMMDD FROM DATE YYYYMMDD + IF WS-YYYYMMDD not = "20150405" + DISPLAY 'Wrong date DATE YYYYMMDD: ' WS-YYYYMMDD + ' expected: 20150405' + UPON SYSERR. + ACCEPT WS-YYYYDDD FROM DAY YYYYDDD + IF WS-YYYYDDD not = "2015095" + DISPLAY 'Wrong date YYYYDDD: ' WS-YYYYDDD + ' expected: 2015095' + UPON SYSERR. + ACCEPT WS-DAYOFWEEK FROM DAY-OF-WEEK + IF WS-DAYOFWEEK not = "7" + DISPLAY 'Wrong date DAYOFWEEK: ' WS-DAYOFWEEK + ' expected: 7' + UPON SYSERR. + *> + PERFORM 500 TIMES + ACCEPT WS-DATE-TODAY FROM DATE + ACCEPT WS-TIME-NOW FROM TIME + ACCEPT WS-MICROSECOND-TIME FROM MICROSECOND-TIME + END-PERFORM + 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 UPON SYSOUT + END-DISPLAY + DISPLAY ' MICROSECOND-TIME ' + WITH NO ADVANCING UPON SYSOUT + END-DISPLAY + DISPLAY WS-MICROSECOND-TIME + WITH NO ADVANCING UPON SYSOUT + END-DISPLAY + DISPLAY '.' UPON SYSOUT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:260: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.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/run_accept.at:260" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:262: COB_CURRENT_DATE='2015/04/05 18:45:22.123400056' \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:262" +( $at_check_trace; COB_CURRENT_DATE='2015/04/05 18:45:22.123400056' \ +$COBCRUN_DIRECT ./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"; printf "%s\n" "PROCESS DATE/TIME : 04/05/15 18:45:22 MICROSECOND-TIME 00184522123400. +PROCESS BIG TIME : 00000018452212 +PROCESS DATE/TIME : 04/05/15 18:45:22 MICROSECOND-TIME 184522123400 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:262" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:269: \$COMPILE -std=acu -o proga prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=acu -o proga prog.cob" "run_accept.at:269" +( $at_check_trace; $COMPILE -std=acu -o proga prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:269" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:271: COB_CURRENT_DATE='2015/04/05 18:45:22.123400056' \\ +\$COBCRUN_DIRECT ./proga" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:271" +( $at_check_trace; COB_CURRENT_DATE='2015/04/05 18:45:22.123400056' \ +$COBCRUN_DIRECT ./proga +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "PROCESS DATE/TIME : 04/05/15 18:45:22 MICROSECOND-TIME 00184522123400. +PROCESS BIG TIME : 00184522123400 +PROCESS DATE/TIME : 04/05/15 18:45:22 MICROSECOND-TIME 184522123400 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:271" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_accept.at:283' \ + "ACCEPT DATE / DAY and intrinsic functions (1)" " " 4 +at_xfail=no +( + printf "%s\n" "664. $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 9(9). + 01 WS-YYYYDDD PIC 9(8). + PROCEDURE DIVISION. + ACCEPT WS-YYYYMMDD FROM DATE YYYYMMDD + END-ACCEPT + ACCEPT WS-YYYYDDD FROM DAY YYYYDDD + END-ACCEPT + IF FUNCTION INTEGER-OF-DATE (WS-YYYYMMDD) + NOT = FUNCTION INTEGER-OF-DAY (WS-YYYYDDD) + DISPLAY "DIFFERENCES FOUND!" + END-DISPLAY + DISPLAY "YYYYMMDD = " WS-YYYYMMDD ", " + "YYYYDDD = " WS-YYYYDDD + END-DISPLAY + DISPLAY "INTEGER-OF-DATE = " + FUNCTION INTEGER-OF-DATE (WS-YYYYMMDD) ", " + "INTEGER-OF-DAY = " + FUNCTION INTEGER-OF-DAY (WS-YYYYDDD) + END-DISPLAY + MOVE 1 TO RETURN-CODE + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:316: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:316" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:316" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:317: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_accept.at:317" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_664 +#AT_START_665 +at_fn_group_banner 665 'run_accept.at:320' \ + "ACCEPT DATE / DAY and intrinsic functions (2)" " " 4 +at_xfail=no +( + printf "%s\n" "665. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: verify via COB_CURRENT_DATE that the values are resolved correctly + +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 9(9). + 01 WS-YYYYDDD PIC 9(8). + PROCEDURE DIVISION. + ACCEPT WS-YYYYMMDD FROM DATE YYYYMMDD + END-ACCEPT + ACCEPT WS-YYYYDDD FROM DAY YYYYDDD + END-ACCEPT + IF FUNCTION INTEGER-OF-DATE (WS-YYYYMMDD) + NOT = FUNCTION INTEGER-OF-DAY (WS-YYYYDDD) + DISPLAY "DIFFERENCES FOUND!" + END-DISPLAY + DISPLAY "YYYYMMDD = " WS-YYYYMMDD ", " + "YYYYDDD = " WS-YYYYDDD + END-DISPLAY + DISPLAY "INTEGER-OF-DATE = " + FUNCTION INTEGER-OF-DATE (WS-YYYYMMDD) ", " + "INTEGER-OF-DAY = " + FUNCTION INTEGER-OF-DAY (WS-YYYYDDD) + END-DISPLAY + MOVE 1 TO RETURN-CODE + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:355: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:355" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:356: COB_CURRENT_DATE='2020/06/12 18:45:22' \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:356" +( $at_check_trace; COB_CURRENT_DATE='2020/06/12 18:45:22' \ +$COBCRUN_DIRECT ./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: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_665 +#AT_START_666 +at_fn_group_banner 666 'run_accept.at:367' \ + "ACCEPT OMITTED (SCREEN)" " " 4 +at_xfail=no +( + printf "%s\n" "666. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:370: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77" +at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_accept.at:370" +( $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:370" +$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 +printf "%s\n" "$at_srcdir/run_accept.at:389: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:389" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:389" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_accept.at:390: \$COBCRUN_DIRECT ./prog < input.txt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog < input.txt" "run_accept.at:390" +( $at_check_trace; $COBCRUN_DIRECT ./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:390" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:29' \ + "INITIALIZE group entry with OCCURS" " " 4 +at_xfail=no +( + printf "%s\n" "667. $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 +printf "%s\n" "$at_srcdir/run_initialize.at:51: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:51" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:52: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:52" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_667 +#AT_START_668 +at_fn_group_banner 668 'run_initialize.at:57' \ + "INITIALIZE OCCURS with numeric edited" " " 4 +at_xfail=no +( + printf "%s\n" "668. $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 + MOVE 5 TO X(1) + MOVE 99 TO X(3) + IF G1 NOT = " 5 099 0 0" + DISPLAY 'MOVE "' G1 '"' + END-DISPLAY + END-IF + INITIALIZE G1 + IF G1 NOT = " 0 0 0 0 0" + DISPLAY 'INIT "' G1 '"' + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:84: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:84" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:85: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:85" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_668 +#AT_START_669 +at_fn_group_banner 669 'run_initialize.at:90' \ + "INITIALIZE OCCURS with SIGN LEADING / TRAILING" " " 4 +at_xfail=no +( + printf "%s\n" "669. $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 FILLER OCCURS 2. + 03 X PIC S9 SIGN LEADING SEPARATE. + 02 FILLER OCCURS 2. + 03 Y PIC S9 SIGN TRAILING SEPARATE. + *> definition taken from NC1184.2 + 01 MINUS-NAMES SIGN IS TRAILING SEPARATE CHARACTER. + 02 MINUS-NAMES-1. + 03 MINUS-NAME1 PIC S9(18) VALUE -999999999999999999. + 03 EVEN-NAME1 PIC S9(18) VALUE +1. + 03 PLUS-NAME1 PIC S9(18) VALUE +999999999999999999. + 02 MINUS-NAMES-2. + 03 MINUS-NAME3 PIC SV9(18) VALUE -.999999999999999999. + 03 EVEN-NAME2 PIC SV9(18) VALUE +.1. + 03 PLUS-NAME3 PIC SV9(18) VALUE +.999999999999999999. + PROCEDURE DIVISION. + INITIALIZE G1 + MOVE 5 TO X(1), PLUS-NAME1 + MOVE -9 TO Y(2), MINUS-NAME1 + IF G1 NOT = "+5+00+9-" + DISPLAY 'MOVE G "' G1 '"' + END-DISPLAY + END-IF + MOVE .123 TO PLUS-NAME3 + IF MINUS-NAMES-1 NOT = + "000000000000000009-000000000000000001+000000000000000005+" + OR MINUS-NAMES-2 NOT = + "999999999999999999-100000000000000000+123000000000000000+" + DISPLAY 'MOVE MN1 "' MINUS-NAMES-1 '"' + END-DISPLAY + DISPLAY 'MOVE MN2 "' MINUS-NAMES-2 '"' + END-DISPLAY + END-IF + INITIALIZE G1, MINUS-NAMES + IF G1 NOT = "+0+00+0+" + DISPLAY 'INIT G1 "' G1 '"' + END-DISPLAY + END-IF + IF MINUS-NAMES-1 NOT = + "000000000000000000+000000000000000000+000000000000000000+" + OR MINUS-NAMES-2 NOT = + "000000000000000000+000000000000000000+000000000000000000+" + DISPLAY 'MOVE MN1 "' MINUS-NAMES-1 '"' + END-DISPLAY + DISPLAY 'MOVE MN2 "' MINUS-NAMES-2 '"' + END-DISPLAY + END-IF + MOVE .123 TO PLUS-NAME3 + MOVE -.456 TO MINUS-NAME3 + DISPLAY PLUS-NAME3 END-DISPLAY + DISPLAY MINUS-NAME3 END-DISPLAY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:152: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:152" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:152" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:153: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:153" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" ".123000000000000000+ +.456000000000000000- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:153" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:161' \ + "INITIALIZE complex group (1)" " " 4 +at_xfail=no +( + printf "%s\n" "670. $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 "Test failed: " G1 "." + DISPLAY " should be: " + " 000.". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:183: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:183" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:183" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:184: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:184" +( $at_check_trace; $COBCRUN_DIRECT ./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:184" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:189' \ + "INITIALIZE complex group (2)" " " 4 +at_xfail=no +( + printf "%s\n" "671. $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 "Test failed: " G1 "." + DISPLAY " should be: " + "0 0 .". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:211: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:211" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:211" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:212: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:212" +( $at_check_trace; $COBCRUN_DIRECT ./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:212" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:217' \ + "initial value for group item with VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "672. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see bug #694 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G. + 02 G2 OCCURS 3. + 03 X PIC 9 VALUE ZERO. + 03 Y. + 04 Y-REC OCCURS 5. + 05 Y1 PIC 9 VALUE 9. + 05 Y2 PIC X VALUE 'Y'. + 03 Z PIC X VALUE 'Z'. + PROCEDURE DIVISION. + IF G NOT = "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ" + DISPLAY "Test failed: " G "." + DISPLAY " should be: " + "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ.". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:243: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:243" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:243" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:244: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:244" +( $at_check_trace; $COBCRUN_DIRECT ./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:244" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:249' \ + "Value for group item with VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "673. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + *01 FAILED PIC 9(4) COMP-5 VALUE ZERO. + 01 G. + 02 G2 OCCURS 3. + 03 X PIC 9 VALUE ZERO. + 03 Y. + 04 Y-REC OCCURS 5. + 05 Y1 PIC 9 VALUE 9. + 05 Y2 PIC X VALUE 'Y'. + 03 Z PIC X VALUE 'Z'. + PROCEDURE DIVISION. + IF G NOT = "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ" + DISPLAY "Compile failed: " G "." + DISPLAY " should be: " + "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ." + * ADD 1 TO FAILED + END-IF. + INITIALIZE G. + IF G NOT = "00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 " + DISPLAY "INITIALIZE failed: " G "." + DISPLAY " should be: " + "00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 ." + * ADD 1 TO FAILED + END-IF. + INITIALIZE G ALL TO VALUE. + IF G NOT = "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ" + DISPLAY "INIT VALUE failed: " G "." + DISPLAY " should be: " + "09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ09Y9Y9Y9Y9YZ." + * ADD 1 TO FAILED + END-IF. + * IF FAILED = ZERO + * DISPLAY "All INITIALIZE tests passed." + * END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:292: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:292" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:292" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:293: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:293" +( $at_check_trace; $COBCRUN_DIRECT ./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:293" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:298' \ + "INITIALIZE group item" " " 4 +at_xfail=no +( + printf "%s\n" "674. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# see bug #694 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 G. + 02 G2 OCCURS 3. + 03 X PIC 9. + 03 Y. + 04 Y-REC OCCURS 5. + 05 Y1 PIC 9 VALUE 9. + 05 Y2 PIC X VALUE 'Y'. + 03 Z PIC X VALUE 'Z'. + PROCEDURE DIVISION. + MOVE ALL "A" TO G2(1) + MOVE ALL "B" TO G2(2) + MOVE ALL "C" TO G2(3) + INITIALIZE Y (2). + IF G NOT = "AAAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" + DISPLAY "Test 1 failed: " G "." + DISPLAY " should be: " + "AAAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC.". + MOVE ALL "A" TO G2(1) + MOVE ALL "B" TO G2(2) + MOVE ALL "C" TO G2(3) + MOVE 2 TO X(1) + INITIALIZE Y (X(1)). + IF G NOT = "2AAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" + DISPLAY "Test 2 failed: " G "." + DISPLAY " should be: " + "2AAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC.". + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 NUM PIC 9 COMP-5 VALUE 3. + 01 G. + 02 G2 OCCURS 0 TO 3 DEPENDING ON NUM. + 03 X PIC 9. + 03 Y. + 04 Y-REC OCCURS 5. + 05 Y1 PIC 9 VALUE 9. + 05 Y2 PIC X VALUE 'Y'. + 03 Z PIC X VALUE 'Z'. + PROCEDURE DIVISION. + MOVE ALL "A" TO G2(1) + MOVE ALL "B" TO G2(2) + MOVE ALL "C" TO G2(3) + INITIALIZE Y (2). + IF G NOT = "AAAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" + DISPLAY "Test 1 failed: " G "." + DISPLAY " should be: " + "AAAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC.". + MOVE ALL "A" TO G2(1) + MOVE ALL "B" TO G2(2) + MOVE ALL "C" TO G2(3) + MOVE 2 TO X(1) + INITIALIZE Y (X(1)). + IF G NOT = "2AAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" + DISPLAY "Test 2 failed: " G "." + DISPLAY " should be: " + "2AAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC.". + STOP RUN. +_ATEOF + + +# FIXME: finish test later, using both ODOSLIDE (ibm) +# and complex-odo alone (GC)... +#AT_DATA([prog3.cob], [ +# IDENTIFICATION DIVISION. +# PROGRAM-ID. prog3. +# DATA DIVISION. +# WORKING-STORAGE SECTION. +# 77 NUM PIC 9 COMP-5 VALUE 3. +# 77 NUM2 PIC 9 COMP-5 VALUE 5. +# 01 G. +# 02 G2 OCCURS 0 TO 3 DEPENDING ON NUM. +# 03 X PIC 9. +# 03 Y PIC X VALUE 'Z'. +# 03 Z OCCURS 1 TO 6 DEPENDING ON NUM2. +# 05 Z1 PIC 9 VALUE 9. +# 05 Z2 PIC X. +# PROCEDURE DIVISION. +# MOVE ALL "A" TO G2(1) +# MOVE ALL "B" TO G2(2) +# MOVE ALL "C" TO G2(3) +# INITIALIZE Y (2). +# IF G NOT = "AAAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" +# DISPLAY "Test 1 failed: " G ".". +# MOVE ALL "A" TO G2(1) +# MOVE ALL "B" TO G2(2) +# MOVE ALL "C" TO G2(3) +# MOVE 2 TO X(1) +# INITIALIZE Y (X(1)). +# IF G NOT = "2AAAAAAAAAAAB0 0 0 0 0 BCCCCCCCCCCCC" +# DISPLAY "Test 2 failed: " G ".". +# STOP RUN. +#]) + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:405: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:405" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:405" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:406: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:406" +( $at_check_trace; $COBCRUN_DIRECT ./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:406" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:407: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_initialize.at:407" +( $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_initialize.at:407" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:408: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_initialize.at:408" +( $at_check_trace; $COBCRUN_DIRECT ./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_initialize.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + +#AT_CHECK([$COMPILE -std=ibm prog3.cob], [0], [], []) +#AT_CHECK([$COBCRUN_DIRECT ./prog3], [0], [], []) + + set +x + $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_initialize.at:415' \ + "INITIALIZE with REDEFINES" " " 4 +at_xfail=no +( + printf "%s\n" "675. $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 +printf "%s\n" "$at_srcdir/run_initialize.at:436: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:436" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:436" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:437: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:437" +( $at_check_trace; $COBCRUN_DIRECT ./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:437" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:442' \ + "INITIALIZE with FILLER" " " 4 +at_xfail=no +( + printf "%s\n" "676. $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 +printf "%s\n" "$at_srcdir/run_initialize.at:503: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:503" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:503" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:504: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:504" +( $at_check_trace; $COBCRUN_DIRECT ./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:504" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:509' \ + "INITIALIZE of EXTERNAL data items" " " 4 +at_xfail=no +( + printf "%s\n" "677. $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 +printf "%s\n" "$at_srcdir/run_initialize.at:554: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:554" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:554" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:555: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:555" +( $at_check_trace; $COBCRUN_DIRECT ./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:555" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:560' \ + "INITIALIZE with reference-modification" " " 4 +at_xfail=no +( + printf "%s\n" "678. $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 + + *> note: INITIALIZE with refmod => handle field as alphanumeric + INITIALIZE MY-OTHER-FLD (2:2) + MOVE "0 0" TO MY-FLD + IF MY-OTHER-FLD NOT = MY-FLD (1:4) + DISPLAY "MY-OTHER-FLD: " MY-OTHER-FLD + END-DISPLAY + END-IF + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:590: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:590" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:590" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:591: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:591" +( $at_check_trace; $COBCRUN_DIRECT ./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:591" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:596' \ + "INITIALIZE big table with VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "679. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# some versions stumbled over tables like these and initialized +# every field on its own - which generates ultiple MB C source +# also most versions took the VALUE definitions "extra", even +# when they match -fno-defaultbyte + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 T01-ALL. + 05 T01-REC OCCURS 10. + 10 T01-SOMEBER PIC X(500) VALUE SPACES. + 10 T01-ENTRY. + 15 T01-TAB OCCURS 2200. + 20 T01-NAME PIC X(020). + 20 T01-DETREC. + 25 T01-DETTAB OCCURS 47. + 30 T01-SHL PIC X(001) value 'A'. + 30 T01-LEN USAGE BINARY-INT VALUE 0. + 30 T01-CODE1 PIC S999 COMP-5. + 30 T01-CODE2 PIC S999 COMP-5 VALUE 0. + 30 T01-CODE3 PIC S999 COMP-5 VALUE 42. + 30 T01-PREF PIC X(001). + 30 T01-TXT1 PIC X(020) VALUE ALL ' '. + 30 T01-TXT2 PIC X(020). + 30 T01-TXT3 PIC X(020) VALUE ALL '3'. + 25 T02-DETTAB OCCURS 33. + 30 T02-LEN USAGE BINARY-INT SIGNED. + 30 T02-CODE1 PIC S999 COMP-5. + 30 T02-CODE2 PIC S999 COMP-5 VALUE 0. + 30 T02-SHL PIC X(001) value 'B'. + 30 T02-PREF PIC X(001). + 30 T02-TXT1 PIC X(030) VALUE SPACES. + 30 T02-TXT2 PIC X(030) VALUE ALL SPACE. + 30 T02-TXT3 PIC X(030) VALUE ALL ZERO. + PROCEDURE DIVISION. + INIT-RTN. + MOVE ALL HIGH-VALUE TO T01-TAB (5,55) + MOVE ALL LOW-VALUE TO T01-TAB (10,400) + MOVE SPACES TO T01-REC (2) T01-REC (4) + INITIALIZE T01-REC (2) TO DEFAULT + INITIALIZE T01-REC (4) WITH FILLER ALL TO VALUE + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:647: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:647" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:647" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:648: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:648" +( $at_check_trace; $COBCRUN_DIRECT ./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:648" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:649: \$COMPILE -O2 prog.cob -o progo" +at_fn_check_prepare_dynamic "$COMPILE -O2 prog.cob -o progo" "run_initialize.at:649" +( $at_check_trace; $COMPILE -O2 prog.cob -o progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:649" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:650: \$COBCRUN_DIRECT ./progo" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progo" "run_initialize.at:650" +( $at_check_trace; $COBCRUN_DIRECT ./progo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:650" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_initialize.at:655' \ + "INITIALIZE to table-format VALUES ARE" " " 4 +at_xfail=no +( + printf "%s\n" "680. $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 GRP-3. + 05 FILLER PIC X(3). + 05 FLD-3 OCCURS 3 TIMES. + 15 FLD-3-2 PIC XXX VALUES "ABC". + 15 FLD-3-3 PIC 99 VALUES ZERO. + 15 OCCURS 4 VALUE ALL "D99". + 25 FLD-3O-1 PIC X. + 25 FLD-3O-2 PIC 99. + 15 FLD-3-4 PIC XX VALUE ALL "X". + 05 FILLER PIC X(3). + 05 FILLER PIC X(3) VALUES "End". *> needs relaxed + + 77 C5 PIC 9(03) VALUE 6. + 01 GRP-5. + 05 FILLER PIC X(3). + 05 FLD-5. + 10 FLD-5-1 OCCURS 0 TO 9 TIMES + DEPENDING ON C5. + 15 FLD-5-2 PIC XXX VALUES "Mon". + 15 FLD-5-3 PIC 99 VALUES 49. + 15 FLD-5-4 PIC XX VALUES "ey". + 05 FILLER PIC X(3). + + 01 WS. + 05 IX1 PIC 99. + 05 IX2 PIC 99. + 05 IX3 PIC 99. + 05 GRP1 OCCURS 3 TIMES. + 10 GRPX PIC X(99). + 05 MONTH-IN-YEAR OCCURS 13 TIMES PICTURE X(3) + VALUES "jan" "feb" "mar" "apr" + "may" "jun" "jul" "aug" + "sep" "oct" "nov" "dec". + 05 DAYS-IN-MONTH OCCURS 13 TIMES PICTURE 9(2) BINARY + VALUES 31 28 31 30 31 30 31 31 30 31 30 31. + 05 DAYS-MONTHS OCCURS 2 TIMES. + 06 DAYX-MONTHX OCCURS 4 TIMES. + 07 DAY-MONTH OCCURS 3 TIMES. + 10 XXX1 PICTURE X VALUE " ". + 10 MONTHS PICTURE X(3) + VALUES "Jan" "Feb" "Mar" "Apr" + "May" "Jun" "Jul" "Aug" + "Sep" "Oct" "Nov" "Dec" + "JAN" "FEB" "MAR" "APR" + "MAY" "JUN" "JUL" "AUG" + "SEP" "OCT" "NOV" "DEC". + 10 SEPX PICTURE XX VALUE ", ". + 10 DAYS PICTURE 99 + VALUES 31 28 31 30 31 30 31 31 30 31 30 31 + 91 28 91 90 91 90 91 91 90 91 90 91. + 10 PER PICTURE X VALUE ".". + 07 FLR PICTURE X(4) VALUES " " " " " " " " + " " " " " " " <*>". + + PROCEDURE DIVISION. + + INIT-RTN. + DISPLAY "Simple OCCURS with multi VALUES". + PERFORM VARYING IX1 FROM 1 BY 1 UNTIL IX1 > 13 + DISPLAY IX1 ": " + MONTH-IN-YEAR (IX1) " has " + DAYS-IN-MONTH (IX1) " days" + END-DISPLAY + END-PERFORM. + DISPLAY "Complex OCCURS with multi VALUES". + PERFORM VARYING IX3 FROM 1 BY 1 UNTIL IX3 > 2 + PERFORM VARYING IX2 FROM 1 BY 1 UNTIL IX2 > 4 + DISPLAY IX3 "-" IX2 ": " + DAYX-MONTHX (IX3, IX2) + END-DISPLAY + END-PERFORM + END-PERFORM. + DISPLAY "Group VALUE test". + DISPLAY GRP-3 ".". + INITIALIZE GRP-3 NUMERIC TO VALUE + DISPLAY GRP-3 ".". + INITIALIZE FLD-3 (1) ALL TO VALUE + INITIALIZE FLD-3 (2) ALL TO VALUE + INITIALIZE FLD-3 (3) ALL TO VALUE + INITIALIZE FLD-3O-1 (3,2), FLD-3O-2 (3,2) + DISPLAY GRP-3 ".". + DISPLAY "Initialize VALUE OCCURS DEPENDING test". + MOVE 6 TO C5. + MOVE ALL "*" TO grp-5. + INITIALIZE FLD-5 ALL TO VALUE. + DISPLAY "GRP-5 with 6:" grp-5 ".". + MOVE 4 TO C5. + MOVE ALL "*" TO grp-5. + INITIALIZE FLD-5 ALL TO VALUE. + DISPLAY "GRP-5 with 4:" grp-5 ".". + + * + * The following gets very complicated because of multiple + * VALUES in the sub-fields, still works :-) + * + MOVE 1 TO IX3 MOVE 2 TO IX2. + DISPLAY IX3 "-" IX2 ": " DAYX-MONTHX (IX3, IX2) ".". + MOVE ALL "*" TO DAYX-MONTHX (IX3, IX2). + DISPLAY IX3 "-" IX2 ": " DAYX-MONTHX (IX3, IX2) ".". + INITIALIZE DAYX-MONTHX (IX3, IX2). + DISPLAY IX3 "-" IX2 ": " DAYX-MONTHX (IX3, IX2) ".". + DISPLAY "Initialize VALUE inside OCCURS test". + INITIALIZE DAYX-MONTHX (IX3, IX2) ALL TO VALUE. + DISPLAY IX3 "-" IX2 ": " DAYX-MONTHX (IX3, IX2) ".". + STOP RUN. +_ATEOF + + +# Note to compile options: +# -fbinary-truncate --> error +# -fcomplex-odo because of fields after ODO +# -frelax-syntax-checks -w to compile "VAR VALUES lit" (must be VALUE according to all COBOL standards) +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:777: \$COMPILE -fno-binary-truncate -fcomplex-odo -frelax-syntax-checks -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-binary-truncate -fcomplex-odo -frelax-syntax-checks -w prog.cob" "run_initialize.at:777" +( $at_check_trace; $COMPILE -fno-binary-truncate -fcomplex-odo -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/run_initialize.at:777" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_initialize.at:779: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:779" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Simple OCCURS with multi VALUES +01: jan has 31 days +02: feb has 28 days +03: mar has 31 days +04: apr has 30 days +05: may has 31 days +06: jun has 30 days +07: jul has 31 days +08: aug has 31 days +09: sep has 30 days +10: oct has 31 days +11: nov has 30 days +12: dec has 31 days +13: has 00 days +Complex OCCURS with multi VALUES +01-01: Jan, 31. Feb, 28. Mar, 31. +01-02: Apr, 30. May, 31. Jun, 30. +01-03: Jul, 31. Aug, 31. Sep, 30. +01-04: Oct, 31. Nov, 30. Dec, 31. +02-01: JAN, 91. FEB, 28. MAR, 91. +02-02: APR, 90. MAY, 91. JUN, 90. +02-03: JUL, 91. AUG, 91. SEP, 90. +02-04: OCT, 91. NOV, 90. DEC, 91. <*> +Group VALUE test + ABC00D99D99D99D99XXABC00D99D99D99D99XXABC00D99D99D99D99XX End. + ABC00D99D99D99D99XXABC00D99D99D99D99XXABC00D99D99D99D99XX End. + ABC00D99D99D99D99XXABC00D99D99D99D99XXABC00D99 00D99D99XX End. +Initialize VALUE OCCURS DEPENDING test +GRP-5 with 6:***Mon49eyMon49eyMon49eyMon49eyMon49eyMon49ey***. +GRP-5 with 4:***Mon49eyMon49eyMon49eyMon49ey***. +01-02: Apr, 30. May, 31. Jun, 30. . +01-02: *******************************. +01-02: 00 00 00 . +Initialize VALUE inside OCCURS test +01-02: Apr, 30. May, 31. Jun, 30. . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:779" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:23' \ + "Comma separator without space" " " 4 +at_xfail=no +( + printf "%s\n" "681. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_misc.at:36: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:36" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_681 +#AT_START_682 +at_fn_group_banner 682 'run_misc.at:44' \ + "DECIMAL-POINT is COMMA (1)" " " 4 +at_xfail=no +( + printf "%s\n" "682. $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 +printf "%s\n" "$at_srcdir/run_misc.at:64: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:64" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:65: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:65" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00,50 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_682 +#AT_START_683 +at_fn_group_banner 683 'run_misc.at:72' \ + "DECIMAL-POINT is COMMA (2)" " " 4 +at_xfail=no +( + printf "%s\n" "683. $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 +printf "%s\n" "$at_srcdir/run_misc.at:92: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:93: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:93" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "03,00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_683 +#AT_START_684 +at_fn_group_banner 684 'run_misc.at:100' \ + "DECIMAL-POINT is COMMA (3)" " " 4 +at_xfail=no +( + printf "%s\n" "684. $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 +printf "%s\n" "$at_srcdir/run_misc.at:120: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:120" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:120" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:121: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:121" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "01,50 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_684 +#AT_START_685 +at_fn_group_banner 685 'run_misc.at:128' \ + "DECIMAL-POINT is COMMA (4)" " " 4 +at_xfail=no +( + printf "%s\n" "685. $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 +printf "%s\n" "$at_srcdir/run_misc.at:148: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:148" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:148" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:149: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:149" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00,10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:156' \ + "DECIMAL-POINT is COMMA (5)" " " 4 +at_xfail=no +( + printf "%s\n" "686. $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 +printf "%s\n" "$at_srcdir/run_misc.at:181: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:181" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:181" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:182: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:182" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "01,10 +00,10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:182" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:190' \ + "CURRENCY SIGN" " " 4 +at_xfail=no +( + printf "%s\n" "687. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + CURRENCY SIGN IS "Y". + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 amount pic Y(6)9.99. + + PROCEDURE DIVISION. + Move 1512.34 to Amount + Display "Amount is #" Amount '#' with no advancing. + + GOBACK + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:214: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:214" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:214" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:215: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:215" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Amount is # Y1512.34#" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_687 +#AT_START_688 +at_fn_group_banner 688 'run_misc.at:221' \ + "CURRENCY SIGN WITH PICTURE SYMBOL" " " 4 +at_xfail=yes +( + printf "%s\n" "688. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME - see FR #246 + + +cat >prog.cob <<'_ATEOF' + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + *> note the space after EUR / before ct. + CURRENCY SIGN IS "EUR " WITH PICTURE SYMBOL "U", + CURRENCY SIGN IS " ct (EUR)" WITH PICTURE SYMBOL "c", + Currency Sign is "$US" with Picture Symbol "$". + + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 EUROS PIC U99v99. + 77 cents PIC c9,999. + 77 DOLLARS Pic $$,$$9.99. + + PROCEDURE DIVISION. + MOVE 12.34 TO EUROS + MULTIPLY euros BY 1000 GIVING cents. + DISPLAY "#" EUROS "# equal #" cents '#'. + Move 1500 to Invoice-Amount + Display "Invoice amount #1 is " Invoice-Amount '.'. + Move 12.34 to Invoice-Amount + Display "Invoice amount #2 is " Invoice-Amount '.'. + + GOBACK + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:258: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:258" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:258" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:259: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:259" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "#EUR 12.34# equal #1,234 ct (EUR)# +Invoice amount #1 is \$US1,500.00. +Invoice amount #2 is \$US12.34. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:259" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:268' \ + "LOCAL-STORAGE (1)" " " 4 +at_xfail=no +( + printf "%s\n" "689. $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 +printf "%s\n" "$at_srcdir/run_misc.at:297: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:297" +( $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:297" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:298: \$COMPILE -o prog caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:298" +( $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:298" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:299: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:299" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "abcabc000abc" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:299" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:304' \ + "LOCAL-STORAGE (2)" " " 4 +at_xfail=no +( + printf "%s\n" "690. $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. + 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. + MOVE ZERO TO LCL-X. + CALL "callee2" USING LCL-X. + EXIT PROGRAM. +_ATEOF + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + CALL "callee". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:340: \$COMPILE_MODULE callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:340" +( $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:340" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:341: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:341" +( $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:341" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:342: \$COMPILE -o prog caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:342" +( $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:342" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:343: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:343" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "abc000" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_690 +#AT_START_691 +at_fn_group_banner 691 'run_misc.at:348' \ + "LOCAL-STORAGE (3)" " " 4 +at_xfail=no +( + printf "%s\n" "691. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: this tests undefined behaviour, because the initial value +# of index-names are undefined per standard; where they are +# explicit defined to be "... treated as a static item [for WS] +# and as an automatic item [for LS]"; see bug #794 +# for GnuCOBOL that is defined depending on dialect options +# init-indexed-by and defaultbyte + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DISP-VALS. + 05 DISP-VAL PIC 9 VALUE 0. + 05 DISP-IDX PIC 9 VALUE 0. + 01 WRK-X. + 05 WRK-VAR PIC 9 VALUE 0 OCCURS 1 INDEXED BY WRK-IDX. + LOCAL-STORAGE SECTION. + 01 LCL-X. + 05 LCL-VAR PIC 9 VALUE 0 OCCURS 1 INDEXED BY LCL-IDX. + PROCEDURE DIVISION. + DISPLAY SPACE WITH NO ADVANCING UPON SYSOUT. + ADD 1 TO WRK-VAR(1) LCL-VAR(1) + SET WRK-IDX, LCL-IDX UP BY 1 + SET DISP-IDX TO WRK-IDX. + MOVE WRK-VAR(1) TO DISP-VAL. + DISPLAY DISP-VALS WITH NO ADVANCING UPON SYSOUT. + SET DISP-IDX TO LCL-IDX. + MOVE LCL-VAR(1) TO DISP-VAL. + DISPLAY DISP-VALS WITH NO ADVANCING UPON SYSOUT. + GOBACK. +_ATEOF + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + CALL "callee". + CALL "callee". + CALL "callee". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:394: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:394" +( $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:394" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:395: \$COMPILE -o prog caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:395" +( $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:395" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:396: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:396" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " 1212 2312 3412" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:396" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# same name sometimes leads to locks - especially on Win32 +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:399: mv callee.\$COB_MODULE_EXT callee.def.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee.$COB_MODULE_EXT callee.def.$COB_MODULE_EXT" "run_misc.at:399" +( $at_check_trace; mv callee.$COB_MODULE_EXT callee.def.$COB_MODULE_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:399" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:400: \$COMPILE_MODULE -fdefaultbyte=0 callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fdefaultbyte=0 callee.cob" "run_misc.at:400" +( $at_check_trace; $COMPILE_MODULE -fdefaultbyte=0 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:400" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:401: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:401" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " 1111 2211 3311" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:401" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# note: this is the tested MF result (INDEXED BY are USAGE COMP 9(08), 0-based !): +#AT_CHECK([mv callee.$COB_MODULE_EXT callee.zero.$COB_MODULE_EXT]) +#AT_CHECK([$COMPILE_MODULE -std=mf-strict callee.cob], [0], [], []) +#AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [ 1018 2117 3216], []) + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 DISP-VALS. + 05 DISP-VAL PIC 9 VALUE 0. + 05 DISP-IDX PIC 9 VALUE 0. + 01 WRK-X. + 05 WRK-VAR PIC 9 VALUE 0 OCCURS 1 INDEXED BY WRK-IDX. + PROCEDURE DIVISION. + DISPLAY SPACE WITH NO ADVANCING UPON SYSOUT. + ADD 1 TO WRK-VAR(1) + SET WRK-IDX UP BY 1 + SET DISP-IDX TO WRK-IDX. + MOVE WRK-VAR(1) TO DISP-VAL. + DISPLAY DISP-VALS WITH NO ADVANCING UPON SYSOUT. + GOBACK. +_ATEOF + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:429: mv callee.\$COB_MODULE_EXT callee.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee.$COB_MODULE_EXT callee.old.$COB_MODULE_EXT" "run_misc.at:429" +( $at_check_trace; mv callee.$COB_MODULE_EXT callee.old.$COB_MODULE_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:429" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:430: \$COMPILE_MODULE -std=acu-strict callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -std=acu-strict callee.cob" "run_misc.at:430" +( $at_check_trace; $COMPILE_MODULE -std=acu-strict 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:430" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:431: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:431" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " 19 20 31" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:431" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: tested result with 2 byte: AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [ 15 26 37], []) + + set +x + $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_misc.at:437' \ + "EXTERNAL data item" " " 4 +at_xfail=no +( + printf "%s\n" "692. $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. + 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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:468: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:468" +( $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:468" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:469: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:469" +( $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:469" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:470: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:470" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_692 +#AT_START_693 +at_fn_group_banner 693 'run_misc.at:475' \ + "EXTERNAL AS data item" " " 4 +at_xfail=no +( + printf "%s\n" "693. $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. + IF EXT-VAR NOT = "Hello" + DISPLAY EXT-VAR. + 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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:511: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:511" +( $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:511" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:512: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:512" +( $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:512" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:513: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:513" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_693 +#AT_START_694 +at_fn_group_banner 694 'run_misc.at:518' \ + "EXTERNAL data item size mismatch" " " 4 +at_xfail=yes +( + printf "%s\n" "694. $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(8) EXTERNAL AS "WRK-VAR". + 01 COB-VAR PIC X(8) EXTERNAL. + 01 EXT-VAR PIC X(8) EXTERNAL. + PROCEDURE DIVISION. + IF PRG-VAR NOT = "Extrn" + DISPLAY 'local named external is not correct: ' PRG-VAR. + IF COB-VAR NOT = "Hello" + DISPLAY 'remote named external is not correct: ' COB-VAR. + MOVE "World" TO EXT-VAR. + EXIT PROGRAM. +_ATEOF + + +cat >bigger.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. error. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 WRK-VAR PIC X(10) EXTERNAL. + 01 MYVAR PIC X(10) EXTERNAL AS "COB-VAR". + 01 EXT-VAR PIC X(10) EXTERNAL. + PROCEDURE DIVISION. + MOVE "Extrn" TO WRK-VAR + MOVE "Hello" TO MYVAR + MOVE SPACES TO EXT-VAR + CALL "callee" + IF EXT-VAR NOT = "World" + DISPLAY 'simple external back not correct: ' EXT-VAR. + STOP RUN. +_ATEOF + + +cat >smaller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. error. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 WRK-VAR PIC X(5) EXTERNAL. + 01 MYVAR PIC X(5) EXTERNAL AS "COB-VAR". + 01 EXT-VAR PIC X(5) EXTERNAL. + PROCEDURE DIVISION. + MOVE "Extrn" TO WRK-VAR + MOVE "Hello" TO MYVAR + MOVE SPACES TO EXT-VAR + CALL "callee" + IF EXT-VAR NOT = "World" + DISPLAY 'simple external back not correct: ' EXT-VAR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:574: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:574" +( $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:574" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:575: \$COMPILE bigger.cob" +at_fn_check_prepare_dynamic "$COMPILE bigger.cob" "run_misc.at:575" +( $at_check_trace; $COMPILE bigger.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:575" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:576: \$COBCRUN_DIRECT ./bigger" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./bigger" "run_misc.at:576" +( $at_check_trace; $COBCRUN_DIRECT ./bigger +) >>"$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_misc.at:576" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:578: \$COMPILE smaller.cob" +at_fn_check_prepare_dynamic "$COMPILE smaller.cob" "run_misc.at:578" +( $at_check_trace; $COMPILE smaller.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:578" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:579: \$COBCRUN_DIRECT ./smaller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./smaller" "run_misc.at:579" +( $at_check_trace; $COBCRUN_DIRECT ./smaller +) >>"$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_misc.at:579" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# FIXME - messages should be adjusted, see Bug #445 + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:584: \$COBCRUN_DIRECT ./bigger" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./bigger" "run_misc.at:584" +( $at_check_trace; $COBCRUN_DIRECT ./bigger +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: callee.cob:6: warning: EXTERNAL item 'WRK-VAR' previously allocated with size 10, requested size is 8 +libcob: callee.cob:7: warning: EXTERNAL item 'EXT-VAR' previously allocated with size 10, requested size is 8 +libcob: callee.cob:8: warning: EXTERNAL item 'EXT-VAR' previously allocated with size 10, requested size is 8 +" | \ + $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:584" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:590: \$COBCRUN_DIRECT ./smaller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./smaller" "run_misc.at:590" +( $at_check_trace; $COBCRUN_DIRECT ./smaller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: callee.cob:6: error: EXTERNAL item 'WRK-VAR' previously allocated with size 5, requested size is 8 +" | \ + $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:590" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:599' \ + "MOVE to itself" " " 4 +at_xfail=no +( + printf "%s\n" "695. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:615: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:615" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:615" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:618: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:618" +( $at_check_trace; $COBCRUN_DIRECT ./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:618" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:623' \ + "MOVE with refmod" " " 4 +at_xfail=no +( + printf "%s\n" "696. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:639: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:639" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:639" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:640: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:640" +( $at_check_trace; $COBCRUN_DIRECT ./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:640" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:645' \ + "MOVE with refmod (variable)" " " 4 +at_xfail=no +( + printf "%s\n" "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 "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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:663: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:663" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_misc.at:664: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:664" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_697 +#AT_START_698 +at_fn_group_banner 698 'run_misc.at:669' \ + "MOVE with group refmod" " " 4 +at_xfail=no +( + printf "%s\n" "698. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:686: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:686" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:686" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:687: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:687" +( $at_check_trace; $COBCRUN_DIRECT ./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:687" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:692' \ + "MOVE indexes" " " 4 +at_xfail=no +( + printf "%s\n" "699. $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). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:710: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:710" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:711: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:711" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_699 +#AT_START_700 +at_fn_group_banner 700 'run_misc.at:716' \ + "MOVE X'00'" " " 4 +at_xfail=no +( + printf "%s\n" "700. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_misc.at:744: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_misc.at:744" +( $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:744" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:745: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:745" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:745" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:746: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:746" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000102" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:746" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:751' \ + "MOVE Z'literal'" " " 4 +at_xfail=no +( + printf "%s\n" "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 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 +printf "%s\n" "$at_srcdir/run_misc.at:787: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:787" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:787" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:788: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:788" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:788" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:793' \ + "Floating continuation indicator" " " 4 +at_xfail=no +( + printf "%s\n" "702. $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 +printf "%s\n" "$at_srcdir/run_misc.at:809: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:809" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:809" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:810: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:810" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:810" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:815' \ + "Fixed continuation indicator" " " 4 +at_xfail=no +( + printf "%s\n" "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(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 +printf "%s\n" "$at_srcdir/run_misc.at:849: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:849" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:849" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:850: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:850" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ _ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 _ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:850" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:857' \ + "Concatenation operator" " " 4 +at_xfail=no +( + printf "%s\n" "704. $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 +printf "%s\n" "$at_srcdir/run_misc.at:875: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:875" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:875" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:876: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:876" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:876" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:881' \ + "SOURCE FIXED/FREE directives" " " 4 +at_xfail=no +( + printf "%s\n" "705. $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 +printf "%s\n" "$at_srcdir/run_misc.at:910: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:910" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:910" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:911: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:911" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOKOKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:911" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:917' \ + "TURN directive" " " 4 +at_xfail=no +( + printf "%s\n" "706. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: we only check here that the TURN directive applies +# for more general tests, including command line options +# and extension directives, see run_subscript.at, run_refmod.at + +cat >prog.cob <<'_ATEOF' + + >>TURN EC-BOUND-SUBSCRIPT CHECKING ON + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x VALUE "12345!". + 03 y PIC X OCCURS 5 TIMES. + 03 z PIC X. + 01 idx PIC 99 VALUE 6. + + PROCEDURE DIVISION. + >>TURN EC-BOUND-SUBSCRIPT CHECKING OFF + DISPLAY y (idx) WITH NO ADVANCING + >>TURN EC-BOUND-SUBSCRIPT CHECKING ON WITH LOCATION + >>TURN EC-BOUND, EC-PROGRAM CHECKING OFF + DISPLAY y (idx) WITH NO ADVANCING + >>TURN EC-BOUND-SUBSCRIPT CHECKING ON + DISPLAY y (idx) WITH NO ADVANCING + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:947: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:947" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:947" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:948: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:948" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:20: error: subscript of 'y' out of bounds: 6 +note: maximum subscript for 'y': 5 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "!!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:948" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:958' \ + "OCCURS on level 01" " " 4 +at_xfail=no +( + printf "%s\n" "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 OCCURS 10 VALUE "A". + LINKAGE SECTION. + 01 X-ALL PIC X(10). + PROCEDURE DIVISION. + INITIALIZE X(1) X(3) X(5) X(7) + MOVE ZERO TO X(2) X(4) X(6) X(8) + SET ADDRESS OF X-ALL TO ADDRESS OF X(1) + IF X-ALL NOT = " 0 0 0 0AA" + DISPLAY X-ALL UPON SYSERR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:979: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:979" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:979" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:980: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:980" +( $at_check_trace; $COBCRUN_DIRECT ./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:980" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 XX PIC 99 VALUE 5. + 01 X PIC X OCCURS 0 TO 10 + DEPENDING ON XX VALUE "A". + LINKAGE SECTION. + 01 X-ALL PIC X(10). + PROCEDURE DIVISION. + MOVE ZERO TO X(2) X(4) X(6) X(8) + INITIALIZE X(1) X(3) X(5) X(7) + SET ADDRESS OF X-ALL TO ADDRESS OF X(1) + IF X-ALL NOT = " 0 0 0 0AA" + DISPLAY X-ALL UPON SYSERR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1001: \$COMPILE -fno-ec=bound -o baddy2 prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=bound -o baddy2 prog2.cob" "run_misc.at:1001" +( $at_check_trace; $COMPILE -fno-ec=bound -o baddy2 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:1001" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1002: \$COBCRUN_DIRECT ./baddy2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./baddy2" "run_misc.at:1002" +( $at_check_trace; $COBCRUN_DIRECT ./baddy2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1002" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1004: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:1004" +( $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:1004" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1005: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1005" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:12: error: subscript of 'X' out of bounds: 6 +note: current maximum subscript for 'X': 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_misc.at:1005" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 XX PIC 99 VALUE 5. + 01 X PIC X OCCURS 0 TO 10 + DEPENDING ON XX VALUE "A". + LINKAGE SECTION. + 01 X-ALL PIC X(10). + PROCEDURE DIVISION. + INITIALIZE X(1) X(3) X(5) X(7) + MOVE ZERO TO X(2) X(4) X(6) X(8) + SET ADDRESS OF X-ALL TO ADDRESS OF X(1) + IF X-ALL NOT = " 0 0 0 0AA" + DISPLAY X-ALL UPON SYSERR. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1029: \$COMPILE -fno-ec=bound -o baddy3 prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=bound -o baddy3 prog3.cob" "run_misc.at:1029" +( $at_check_trace; $COMPILE -fno-ec=bound -o baddy3 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:1029" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1030: \$COBCRUN_DIRECT ./baddy3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./baddy3" "run_misc.at:1030" +( $at_check_trace; $COBCRUN_DIRECT ./baddy3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_misc.at:1032: \$COMPILE prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_misc.at:1032" +( $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_misc.at:1032" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1033: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_misc.at:1033" +( $at_check_trace; $COBCRUN_DIRECT ./prog3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog3.cob:12: error: subscript of 'X' out of bounds: 7 +note: current maximum subscript for 'X': 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_misc.at:1033" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1043' \ + "Class check with reference-modification" " " 4 +at_xfail=no +( + printf "%s\n" "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(6) VALUE "123 ". + PROCEDURE DIVISION. + IF X(1:3) NUMERIC + STOP RUN. + DISPLAY "NG" NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1059: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1059" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1059" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1060: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1060" +( $at_check_trace; $COBCRUN_DIRECT ./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:1060" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1065' \ + "Index and parenthesized expression" " " 4 +at_xfail=no +( + printf "%s\n" "709. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1081: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1081" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1081" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1082: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1082" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1082" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1087' \ + "Alphanumeric and binary numeric" " " 4 +at_xfail=no +( + printf "%s\n" "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-X PIC XXXX VALUE "0001". + 01 X-9 PIC 9999 COMP VALUE 1. + PROCEDURE DIVISION. + IF X-X NOT = X-9 + DISPLAY "NG X-X <> X-9". + IF X-9 NOT = X-X + DISPLAY "NG X-9 <> X-X". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1105: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1105" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1105" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1106: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1106" +( $at_check_trace; $COBCRUN_DIRECT ./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:1106" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1111' \ + "Non-numeric data in numeric items" " " 4 +at_xfail=no +( + printf "%s\n" "711. $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 X-NUM PIC 9(06) VALUE 123. + 77 NUM PIC 9(06). + PROCEDURE DIVISION. + MOVE x"0000" TO X (2:2) + IF X-NUM NUMERIC + DISPLAY "low-value is numeric" UPON SYSERR. + MOVE x"01" TO X (3:1) + IF X-NUM NUMERIC + DISPLAY "SOH is numeric" UPON SYSERR. + MOVE X-NUM TO NUM + DISPLAY "test over" + * + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X. + 03 X-NUM PIC 9(06) PACKED-DECIMAL VALUE 123. + 77 NUM PIC 9(06). + PROCEDURE DIVISION. + MOVE x"0A" TO X (2:1) + IF X-NUM NUMERIC + DISPLAY "bad prog". + MOVE X-NUM TO NUM + DISPLAY "test over" + * + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1154: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1154" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1154" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1155: \$COBC -x -o unchecked_prog prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -o unchecked_prog prog.cob" "run_misc.at:1155" +( $at_check_trace; $COBC -x -o unchecked_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:1155" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1156: \$COBCRUN_DIRECT ./unchecked_prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./unchecked_prog" "run_misc.at:1156" +( $at_check_trace; $COBCRUN_DIRECT ./unchecked_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"; printf "%s\n" "test over +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1156" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1159: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1159" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:16: error: 'X-NUM' (Type: NUMERIC DISPLAY) not numeric: '0\\000\\001123' +" | \ + $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:1159" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1163: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:1163" +( $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:1163" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1164: \$COBC -x -o unchecked_prog2 prog2.cob" +at_fn_check_prepare_dynamic "$COBC -x -o unchecked_prog2 prog2.cob" "run_misc.at:1164" +( $at_check_trace; $COBC -x -o unchecked_prog2 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:1164" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1165: \$COBCRUN_DIRECT ./unchecked_prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./unchecked_prog2" "run_misc.at:1165" +( $at_check_trace; $COBCRUN_DIRECT ./unchecked_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"; printf "%s\n" "test over +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1165" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1168: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1168" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:13: error: 'X-NUM' (Type: PACKED-DECIMAL (unsigned)) not numeric: '0x000a123f' +" | \ + $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: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_711 +#AT_START_712 +at_fn_group_banner 712 'run_misc.at:1175' \ + "MOVE of invalid data from numeric to alphanumeric item" "" 4 +at_xfail=no +( + printf "%s\n" "712. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 X-NUM PIC 9. + 77 X-ALN REDEFINES X-NUM PIC X. + 77 Y-ALN PIC X. + 77 Z-NUM PIC +9,9. + 77 Z-ALN REDEFINES Z-NUM PIC XX. + 77 T-ALN PIC XX. + PROCEDURE DIVISION. + MAIN. + MOVE SPACES TO X-ALN + MOVE X-NUM TO Y-ALN + IF Y-ALN NOT EQUAL " " THEN + DISPLAY "Y-ALN: '" Y-ALN "' (' ' EXPECTED)" + END-IF + MOVE SPACES TO Z-ALN + MOVE Z-NUM TO T-ALN + IF T-ALN NOT EQUAL " " THEN + DISPLAY "T-ALN: '" T-ALN "' (' ' EXPECTED)" + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1203: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:1203" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1204: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1204" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_712 +#AT_START_713 +at_fn_group_banner 713 'run_misc.at:1211' \ + "Dynamic call with static linking" " " 4 +at_xfail=no +( + printf "%s\n" "713. $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 +printf "%s\n" "$at_srcdir/run_misc.at:1230: \$COMPILE_MODULE -c callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -c callee.cob" "run_misc.at:1230" +( $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:1230" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1231: \$COMPILE -c caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -c caller.cob" "run_misc.at:1231" +( $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:1231" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1232: \$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:1232" +( $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:1232" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1233: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1233" +( $at_check_trace; $COBCRUN_DIRECT ./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:1233" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1234: \$COMPILE -o prog2 caller.cob callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog2 caller.cob callee.cob" "run_misc.at:1234" +( $at_check_trace; $COMPILE -o prog2 caller.cob 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:1234" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1235: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1235" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:1235" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1240' \ + "Static call with static linking" " " 4 +at_xfail=no +( + printf "%s\n" "714. $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 STATIC "callee" + END-CALL. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1259: \$COMPILE_MODULE -c callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -c callee.cob" "run_misc.at:1259" +( $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:1259" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1260: \$COMPILE -c caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -c caller.cob" "run_misc.at:1260" +( $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:1260" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1261: \$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:1261" +( $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:1261" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1262: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1262" +( $at_check_trace; $COBCRUN_DIRECT ./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:1262" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1263: \$COMPILE -o prog2 -static caller.cob callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog2 -static caller.cob callee.cob" "run_misc.at:1263" +( $at_check_trace; $COMPILE -o prog2 -static caller.cob 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:1263" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1264: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1264" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:1264" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1265: \$COMPILE -o prog3 caller.cob callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog3 caller.cob callee.cob" "run_misc.at:1265" +( $at_check_trace; $COMPILE -o prog3 caller.cob 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:1265" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1266: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_misc.at:1266" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_misc.at:1266" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1271' \ + "Dynamic CALL with ON EXCEPTION" " " 4 +at_xfail=no +( + printf "%s\n" "715. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + CALL "callee1" ON EXCEPTION + CALL "callee2" ON EXCEPTION + DISPLAY "neither calee1 nor callee2 found" + END-CALL + END-CALL + GOBACK. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + PROCEDURE DIVISION. + DISPLAY "this is callee2" NO ADVANCING + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1295: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1295" +( $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:1295" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1296: \$COMPILE_MODULE callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:1296" +( $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:1296" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1297: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1297" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "this is callee2" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1297" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1303' \ + "Static CALL with ON EXCEPTION" " " 4 +at_xfail=no +( + printf "%s\n" "716. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + CALL "callee1" ON EXCEPTION + CALL "callee2" ON EXCEPTION + DISPLAY "neither calee1 nor callee2 found" + END-CALL + END-CALL + GOBACK. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + PROCEDURE DIVISION. + DISPLAY "this is callee2" NO ADVANCING + GOBACK. +_ATEOF + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1328: \$COMPILE_MODULE -c callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -c callee2.cob" "run_misc.at:1328" +( $at_check_trace; $COMPILE_MODULE -c 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:1328" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1329: \$COMPILE -c caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -c caller.cob" "run_misc.at:1329" +( $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:1329" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1330: \$COMPILE -o prog caller.\$COB_OBJECT_EXT callee2.\$COB_OBJECT_EXT" +at_fn_check_prepare_dynamic "$COMPILE -o prog caller.$COB_OBJECT_EXT callee2.$COB_OBJECT_EXT" "run_misc.at:1330" +( $at_check_trace; $COMPILE -o prog caller.$COB_OBJECT_EXT callee2.$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:1330" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1331: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1331" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "this is callee2" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1331" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1333: \$COMPILE -o prog2 -static caller.cob callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog2 -static caller.cob callee2.cob" "run_misc.at:1333" +( $at_check_trace; $COMPILE -o prog2 -static caller.cob 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:1333" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1334: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1334" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "this is callee2" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1334" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1336: \$COMPILE -o prog3 caller.cob callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog3 caller.cob callee2.cob" "run_misc.at:1336" +( $at_check_trace; $COMPILE -o prog3 caller.cob 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:1336" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1337: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_misc.at:1337" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "this is callee2" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1337" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1343' \ + "CALL m1. CALL m2. CALL m1." " " 4 +at_xfail=no +( + printf "%s\n" "717. $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. +_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. +_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 +printf "%s\n" "$at_srcdir/run_misc.at:1385: \$COMPILE_MODULE m1.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE m1.cob" "run_misc.at:1385" +( $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:1385" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1386: \$COMPILE_MODULE m2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE m2.cob" "run_misc.at:1386" +( $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:1386" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1387: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1387" +( $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:1387" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1389: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1389" +( $at_check_trace; $COBCRUN_DIRECT ./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:1389" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1394' \ + "Recursive CALL of RECURSIVE program" " " 4 +at_xfail=no +( + printf "%s\n" "718. $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 S9 EXTERNAL. + PROCEDURE DIVISION. + MOVE 0 TO STOPPER + CALL "callee" + DISPLAY 'OK' NO ADVANCING END-DISPLAY + *> FIXME: CANCEL broken on special environments + *> CANCEL "callee" , "callee2" + DISPLAY ' + FINE' NO ADVANCING END-DISPLAY + STOP RUN. +_ATEOF + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee IS RECURSIVE. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 STOPPER PIC S9 EXTERNAL. + PROCEDURE DIVISION. + IF STOPPER = 9 + MOVE -1 TO STOPPER + ELSE + ADD 1 TO STOPPER + CALL "callee2" + END-IF + GOBACK. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2 IS RECURSIVE. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 STOPPER PIC S9 EXTERNAL. + PROCEDURE DIVISION. + IF STOPPER NOT EQUAL -1 + CALL "callee" + END-IF + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1444: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1444" +( $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:1444" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1445: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:1445" +( $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:1445" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1446: \$COMPILE_MODULE callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:1446" +( $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:1446" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1447: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1447" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK + FINE" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1447" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1452' \ + "Recursive CALL of INITIAL program" " " 4 +at_xfail=no +( + printf "%s\n" "719. $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 +printf "%s\n" "$at_srcdir/run_misc.at:1493: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1493" +( $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:1493" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1494: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:1494" +( $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:1494" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1495: \$COMPILE_MODULE callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:1495" +( $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:1495" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1496: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1496" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: callee2.cob:5: error: recursive CALL from 'callee2' to 'callee' which is NOT RECURSIVE +" | \ + $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:1496" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1503' \ + "Recursive CALL with RECURSIVE assumed" " " 4 +at_xfail=no +( + printf "%s\n" "720. $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 = 8 + DISPLAY 'OK' NO ADVANCING END-DISPLAY. + IF STOPPER NOT = 9 + ADD 1 TO STOPPER END-ADD + CALL "callee2" END-CALL. + GOBACK. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + PROCEDURE DIVISION. + CALL "callee" END-CALL. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1541: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1541" +( $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:1541" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1542: \$COMPILE_MODULE -fno-recursive-check callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fno-recursive-check callee.cob" "run_misc.at:1542" +( $at_check_trace; $COMPILE_MODULE -fno-recursive-check 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:1542" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1543: \$COMPILE_MODULE -fno-recursive-check callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fno-recursive-check callee2.cob" "run_misc.at:1543" +( $at_check_trace; $COMPILE_MODULE -fno-recursive-check 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:1543" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1544: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1544" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_720 +#AT_START_721 +at_fn_group_banner 721 'run_misc.at:1549' \ + "Recursive CALL with ON EXCEPTION" " " 4 +at_xfail=no +( + printf "%s\n" "721. $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" + ON EXCEPTION + DISPLAY "Exception " FUNCTION EXCEPTION-STATUS ";" + UPON SYSERR + STOP RUN RETURNING 1 + END-CALL. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1596: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1596" +( $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:1596" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1597: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:1597" +( $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:1597" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1598: \$COMPILE_MODULE callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:1598" +( $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:1598" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1599: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1599" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "Exception EC-PROGRAM-RECURSIVE-CALL ; +" | \ + $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:1599" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1606' \ + "Multiple calls of INITIAL program" " " 4 +at_xfail=no +( + printf "%s\n" "722. $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 +printf "%s\n" "$at_srcdir/run_misc.at:1645: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:1645" +( $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:1645" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1646: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:1646" +( $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:1646" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1647: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:1647" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:1647" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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_misc.at:1663' \ + "CALL binary literal parameter/LENGTH OF" " " 4 +at_xfail=no +( + printf "%s\n" "723. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_misc.at:1698: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_misc.at:1698" +( $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:1698" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1699: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1699" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1699" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1700: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1700" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00000001 +00000009 +00000004 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1700" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1705: \$COMPILE -fbinary-byteorder=native prog.cob -o prog2" +at_fn_check_prepare_dynamic "$COMPILE -fbinary-byteorder=native prog.cob -o prog2" "run_misc.at:1705" +( $at_check_trace; $COMPILE -fbinary-byteorder=native prog.cob -o 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_misc.at:1705" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1706: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:1706" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00000001 +00000009 +00000004 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1706" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1717' \ + "INSPECT REPLACING LEADING ZEROS BY SPACES" " " 4 +at_xfail=no +( + printf "%s\n" "724. $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 "Should be ' 1' but is '" X "'". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1733: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1733" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1733" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1734: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1734" +( $at_check_trace; $COBCRUN_DIRECT ./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:1734" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1739' \ + "INSPECT: no repeat conversion" " " 4 +at_xfail=no +( + printf "%s\n" "725. $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". + 01 Y PIC X(6) VALUE " BCA". + PROCEDURE DIVISION. + INSPECT X CONVERTING "ABC" TO "BCD". + IF X NOT = "CDB" + DISPLAY "X: " X. + INSPECT Y CONVERTING "ABC" TO "BCD". + IF Y NOT = " CDB" + DISPLAY "Y: " Y. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1759: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1759" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1759" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1760: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1760" +( $at_check_trace; $COBCRUN_DIRECT ./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:1760" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1765' \ + "TRANSFORM statement" " " 4 +at_xfail=no +( + printf "%s\n" "726. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + ALPHABET MY-ASCII IS STANDARD-1. + ALPHABET MY-EBCDIC IS EBCDIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC X(3) VALUE "BCA". + PROCEDURE DIVISION. + *> internally: "alias" to INSPECT CONVERTING + TRANSFORM X FROM "ABC" TO "BCD". + IF X NOT = "CDB" + DISPLAY "X: " X. + *> optional CHARACTERS and ALPHABETs (value test is separate) + TRANSFORM X CHARACTERS FROM MY-ASCII TO MY-EBCDIC. + *> + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1792: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1792" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1792" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1793: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1793" +( $at_check_trace; $COBCRUN_DIRECT ./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:1793" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1798' \ + "INSPECT CONVERTING alphabet" " " 4 +at_xfail=no +( + printf "%s\n" "727. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. charset. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + ALPHABET ALPHA IS ASCII. + ALPHABET BETA IS EBCDIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 TESTHEX PIC X(10) VALUE X'C17BD6F2F0F1F8406A5A'. + + procedure division. + sample-main. + + INSPECT testhex CONVERTING BETA TO ALPHA + DISPLAY 'Converted: "' TESTHEX '"' WITH NO ADVANCING + + GOBACK. + END PROGRAM charset. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1826: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1826" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1826" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1827: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1827" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Converted: \"A#O2018 |!\"" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1827" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# For characters above IBM (with irregularities) and GCOS should match: +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1831: \$COMPILE prog.cob -febcdic-table=ebcdic500_ascii7bit -o prog-ibm" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -febcdic-table=ebcdic500_ascii7bit -o prog-ibm" "run_misc.at:1831" +( $at_check_trace; $COMPILE prog.cob -febcdic-table=ebcdic500_ascii7bit -o prog-ibm +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1831" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1832: \$COBCRUN_DIRECT ./prog-ibm" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-ibm" "run_misc.at:1832" +( $at_check_trace; $COBCRUN_DIRECT ./prog-ibm +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Converted: \"A#O2018 |]\"" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1832" +$at_failed && at_fn_log_failure +$at_traceon; } + # prefix is actually "|]" (escaped for m4 preproc) + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1835: \$COMPILE prog.cob -febcdic-table=ebcdic500_ascii8bit -o prog-gcos" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -febcdic-table=ebcdic500_ascii8bit -o prog-gcos" "run_misc.at:1835" +( $at_check_trace; $COMPILE prog.cob -febcdic-table=ebcdic500_ascii8bit -o prog-gcos +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1835" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1836: \$COBCRUN_DIRECT ./prog-gcos" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-gcos" "run_misc.at:1836" +( $at_check_trace; $COBCRUN_DIRECT ./prog-gcos +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Converted: \"A#O2018 |]\"" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1836" +$at_failed && at_fn_log_failure +$at_traceon; } + # prefix is actually "|]" (escaped for m4 preproc) + +# FIXME: This really does not convert to anything close to ASCII; +# what's this table supposed to encode? +# AT_CHECK([$COMPILE prog.cob -febcdic-table=RESTRICTED-GC -o prog-rgc], [0], [], []) +# AT_CHECK([$COBCRUN_DIRECT ./prog-rgc], [0], []) + + set +x + $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 'run_misc.at:1847' \ + "INSPECT CONVERTING TO figurative constant" " " 4 +at_xfail=no +( + printf "%s\n" "728. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1863: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1863" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1863" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1864: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1864" +( $at_check_trace; $COBCRUN_DIRECT ./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:1864" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1869' \ + "INSPECT CONVERTING NULL" " " 4 +at_xfail=no +( + printf "%s\n" "729. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1885: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1885" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1885" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1886: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1886" +( $at_check_trace; $COBCRUN_DIRECT ./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:1886" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1891' \ + "INSPECT CONVERTING TO NULL" " " 4 +at_xfail=no +( + printf "%s\n" "730. $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". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1907: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1907" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1907" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1908: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1908" +( $at_check_trace; $COBCRUN_DIRECT ./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:1908" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:1913' \ + "INSPECT CONVERTING complex" " " 4 +at_xfail=no +( + printf "%s\n" "731. $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 "AZABBCDCCECC". + PROCEDURE DIVISION. + INSPECT X CONVERTING "ABZC" TO "ZY0X" + IF X NOT = "Z0ZYYXDXXEXX" + DISPLAY "1 - " X + MOVE "Z0ZYYXDXXEXX" TO X. + + INSPECT X CONVERTING "XD" TO SPACES + BEFORE "E" AFTER "D" + IF X NOT = "Z0ZYYXD EXX" + DISPLAY "2 - " X + MOVE "Z0ZYYXD EXX" TO X. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1937: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1937" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1937" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:1938: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:1938" +( $at_check_trace; $COBCRUN_DIRECT ./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:1938" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $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 'run_misc.at:1942' \ + "INSPECT numeric signed" " " 4 +at_xfail=no +( + printf "%s\n" "732. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 SEPARATE1 PIC S99 VALUE -11 SIGN LEADING SEPARATE. + 01 SEPARATE2 PIC S99 VALUE +11 SIGN LEADING SEPARATE. + 01 TSEPARATE1 PIC S99 VALUE -11 SIGN TRAILING SEPARATE. + 01 TSEPARATE2 PIC S99 VALUE +11 SIGN TRAILING SEPARATE. + 01 NSEPARATE1 PIC S99 VALUE -11. + 01 NSEPARATE2 PIC S99 VALUE +11. + 01 TRAILING1 PIC S99 VALUE -11 SIGN TRAILING. + 01 TRAILING2 PIC S99 VALUE +11 SIGN TRAILING. + 77 CNT USAGE BINARY-INT. + PROCEDURE DIVISION. + MOVE 0 TO CNT + INSPECT SEPARATE1 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T1 - " CNT. + MOVE 0 TO CNT + INSPECT SEPARATE2 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T2 - " CNT. + MOVE 0 TO CNT + INSPECT TSEPARATE1 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T3 - " CNT. + MOVE 0 TO CNT + INSPECT TSEPARATE2 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T4 - " CNT. + MOVE 0 TO CNT + INSPECT NSEPARATE1 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T5 - " CNT. + MOVE 0 TO CNT + INSPECT NSEPARATE2 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T6 - " CNT. + MOVE 0 TO CNT + INSPECT TRAILING1 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T7 - " CNT. + MOVE 0 TO CNT + INSPECT TRAILING2 TALLYING CNT FOR ALL "1" + IF CNT NOT = 2 + DISPLAY "T8 - " CNT. + + INSPECT SEPARATE1 CONVERTING "123" TO "234" + IF SEPARATE1 NOT = -22 + DISPLAY "C1 - " SEPARATE1 + MOVE -22 TO SEPARATE1. + INSPECT SEPARATE2 CONVERTING "123" TO "234" + IF SEPARATE2 NOT = +22 + DISPLAY "C2 - " SEPARATE2 + MOVE +22 TO SEPARATE2. + INSPECT TSEPARATE1 CONVERTING "123" TO "234" + IF TSEPARATE1 NOT = -22 + DISPLAY "C3 - " TSEPARATE1 + MOVE -22 TO TSEPARATE1. + INSPECT TSEPARATE2 CONVERTING "123" TO "234" + IF TSEPARATE2 NOT = +22 + DISPLAY "C4 - " TSEPARATE2 + MOVE +22 TO TSEPARATE2. + INSPECT NSEPARATE1 CONVERTING "123" TO "234" + IF NSEPARATE1 NOT = -22 + DISPLAY "C5 - " NSEPARATE1 + MOVE -22 TO NSEPARATE1. + INSPECT NSEPARATE2 CONVERTING "123" TO "234" + IF NSEPARATE2 NOT = +22 + DISPLAY "C6 - " NSEPARATE2 + MOVE +22 TO NSEPARATE2. + INSPECT TRAILING1 CONVERTING "123" TO "234" + IF TRAILING1 NOT = -22 + DISPLAY "C7 - " TRAILING1 + MOVE -22 TO TRAILING1. + INSPECT TRAILING2 CONVERTING "123" TO "234" + IF TRAILING2 NOT = +22 + DISPLAY "C8 - " TRAILING2 + MOVE +22 TO TRAILING2. + + INSPECT SEPARATE1 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF SEPARATE1 NOT = -33 + DISPLAY "R1 - " SEPARATE1 + MOVE -33 TO SEPARATE1. + INSPECT SEPARATE2 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF SEPARATE2 NOT = +33 + DISPLAY "R2 - " SEPARATE2 + MOVE +33 TO SEPARATE2. + INSPECT TSEPARATE1 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF TSEPARATE1 NOT = -33 + DISPLAY "R3 - " TSEPARATE1 + MOVE -33 TO TSEPARATE1. + INSPECT TSEPARATE2 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF TSEPARATE2 NOT = +33 + DISPLAY "R4 - " TSEPARATE2 + MOVE +33 TO TSEPARATE2. + INSPECT NSEPARATE1 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF NSEPARATE1 NOT = -33 + DISPLAY "R5 - " NSEPARATE1 + MOVE -33 TO NSEPARATE1. + INSPECT NSEPARATE2 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF NSEPARATE2 NOT = +33 + DISPLAY "R6 - " NSEPARATE2 + MOVE +33 TO NSEPARATE2. + INSPECT TRAILING1 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF TRAILING1 NOT = -33 + DISPLAY "R7 - " TRAILING1 + MOVE -33 TO TRAILING1. + INSPECT TRAILING2 REPLACING ALL "1" BY "2" + "2" BY "3" + "3" BY "4" + IF TRAILING2 NOT = +33 + DISPLAY "R8 - " TRAILING2 + MOVE +33 TO TRAILING2. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2078: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:2078" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2079: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2079" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_732 +#AT_START_733 +at_fn_group_banner 733 'run_misc.at:2083' \ + "INSPECT TALLYING BEFORE" " " 4 +at_xfail=no +( + printf "%s\n" "733. $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 "1: should be 3 but is " TAL. + + MOVE 0 TO TAL. + MOVE " ABC" TO X. + INSPECT X TALLYING TAL FOR CHARACTERS + BEFORE INITIAL " ". + IF TAL NOT = 0 + DISPLAY "2: should be 0 but is " TAL. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2110: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2110" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2110" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2111: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2111" +( $at_check_trace; $COBCRUN_DIRECT ./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:2111" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2116' \ + "INSPECT TALLYING AFTER" " " 4 +at_xfail=no +( + printf "%s\n" "734. $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. + + MOVE 0 TO TAL. + MOVE " ABC" TO X. + INSPECT X TALLYING TAL FOR CHARACTERS + AFTER INITIAL " ". + IF TAL NOT = 3 + DISPLAY TAL. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2143: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2143" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2143" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2144: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2144" +( $at_check_trace; $COBCRUN_DIRECT ./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:2144" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2149' \ + "INSPECT TALLYING BEFORE and AFTER" " " 4 +at_xfail=no +( + printf "%s\n" "735. $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. + 01 MSG PIC X(256) VALUE SPACES. + PROCEDURE DIVISION. + MOVE 0 TO TAL. + INSPECT X TALLYING TAL FOR CHARACTERS + BEFORE INITIAL " " + AFTER " ". + IF TAL NOT = 0 + DISPLAY "1: should be 0 but is " TAL. + + *> checking for no match, includes bug #865 + MOVE 0 TO TAL. + INSPECT MSG TALLYING TAL FOR CHARACTERS + AFTER INITIAL "<" + BEFORE INITIAL ">"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2179" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2180: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2180" +( $at_check_trace; $COBCRUN_DIRECT ./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:2180" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2185' \ + "INSPECT TALLYING REPLACING BEFORE and AFTER" " " 4 +at_xfail=no +( + printf "%s\n" "736. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 INSP-STRING PIC X(26) VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. + 01 EXPTD-RESULT CONSTANT AS 'A22222111111111122222222YZ'. + 01 RES-IDX PIC 9(04) BINARY VALUE 100. + 01 RES-IDX-1 PIC 9(04) BINARY VALUE 0. + PROCEDURE DIVISION. + *> + INSPECT INSP-STRING + TALLYING RES-IDX FOR CHARACTERS BEFORE 'H' + RES-IDX-1 FOR CHARACTERS AFTER 'B' + REPLACING + CHARACTERS BY '1' AFTER 'F' BEFORE 'Q' + CHARACTERS BY '2' AFTER 'A' BEFORE 'Y'. + *> + IF INSP-STRING NOT = EXPTD-RESULT + DISPLAY 'Failed <' INSP-STRING '> != <' EXPTD-RESULT '>'. + IF RES-IDX NOT = 107 + DISPLAY 'Failed <' RES-IDX '> != <107>'. + IF RES-IDX-1 NOT = 19 + DISPLAY 'Failed <' RES-IDX-1 '> != <19>'. + *> + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2216: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2216" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2216" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2217: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2217" +( $at_check_trace; $COBCRUN_DIRECT ./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:2217" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2222' \ + "INSPECT REPLACING figurative constant" " " 4 +at_xfail=no +( + printf "%s\n" "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 PIC X(3) VALUE "BCA". + PROCEDURE DIVISION. + INSPECT X REPLACING ALL "BC" BY SPACE. + IF X NOT = " A" + DISPLAY X. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2238: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2238" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2238" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2239: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2239" +( $at_check_trace; $COBCRUN_DIRECT ./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:2239" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2246' \ + "SWITCHES (environment COB_SWITCH_n and SET)" " " 4 +at_xfail=no +( + printf "%s\n" "738. $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 + ELSE + DISPLAY "OFF" NO ADVANCING. + + IF SWIT2-ON + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + IF SWIT3-ON + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + IF NOT SWIT4-OFF + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + SET SWIT1 TO OFF. + SET SWIT2 TO ON. + IF SWIT1-ON + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + IF SWIT2-ON + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + IF SWIT31-ON + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + IF NOT SWIT36-OFF + DISPLAY " ON" NO ADVANCING + ELSE + DISPLAY " OFF" NO ADVANCING. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2318: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2318" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2318" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2319: 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:2319" +( $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"; printf "%s\n" "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:2319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2327' \ + "Nested PERFORM" " " 4 +at_xfail=no +( + printf "%s\n" "739. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + PERFORM 2 TIMES + DISPLAY "X" NO ADVANCING + END-DISPLAY + PERFORM 2 TIMES + DISPLAY "Y" NO ADVANCING + END-PERFORM + END-PERFORM. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2344: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2344" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2344" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2345: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2345" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "XYYXYY" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2350' \ + "PERFORM VARYING BY -0.2 decimal" " " 4 +at_xfail=no +( + printf "%s\n" "740. $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 9v9. + PROCEDURE DIVISION. + PERFORM VARYING X FROM 0.8 BY -0.2 + UNTIL X < 0.4 + DISPLAY "X" NO ADVANCING + END-PERFORM. + IF X NOT = 0.2 + DISPLAY "WRONG X: " X END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2370: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2370" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2370" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2371: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2371" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "XXX" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2371" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2376' \ + "PERFORM VARYING Float" " " 4 +at_xfail=no +( + printf "%s\n" "741. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 i USAGE FLOAT-LONG. + + PROCEDURE DIVISION. + PERFORM VARYING i FROM 1.0 BY 1.0 UNTIL i > 5.0 + DISPLAY i " " NO ADVANCING + END-PERFORM . + DISPLAY "Test Part 1 Completed". + PERFORM VARYING i FROM 1 BY 1 UNTIL i > 5 + DISPLAY i " " NO ADVANCING + END-PERFORM . + DISPLAY "Test Part 2 Completed". + PERFORM VARYING i FROM 5 BY -1 UNTIL i < 1 + DISPLAY i " " NO ADVANCING + END-PERFORM . + DISPLAY "Test Part 3 Completed". + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2404: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2404" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2404" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2406: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2406" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1 2 3 4 5 Test Part 1 Completed +1 2 3 4 5 Test Part 2 Completed +5 4 3 2 1 Test Part 3 Completed +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.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_741 +#AT_START_742 +at_fn_group_banner 742 'run_misc.at:2415' \ + "PERFORM VARYING BY phrase omitted" " " 4 +at_xfail=no +( + printf "%s\n" "742. $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 9. + PROCEDURE DIVISION. + PERFORM VARYING X FROM 4 + UNTIL X > 6 + DISPLAY "X" NO ADVANCING + END-PERFORM. + IF X NOT = 7 + DISPLAY "WRONG X: " X + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2435: \$COMPILE_ONLY -std=cobol85 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "run_misc.at:2435" +( $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"; printf "%s\n" "prog.cob:9: error: PERFORM VARYING without BY phrase 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/run_misc.at:2435" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2438: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2438" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_misc.at:2439: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2439" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "XXX" | \ + $at_diff - "$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_742 +#AT_START_743 +at_fn_group_banner 743 'run_misc.at:2446' \ + "EXIT PERFORM" " " 4 +at_xfail=no +( + printf "%s\n" "743. $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 + EXIT PERFORM + DISPLAY "NOT OK" + END-PERFORM + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2461: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2461" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2461" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2462: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2462" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2462" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2469' \ + "EXIT PERFORM CYCLE" " " 4 +at_xfail=no +( + printf "%s\n" "744. $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 + EXIT PERFORM CYCLE + DISPLAY "NOT OK" + END-PERFORM + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2484: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2484" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2484" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2485: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2485" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2485" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2492' \ + "EXIT PARAGRAPH" " " 4 +at_xfail=no +( + printf "%s\n" "745. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: testing EXIT PARAGRPAPH without being PERFORMed +# implicit GO TO only + +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 + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2518: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.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_misc.at:2518" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2519: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2519" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_745 +#AT_START_746 +at_fn_group_banner 746 'run_misc.at:2526' \ + "EXIT SECTION" " " 4 +at_xfail=no +( + printf "%s\n" "746. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Note: testing EXIT SECTION without being PERFORMed +# implicit GO TO only + +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. + A02 SECTION. + IF INDVAL NOT = 3 + DISPLAY INDVAL. + STOP RUN. +_ATEOF + + +# disabling the check for "something leaves the section" - as this is +# guaranteed to happen with this EXIT SECTION as GO TO +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2556: \$COMPILE -fno-section-exit-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-section-exit-check prog.cob" "run_misc.at:2556" +( $at_check_trace; $COMPILE -fno-section-exit-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2556" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2557: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2557" +( $at_check_trace; $COBCRUN_DIRECT ./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:2557" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2559: \$COMPILE -fsection-exit-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fsection-exit-check prog.cob" "run_misc.at:2559" +( $at_check_trace; $COMPILE -fsection-exit-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2559" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2560: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2560" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:12: error: code execution leaving A01 +" | \ + $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:2560" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2567' \ + "implicit GOBACK at end of PROCEDURE DIVISION" " " 4 +at_xfail=no +( + printf "%s\n" "747. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + A01 SECTION. + A011. + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2579: \$COMPILE -fno-implicit-goback-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-implicit-goback-check prog.cob" "run_misc.at:2579" +( $at_check_trace; $COMPILE -fno-implicit-goback-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2579" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2580: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2580" +( $at_check_trace; $COBCRUN_DIRECT ./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:2580" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2582: \$COMPILE -fimplicit-goback-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fimplicit-goback-check prog.cob" "run_misc.at:2582" +( $at_check_trace; $COMPILE -fimplicit-goback-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_misc.at:2583: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2583" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:8: error: code execution leaving 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/run_misc.at:2583" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2590' \ + "PERFORM FOREVER / PERFORM UNTIL EXIT" " " 4 +at_xfail=no +( + printf "%s\n" "748. $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 "1: " INDVAL + END-DISPLAY + END-IF + PERFORM FOREVER + ADD 1 TO INDVAL + IF INDVAL > 4 + EXIT PERFORM + END-IF + END-PERFORM + IF INDVAL NOT = 5 + DISPLAY "2: " INDVAL + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2625: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2625" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2625" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2626: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2626" +( $at_check_trace; $COBCRUN_DIRECT ./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:2626" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 'run_misc.at:2631' \ + "PERFORM inline (1)" " " 4 +at_xfail=no +( + printf "%s\n" "749. $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 + END-IF + STOP RUN + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2651: \$COMPILE -fmissing-statement=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fmissing-statement=ok prog.cob" "run_misc.at:2651" +( $at_check_trace; $COMPILE -fmissing-statement=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:2651" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2652: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2652" +( $at_check_trace; $COBCRUN_DIRECT ./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:2652" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $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 +#AT_START_750 +at_fn_group_banner 750 'run_misc.at:2657' \ + "PERFORM inline (2)" " " 4 +at_xfail=no +( + printf "%s\n" "750. $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 + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2675: \$COMPILE -frelax-syntax-checks -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks -w prog.cob" "run_misc.at:2675" +( $at_check_trace; $COMPILE -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/run_misc.at:2675" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2676: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2676" +( $at_check_trace; $COBCRUN_DIRECT ./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:2676" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_750 +#AT_START_751 +at_fn_group_banner 751 'run_misc.at:2681' \ + "Non-overflow after overflow" " " 4 +at_xfail=no +( + printf "%s\n" "751. $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. *> this overflows which does not store a result + COMPUTE Y = 99. *> and once in a time this result was not stored + IF X NOT = 0 AND + Y NOT = 99 + DISPLAY Y. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2700: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2700" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2700" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2701: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2701" +( $at_check_trace; $COBCRUN_DIRECT ./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:2701" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_751 +#AT_START_752 +at_fn_group_banner 752 'run_misc.at:2708' \ + "PERFORM ... CONTINUE" " " 4 +at_xfail=no +( + printf "%s\n" "752. $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 +printf "%s\n" "$at_srcdir/run_misc.at:2720: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "run_misc.at:2720" +( $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:2720" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_752 +#AT_START_753 +at_fn_group_banner 753 'run_misc.at:2725' \ + "STRING with subscript reference" " " 4 +at_xfail=no +( + printf "%s\n" "753. $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) + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2745: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2745" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2745" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2746: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2746" +( $at_check_trace; $COBCRUN_DIRECT ./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:2746" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_753 +#AT_START_754 +at_fn_group_banner 754 'run_misc.at:2751' \ + "STRING WITH POINTER ON OVERFLOW with DELIMITER" " " 4 +at_xfail=no +( + printf "%s\n" "754. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. StringTest. + *>---------------------------------------------------------------- + *> Additional test cases for STRING statement + *> Testing string with POINTER clause and with OVERFLOW + *> managment associated to POINTER clause + *> Testing also String with delimiter + *>---------------------------------------------------------------- + DATA DIVISION. + WORKING-STORAGE SECTION. + *>----------------------- + 01 TRGT-STRING PIC X(03) VALUE SPACES. + 01 STR-POINTER PIC 9(02). + 01 SRC-DELIM PIC X(01). + + PROCEDURE DIVISION. + *>------------------- + *> + *> case A: Pointer is between 1 and less than TRGT-STRING LENGTH + *> Should not overflow + MOVE 1 to STR-POINTER. + STRING 'A' 'B' 'C' DELIMITED BY SIZE + INTO TRGT-STRING + WITH POINTER STR-POINTER + ON OVERFLOW + DISPLAY 'Case A: Should not overflow' END-DISPLAY + END-STRING. + IF TRGT-STRING NOT = 'ABC' + DISPLAY 'A: TRTG-STRING <' TRGT-STRING '> != '. + IF STR-POINTER NOT = 4 + DISPLAY 'A: STR-POINTER <' STR-POINTER '> != <04>'. + *> + *> case B: Pointer is 0 --> Should overflow + MOVE 0 TO STR-POINTER. + MOVE SPACES TO TRGT-STRING. + STRING 'A' 'B' 'C' DELIMITED BY SIZE + INTO TRGT-STRING + WITH POINTER STR-POINTER + NOT ON OVERFLOW + DISPLAY 'Case B: Should overflow' END-DISPLAY + END-STRING. + IF TRGT-STRING NOT = SPACES + DISPLAY 'B: TRTG-STRING <' TRGT-STRING '> != SPACES'. + IF STR-POINTER NOT = 0 + DISPLAY 'B: STR-POINTER <' STR-POINTER '> != <00>'. + *> + *> case C: Pointer is 4 --> Should overflow + MOVE 4 TO STR-POINTER. + MOVE SPACES TO TRGT-STRING. + STRING 'A' 'B' 'C' DELIMITED BY SIZE + INTO TRGT-STRING + WITH POINTER STR-POINTER + NOT ON OVERFLOW + DISPLAY 'Case C: Should overflow' END-DISPLAY + END-STRING. + IF TRGT-STRING NOT = SPACES + DISPLAY 'C: TRTG-STRING <' TRGT-STRING '> != SPACES'. + IF STR-POINTER NOT = 4 + DISPLAY 'C: STR-POINTER <' STR-POINTER '> != <04>'. + *> + *> case D: Test with delimiter + MOVE 1 TO STR-POINTER. + MOVE '|' TO SRC-DELIM. + MOVE SPACES TO TRGT-STRING. + STRING '1|2' 'A|B' 'C|D' DELIMITED BY SRC-DELIM + INTO TRGT-STRING + WITH POINTER STR-POINTER + END-STRING. + IF TRGT-STRING NOT = '1AC' + DISPLAY 'D: TRGT-STRING <' TRGT-STRING '> != <1AC>'. + *> + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2829: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2829" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2829" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2830: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2830" +( $at_check_trace; $COBCRUN_DIRECT ./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:2830" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_754 +#AT_START_755 +at_fn_group_banner 755 'run_misc.at:2835' \ + "STRING / UNSTRING [NOT] ON OVERFLOW" " " 4 +at_xfail=no +( + printf "%s\n" "755. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. prog. + data division. + working-storage section. + 77 simple-str pic x(20). + 77 err-str pic x(50). + *----------------------------------------------------------------- + procedure division. + * STRING test + move spaces to simple-str + string 'data' + delimited by size + into simple-str + on overflow + move spaces to err-str + string 'STRING OVERFLOW' + delimited by size + into err-str + end-string + display err-str upon syserr + end-display + display '1 failed' + end-display + not on overflow + display '1 passed' + end-display + end-string + if simple-str not = 'data' + display 'STRING ERROR (1): "' simple-str '"' + end-display + end-if + * + move spaces to simple-str + string 'data is too big here...' + delimited by size + into simple-str + on overflow + display '2 passed' + end-display + not on overflow + display '2 failed' + end-display + move spaces to err-str + string 'missing OVERFLOW' + delimited by size + into err-str + end-string + display err-str upon syserr + end-display + end-string + if simple-str not = 'data is too big here' + display 'STRING ERROR (2): "' simple-str '"' + end-display + end-if + * + * UNSTRING test + move spaces to simple-str + unstring 'data' + into simple-str + on overflow + move spaces to err-str + unstring 'UNSTRING OVERFLOW' + into err-str + end-unstring + display err-str upon syserr + end-display + display '3 failed' + end-display + not on overflow + display '3 passed' + end-display + end-unstring + if simple-str not = 'data' + display 'UNSTRING ERROR (1): "' simple-str '"' + end-display + end-if + * + move spaces to simple-str + unstring 'data is too big here...' + into simple-str + on overflow + display '4 passed' + end-display + not on overflow + display '4 failed' + end-display + move spaces to err-str + string 'missing OVERFLOW' + delimited by size + into err-str + end-string + display err-str upon syserr + end-display + end-unstring + if simple-str not = 'data is too big here' + display 'UNSTRING ERROR (2): "' simple-str '"' + end-display + end-if + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2941: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2941" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2941" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2942: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2942" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1 passed +2 passed +3 passed +4 passed +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2942" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_755 +#AT_START_756 +at_fn_group_banner 756 'run_misc.at:2952' \ + "UNSTRING DELIMITED ALL LOW-VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "756. $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. + IF B NOT = "DEF" + DISPLAY B. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2977: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2977" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2977" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:2978: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:2978" +( $at_check_trace; $COBCRUN_DIRECT ./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:2978" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_756 +#AT_START_757 +at_fn_group_banner 757 'run_misc.at:2983' \ + "UNSTRING DELIMITED ALL SPACE-2" " " 4 +at_xfail=no +( + printf "%s\n" "757. $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. + IF WS-POINTER NOT = 5 + DISPLAY "Expected 5 - Got " WS-POINTER. + * + PERFORM 0001-SUB. + IF WS-DUMMY NOT = "ABC AND DE" + DISPLAY "Expected ABC AND DE - Got " WS-DUMMY. + IF WS-POINTER NOT = 21 + DISPLAY "Expected 21 - Got " WS-POINTER. + * + PERFORM 0001-SUB. + IF WS-DUMMY NOT = " FG AND HIJ" + DISPLAY "Expected FG AND HIJ - Got " WS-DUMMY. + IF WS-POINTER NOT = 40 + DISPLAY "Expected 40 - Got " WS-POINTER. + STOP RUN. + 0001-SUB. + UNSTRING WS-RECORD + DELIMITED BY ALL SPACE-2 + INTO WS-DUMMY + POINTER WS-POINTER + END-UNSTRING. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3030: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3030" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3030" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3031: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3031" +( $at_check_trace; $COBCRUN_DIRECT ./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:3031" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_757 +#AT_START_758 +at_fn_group_banner 758 'run_misc.at:3036' \ + "UNSTRING DELIMITED POINTER" " " 4 +at_xfail=no +( + printf "%s\n" "758. $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. + ADD 7 TO WS-POINTER + . + PERFORM 0001-SUB. + IF WS-POINTER NOT = 62 + DISPLAY "Expected 62 - Got " WS-POINTER. + PERFORM 0001-SUB. + IF WS-POINTER NOT = 63 + DISPLAY "Expected 63 - Got " WS-POINTER. + 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 +printf "%s\n" "$at_srcdir/run_misc.at:3078: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3078" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3078" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3079: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3079" +( $at_check_trace; $COBCRUN_DIRECT ./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:3079" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_758 +#AT_START_759 +at_fn_group_banner 759 'run_misc.at:3084' \ + "UNSTRING DELIMITER IN" " " 4 +at_xfail=no +( + printf "%s\n" "759. $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 +printf "%s\n" "$at_srcdir/run_misc.at:3120: \$COMPILE -ftop-level-occurs-clause=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -ftop-level-occurs-clause=ok prog.cob" "run_misc.at:3120" +( $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:3120" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3121: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3121" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_759 +#AT_START_760 +at_fn_group_banner 760 'run_misc.at:3126' \ + "UNSTRING combined" " " 4 +at_xfail=no +( + printf "%s\n" "760. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. UnstringTest. + *>---------------------------------------------------------------- + *> Additional test case for UNSTRING + *> testing unstring tallying with and without OVERFLOW and with + *> ALL clause for delimiters + *>---------------------------------------------------------------- + DATA DIVISION. + WORKING-STORAGE SECTION. + *>----------------------- + 01 INP-STRING PIC X(13) VALUE 'ABC1|DEF--GHI'. + 01 STR-POINTER PIC 9(02). + 01 RES-DATA. + 05 RES-TRGT-1 PIC X(20). + 05 RES-DELIM-1 PIC X(01). + 05 RES-COUNT-1 PIC 9(02). + 05 RES-TRGT-2 PIC X(20). + 05 RES-DELIM-2 PIC X(01). + 05 RES-COUNT-2 PIC 9(02). + 05 RES-TALLY PIC 9(02). + *> + PROCEDURE DIVISION. + *>------------------ + *> + *> case A : should not OVERFLOW; use of one delimiter + INITIALIZE RES-DATA + MOVE 1 TO STR-POINTER + *> + UNSTRING INP-STRING + DELIMITED BY '|' + INTO RES-TRGT-1 + DELIMITER IN RES-DELIM-1 COUNT IN RES-COUNT-1 + RES-TRGT-2 + DELIMITER IN RES-DELIM-2 COUNT IN RES-COUNT-2 + WITH POINTER STR-POINTER + TALLYING RES-TALLY + ON OVERFLOW + DISPLAY + 'Unstring tallying case 1 should not OVERFLOW' + END-DISPLAY + END-UNSTRING. + PERFORM TEST-CASE-1-RESULT + *> + *> case B : should OVERFLOW; use of two delimiters + INITIALIZE RES-DATA + MOVE 1 TO STR-POINTER + + UNSTRING INP-STRING + DELIMITED BY '|' OR ALL '-' + INTO RES-TRGT-1 + DELIMITER IN RES-DELIM-1 COUNT IN RES-COUNT-1 + RES-TRGT-2 + DELIMITER IN RES-DELIM-2 COUNT IN RES-COUNT-2 + WITH POINTER STR-POINTER + TALLYING RES-TALLY + NOT ON OVERFLOW + DISPLAY + 'Unstring tallying case 2 should OVERFLOW' + END-DISPLAY + END-UNSTRING. + PERFORM TEST-CASE-2-RESULT + *> + GOBACK. + + *> + TEST-CASE-1-RESULT. + *>------------------ + IF RES-TRGT-1 NOT = 'ABC1' + DISPLAY 'A: RES-TRGT-1 <' RES-TRGT-1 '> != '. + IF RES-DELIM-1 NOT = '|' + DISPLAY 'A: RES-DELIM-1 <' RES-DELIM-1 '> != <|>'. + IF RES-COUNT-1 NOT = 4 + DISPLAY 'A: RES-COUNT-1 <' RES-COUNT-1 '> != <4>'. + IF RES-TRGT-2 NOT = 'DEF--GHI' + DISPLAY 'A: RES-TRGT-2 <' RES-TRGT-2 '> != '. + IF RES-DELIM-2 NOT = SPACES + DISPLAY 'A: RES-DELIM2 <' RES-DELIM-2 '> != SPACE'. + IF RES-COUNT-2 NOT = 8 + DISPLAY 'A: RES-COUNT-1 <' RES-COUNT-2 '> != <8>'. + IF STR-POINTER NOT = 14 + DISPLAY 'A: STR-POINTER <' STR-POINTER '> != <14>'. + IF RES-TALLY NOT = 2 + DISPLAY 'A: RES-TALLY <' RES-TALLY '> != <2>'. + *> + TEST-CASE-2-RESULT. + *>------------------ + IF RES-TRGT-1 NOT = 'ABC1' + DISPLAY 'B: RES-TRGT-1 <' RES-TRGT-1 '> != '. + IF RES-DELIM-1 NOT = '|' + DISPLAY 'B: RES-DELIM-1 <' RES-DELIM-1 '> != <|>'. + IF RES-COUNT-1 NOT = 4 + DISPLAY 'B: RES-COUNT-1 <' RES-COUNT-1 '> != <4>'. + IF RES-TRGT-2 NOT = 'DEF' + DISPLAY 'B: RES-TRGT-2 <' RES-TRGT-2 '> != '. + IF RES-DELIM-2 NOT = '-' + DISPLAY 'B: RES-DELIM2 <' RES-DELIM-2 '> != <->'. + IF RES-COUNT-2 NOT = 3 + DISPLAY 'B: RES-COUNT-1 <' RES-COUNT-2 '> != <3>'. + IF STR-POINTER NOT = 11 + DISPLAY 'B: STR-POINTER <' STR-POINTER '> != <11>'. + IF RES-TALLY NOT = 2 + DISPLAY 'B: RES-TALLY <' RES-TALLY '> != <2>'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3234: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3234" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3234" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3235: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3235" +( $at_check_trace; $COBCRUN_DIRECT ./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:3235" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_760 +#AT_START_761 +at_fn_group_banner 761 'run_misc.at:3240' \ + "UNSTRING with FUNCTION / literal" " " 4 +at_xfail=no +( + printf "%s\n" "761. $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 +printf "%s\n" "$at_srcdir/run_misc.at:3284: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3284" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3284" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3285: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3285" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:3285" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_761 +#AT_START_762 +at_fn_group_banner 762 'run_misc.at:3310' \ + "SORT: table" " " 4 +at_xfail=no +( + printf "%s\n" "762. $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. + SORT TBL DESCENDING KEY Y. + IF G NOT = "c5d4a3b2e1" + DISPLAY G. + SORT TBL ASCENDING KEY TBL. + IF G NOT = "a3b2c5d4e1" + DISPLAY G. + SORT TBL DESCENDING KEY. + IF G NOT = "e1d4c5b2a3" + DISPLAY G. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3338: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3338" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3338" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3339: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3339" +( $at_check_trace; $COBCRUN_DIRECT ./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:3339" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_762 +#AT_START_763 +at_fn_group_banner 763 'run_misc.at:3344' \ + "SORT: table (2)" " " 4 +at_xfail=no +( + printf "%s\n" "763. $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 +printf "%s\n" "$at_srcdir/run_misc.at:3442: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3442" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3442" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3443: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3443" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:3443" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_763 +#AT_START_764 +at_fn_group_banner 764 'run_misc.at:3469' \ + "SORT: table (3)" " " 4 +at_xfail=no +( + printf "%s\n" "764. $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. + 10 TAB-DATA PIC X(5). + 01 TAB2. + 05 ROW2 OCCURS 1 TO 4 DEPENDING CNT1 + ASCENDING ROW2. + 10 TAB2-NR PIC 99. + 10 TAB2-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 + + MOVE TAB1 TO TAB2 + SORT ROW2 + + PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4 + DISPLAY TAB2-NR(K) NO ADVANCING END-DISPLAY + END-PERFORM + + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + 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 5 DESCENDING TAB1-NR. + 10 TAB1-NR PIC 99 VALUE ZERO. + 10 TAB-DATA PIC X(5). + 01 TAB2. + 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. + DISPLAY TAB1-NR OF TAB1 (2) NO ADVANCING END-DISPLAY + + PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4 + MOVE K TO TAB1-NR OF TAB2(K) + MOVE 'BLA' TO TAB-DATA OF TAB2(K) + END-PERFORM + + SORT ROW1 OF TAB2. + + PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4 + DISPLAY TAB1-NR OF TAB2(K) NO ADVANCING END-DISPLAY + END-PERFORM + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3552: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3552" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3552" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3553: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3553" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0403020101020304" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3553" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3555: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:3555" +( $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:3555" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3556: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:3556" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0004030201" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3556" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_764 +#AT_START_765 +at_fn_group_banner 765 'run_misc.at:3561' \ + "SORT: table (toplevel)" " " 4 +at_xfail=no +( + printf "%s\n" "765. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 VAL PIC X(5) VALUE "43512". + 01 TBL REDEFINES VAL PIC X OCCURS 5. + PROCEDURE DIVISION. + SORT TBL ASCENDING + IF VAL NOT = "12345" DISPLAY VAL. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3577: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3577" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3577" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3578: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3578" +( $at_check_trace; $COBCRUN_DIRECT ./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:3578" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_765 +#AT_START_766 +at_fn_group_banner 766 'run_misc.at:3583' \ + "SORT: EBCDIC table" " " 4 +at_xfail=no +( + printf "%s\n" "766. $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. + * alphabet-name as collation: + SORT TBL ASCENDING KEY X SEQUENCE ALPHA. + IF G NOT = "abcde12345" + DISPLAY G. + MOVE Z TO G. + * code-name as collation: + SORT TBL DESCENDING KEY X SEQUENCE EBCDIC. + IF G NOT = "54321edcba" + DISPLAY G. + STOP RUN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + OBJECT-COMPUTER. + x86 PROGRAM COLLATING SEQUENCE IS EBCDIC-CODE. + SPECIAL-NAMES. + ALPHABET EBCDIC-CODE 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. + IF G NOT = "abcde12345" + DISPLAY G. + MOVE Z TO G. + SORT TBL DESCENDING KEY X. + IF G NOT = "54321edcba" + DISPLAY G. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3640: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3640" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3640" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3641: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3641" +( $at_check_trace; $COBCRUN_DIRECT ./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:3641" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3642: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:3642" +( $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:3642" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3643: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:3643" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:3643" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_766 +#AT_START_767 +at_fn_group_banner 767 'run_misc.at:3648' \ + "Alphanum comparison with default COLLATING SEQUENCE" "" 4 +at_xfail=no +( + printf "%s\n" "767. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + >>IF EXPECT-ORDER = 'ASCII' + IF "1" NOT < "a" + >>ELIF EXPECT-ORDER = 'EBCDIC' + IF "a" NOT < "1" + >>END-IF + DISPLAY "ERROR" END-DISPLAY + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3665: \$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" "run_misc.at:3665" +( $at_check_trace; $COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:6: warning: expression '1' GREATER OR EQUAL 'a' 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/run_misc.at:3665" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3668: \$COBCRUN_DIRECT ./ascii" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ascii" "run_misc.at:3668" +( $at_check_trace; $COBCRUN_DIRECT ./ascii +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3668" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3670: \$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" "run_misc.at:3670" +( $at_check_trace; $COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o 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/run_misc.at:3670" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3671: \$COBCRUN_DIRECT ./ebcdic" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ebcdic" "run_misc.at:3671" +( $at_check_trace; $COBCRUN_DIRECT ./ebcdic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3671" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_767 +#AT_START_768 +at_fn_group_banner 768 'run_misc.at:3676' \ + "SORT: table with default COLLATING SEQUENCE" " " 4 +at_xfail=no +( + printf "%s\n" "768. $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 X(10) VALUE "d4b2e1a3c5". + 01 G REDEFINES Z. + 02 TBL OCCURS 10. + 03 X PIC X. + PROCEDURE DIVISION. + SORT TBL ASCENDING KEY X. + >>IF EXPECT-ORDER = 'ASCII' + IF G NOT = "12345abcde" + >>ELIF EXPECT-ORDER = 'EBCDIC' + IF G NOT = "abcde12345" + >>ELSE *> = 'NATIVE' + IF NOT G = "12345abcde" OR "abcde12345" + >>END-IF + DISPLAY G END-DISPLAY + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3702: \$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" "run_misc.at:3702" +( $at_check_trace; $COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o 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/run_misc.at:3702" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3703: \$COBCRUN_DIRECT ./ascii" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ascii" "run_misc.at:3703" +( $at_check_trace; $COBCRUN_DIRECT ./ascii +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3703" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3704: \$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" "run_misc.at:3704" +( $at_check_trace; $COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o 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/run_misc.at:3704" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3705: \$COBCRUN_DIRECT ./ebcdic" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ebcdic" "run_misc.at:3705" +( $at_check_trace; $COBCRUN_DIRECT ./ebcdic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3705" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3706: \$COMPILE -fdefault-colseq=native -DEXPECT-ORDER=NATIVE -o native prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=native -DEXPECT-ORDER=NATIVE -o native prog.cob" "run_misc.at:3706" +( $at_check_trace; $COMPILE -fdefault-colseq=native -DEXPECT-ORDER=NATIVE -o 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:3706" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3707: \$COBCRUN_DIRECT ./native" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./native" "run_misc.at:3707" +( $at_check_trace; $COBCRUN_DIRECT ./native +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3707" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_768 +#AT_START_769 +at_fn_group_banner 769 'run_misc.at:3712' \ + "JUSTIFIED and VALUE clauses" " " 4 +at_xfail=no +( + printf "%s\n" "769. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PROG. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ARR-ARRAY. + 03 ARR-ENTRY OCCURS 6 TIMES. + 05 ARR-FLD1 PIC X(10) + VALUE 'RIGHT' JUSTIFIED RIGHT. + 05 ARR-FLD2 PIC X(10) + VALUE 'LEFT'. + 05 ARR-FLD3 OCCURS 6 TIMES. + 10 ARR-FLD4 PIC X(10) + VALUE 'RIGHT' JUSTIFIED RIGHT. + 10 ARR-FLD5 PIC X(10) + VALUE 'LEFT'. + + 01 CNTR PIC S9(4) COMP. + 01 CNTR2 PIC S9(4) COMP. + + 77 ELE PIC X(10) + VALUE 'RIGHT' JUSTIFIED RIGHT. + 77 ELE2 PIC X(10) + VALUE 'R' JUSTIFIED RIGHT. + 77 ELE3 PIC X(10) + VALUE 'RRRRRRRRR' JUSTIFIED RIGHT. + 77 ELE4 PIC X(10) + VALUE 'RRRRRRRRRR' JUSTIFIED RIGHT. + 77 ELE5 PIC X(1003) + VALUE 'RRR' JUSTIFIED RIGHT. + + PROCEDURE DIVISION. + + >>IF JUSTIFY EQUAL 'JUSTIFY' + PERFORM 1000-JUSTIFY-IS-RIGHT THRU 1000-EXIT. + >>ELSE + PERFORM 2000-JUSTIFY-IS-OFF THRU 2000-EXIT. + >>END-IF + + IF ELE4 NOT EQUAL 'RRRRRRRRRR' + DISPLAY 'ELE4 NOT INITIALIZED CORRECTLY' ELE4 + END-IF. + + STOP RUN. + + + 1000-JUSTIFY-IS-RIGHT. + + IF ELE NOT EQUAL ' RIGHT' + DISPLAY 'ELE NOT INITIALIZED CORRECTLY ' ELE + END-IF. + + IF ELE2 NOT EQUAL ' R' + DISPLAY 'ELE2 NOT INITIALIZED CORRECTLY ' ELE2 + END-IF. + + IF ELE3 NOT EQUAL ' RRRRRRRRR' + DISPLAY 'ELE3 NOT INITIALIZED CORRECTLY ' ELE3 + END-IF. + + IF ELE5 (1:1000) NOT EQUAL SPACES + OR ELE5 (1001:) NOT EQUAL "RRR" + DISPLAY 'ELE5 NOT INITIALIZED CORRECTLY ' ELE5 + END-IF. + + IF ARR-FLD1 (2) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD1 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (2) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (6) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD1 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (2,3) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD4 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (2,3) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (6,6) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD4 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (6,6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + MOVE ALL 'X' TO ARR-ARRAY. + MOVE ALL 'X' TO ELE. + + INITIALIZE ELE WITH FILLER ALL TO VALUE. + INITIALIZE ARR-ARRAY WITH FILLER ALL TO VALUE. + + IF ELE NOT EQUAL ' RIGHT' + DISPLAY 'ELE NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (2) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD1 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (2) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (6) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD1 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (2,3) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD4 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (2,3) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (6,6) NOT EQUAL ' RIGHT' + DISPLAY 'ARR-FLD4 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (6,6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + 1000-EXIT. EXIT. + + + 2000-JUSTIFY-IS-OFF. + + IF ELE NOT EQUAL 'RIGHT ' + DISPLAY 'ELE NOT INITIALIZED CORRECTLY ' ELE + END-IF. + + IF ELE2 NOT EQUAL 'R ' + DISPLAY 'ELE2 NOT INITIALIZED CORRECTLY ' ELE2 + END-IF. + + IF ELE3 NOT EQUAL 'RRRRRRRRR ' + DISPLAY 'ELE3 NOT INITIALIZED CORRECTLY ' ELE3 + END-IF. + + IF ELE5 (1:3) NOT EQUAL "RRR" + OR ELE5 (4:) NOT EQUAL SPACES + DISPLAY 'ELE5 NOT INITIALIZED CORRECTLY ' ELE5 + END-IF. + + IF ARR-FLD1 (2) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD1 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (2) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (6) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD1 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (2,3) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD4 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (2,3) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (6,6) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD4 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (6,6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + MOVE ALL 'X' TO ARR-ARRAY. + MOVE ALL 'X' TO ELE. + + INITIALIZE ELE WITH FILLER ALL TO VALUE. + INITIALIZE ARR-ARRAY WITH FILLER ALL TO VALUE. + + IF ELE NOT EQUAL 'RIGHT ' + DISPLAY 'ELE NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (2) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD1 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (2) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (2) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD1 (6) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD1 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD2 (6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD2 (6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (2,3) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD4 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (2,3) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (2,3) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD4 (6,6) NOT EQUAL 'RIGHT ' + DISPLAY 'ARR-FLD4 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + IF ARR-FLD5 (6,6) NOT EQUAL 'LEFT ' + DISPLAY 'ARR-FLD5 (6,6) NOT INITIALIZED CORRECTLY' + END-IF. + + 2000-EXIT. EXIT. + + + END PROGRAM PROG. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3958: \$COMPILE -std=ibm -DJUSTIFY=JUSTIFY -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm -DJUSTIFY=JUSTIFY -o prog prog.cob" "run_misc.at:3958" +( $at_check_trace; $COMPILE -std=ibm -DJUSTIFY=JUSTIFY -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:3958" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3959: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3959" +( $at_check_trace; $COBCRUN_DIRECT ./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:3959" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3960: \$COMPILE -std=cobol2014 -DJUSTIFY=OFF -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2014 -DJUSTIFY=OFF -o prog prog.cob" "run_misc.at:3960" +( $at_check_trace; $COMPILE -std=cobol2014 -DJUSTIFY=OFF -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:3960" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3961: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:3961" +( $at_check_trace; $COBCRUN_DIRECT ./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:3961" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_769 +#AT_START_770 +at_fn_group_banner 770 'run_misc.at:3966' \ + "SEARCH ALL: table with default COLLATING SEQUENCE" "" 4 +at_xfail=no +( + printf "%s\n" "770. $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 X(10) VALUE "d4b2e1a3c5". + 01 G REDEFINES Z. + 02 TBL OCCURS 10 ASCENDING KEY K INDEXED BY I. + 03 K PIC X. + 01 KK PIC X. + PROCEDURE DIVISION. + SORT TBL ASCENDING KEY K. + SET KK TO "3" + SEARCH ALL TBL + AT END + DISPLAY KK " NOT FOUND" + WHEN K (I) = KK + CONTINUE + END-SEARCH + >>IF EXPECT-ORDER = 'ASCII' + IF I NOT = 3 + >>ELIF EXPECT-ORDER = 'EBCDIC' + IF I NOT = 8 + >>END-IF + DISPLAY "ERROR" END-DISPLAY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3997: \$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o ascii prog.cob" "run_misc.at:3997" +( $at_check_trace; $COMPILE -fdefault-colseq=ascii -DEXPECT-ORDER=ASCII -o 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/run_misc.at:3997" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:3998: \$COBCRUN_DIRECT ./ascii" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ascii" "run_misc.at:3998" +( $at_check_trace; $COBCRUN_DIRECT ./ascii +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3998" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4000: \$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o ebcdic prog.cob" "run_misc.at:4000" +( $at_check_trace; $COMPILE -fdefault-colseq=ebcdic -DEXPECT-ORDER=EBCDIC -o 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/run_misc.at:4000" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4001: \$COBCRUN_DIRECT ./ebcdic" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ebcdic" "run_misc.at:4001" +( $at_check_trace; $COBCRUN_DIRECT ./ebcdic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4001" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_770 +#AT_START_771 +at_fn_group_banner 771 'run_misc.at:4006' \ + "PIC ZZZ-, ZZZ+" " " 4 +at_xfail=no +( + printf "%s\n" "771. $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 ")". + MOVE 0 TO X-ZZZN. + IF XZN-RED NOT = " " + DISPLAY "(" X-ZZZN ")". + MOVE +1 TO X-ZZZN. + IF XZN-RED NOT = " 1 " + DISPLAY "(" X-ZZZN ")". + + MOVE -1 TO X-ZZZP. + IF XZP-RED NOT = " 1-" + DISPLAY "(" X-ZZZP ")". + MOVE 0 TO X-ZZZP. + IF XZP-RED NOT = " " + DISPLAY "(" X-ZZZP ")". + MOVE +1 TO X-ZZZP. + IF XZP-RED NOT = " 1+" + DISPLAY "(" X-ZZZP ")". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4041: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4041" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4041" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4042: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4042" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_771 +#AT_START_772 +at_fn_group_banner 772 'run_misc.at:4047' \ + "PERFORM type OSVS" " " 4 +at_xfail=no +( + printf "%s\n" "772. $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) VALUE 0. + PROCEDURE DIVISION. + ASTART SECTION. + A01. + PERFORM BTEST. + IF MYOCC NOT = 2 + DISPLAY MYOCC. + 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. + *> expected without -fperform-osvs: fall through here _SHOULD_ abort with -fsection-exit-check +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4077: \$COMPILE -fperform-osvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fperform-osvs prog.cob" "run_misc.at:4077" +( $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:4077" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4078: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4078" +( $at_check_trace; $COBCRUN_DIRECT ./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:4078" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_772 +#AT_START_773 +at_fn_group_banner 773 'run_misc.at:4083' \ + "Sticky LINKAGE" " " 4 +at_xfail=no +( + printf "%s\n" "773. $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. + 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. + MOVE "B" TO P1. + MOVE "OKOKOK" TO P2. + CALL "callee" USING P1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4118: \$COMPILE_MODULE -fsticky-linkage callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fsticky-linkage callee.cob" "run_misc.at:4118" +( $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:4118" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4119: \$COMPILE -fsticky-linkage caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fsticky-linkage caller.cob" "run_misc.at:4119" +( $at_check_trace; $COMPILE -fsticky-linkage 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:4119" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4120: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:4120" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_773 +#AT_START_774 +at_fn_group_banner 774 'run_misc.at:4125' \ + "COB_PRE_LOAD" " " 4 +at_xfail=no +( + printf "%s\n" "774. $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 +printf "%s\n" "$at_srcdir/run_misc.at:4144: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:4144" +( $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:4144" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4145: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:4145" +( $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:4145" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4146: COB_PRE_LOAD=callee \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "COB_PRE_LOAD=callee $COBCRUN_DIRECT ./caller" "run_misc.at:4146" +( $at_check_trace; COB_PRE_LOAD=callee $COBCRUN_DIRECT ./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: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_774 +#AT_START_775 +at_fn_group_banner 775 'run_misc.at:4151' \ + "COB_PRE_LOAD with entry points" " " 4 +at_xfail=no +( + printf "%s\n" "775. $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 +printf "%s\n" "$at_srcdir/run_misc.at:4210: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:4210" +( $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:4210" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4211: \$COMPILE_MODULE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog1.cob" "run_misc.at:4211" +( $at_check_trace; $COMPILE_MODULE 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_misc.at:4211" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4212: \$COMPILE main-prog.cob" +at_fn_check_prepare_dynamic "$COMPILE main-prog.cob" "run_misc.at:4212" +( $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:4212" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4213: COB_PRE_LOAD=\"prog\"\$PATHSEP\"prog1\" \$COBCRUN_DIRECT ./main-prog" +at_fn_check_prepare_dynamic "COB_PRE_LOAD=\"prog\"$PATHSEP\"prog1\" $COBCRUN_DIRECT ./main-prog" "run_misc.at:4213" +( $at_check_trace; COB_PRE_LOAD="prog"$PATHSEP"prog1" $COBCRUN_DIRECT ./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"; printf "%s\n" "12abc +11 +xxxxx +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4213" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_775 +#AT_START_776 +at_fn_group_banner 776 'run_misc.at:4222' \ + "Lookup ENTRY from main executable" " " 4 +at_xfail=no +( + printf "%s\n" "776. $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 +printf "%s\n" "$at_srcdir/run_misc.at:4257: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4257" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4257" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4258: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4258" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "subprogram+000000042" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 42 $at_status "$at_srcdir/run_misc.at:4258" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_776 +#AT_START_777 +at_fn_group_banner 777 'run_misc.at:4263' \ + "COB_LOAD_CASE=UPPER" " " 4 +at_xfail=no +( + printf "%s\n" "777. $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 +printf "%s\n" "$at_srcdir/run_misc.at:4282: \$COMPILE_MODULE CALLEE.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE CALLEE.cob" "run_misc.at:4282" +( $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:4282" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4283: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:4283" +( $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:4283" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4284: COB_LOAD_CASE=UPPER ./caller" +at_fn_check_prepare_trace "run_misc.at:4284" +( $at_check_trace; 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:4284" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_777 +#AT_START_778 +at_fn_group_banner 778 'run_misc.at:4289' \ + "ALLOCATE / FREE with BASED item (1)" " " 4 +at_xfail=no +( + printf "%s\n" "778. $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-IF + FREE ADDRESS OF MYFLD + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4309: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4309" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4309" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4310: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4310" +( $at_check_trace; $COBCRUN_DIRECT ./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:4310" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_778 +#AT_START_779 +at_fn_group_banner 779 'run_misc.at:4315' \ + "ALLOCATE / FREE with BASED item (2)" " " 4 +at_xfail=no +( + printf "%s\n" "779. $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-IF + FREE MYFLD + ALLOCATE MYFLD + IF ADDRESS OF MYFLD = NULL + DISPLAY "BASED ITEM WITHOUT ADDRESS AFTER ALLOCATE" + END-IF + INITIALIZE MYFLD + IF MYFLD NOT = " 0" + DISPLAY "BASED ITEM INITIALIZED WRONG: " + WITH NO ADVANCING + END-DISPLAY + DISPLAY MYFLD + END-IF + + FREE ADDRESS OF MYFLD + IF ADDRESS OF MYFLD NOT = NULL + DISPLAY "BASED ITEM WITH ADDRESS AFTER FREE" + END-IF + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4350: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4350" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4350" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4351: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4351" +( $at_check_trace; $COBCRUN_DIRECT ./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:4351" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Run both executable and module as we have a different code generation here +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4353: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:4353" +( $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:4353" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4354: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "run_misc.at:4354" +( $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:4354" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_779 +#AT_START_780 +at_fn_group_banner 780 'run_misc.at:4359' \ + "ALLOCATE CHARACTERS INITIALIZED (TO)" " " 4 +at_xfail=no +( + printf "%s\n" "780. $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-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-IF + FREE MYPTR + ALLOCATE 4 CHARACTERS + INITIALIZED + RETURNING MYPTR + SET ADDRESS OF MYFLD TO MYPTR + IF MYFLD NOT = LOW-VALUES + DISPLAY MYFLD + END-IF + FREE MYPTR + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4400: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4400" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4400" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4401: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4401" +( $at_check_trace; $COBCRUN_DIRECT ./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:4401" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_780 +#AT_START_781 +at_fn_group_banner 781 'run_misc.at:4406' \ + "Initialized value with defaultbyte" " " 4 +at_xfail=no +( + printf "%s\n" "781. $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-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4424: \$COMPILE -fdefaultbyte=A prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefaultbyte=A prog.cob" "run_misc.at:4424" +( $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:4424" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4425: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4425" +( $at_check_trace; $COBCRUN_DIRECT ./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:4425" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_781 +#AT_START_782 +at_fn_group_banner 782 'run_misc.at:4430' \ + "CALL with OMITTED parameter" " " 4 +at_xfail=no +( + printf "%s\n" "782. $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-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 + CALL "callee" USING P1 OMITTED + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4459: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:4459" +( $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:4459" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4460: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:4460" +( $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:4460" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4461: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:4461" +( $at_check_trace; $COBCRUN_DIRECT ./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:4461" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_782 +#AT_START_783 +at_fn_group_banner 783 'run_misc.at:4466' \ + "direct CALL in from C w/wo error" " " 4 +at_xfail=no +( + printf "%s\n" "783. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# tests and showcases direct C calls, including: +# as long as the module comes back the caller has control +# and its return code; but not in the case for errors or STOP RUN + +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. + GOBACK. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + DATA DIVISION. + LINKAGE SECTION. + 01 P PIC 99. + PROCEDURE DIVISION USING P. + DISPLAY 'P: ' P WITH NO ADVANCING. + STOP RUN RETURNING P. +_ATEOF + + +cat >caller.c <<'_ATEOF' + +#include +#include + +#ifndef NULL +#define NULL (void*)0 +#endif + +int +main (int argc, char **argv) +{ + /* for storing COBOL return code */ + int cob_ret; + + /* initialize parameters */ + void *cob_argv[2]; + + cob_argv[0] = argv[2]; + cob_argv[1] = NULL; + + /* initialize the COBOL run-time library */ + cob_init(argc, argv); + + /* call COBOL program */ + cob_ret = cob_call (argv[1], 2, cob_argv); + + cob_runtime_hint("program exited normally, " + "without STOP RUN with status %d", cob_ret); + + /* Clean up and terminate - This does not return */ + cob_stop_run (cob_ret); +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4534: \$COMPILE caller.c" +at_fn_check_prepare_dynamic "$COMPILE caller.c" "run_misc.at:4534" +( $at_check_trace; $COMPILE caller.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:4534" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4535: \$COMPILE_MODULE callee.cob callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob callee2.cob" "run_misc.at:4535" +( $at_check_trace; $COMPILE_MODULE callee.cob 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:4535" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4536: \$COBCRUN_DIRECT ./caller callee A" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller callee A" "run_misc.at:4536" +( $at_check_trace; $COBCRUN_DIRECT ./caller callee A +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "note: program exited normally, without STOP RUN with status 0 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "P1: A" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4536" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4539: \$COBCRUN_DIRECT ./caller callee2 42" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller callee2 42" "run_misc.at:4539" +( $at_check_trace; $COBCRUN_DIRECT ./caller callee2 42 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "P: 42" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 42 $at_status "$at_srcdir/run_misc.at:4539" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4540: \$COBCRUN_DIRECT ./caller notthere" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller notthere" "run_misc.at:4540" +( $at_check_trace; $COBCRUN_DIRECT ./caller notthere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: module 'notthere' not found +" | \ + $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:4540" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_783 +#AT_START_784 +at_fn_group_banner 784 'run_misc.at:4547' \ + "direct CALL in from C w/wo error; no exit" " " 4 +at_xfail=no +( + printf "%s\n" "784. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# tests and showcases the "functional call" of GnuCOBOL modules; +# in every case (plain goback, STOP RUN, error) the caller gets control, +# but the actual return / error code has to be queried with an extra call + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + DATA DIVISION. + LINKAGE SECTION. + 01 P1 PIC X. + 01 RC PIC 99. + 01 P2 PIC X(6). + PROCEDURE DIVISION USING P1 RC OPTIONAL P2. + IF P2 NOT OMITTED + DISPLAY 'UNEXPECTED P2: ' P2. + DISPLAY 'P1: ' P1 WITH NO ADVANCING + GOBACK RETURNING RC. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + PROCEDURE DIVISION. + DISPLAY 'STOP WITH 2' WITH NO ADVANCING + STOP RUN RETURNING 2. +_ATEOF + + +cat >buggy.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. buggy. + DATA DIVISION. + LOCAL-STORAGE SECTION. + 77 VAR PIC X. + 77 VPOS PIC 9 VALUE 2. + PROCEDURE DIVISION. + DISPLAY 'out of bounds - refmod following' WITH NO ADVANCING + DISPLAY VAR (VPOS:) + DISPLAY 'AFTER ERROR' + GOBACK. +_ATEOF + + +cat >caller.c <<'_ATEOF' + +#include +#include + +#ifndef NULL +#define NULL (void*)0 +#endif + +int +main (int argc, char **argv) +{ + /* for storing libcob return state */ + int cob_ret; + + /* initialize parameters */ + void *cob_argv[3]; + + char *p1 = "A"; + cob_argv[0] = p1; + cob_argv[1] = argv[2]; + cob_argv[2] = NULL; + + /* initialize the COBOL run-time library */ + cob_init (argc, argv); + + /* call COBOL program */ + cob_ret = cob_call_with_exception_check (argv[1], 2, cob_argv); + + switch (cob_ret) { + case 0: /* program coming back */ + + /* Clean up and terminate runtime */ + cob_runtime_hint ("program exited with return code %d", + cob_last_exit_code ()); + cob_tidy (); + break; + + case 1: /* normal exit */ + cob_runtime_hint ("STOP RUN with return code %d", + cob_last_exit_code ()); + break; + + case -1: /* error exit */ + cob_runtime_hint ("error exit with return code %d and error \"%s\"", + cob_last_exit_code (), cob_last_runtime_error ()); + break; + + case -2: /* hard error exit */ + cob_runtime_hint ("hard error exit with return code %d and error \"%s\"", + cob_last_exit_code (), cob_last_runtime_error ()); + break; + + case -3: /* signal handler exit */ + cob_runtime_hint ("signal handler exit with signal %d and error \"%s\"", + cob_last_exit_code (), cob_last_runtime_error ()); + break; + + default: + cob_runtime_hint ("unexpected return from cob_call_with_exception_check, " + "last exit code %d, last error \"%s\"", + cob_last_exit_code (), cob_last_runtime_error ()); + break; + } + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4658: \$COMPILE caller.c" +at_fn_check_prepare_dynamic "$COMPILE caller.c" "run_misc.at:4658" +( $at_check_trace; $COMPILE caller.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:4658" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4659: \$COMPILE_MODULE callee.cob callee2.cob buggy.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob callee2.cob buggy.cob" "run_misc.at:4659" +( $at_check_trace; $COMPILE_MODULE callee.cob callee2.cob buggy.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4659" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4660: \$COBCRUN_DIRECT ./caller callee 00" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller callee 00" "run_misc.at:4660" +( $at_check_trace; $COBCRUN_DIRECT ./caller callee 00 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "note: program exited with return code 0 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "P1: A" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4660" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4663: \$COBCRUN_DIRECT ./caller callee 42" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller callee 42" "run_misc.at:4663" +( $at_check_trace; $COBCRUN_DIRECT ./caller callee 42 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "note: program exited with return code 42 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "P1: A" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4663" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4666: \$COBCRUN_DIRECT ./caller callee2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller callee2" "run_misc.at:4666" +( $at_check_trace; $COBCRUN_DIRECT ./caller callee2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "note: STOP RUN with return code 2 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "STOP WITH 2" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4666" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4669: \$COBCRUN_DIRECT ./caller notthere" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller notthere" "run_misc.at:4669" +( $at_check_trace; $COBCRUN_DIRECT ./caller notthere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: module 'notthere' not found +note: error exit with return code -1 and error \"module 'notthere' not 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_misc.at:4669" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4673: \$COBCRUN_DIRECT ./caller buggy" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller buggy" "run_misc.at:4673" +( $at_check_trace; $COBCRUN_DIRECT ./caller buggy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: buggy.cob:10: error: offset of 'VAR' out of bounds: 2, maximum: 1 +note: error exit with return code -1 and error \"buggy.cob:10: offset of 'VAR' out of bounds: 2, maximum: 1\" +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "out of bounds - refmod following" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4673" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_784 +#AT_START_785 +at_fn_group_banner 785 'run_misc.at:4681' \ + "CALL in from C, cob_call_params explicitly set" " " 4 +at_xfail=no +( + printf "%s\n" "785. $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-IF + DISPLAY 'P1: ' P1 WITH NO ADVANCING + EXIT PROGRAM. +_ATEOF + + +cat >caller.c <<'_ATEOF' + +#include +#include + +int callee (char *, char *); + +#ifndef NULL +#define NULL (void*)0 +#endif + +int +main (int argc, char **argv) +{ + cob_global *cobol_global; + /* for storing COBOL return code */ + int cob_ret; + + /* initialize parameters */ + char *p1 = "A"; + + /* initialize the COBOL run-time library */ + cob_init(argc, argv); + + /* setup for COBOL parameter handling */ + cobol_global = cob_get_global_ptr (); + cobol_global->cob_call_params = 1; + + /* call COBOL program */ + cob_ret = callee (p1, NULL); + + /* Clean up and terminate - This does not return */ + cob_stop_run (cob_ret); +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4734: \$COMPILE -o caller caller.c callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:4734" +( $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:4734" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4735: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:4735" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "P1: A" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4735" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_785 +#AT_START_786 +at_fn_group_banner 786 'run_misc.at:4740' \ + "CALL in from C, cob_call_params unknown" " " 4 +at_xfail=no +( + printf "%s\n" "786. $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. + IF P2 NOT EQUAL "FROM C" + DISPLAY P2 + ELSE + DISPLAY "OK" WITH NO ADVANCING. + EXIT PROGRAM. +_ATEOF + + +cat >caller.c <<'_ATEOF' + +#include +#include + +int callee (char *, char *); + +int +main (int argc, char **argv) +{ + /* for storing COBOL return code */ + int cob_ret; + + /* initialize parameters */ + char *p1 = "A"; + char *p2 = "FROM C"; + + /* initialize the COBOL run-time library */ + cob_init (argc, argv); + + /* call COBOL program */ + cob_ret = callee (p1, p2); + + /* Clean up and terminate - This does not return */ + cob_stop_run (cob_ret); +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4787: \$COMPILE -o caller caller.c callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:4787" +( $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:4787" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4788: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:4788" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4788" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_786 +#AT_START_787 +at_fn_group_banner 787 'run_misc.at:4793' \ + "CALL C with callback, PROCEDURE DIVISION EXTERN" "" 4 +at_xfail=no +( + printf "%s\n" "787. $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 != ADDRESS OF P3: " P1. + IF P2 NOT EQUAL 42 + DISPLAY "P2 != 42: " P2. + IF P3 NOT EQUAL "CALLBACK" + DISPLAY "P3 != CALLBACK: " P3. + EXIT PROGRAM. +_ATEOF + + +cat >cprog.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_misc.at:4848: \$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:4848" +( $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:4848" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4849: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4849" +( $at_check_trace; $COBCRUN_DIRECT ./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:4849" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4851: \$COMPILE -Wno-unfinished -fsticky-linkage -o prog prog.cob cprog.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fsticky-linkage -o prog prog.cob cprog.c" "run_misc.at:4851" +( $at_check_trace; $COMPILE -Wno-unfinished -fsticky-linkage -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:4851" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4852: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4852" +( $at_check_trace; $COBCRUN_DIRECT ./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:4852" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4854: \$COMPILE -Wno-unfinished -fusing-optional=skip -o prog prog.cob cprog.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fusing-optional=skip -o prog prog.cob cprog.c" "run_misc.at:4854" +( $at_check_trace; $COMPILE -Wno-unfinished -fusing-optional=skip -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:4854" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4855: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4855" +( $at_check_trace; $COBCRUN_DIRECT ./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:4855" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4857: \$COMPILE -Wno-unfinished -fusing-optional=skip -fsticky-linkage -o prog prog.cob cprog.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fusing-optional=skip -fsticky-linkage -o prog prog.cob cprog.c" "run_misc.at:4857" +( $at_check_trace; $COMPILE -Wno-unfinished -fusing-optional=skip -fsticky-linkage -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:4857" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4858: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4858" +( $at_check_trace; $COBCRUN_DIRECT ./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:4858" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_787 +#AT_START_788 +at_fn_group_banner 788 'run_misc.at:4863' \ + "CALL C with callback, ENTRY-CONVENTION EXTERN" " " 4 +at_xfail=no +( + printf "%s\n" "788. $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 +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_misc.at:4924: \$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:4924" +( $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:4924" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:4925: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:4925" +( $at_check_trace; $COBCRUN_DIRECT ./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:4925" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.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. + DATA DIVISION. + LINKAGE SECTION. + 01 P1 USAGE POINTER. + 01 P2 USAGE BINARY-LONG. + 01 P3 PIC X(8). + PROCEDURE DIVISION WITH C LINKAGE + 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 >prog3.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 + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5005: \$COMPILE -Wno-unfinished -o prog prog2.cob cprog.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -o prog prog2.cob cprog.c" "run_misc.at:5005" +( $at_check_trace; $COMPILE -Wno-unfinished -o prog prog2.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:5005" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5006: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5006" +( $at_check_trace; $COBCRUN_DIRECT ./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:5006" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5008: \$COMPILE -Wno-unfinished -o prog prog3.cob cprog.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -o prog prog3.cob cprog.c" "run_misc.at:5008" +( $at_check_trace; $COMPILE -Wno-unfinished -o prog prog3.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:5008" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5009: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5009" +( $at_check_trace; $COBCRUN_DIRECT ./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:5009" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_788 +#AT_START_789 +at_fn_group_banner 789 'run_misc.at:5014' \ + "CALL in from C with init missing / implicit" " " 4 +at_xfail=no +( + printf "%s\n" "789. $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. + IF P2 NOT EQUAL "FROM C" + DISPLAY P2 + END-DISPLAY + ELSE + DISPLAY "OK" WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +cat >caller.c <<'_ATEOF' + +int callee (char *, char *); + +int +main (int argc, char **argv) +{ + /* initialize parameters */ + char *p1 = "A"; + char *p2 = "FROM C"; + + /* call COBOL program (initialization missing) + note: COBOL program terminates the program by STOP RUN */ + (void)callee (p1, p2); +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5051: \$COMPILE -o caller caller.c callee.cob" +at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:5051" +( $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:5051" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5052: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5052" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: 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:5052" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5056: \$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:5056" +( $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:5056" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5057: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5057" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5057" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_789 +#AT_START_790 +at_fn_group_banner 790 'run_misc.at:5062' \ + "CALL STATIC C from COBOL" " " 4 +at_xfail=no +( + printf "%s\n" "790. $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 + +int +callee (char *p1, char *p2) +{ + if (p1[0] == 'A') { + p1[0] = 'B'; + } + memcpy (p2, "FROM C", 6); + + return 3; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5112: \$COMPILE -o caller caller.cob callee.c" +at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob callee.c" "run_misc.at:5112" +( $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:5112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5113: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5113" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$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 + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_790 +#AT_START_791 +at_fn_group_banner 791 'run_misc.at:5118' \ + "ANY LENGTH (1)" " " 4 +at_xfail=no +( + printf "%s\n" "791. $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. + IF P1 NOT = "OKOKOK" + DISPLAY P1. + 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 +printf "%s\n" "$at_srcdir/run_misc.at:5150: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:5150" +( $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:5150" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5151: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:5151" +( $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:5151" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5152: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5152" +( $at_check_trace; $COBCRUN_DIRECT ./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:5152" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_791 +#AT_START_792 +at_fn_group_banner 792 'run_misc.at:5157' \ + "ANY LENGTH (2)" " " 4 +at_xfail=no +( + printf "%s\n" "792. $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. + 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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5190: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:5190" +( $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:5190" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5191: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:5191" +( $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:5191" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5192: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5192" +( $at_check_trace; $COBCRUN_DIRECT ./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:5192" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_792 +#AT_START_793 +at_fn_group_banner 793 'run_misc.at:5197' \ + "ANY LENGTH (3)" " " 4 +at_xfail=no +( + printf "%s\n" "793. $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) VALUE ALL "X". + + PROCEDURE DIVISION. + CALL "subprog" USING str + . + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. subprog. + + DATA DIVISION. + LINKAGE SECTION. + 01 str PIC X ANY LENGTH. + + PROCEDURE DIVISION USING str. + MOVE "abcd" TO str + DISPLAY FUNCTION TRIM (str) + MOVE "abcd" TO str (5:) + DISPLAY FUNCTION TRIM (str) + MOVE ALL "a" TO str + DISPLAY FUNCTION TRIM (str) + . + END PROGRAM subprog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5231: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5231" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5231" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5232: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5232" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "abcd +abcdabcd +aaaaaaaaaaaaaaaaaaaa +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5232" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_793 +#AT_START_794 +at_fn_group_banner 794 'run_misc.at:5240' \ + "ANY LENGTH (4)" " " 4 +at_xfail=no +( + printf "%s\n" "794. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# comparison of any length was done only for first character - see bug 511 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 str PIC X(20) VALUE ALL "X". + + PROCEDURE DIVISION. + CALL "subprog" USING str + move ' 45' to str + CALL "subprog" USING str + . + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. subprog. + + DATA DIVISION. + LINKAGE SECTION. + 01 str PIC X ANY LENGTH. + + PROCEDURE DIVISION USING str. + IF str = 'X' + DISPLAY 'X is X' + END-IF + IF str = space + DISPLAY 'X is space' + END-IF + . + END PROGRAM subprog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5278: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5278" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5278" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5279: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5279" +( $at_check_trace; $COBCRUN_DIRECT ./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:5279" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_794 +#AT_START_795 +at_fn_group_banner 795 'run_misc.at:5283' \ + "ANY LENGTH (5)" " " 4 +at_xfail=no +( + printf "%s\n" "795. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# any length variables resulted in SIGSEGV when module was first program called + +cat >subprog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. subprog. + + DATA DIVISION. + LINKAGE SECTION. + 01 str1 PIC X ANY LENGTH. + 01 str2 PIC X ANY LENGTH. + + PROCEDURE DIVISION USING OPTIONAL str1 OPTIONAL str2. + DISPLAY 'IN' WITH NO ADVANCING + . + END PROGRAM subprog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5303: \$COMPILE_MODULE subprog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE subprog.cob" "run_misc.at:5303" +( $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_misc.at:5303" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5304: \$COBCRUN subprog some test stuff" +at_fn_check_prepare_dynamic "$COBCRUN subprog some test stuff" "run_misc.at:5304" +( $at_check_trace; $COBCRUN subprog some test stuff +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "IN" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5304" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_795 +#AT_START_796 +at_fn_group_banner 796 'run_misc.at:5308' \ + "access to BASED item without allocation" " " 4 +at_xfail=no +( + printf "%s\n" "796. $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 + 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 + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5334: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5334" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5334" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5335: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:5335" +( $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:5335" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5337: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5337" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:8: error: 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:5337" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5340: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:5340" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:9: error: 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:5340" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_796 +#AT_START_797 +at_fn_group_banner 797 'run_misc.at:5347' \ + "access to OPTIONAL LINKAGE item not passed" " " 4 +at_xfail=no +( + printf "%s\n" "797. $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. + CALL 'callee' USING OMITTED. + 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. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5375: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:5375" +( $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:5375" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5376: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:5376" +( $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:5376" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5378: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:5378" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: callee.cob:9: error: 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:5378" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_797 +#AT_START_798 +at_fn_group_banner 798 'run_misc.at:5385' \ + "STOP RUN WITH NORMAL STATUS" " " 4 +at_xfail=no +( + printf "%s\n" "798. $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 +printf "%s\n" "$at_srcdir/run_misc.at:5397: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5397" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5397" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5398: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5398" +( $at_check_trace; $COBCRUN_DIRECT ./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:5398" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_798 +#AT_START_799 +at_fn_group_banner 799 'run_misc.at:5403' \ + "STOP RUN WITH ERROR STATUS" " " 4 +at_xfail=no +( + printf "%s\n" "799. $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 +printf "%s\n" "$at_srcdir/run_misc.at:5415: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5415" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5415" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5416: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5416" +( $at_check_trace; $COBCRUN_DIRECT ./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:5416" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_799 +#AT_START_800 +at_fn_group_banner 800 'run_misc.at:5421' \ + "STOP ERROR" " " 4 +at_xfail=no +( + printf "%s\n" "800. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + CALL "prog2". + DISPLAY "Whatever". + STOP RUN. + END PROGRAM prog. + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + PROCEDURE DIVISION. + STOP ERROR. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5438: \$COMPILE prog.cob -fstop-error-statement=ok" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fstop-error-statement=ok" "run_misc.at:5438" +( $at_check_trace; $COMPILE prog.cob -fstop-error-statement=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:5438" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5439: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5439" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:12: error: STOP ERROR +" | \ + $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:5439" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_800 +#AT_START_801 +at_fn_group_banner 801 'run_misc.at:5446' \ + "SYMBOLIC clause" " " 4 +at_xfail=no +( + printf "%s\n" "801. $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. + MOVE Z-EBC TO Z. + IF Z NOT = "0" + DISPLAY Z. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5473: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5473" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5473" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5474: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5474" +( $at_check_trace; $COBCRUN_DIRECT ./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:5474" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_801 +#AT_START_802 +at_fn_group_banner 802 'run_misc.at:5479' \ + "OCCURS clause with 1 entry" " " 4 +at_xfail=no +( + printf "%s\n" "802. $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). + IF D2-ENTRY (1) NOT = "ABC" + DISPLAY D2-ENTRY (1). + IF D1-R-ENTRY (1) NOT = "456" + DISPLAY D1-R-ENTRY (1). + IF D2-R-ENTRY (1) NOT = "DEF" + DISPLAY D2-R-ENTRY (1). + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5514: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5514" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5514" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:5515: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:5515" +( $at_check_trace; $COBCRUN_DIRECT ./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:5515" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_802 +#AT_START_803 +at_fn_group_banner 803 'run_misc.at:5520' \ + "Computing of different USAGEs w/o decimal point" "" 4 +at_xfail=no +( + printf "%s\n" "803. $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 CN9-A PIC 99 COMP-N VALUE 1. + 77 CN9-B PIC 99 COMP-N VALUE 10. + 77 CN9-RES PIC 99 COMP-N. + * + 77 CNX-A PIC X COMP-N VALUE 1. + 77 CNX-B PIC X COMP-N VALUE 10. + 77 CNX-RES PIC X COMP-N. + * + 77 CX9-A PIC 99 COMP-X VALUE 1. + 77 CX9-B PIC 99 COMP-X VALUE 10. + 77 CX9-RES PIC 99 COMP-X. + * + 77 CXX-A PIC X COMP-X VALUE 1. + 77 CXX-B PIC X COMP-X VALUE 10. + 77 CXX-RES PIC X COMP-X. + * + 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. + * + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + * + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + * + INITIALIZE + BCL-A BCL-B + BC-A BC-B + BD-A BD-B + BL-A BL-B + C-A C-B + C1-A C1-B + C2-A C2-B + C3-A C3-B + C5-A C5-B + C6-A C6-B + CN9-A CN9-B + CNX-A CNX-B + CX9-A CX9-B + CXX-A CXX-B + D-A D-B + FD16-A FD16-B + FD34-A FD34-B + FL-A FL-B + FS-A FS-B + ALL TO VALUE. + * + ADD BCL-B TO BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 11 + DISPLAY 'ERROR BINARY-C-LONG + BINARY-C-LONG'. + MOVE 1 TO BCL-A. + ADD 10 TO BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 11 + DISPLAY 'ERROR BINARY-C-LONG + NUM'. + MOVE 11 TO BCL-A. + SUBTRACT BCL-B FROM BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 1 + DISPLAY 'ERROR BINARY-C-LONG - BINARY-C-LONG'. + MOVE 11 TO BCL-A. + SUBTRACT 10 FROM BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 1 + DISPLAY 'ERROR BINARY-C-LONG - NUM'. + * + ADD BC-B TO BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 11 + DISPLAY 'ERROR BINARY-CHAR + BINARY-CHAR'. + MOVE 1 TO BC-A. + ADD 10 TO BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 11 + DISPLAY 'ERROR BINARY-CHAR + NUM'. + MOVE 11 TO BC-A. + SUBTRACT BC-B FROM BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 1 + DISPLAY 'ERROR BINARY-CHAR - BINARY-CHAR'. + MOVE 11 TO BC-A. + SUBTRACT 10 FROM BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 1 + DISPLAY 'ERROR BINARY-CHAR - NUM'. + * + ADD BD-B TO BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 11 + DISPLAY 'ERROR BINARY-DOUBLE + BINARY-DOUBLE'. + MOVE 1 TO BD-A. + ADD 10 TO BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 11 + DISPLAY 'ERROR BINARY-DOUBLE + NUM'. + MOVE 11 TO BD-A. + SUBTRACT BD-B FROM BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 1 + DISPLAY 'ERROR BINARY-DOUBLE - BINARY-DOUBLE'. + MOVE 11 TO BD-A. + SUBTRACT 10 FROM BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 1 + DISPLAY 'ERROR BINARY-DOUBLE - NUM'. + * + ADD BL-B TO BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 11 + DISPLAY 'ERROR BINARY-LONG + BINARY-LONG'. + MOVE 1 TO BL-A. + ADD 10 TO BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 11 + DISPLAY 'ERROR BINARY-LONG + NUM'. + MOVE 11 TO BL-A. + SUBTRACT BL-B FROM BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 1 + DISPLAY 'ERROR BINARY-LONG - BINARY-LONG'. + MOVE 11 TO BL-A. + SUBTRACT 10 FROM BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 1 + DISPLAY 'ERROR BINARY-LONG - NUM'. + * + ADD C-B TO C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 11 + DISPLAY 'ERROR COMP + COMP'. + MOVE 1 TO C-A. + ADD 10 TO C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 11 + DISPLAY 'ERROR COMP + NUM'. + MOVE 11 TO C-A. + SUBTRACT C-B FROM C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 1 + DISPLAY 'ERROR COMP - COMP'. + MOVE 11 TO C-A. + SUBTRACT 10 FROM C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 1 + DISPLAY 'ERROR COMP - NUM'. + * + ADD C1-B TO C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 11 + DISPLAY 'ERROR COMP-1 + COMP-1'. + MOVE 1 TO C1-A. + ADD 10 TO C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 11 + DISPLAY 'ERROR COMP-1 + NUM'. + MOVE 11 TO C1-A. + SUBTRACT C1-B FROM C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 1 + DISPLAY 'ERROR COMP-1 - COMP-1'. + MOVE 11 TO C1-A. + SUBTRACT 10 FROM C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 1 + DISPLAY 'ERROR COMP-1 - NUM'. + * + ADD C2-B TO C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 11 + DISPLAY 'ERROR COMP-2 + COMP-2'. + MOVE 1 TO C2-A. + ADD 10 TO C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 11 + DISPLAY 'ERROR COMP-2 + NUM'. + MOVE 11 TO C2-A. + SUBTRACT C2-B FROM C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 1 + DISPLAY 'ERROR COMP-2 - COMP-2'. + MOVE 11 TO C2-A. + SUBTRACT 10 FROM C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 1 + DISPLAY 'ERROR COMP-2 - NUM'. + * + ADD C3-B TO C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 11 + DISPLAY 'ERROR COMP-3 + COMP-3'. + MOVE 1 TO C3-A. + ADD 10 TO C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 11 + DISPLAY 'ERROR COMP-3 + NUM'. + MOVE 11 TO C3-A. + SUBTRACT C3-B FROM C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 1 + DISPLAY 'ERROR COMP-3 - COMP-3'. + MOVE 11 TO C3-A. + SUBTRACT 10 FROM C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 1 + DISPLAY 'ERROR COMP-3 - NUM'. + * + ADD C5-B TO C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 11 + DISPLAY 'ERROR COMP-5 + COMP-5'. + MOVE 1 TO C5-A. + ADD 10 TO C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 11 + DISPLAY 'ERROR COMP-5 + NUM'. + MOVE 11 TO C5-A. + SUBTRACT C5-B FROM C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 1 + DISPLAY 'ERROR COMP-5 - COMP-5'. + MOVE 11 TO C5-A. + SUBTRACT 10 FROM C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 1 + DISPLAY 'ERROR COMP-5 - NUM'. + * + ADD C6-B TO C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 11 + DISPLAY 'ERROR COMP-6 + COMP-6'. + MOVE 1 TO C6-A. + ADD 10 TO C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 11 + DISPLAY 'ERROR COMP-6 + NUM'. + MOVE 11 TO C6-A. + SUBTRACT C6-B FROM C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 1 + DISPLAY 'ERROR COMP-6 - COMP-6'. + MOVE 11 TO C6-A. + SUBTRACT 10 FROM C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 1 + DISPLAY 'ERROR COMP-6 - NUM'. + * + ADD CN9-B TO CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 11 + DISPLAY 'ERROR COMP-N + COMP-N'. + MOVE 1 TO CN9-A. + ADD 10 TO CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 11 + DISPLAY 'ERROR COMP-N + NUM'. + MOVE 11 TO CN9-A. + SUBTRACT CN9-B FROM CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 1 + DISPLAY 'ERROR COMP-N - COMP-N'. + MOVE 11 TO CN9-A. + SUBTRACT 10 FROM CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 1 + DISPLAY 'ERROR COMP-N - NUM'. + * + ADD CNX-B TO CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 11 + DISPLAY 'ERROR COMP-N + COMP-N'. + MOVE 1 TO CNX-A. + ADD 10 TO CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 11 + DISPLAY 'ERROR COMP-N + NUM'. + MOVE 11 TO CNX-A. + SUBTRACT CNX-B FROM CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 1 + DISPLAY 'ERROR COMP-N - COMP-N'. + MOVE 11 TO CNX-A. + SUBTRACT 10 FROM CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 1 + DISPLAY 'ERROR COMP-N - NUM'. + * + ADD CX9-B TO CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 11 + DISPLAY 'ERROR COMP-X + COMP-X'. + MOVE 1 TO CX9-A. + ADD 10 TO CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 11 + DISPLAY 'ERROR COMP-X + NUM'. + MOVE 11 TO CX9-A. + SUBTRACT CX9-B FROM CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 1 + DISPLAY 'ERROR COMP-X - COMP-X'. + MOVE 11 TO CX9-A. + SUBTRACT 10 FROM CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 1 + DISPLAY 'ERROR COMP-X - NUM'. + * + ADD CXX-B TO CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 11 + DISPLAY 'ERROR COMP-X + COMP-X'. + MOVE 1 TO CXX-A. + ADD 10 TO CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 11 + DISPLAY 'ERROR COMP-X + NUM'. + MOVE 11 TO CXX-A. + SUBTRACT CXX-B FROM CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 1 + DISPLAY 'ERROR COMP-X - COMP-X'. + MOVE 11 TO CXX-A. + SUBTRACT 10 FROM CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 1 + DISPLAY 'ERROR COMP-X - NUM'. + * + ADD D-B TO D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 11 + DISPLAY 'ERROR DISPLAY + DISPLAY'. + MOVE 1 TO D-A. + ADD 10 TO D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 11 + DISPLAY 'ERROR DISPLAY + NUM'. + MOVE 11 TO D-A. + SUBTRACT D-B FROM D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 1 + DISPLAY 'ERROR DISPLAY - DISPLAY'. + MOVE 11 TO D-A. + SUBTRACT 10 FROM D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 1 + DISPLAY 'ERROR DISPLAY - NUM'. + * + ADD FD16-B TO FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 11 + DISPLAY 'ERROR FLOAT-DECIMAL-16 + FLOAT-DECIMAL-16'. + MOVE 1 TO FD16-A. + ADD 10 TO FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 11 + DISPLAY 'ERROR FLOAT-DECIMAL-16 + NUM'. + MOVE 11 TO FD16-A. + SUBTRACT FD16-B FROM FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 1 + DISPLAY 'ERROR FLOAT-DECIMAL-16 - FLOAT-DECIMAL-16'. + MOVE 11 TO FD16-A. + SUBTRACT 10 FROM FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 1 + DISPLAY 'ERROR FLOAT-DECIMAL-16 - NUM'. + * + ADD FD34-B TO FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 11 + DISPLAY 'ERROR FLOAT-DECIMAL-34 + FLOAT-DECIMAL-34'. + MOVE 1 TO FD34-A. + ADD 10 TO FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 11 + DISPLAY 'ERROR FLOAT-DECIMAL-34 + NUM'. + MOVE 11 TO FD34-A. + SUBTRACT FD34-B FROM FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 1 + DISPLAY 'ERROR FLOAT-DECIMAL-34 - FLOAT-DECIMAL-34'. + MOVE 11 TO FD34-A. + SUBTRACT 10 FROM FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 1 + DISPLAY 'ERROR FLOAT-DECIMAL-34 - NUM'. + * + ADD FL-B TO FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 11 + DISPLAY 'ERROR FLOAT-LONG + FLOAT-LONG'. + MOVE 1 TO FL-A. + ADD 10 TO FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 11 + DISPLAY 'ERROR FLOAT-LONG + NUM'. + MOVE 11 TO FL-A. + SUBTRACT FL-B FROM FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 1 + DISPLAY 'ERROR FLOAT-LONG - FLOAT-LONG'. + MOVE 11 TO FL-A. + SUBTRACT 10 FROM FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 1 + DISPLAY 'ERROR FLOAT-LONG - NUM'. + * + ADD FS-B TO FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 11 + DISPLAY 'ERROR FLOAT-SHORT + FLOAT-SHORT'. + MOVE 1 TO FS-A. + ADD 10 TO FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 11 + DISPLAY 'ERROR FLOAT-SHORT + NUM'. + MOVE 11 TO FS-A. + SUBTRACT FS-B FROM FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 1 + DISPLAY 'ERROR FLOAT-SHORT - FLOAT-SHORT'. + MOVE 11 TO FS-A. + SUBTRACT 10 FROM FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 1 + DISPLAY 'ERROR FLOAT-SHORT - NUM'. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6030: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:6030" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6030" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6031: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6031" +( $at_check_trace; $COBCRUN_DIRECT ./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:6031" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6033: \$COMPILE -fno-fast-compare prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare prog.cob" "run_misc.at:6033" +( $at_check_trace; $COMPILE -fno-fast-compare prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6033" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6034: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6034" +( $at_check_trace; $COBCRUN_DIRECT ./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:6034" +$at_failed && at_fn_log_failure +$at_traceon; } + + +#AT_CHECK([$COMPILE -fno-fast-math prog.cob], [0], [], []) +#AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], []) + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6039: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_misc.at:6039" +( $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:6039" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6040: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6040" +( $at_check_trace; $COBCRUN_DIRECT ./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:6040" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_803 +#AT_START_804 +at_fn_group_banner 804 'run_misc.at:6045' \ + "Computing of different USAGEs w/- decimal point" "" 4 +at_xfail=no +( + printf "%s\n" "804. $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 CN9-A PIC 99 COMP-N VALUE 1. + 77 CN9-B PIC 99 COMP-N VALUE 10. + 77 CN9-RES PIC 99 COMP-N. + * + 77 CNX-A PIC X COMP-N VALUE 1. + 77 CNX-B PIC X COMP-N VALUE 10. + 77 CNX-RES PIC X COMP-N. + * + 77 CX9-A PIC 99 COMP-X VALUE 1. + 77 CX9-B PIC 99 COMP-X VALUE 10. + 77 CX9-RES PIC 99 COMP-X. + * + 77 CXX-A PIC X COMP-X VALUE 1. + 77 CXX-B PIC X COMP-X VALUE 10. + 77 CXX-RES PIC X COMP-X. + * + 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. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-C-LONG + BINARY-C-LONG'. + MOVE 1.0 TO BCL-A. + ADD 10.0 TO BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-C-LONG + NUM'. + MOVE 11.0 TO BCL-A. + SUBTRACT BCL-B FROM BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-C-LONG - BINARY-C-LONG'. + MOVE 11.0 TO BCL-A. + SUBTRACT 10.0 FROM BCL-A. + MOVE BCL-A TO BCL-RES. + IF BCL-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-C-LONG - NUM'. + * + ADD BC-B TO BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-CHAR + BINARY-CHAR'. + MOVE 1.0 TO BC-A. + ADD 10.0 TO BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-CHAR + NUM'. + MOVE 11.0 TO BC-A. + SUBTRACT BC-B FROM BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-CHAR - BINARY-CHAR'. + MOVE 11.0 TO BC-A. + SUBTRACT 10.0 FROM BC-A. + MOVE BC-A TO BC-RES. + IF BC-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-CHAR - NUM'. + * + ADD BD-B TO BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-DOUBLE + BINARY-DOUBLE'. + MOVE 1.0 TO BD-A. + ADD 10.0 TO BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-DOUBLE + NUM'. + MOVE 11.0 TO BD-A. + SUBTRACT BD-B FROM BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-DOUBLE - BINARY-DOUBLE'. + MOVE 11.0 TO BD-A. + SUBTRACT 10.0 FROM BD-A. + MOVE BD-A TO BD-RES. + IF BD-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-DOUBLE - NUM'. + * + ADD BL-B TO BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-LONG + BINARY-LONG'. + MOVE 1.0 TO BL-A. + ADD 10.0 TO BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 11.0 + DISPLAY 'ERROR BINARY-LONG + NUM'. + MOVE 11.0 TO BL-A. + SUBTRACT BL-B FROM BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-LONG - BINARY-LONG'. + MOVE 11.0 TO BL-A. + SUBTRACT 10.0 FROM BL-A. + MOVE BL-A TO BL-RES. + IF BL-RES NOT = 1.0 + DISPLAY 'ERROR BINARY-LONG - NUM'. + * + ADD C-B TO C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 11.0 + DISPLAY 'ERROR COMP + COMP'. + MOVE 1.0 TO C-A. + ADD 10.0 TO C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 11.0 + DISPLAY 'ERROR COMP + NUM'. + MOVE 11.0 TO C-A. + SUBTRACT C-B FROM C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 1.0 + DISPLAY 'ERROR COMP - COMP'. + MOVE 11.0 TO C-A. + SUBTRACT 10.0 FROM C-A. + MOVE C-A TO C-RES. + IF C-RES NOT = 1.0 + DISPLAY 'ERROR COMP - NUM'. + * + ADD C1-B TO C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 11.0 + DISPLAY 'ERROR COMP-1 + COMP-1'. + MOVE 1.0 TO C1-A. + ADD 10.0 TO C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 11.0 + DISPLAY 'ERROR COMP-1 + NUM'. + MOVE 11.0 TO C1-A. + SUBTRACT C1-B FROM C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 1.0 + DISPLAY 'ERROR COMP-1 - COMP-1'. + MOVE 11.0 TO C1-A. + SUBTRACT 10.0 FROM C1-A. + MOVE C1-A TO C1-RES. + IF C1-RES NOT = 1.0 + DISPLAY 'ERROR COMP-1 - NUM'. + * + ADD C2-B TO C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 11.0 + DISPLAY 'ERROR COMP-2 + COMP-2'. + MOVE 1.0 TO C2-A. + ADD 10.0 TO C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 11.0 + DISPLAY 'ERROR COMP-2 + NUM'. + MOVE 11.0 TO C2-A. + SUBTRACT C2-B FROM C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 1.0 + DISPLAY 'ERROR COMP-2 - COMP-2'. + MOVE 11.0 TO C2-A. + SUBTRACT 10.0 FROM C2-A. + MOVE C2-A TO C2-RES. + IF C2-RES NOT = 1.0 + DISPLAY 'ERROR COMP-2 - NUM'. + * + ADD C3-B TO C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 11.0 + DISPLAY 'ERROR COMP-3 + COMP-3'. + MOVE 1.0 TO C3-A. + ADD 10.0 TO C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 11.0 + DISPLAY 'ERROR COMP-3 + NUM'. + MOVE 11.0 TO C3-A. + SUBTRACT C3-B FROM C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 1.0 + DISPLAY 'ERROR COMP-3 - COMP-3'. + MOVE 11.0 TO C3-A. + SUBTRACT 10.0 FROM C3-A. + MOVE C3-A TO C3-RES. + IF C3-RES NOT = 1.0 + DISPLAY 'ERROR COMP-3 - NUM'. + * + ADD C5-B TO C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 11.0 + DISPLAY 'ERROR COMP-5 + COMP-5'. + MOVE 1.0 TO C5-A. + ADD 10.0 TO C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 11.0 + DISPLAY 'ERROR COMP-5 + NUM'. + MOVE 11.0 TO C5-A. + SUBTRACT C5-B FROM C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 1.0 + DISPLAY 'ERROR COMP-5 - COMP-5'. + MOVE 11.0 TO C5-A. + SUBTRACT 10.0 FROM C5-A. + MOVE C5-A TO C5-RES. + IF C5-RES NOT = 1.0 + DISPLAY 'ERROR COMP-5 - NUM'. + * + ADD C6-B TO C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 11.0 + DISPLAY 'ERROR COMP-6 + COMP-6'. + MOVE 1.0 TO C6-A. + ADD 10.0 TO C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 11.0 + DISPLAY 'ERROR COMP-6 + NUM'. + MOVE 11.0 TO C6-A. + SUBTRACT C6-B FROM C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 1.0 + DISPLAY 'ERROR COMP-6 - COMP-6'. + MOVE 11.0 TO C6-A. + SUBTRACT 10.0 FROM C6-A. + MOVE C6-A TO C6-RES. + IF C6-RES NOT = 1.0 + DISPLAY 'ERROR COMP-6 - NUM'. + * + ADD CN9-B TO CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 11.0 + DISPLAY 'ERROR COMP-N + COMP-N'. + MOVE 1.0 TO CN9-A. + ADD 10.0 TO CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 11.0 + DISPLAY 'ERROR COMP-N + NUM'. + MOVE 11.0 TO CN9-A. + SUBTRACT CN9-B FROM CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 1.0 + DISPLAY 'ERROR COMP-N - COMP-N'. + MOVE 11.0 TO CN9-A. + SUBTRACT 10.0 FROM CN9-A. + MOVE CN9-A TO CN9-RES. + IF CN9-RES NOT = 1.0 + DISPLAY 'ERROR COMP-N - NUM'. + * + ADD CNX-B TO CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 11.0 + DISPLAY 'ERROR COMP-N + COMP-N'. + MOVE 1.0 TO CNX-A. + ADD 10.0 TO CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 11.0 + DISPLAY 'ERROR COMP-N + NUM'. + MOVE 11.0 TO CNX-A. + SUBTRACT CNX-B FROM CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 1.0 + DISPLAY 'ERROR COMP-N - COMP-N'. + MOVE 11.0 TO CNX-A. + SUBTRACT 10.0 FROM CNX-A. + MOVE CNX-A TO CNX-RES. + IF CNX-RES NOT = 1.0 + DISPLAY 'ERROR COMP-N - NUM'. + * + ADD CX9-B TO CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 11.0 + DISPLAY 'ERROR COMP-X + COMP-X'. + MOVE 1.0 TO CX9-A. + ADD 10.0 TO CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 11.0 + DISPLAY 'ERROR COMP-X + NUM'. + MOVE 11.0 TO CX9-A. + SUBTRACT CX9-B FROM CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 1.0 + DISPLAY 'ERROR COMP-X - COMP-X'. + MOVE 11.0 TO CX9-A. + SUBTRACT 10.0 FROM CX9-A. + MOVE CX9-A TO CX9-RES. + IF CX9-RES NOT = 1.0 + DISPLAY 'ERROR COMP-X - NUM'. + * + ADD CXX-B TO CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 11.0 + DISPLAY 'ERROR COMP-X + COMP-X'. + MOVE 1.0 TO CXX-A. + ADD 10.0 TO CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 11.0 + DISPLAY 'ERROR COMP-X + NUM'. + MOVE 11.0 TO CXX-A. + SUBTRACT CXX-B FROM CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 1.0 + DISPLAY 'ERROR COMP-X - COMP-X'. + MOVE 11.0 TO CXX-A. + SUBTRACT 10.0 FROM CXX-A. + MOVE CXX-A TO CXX-RES. + IF CXX-RES NOT = 1.0 + DISPLAY 'ERROR COMP-X - NUM'. + * + ADD D-B TO D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 11.0 + DISPLAY 'ERROR DISPLAY + DISPLAY'. + MOVE 1.0 TO D-A. + ADD 10.0 TO D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 11.0 + DISPLAY 'ERROR DISPLAY + NUM'. + MOVE 11.0 TO D-A. + SUBTRACT D-B FROM D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 1.0 + DISPLAY 'ERROR DISPLAY - DISPLAY'. + MOVE 11.0 TO D-A. + SUBTRACT 10.0 FROM D-A. + MOVE D-A TO D-RES. + IF D-RES NOT = 1.0 + DISPLAY 'ERROR DISPLAY - NUM'. + * + ADD FD16-B TO FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-DECIMAL-16 + FLOAT-DECIMAL-16'. + MOVE 1.0 TO FD16-A. + ADD 10.0 TO FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-DECIMAL-16 + NUM'. + MOVE 11.0 TO FD16-A. + SUBTRACT FD16-B FROM FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-DECIMAL-16 - FLOAT-DECIMAL-16'. + MOVE 11.0 TO FD16-A. + SUBTRACT 10.0 FROM FD16-A. + MOVE FD16-A TO FD16-RES. + IF FD16-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-DECIMAL-16 - NUM'. + * + ADD FD34-B TO FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-DECIMAL-34 + FLOAT-DECIMAL-34'. + MOVE 1.0 TO FD34-A. + ADD 10.0 TO FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-DECIMAL-34 + NUM'. + MOVE 11.0 TO FD34-A. + SUBTRACT FD34-B FROM FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-DECIMAL-34 - FLOAT-DECIMAL-34'. + MOVE 11.0 TO FD34-A. + SUBTRACT 10.0 FROM FD34-A. + MOVE FD34-A TO FD34-RES. + IF FD34-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-DECIMAL-34 - NUM'. + * + ADD FL-B TO FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-LONG + FLOAT-LONG'. + MOVE 1.0 TO FL-A. + ADD 10.0 TO FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-LONG + NUM'. + MOVE 11.0 TO FL-A. + SUBTRACT FL-B FROM FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-LONG - FLOAT-LONG'. + MOVE 11.0 TO FL-A. + SUBTRACT 10.0 FROM FL-A. + MOVE FL-A TO FL-RES. + IF FL-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-LONG - NUM'. + * + ADD FS-B TO FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-SHORT + FLOAT-SHORT'. + MOVE 1.0 TO FS-A. + ADD 10.0 TO FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 11.0 + DISPLAY 'ERROR FLOAT-SHORT + NUM'. + MOVE 11.0 TO FS-A. + SUBTRACT FS-B FROM FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-SHORT - FLOAT-SHORT'. + MOVE 11.0 TO FS-A. + SUBTRACT 10.0 FROM FS-A. + MOVE FS-A TO FS-RES. + IF FS-RES NOT = 1.0 + DISPLAY 'ERROR FLOAT-SHORT - NUM'. + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6519: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:6519" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6519" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6520: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6520" +( $at_check_trace; $COBCRUN_DIRECT ./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:6520" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6522: \$COMPILE -fno-fast-compare prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare prog.cob" "run_misc.at:6522" +( $at_check_trace; $COMPILE -fno-fast-compare prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6522" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6523: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6523" +( $at_check_trace; $COBCRUN_DIRECT ./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:6523" +$at_failed && at_fn_log_failure +$at_traceon; } + + +#AT_CHECK([$COMPILE -fno-fast-math prog.cob], [0], [], []) +#AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], []) + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6528: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_misc.at:6528" +( $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:6528" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6529: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6529" +( $at_check_trace; $COBCRUN_DIRECT ./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:6529" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_804 +#AT_START_805 +at_fn_group_banner 805 'run_misc.at:6534' \ + "compilation-group with decimal" " " 4 +at_xfail=no +( + printf "%s\n" "805. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# bug 708 - decimal codegen in generated header when only +# a later program (nested/contained) has decimals + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. cbug. + procedure division. + mainline. + call 'bug' + goback + . + end program cbug. + * + identification division. + program-id. bug. + data division. + working-storage section. + 01 pw pic 9(02). + 01 px pic x value '3'. + procedure division. + mainline. + compute pw = function numval(px). + if pw <> 3 + display 'bad calc: ' pw. + goback + . + end program bug. +_ATEOF + + +# we're mostly interested in the codegen, but as we have compiled +# that we can execute it, too +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6568: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:6568" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6568" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:6569: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:6569" +( $at_check_trace; $COBCRUN_DIRECT ./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:6569" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_805 +#AT_START_806 +at_fn_group_banner 806 'run_misc.at:6574' \ + "C/C++ reserved words/predefined identifiers" " " 4 +at_xfail=no +( + printf "%s\n" "806. $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!". + 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!". + 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 +printf "%s\n" "$at_srcdir/run_misc.at:7022: \$COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor callee.cob" "run_misc.at:7022" +( $at_check_trace; $COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor 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:7022" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7023: \$COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor callee2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor callee2.cob" "run_misc.at:7023" +( $at_check_trace; $COMPILE_MODULE -fnot-reserved=double,float,new,volatile,xor 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:7023" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7024: \$COMPILE -fnot-reserved=double,float,new,volatile,xor -o prog caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnot-reserved=double,float,new,volatile,xor -o prog caller.cob" "run_misc.at:7024" +( $at_check_trace; $COMPILE -fnot-reserved=double,float,new,volatile,xor -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:7024" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7025: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7025" +( $at_check_trace; $COBCRUN_DIRECT ./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:7025" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_806 +#AT_START_807 +at_fn_group_banner 807 'run_misc.at:7030' \ + "PICTURE with Edit mask" " " 4 +at_xfail=no +( + printf "%s\n" "807. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TST. + 05 DEPT-SUB PIC 9(7)V999 VALUE 18536.232. + 05 DEPT-COST-YTD PIC 9(5)V999 VALUE 18536.232. + 05 DL-PROD-COST PIC $$$,$$9.99. + 77 WFLT PIC $$$,$$9.99. + + PROCEDURE DIVISION. + MOVE 18536.23 TO WFLT. + DISPLAY "WFLT IS " WFLT. + MULTIPLY DEPT-COST-YTD BY 1 GIVING DL-PROD-COST ROUNDED. + DISPLAY "COST IS " DL-PROD-COST. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7052: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:7052" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7052" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7054: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7054" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "WFLT IS \$18,536.23 +COST IS \$18,536.23 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7054" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_807 +#AT_START_808 +at_fn_group_banner 808 'run_misc.at:7103' \ + "POINTER" " " 4 +at_xfail=no +( + printf "%s\n" "808. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 XX. + 02 XX-1 PIC X(4) VALUE "1234". + 02 XX-2 PIC X(4) VALUE "5678". + 01 P-XX-1 POINTER. + 01 P-XX-2 POINTER. + LINKAGE SECTION. + 01 Y2 PIC X(4). + PROCEDURE DIVISION. + SET P-XX-1 TO ADDRESS OF XX-1 + SET P-XX-2 TO ADDRESS OF XX-2 + SET ADDRESS OF Y2 TO ADDRESS OF XX-1 + SET ADDRESS OF Y2 UP BY 4 + IF Y2 NOT = XX-2 + DISPLAY "Test 2 '" Y2 "'" + END-DISPLAY + END-IF + IF ADDRESS OF Y2 NOT = P-XX-2 + DISPLAY "NOK" + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7133: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:7133" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7133" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7134: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7134" +( $at_check_trace; $COBCRUN_DIRECT ./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:7134" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_808 +#AT_START_809 +at_fn_group_banner 809 'run_misc.at:7139' \ + "CALL RETURNING POINTER" " " 4 +at_xfail=no +( + printf "%s\n" "809. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. prog. + + data division. + working-storage section. + + 01 c-text-pointer usage pointer. + + procedure division. + + call static "cob_getenv" + using "COB_UNIX_LF" + returning c-text-pointer + end-call + + IF function content-of(c-text-pointer) <> "1" + DISPLAY "unexpected value: " + function content-of(c-text-pointer). + + GOBACK. +_ATEOF + + +cat >calldyn.c <<'_ATEOF' + +#include + +/* wrapper function as C functions are not + accessible without explicit loading on all systems */ +COB_EXT_EXPORT char * +calldyn (unsigned char *env_name) +{ + return cob_getenv (env_name); +} +_ATEOF + + +cat >progdyn.cob <<'_ATEOF' + + identification division. + program-id. progdyn. + + data division. + working-storage section. + + 01 c-text-pointer usage pointer. + + procedure division. + + call "calldyn" + using "COB_UNIX_LF" + returning c-text-pointer + end-call + + IF function content-of(c-text-pointer) <> "1" + DISPLAY "unexpected value: " + function content-of(c-text-pointer). + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7200: \$COMPILE -fno-gen-c-decl-static-call prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-gen-c-decl-static-call prog.cob" "run_misc.at:7200" +( $at_check_trace; $COMPILE -fno-gen-c-decl-static-call prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7200" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7201: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7201" +( $at_check_trace; $COBCRUN_DIRECT ./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:7201" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7202: \$COMPILE_MODULE calldyn.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE calldyn.c" "run_misc.at:7202" +( $at_check_trace; $COMPILE_MODULE calldyn.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:7202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7203: \$COMPILE progdyn.cob" +at_fn_check_prepare_dynamic "$COMPILE progdyn.cob" "run_misc.at:7203" +( $at_check_trace; $COMPILE progdyn.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7203" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7204: \$COBCRUN_DIRECT ./progdyn" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progdyn" "run_misc.at:7204" +( $at_check_trace; $COBCRUN_DIRECT ./progdyn +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7204" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_809 +#AT_START_810 +at_fn_group_banner 810 'run_misc.at:7209' \ + "ON EXCEPTION clause of DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "810. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7212: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77" +at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:7212" +( $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:7212" +$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 +printf "%s\n" "$at_srcdir/run_misc.at:7228: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:7228" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7228" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7229: COB_EXIT_WAIT=0 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./prog" "run_misc.at:7229" +( $at_check_trace; COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./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:7229" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_810 +#AT_START_811 +at_fn_group_banner 811 'run_misc.at:7234' \ + "EC-SCREEN-LINE-NUMBER and -STARTING-COLUMN" " " 4 +at_xfail=no +( + printf "%s\n" "811. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7237: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77" +at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:7237" +( $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:7237" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + SCREEN SECTION. + 01 invalid-line. + 03 a VALUE "a" LINE 99999999. + 01 invalid-col. + 03 c VALUE "c" 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 +printf "%s\n" "$at_srcdir/run_misc.at:7269: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:7269" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7269" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7270: COB_EXIT_WAIT=0 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./prog" "run_misc.at:7270" +( $at_check_trace; COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./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:7270" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_811 +#AT_START_812 +at_fn_group_banner 812 'run_misc.at:7275' \ + "LINE/COLUMN 0 exceptions" " " 4 +at_xfail=no +( + printf "%s\n" "812. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7278: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77" +at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:7278" +( $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:7278" +$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 +printf "%s\n" "$at_srcdir/run_misc.at:7307: \$COMPILE -faccept-display-extensions=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -faccept-display-extensions=error prog.cob" "run_misc.at:7307" +( $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:7307" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7308: COB_EXIT_WAIT=0 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./prog" "run_misc.at:7308" +( $at_check_trace; COB_EXIT_WAIT=0 $COBCRUN_DIRECT ./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:7308" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_812 +#AT_START_813 +at_fn_group_banner 813 'run_misc.at:7313' \ + "SET LAST EXCEPTION TO OFF" " " 4 +at_xfail=no +( + printf "%s\n" "813. $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. + COMPUTE x = 10 + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-LOCATION) + 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 +printf "%s\n" "$at_srcdir/run_misc.at:7336: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:7336" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7336" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7337: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7337" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "EC-SIZE-OVERFLOW +prog; ; 10 +EC-SIZE-OVERFLOW +prog; ; 10 + + +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7337" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_813 +#AT_START_814 +at_fn_group_banner 814 'run_misc.at:7349' \ + "void PROCEDURE" " " 4 +at_xfail=no +( + printf "%s\n" "814. $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 +printf "%s\n" "$at_srcdir/run_misc.at:7371: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:7371" +( $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:7371" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7372: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:7372" +( $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:7372" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7373: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:7373" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+000000000" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_814 +#AT_START_815 +at_fn_group_banner 815 'run_misc.at:7378' \ + "Figurative constants to numeric field" " " 4 +at_xfail=no +( + printf "%s\n" "815. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 NUM9 PIC 9(6). + PROCEDURE DIVISION. + MOVE SPACES TO NUM9 + DISPLAY "NUM9 value SPACES is " NUM9 "." UPON SYSOUT + MOVE LOW-VALUES TO NUM9 + IF NUM9 = LOW-VALUES + DISPLAY "9(6) tests OK for LOW-VALUES" UPON SYSOUT + ELSE + DISPLAY "9(6) Does NOT test OK for LOW-VALUES" + UPON SYSOUT + IF NUM9 = ZERO + DISPLAY "9(6) tests as ZERO instead of LOW-VALUES" + UPON SYSOUT + END-IF + END-IF. + MOVE HIGH-VALUES TO NUM9 + IF NUM9 = HIGH-VALUES + DISPLAY "9(6) tests OK for HIGH-VALUES" UPON SYSOUT + ELSE + DISPLAY "9(6) Does NOT test OK for HIGH-VALUES" + UPON SYSOUT + IF NUM9 = ZERO + DISPLAY "9(6) tests as ZERO instead of HIGH-VALUES" + UPON SYSOUT + END-IF + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7415: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_misc.at:7415" +( $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"; printf "%s\n" "prog.cob:8: warning: source is non-numeric - substituting zero +prog.cob:10: warning: source is non-numeric - substituting zero +prog.cob:21: warning: source is non-numeric - substituting 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_misc.at:7415" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7421: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7421" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "NUM9 value SPACES is 000000. +9(6) Does NOT test OK for LOW-VALUES +9(6) tests as ZERO instead of LOW-VALUES +9(6) Does NOT test OK for HIGH-VALUES +9(6) tests as ZERO instead of HIGH-VALUES +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7421" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7429: \$COMPILE -std=acu prog.cob -o aprog" +at_fn_check_prepare_dynamic "$COMPILE -std=acu prog.cob -o aprog" "run_misc.at:7429" +( $at_check_trace; $COMPILE -std=acu prog.cob -o aprog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7429" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7431: \$COBCRUN_DIRECT ./aprog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./aprog" "run_misc.at:7431" +( $at_check_trace; $COBCRUN_DIRECT ./aprog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "NUM9 value SPACES is . +9(6) tests OK for LOW-VALUES +9(6) tests OK for HIGH-VALUES +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7431" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_815 +#AT_START_816 +at_fn_group_banner 816 'run_misc.at:7440' \ + "MF FIGURATIVE to NUMERIC" " " 4 +at_xfail=no +( + printf "%s\n" "816. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: This test will NOT work on EBCDIC machines, +# either add it explicit here and split into two or add +# a pre-test and check the expected "native" result + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 MYFLD PIC 9(4) VALUE 96. + 01 BIGFLT COMP-1 VALUE 543.12345E10. + PROCEDURE DIVISION. + MAIN-1. + DISPLAY "Initial value" + PERFORM SHOW-IT. + DISPLAY "MOVE BIGFLT" + MOVE BIGFLT TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE SPACES" + MOVE SPACES TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE LOW-VALUES" + MOVE LOW-VALUES TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE HIGH-VALUES" + MOVE HIGH-VALUES TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE QUOTE" + MOVE QUOTE TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE ALL *" + MOVE ALL '*' TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE ALL 0" + MOVE ALL '0' TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE ALL 'A1'" + MOVE ALL 'A1' TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE ALL '21'" + MOVE ALL '21' TO MYFLD. + PERFORM SHOW-IT. + DISPLAY "MOVE HIGH-VALUES TO (1:)" + MOVE HIGH-VALUES TO MYFLD (1:). + PERFORM SHOW-IT. + + DISPLAY "MOVE HIGH-VALUES TO BIGFLT" + MOVE HIGH-VALUES TO BIGFLT. + PERFORM SHOW-BIG. + CALL "dump" USING BIGFLT. + DISPLAY "MOVE QUOTE TO BIGFLT" + MOVE QUOTE TO BIGFLT. + PERFORM SHOW-BIG. + CALL "dump" USING BIGFLT. + DISPLAY "MOVE ALL * TO BIGFLT" + MOVE ALL '*' TO BIGFLT. + PERFORM SHOW-BIG. + *> Note: the next results are dependant on endianess + *> therefore no dump here + DISPLAY "MOVE ALL '21' TO BIGFLT" + MOVE ALL '21' TO BIGFLT. + PERFORM SHOW-BIG. + STOP RUN. + SHOW-IT. + CALL "dump" USING MYFLD. + SHOW-BIG. + DISPLAY "BIGFLT is " BIGFLT. +_ATEOF + + +cat >cmod.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 4; i++) + printf ("%02X", data[i]); + puts (" ."); + fflush(stdout); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7528: \$COMPILE -std=mf -fno-move-non-numeric-lit-to-numeric-is-zero prog.cob cmod.c" +at_fn_check_prepare_dynamic "$COMPILE -std=mf -fno-move-non-numeric-lit-to-numeric-is-zero prog.cob cmod.c" "run_misc.at:7528" +( $at_check_trace; $COMPILE -std=mf -fno-move-non-numeric-lit-to-numeric-is-zero prog.cob cmod.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'MAIN-1': +prog.cob:28: warning: numeric value is expected +prog.cob:6: note: 'MYFLD' defined here as PIC 9(4) +prog.cob:34: warning: numeric value is expected +prog.cob:52: warning: numeric value is expected +prog.cob:7: note: 'BIGFLT' defined here as USAGE FLOAT +" | \ + $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:7528" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7537: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7537" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Initial value +30303936 . +MOVE BIGFLT +38333034 . +MOVE SPACES +20202020 . +MOVE LOW-VALUES +00000000 . +MOVE HIGH-VALUES +FFFFFFFF . +MOVE QUOTE +22222222 . +MOVE ALL * +2A2A2A2A . +MOVE ALL 0 +30303030 . +MOVE ALL 'A1' +41314131 . +MOVE ALL '21' +32313231 . +MOVE HIGH-VALUES TO (1:) +FFFFFFFF . +MOVE HIGH-VALUES TO BIGFLT +BIGFLT is NaN +FFFFFFFF . +MOVE QUOTE TO BIGFLT +BIGFLT is 2.1973164E-18 +22222222 . +MOVE ALL * TO BIGFLT +BIGFLT is 5.4312347E+12 +MOVE ALL '21' TO BIGFLT +BIGFLT is 2.1212121E+37 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:7537" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_816 +#AT_START_817 +at_fn_group_banner 817 'run_misc.at:7575' \ + "CALL RETURNING" " " 4 +at_xfail=no +( + printf "%s\n" "817. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + PROCEDURE DIVISION. + MOVE 43 TO RETURN-CODE + EXIT PROGRAM. +_ATEOF + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 my-display-return PIC 99. + 77 my-binary-return USAGE BINARY-LONG. + PROCEDURE DIVISION. + CALL "callee" RETURNING my-display-return + END-CALL + IF RETURN-CODE NOT = 0 + DISPLAY '1 - unexpected RETURN-CODE: ' RETURN-CODE. + IF my-display-return NOT = 43 + DISPLAY '1- unexpected RETURNING: ' my-display-return. + *> + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7604: \$COMPILE -static caller.cob callee.cob -o prog" +at_fn_check_prepare_dynamic "$COMPILE -static caller.cob callee.cob -o prog" "run_misc.at:7604" +( $at_check_trace; $COMPILE -static caller.cob callee.cob -o 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:7604" +$at_failed && at_fn_log_failure +$at_traceon; } + +#AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], []) +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7606: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:7606" +( $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:7606" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7607: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:7607" +( $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:7607" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7608: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:7608" +( $at_check_trace; $COBCRUN_DIRECT ./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:7608" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_817 +#AT_START_818 +at_fn_group_banner 818 'run_misc.at:7614' \ + "void PROCEDURE, NOTHING return" " " 4 +at_xfail=no +( + printf "%s\n" "818. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + DATA DIVISION. + PROCEDURE DIVISION RETURNING OMITTED. + MOVE 43 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. + IF RETURN-CODE NOT = 42 + DISPLAY 'unexpected RETURN-CODE: ' RETURN-CODE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7638: \$COMPILE -static caller.cob callee.cob -o prog" +at_fn_check_prepare_dynamic "$COMPILE -static caller.cob callee.cob -o prog" "run_misc.at:7638" +( $at_check_trace; $COMPILE -static caller.cob callee.cob -o 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:7638" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7639: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:7639" +( $at_check_trace; $COBCRUN_DIRECT ./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 42 $at_status "$at_srcdir/run_misc.at:7639" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7640: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:7640" +( $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:7640" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7641: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:7641" +( $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:7641" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7642: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:7642" +( $at_check_trace; $COBCRUN_DIRECT ./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 42 $at_status "$at_srcdir/run_misc.at:7642" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_818 +#AT_START_819 +at_fn_group_banner 819 'run_misc.at:7649' \ + "READY TRACE / RESET TRACE" " " 4 +at_xfail=no +( + printf "%s\n" "819. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ttab. + 03 tentries PIC 9 VALUE 0. + 03 tentry OCCURS 0 TO 5 DEPENDING ON tentries + ASCENDING KEY tkey INDEXED BY tidx. + 05 tkey pic x(3). + 78 ZER VALUE ZERO. + *> + 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 + CALL "callee1" + CANCEL "callee1" + CALL "callrec" + MOVE 0 TO RETURN-CODE + *> + SEARCH ALL tentry + AT END + ADD 1 TO tentries + SET tidx TO tentries + MOVE 'A' TO tkey(tidx) + WHEN tkey(tidx) = 'A' + DISPLAY '*Magic*' + END-SEARCH + *> tidx is still one, expect a direct find + SEARCH tentry + AT END + DISPLAY '*Dark Magic*' + WHEN tkey(tidx) = 'A' + ADD 1 TO tentries + SET tidx TO tentries + MOVE 'B' TO tkey(tidx) + END-SEARCH + *> tidx is still two, expect end + SEARCH tentry + VARYING tidx + AT END + ADD 1 TO tentries + SET tidx TO tentries + MOVE 'C' TO tkey(tidx) + WHEN tkey(tidx) = ZER + DISPLAY '* Darker Magic *' + END-SEARCH + SEARCH ALL tentry + AT END + DISPLAY 'NO COMMENT' + WHEN tkey(tidx) = 'C' + CONTINUE + END-SEARCH + SEARCH ALL tentry + WHEN tkey(tidx) = 'X' + CONTINUE + END-SEARCH + *> + STOP RUN. +_ATEOF + + +cat >callee1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee1. + PROCEDURE DIVISION. + ADD 1 TO RETURN-CODE + NOT ON SIZE ERROR + IF RETURN-CODE = 1 + CONTINUE + ELSE IF RETURN-CODE = 2 + CONTINUE + ELSE + CONTINUE + . + EVALUATE RETURN-CODE + WHEN 1 + CONTINUE + WHEN 2 + WHEN 3 + CONTINUE + WHEN OTHER + CONTINUE + END-EVALUATE + EVALUATE TRUE + WHEN RETURN-CODE = 1 + CONTINUE + WHEN RETURN-CODE = 2 + WHEN RETURN-CODE = 3 + CONTINUE + WHEN OTHER + CONTINUE + END-EVALUATE + CALL "callee2" END-CALL + CANCEL "callee2" CALL "callee2b" END-CALL CANCEL "callee2b" + SUBTRACT 1 FROM RETURN-CODE + EXIT PROGRAM. +_ATEOF + + +cat >callee2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee2. + PROCEDURE DIVISION. + COMPUTE RETURN-CODE + = 1 + 1 + ON SIZE ERROR + MOVE -1 TO RETURN-CODE + NOT ON SIZE ERROR + COMPUTE RETURN-CODE + = 1 + 1 + END-COMPUTE + 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. + DECLARATIVES. + DEC SECTION. USE EXCEPTION CONDITION EC-BOUNDS. + DISPLAY "BADDY". + END DECLARATIVES. + 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 >preload2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callrec IS RECURSIVE. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 filler PIC 9 VALUE 0. + 88 first-call VALUE 0. + 88 called VALUE 1. + PROCEDURE DIVISION. + SOME-SEC SECTION. + IF first-call + SET called TO TRUE + CALL 'callrec' + END-IF + GOBACK. +_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. + EX. EXIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7830: COB_OLD_TRACE=y \\ +\$COBC -ftraceall callee1.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7830" +( $at_check_trace; COB_OLD_TRACE=y \ +$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:7830" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7832: COB_OLD_TRACE=y \\ +\$COBC callee2.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7832" +( $at_check_trace; COB_OLD_TRACE=y \ +$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:7832" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7834: COB_OLD_TRACE=y \\ +\$COBC -ftrace -w preload.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7834" +( $at_check_trace; COB_OLD_TRACE=y \ +$COBC -ftrace -w 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:7834" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7836: COB_OLD_TRACE=y \\ +\$COBC -ftraceall preload2.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7836" +( $at_check_trace; COB_OLD_TRACE=y \ +$COBC -ftraceall preload2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7836" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7838: COB_OLD_TRACE=y \\ +\$COBC -fsource-location callee2c.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7838" +( $at_check_trace; COB_OLD_TRACE=y \ +$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:7838" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7840: COB_OLD_TRACE=y \\ +\$COBC -x -o prog -ftraceall caller.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:7840" +( $at_check_trace; COB_OLD_TRACE=y \ +$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:7840" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7842: COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=\"preload\"\$PATHSEP\"preload2\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=\"preload\"$PATHSEP\"preload2\" $COBCRUN_DIRECT ./prog" "run_misc.at:7842" +( $at_check_trace; COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD="preload"$PATHSEP"preload2" $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "Source : 'caller.cob' +Program-Id: caller Statement: MOVE Line: 15 +Program-Id: caller Statement: RESET TRACE Line: 16 +Program-Id: caller Statement: MOVE Line: 20 +Program-Id: caller Statement: CALL Line: 21 +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: IF Line: 7 +Program-Id: callee1 Statement: IF Line: 9 +Program-Id: callee1 Statement: CONTINUE Line: 12 +Program-Id: callee1 Statement: EVALUATE Line: 14 +Program-Id: callee1 Statement: WHEN Line: 15 +Program-Id: callee1 Statement: WHEN Line: 18 +Program-Id: callee1 Statement: CONTINUE Line: 21 +Program-Id: callee1 Statement: EVALUATE Line: 23 +Program-Id: callee1 Statement: WHEN Line: 24 +Program-Id: callee1 Statement: WHEN Line: 27 +Program-Id: callee1 Statement: CONTINUE Line: 30 +Program-Id: callee1 Statement: CALL Line: 32 +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: 33 +Program-Id: callee1 Statement: CALL Line: 33 +Source: 'preload.cob' +Program-Id: callee2b Entry: callee2b Line: 8 +Program-Id: callee2b Section: SOME-SEC Line: 9 +Program-Id: callee2b Paragraph: SOME-PAR Line: 10 +Program-Id: callee2b Section: OTHER-SEC Line: 16 +Program-Id: callee2b Paragraph: (None) Line: 16 +Program-Id: callee2b Paragraph: EX Line: 18 +Program-Id: callee2b Entry: LEAVE-ME Line: 13 +Program-Id: callee2b Paragraph: END-PAR Line: 14 +Program-Id: callee2b Exit: callee2b +Source : 'callee1.cob' +Program-Id: callee1 Statement: CANCEL Line: 33 +Program-Id: callee1 Statement: SUBTRACT Line: 34 +Program-Id: callee1 Statement: EXIT PROGRAM Line: 35 +Program-Id: callee1 Exit: callee1 Line: 35 +Source : 'caller.cob' +Program-Id: caller Statement: CALL Line: 23 +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: IF Line: 7 +Program-Id: callee1 Statement: IF Line: 9 +Program-Id: callee1 Statement: CONTINUE Line: 12 +Program-Id: callee1 Statement: EVALUATE Line: 14 +Program-Id: callee1 Statement: WHEN Line: 15 +Program-Id: callee1 Statement: WHEN Line: 18 +Program-Id: callee1 Statement: CONTINUE Line: 21 +Program-Id: callee1 Statement: EVALUATE Line: 23 +Program-Id: callee1 Statement: WHEN Line: 24 +Program-Id: callee1 Statement: WHEN Line: 27 +Program-Id: callee1 Statement: CONTINUE Line: 30 +Program-Id: callee1 Statement: CALL Line: 32 +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: 33 +Program-Id: callee1 Statement: CALL Line: 33 +Source: 'preload.cob' +Program-Id: callee2b Entry: callee2b Line: 8 +Program-Id: callee2b Section: SOME-SEC Line: 9 +Program-Id: callee2b Paragraph: SOME-PAR Line: 10 +Program-Id: callee2b Section: OTHER-SEC Line: 16 +Program-Id: callee2b Paragraph: (None) Line: 16 +Program-Id: callee2b Paragraph: EX Line: 18 +Program-Id: callee2b Entry: LEAVE-ME Line: 13 +Program-Id: callee2b Paragraph: END-PAR Line: 14 +Program-Id: callee2b Exit: callee2b +Source : 'callee1.cob' +Program-Id: callee1 Statement: CANCEL Line: 33 +Program-Id: callee1 Statement: SUBTRACT Line: 34 +Program-Id: callee1 Statement: EXIT PROGRAM Line: 35 +Program-Id: callee1 Exit: callee1 Line: 35 +Source : 'caller.cob' +Program-Id: caller Statement: CANCEL Line: 24 +Program-Id: caller Statement: CALL Line: 25 +Source: 'preload2.cob' +Program-Id: callrec Entry: callrec Line: 10 +Program-Id: callrec Section: SOME-SEC Line: 10 +Program-Id: callrec Paragraph: (None) Line: 10 +Program-Id: callrec Statement: IF Line: 11 +Program-Id: callrec Statement: SET Line: 12 +Program-Id: callrec Statement: CALL Line: 13 +Program-Id: callrec Entry: callrec Line: 10 +Program-Id: callrec Section: SOME-SEC Line: 10 +Program-Id: callrec Paragraph: (None) Line: 10 +Program-Id: callrec Statement: IF Line: 11 +Program-Id: callrec Statement: GOBACK Line: 15 +Program-Id: callrec Exit: callrec Line: 15 +Program-Id: callrec Statement: GOBACK Line: 15 +Program-Id: callrec Exit: callrec Line: 15 +Source : 'caller.cob' +Program-Id: caller Statement: MOVE Line: 26 +Program-Id: caller Statement: SEARCH ALL Line: 28 +Program-Id: caller Statement: AT END Line: 29 +Program-Id: caller Statement: ADD Line: 30 +Program-Id: caller Statement: SET Line: 31 +Program-Id: caller Statement: MOVE Line: 32 +Program-Id: caller Statement: SEARCH Line: 37 +Program-Id: caller Statement: WHEN Line: 40 +Program-Id: caller Statement: ADD Line: 41 +Program-Id: caller Statement: SET Line: 42 +Program-Id: caller Statement: MOVE Line: 43 +Program-Id: caller Statement: SEARCH Line: 46 +Program-Id: caller Statement: WHEN Line: 52 +Program-Id: caller Statement: SEARCH VARYING Line: 47 +Program-Id: caller Statement: AT END Line: 48 +Program-Id: caller Statement: ADD Line: 49 +Program-Id: caller Statement: SET Line: 50 +Program-Id: caller Statement: MOVE Line: 51 +Program-Id: caller Statement: SEARCH ALL Line: 55 +Program-Id: caller Statement: WHEN Line: 58 +Program-Id: caller Statement: CONTINUE Line: 59 +Program-Id: caller Statement: SEARCH ALL Line: 61 +Program-Id: caller Statement: AT END Line: 64 +Program-Id: caller Statement: STOP RUN Line: 66 +" | \ + $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:7842" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# same name sometimes leads to locks - especially on Win32 +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7978: mv callee1.\$COB_MODULE_EXT callee1.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee1.$COB_MODULE_EXT callee1.old.$COB_MODULE_EXT" "run_misc.at:7978" +( $at_check_trace; mv callee1.$COB_MODULE_EXT callee1.old.$COB_MODULE_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:7978" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7979: mv callee2.\$COB_MODULE_EXT callee2.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee2.$COB_MODULE_EXT callee2.old.$COB_MODULE_EXT" "run_misc.at:7979" +( $at_check_trace; mv callee2.$COB_MODULE_EXT callee2.old.$COB_MODULE_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:7979" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7980: mv preload.\$COB_MODULE_EXT preload.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv preload.$COB_MODULE_EXT preload.old.$COB_MODULE_EXT" "run_misc.at:7980" +( $at_check_trace; mv preload.$COB_MODULE_EXT preload.old.$COB_MODULE_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:7980" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7981: mv preload2.\$COB_MODULE_EXT preload2.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv preload2.$COB_MODULE_EXT preload2.old.$COB_MODULE_EXT" "run_misc.at:7981" +( $at_check_trace; mv preload2.$COB_MODULE_EXT preload2.old.$COB_MODULE_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:7981" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7982: mv callee2c.\$COB_MODULE_EXT callee2c.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee2c.$COB_MODULE_EXT callee2c.old.$COB_MODULE_EXT" "run_misc.at:7982" +( $at_check_trace; mv callee2c.$COB_MODULE_EXT callee2c.old.$COB_MODULE_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:7982" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7985: \$COBC -ftraceall callee1.cob" +at_fn_check_prepare_dynamic "$COBC -ftraceall callee1.cob" "run_misc.at:7985" +( $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:7985" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7986: \$COBC callee2.cob" +at_fn_check_prepare_dynamic "$COBC callee2.cob" "run_misc.at:7986" +( $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:7986" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7987: \$COBC -ftrace -w preload.cob" +at_fn_check_prepare_dynamic "$COBC -ftrace -w preload.cob" "run_misc.at:7987" +( $at_check_trace; $COBC -ftrace -w 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:7987" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7988: \$COBC -ftraceall preload2.cob" +at_fn_check_prepare_dynamic "$COBC -ftraceall preload2.cob" "run_misc.at:7988" +( $at_check_trace; $COBC -ftraceall preload2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7988" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7989: \$COBC -fsource-location -w callee2c.cob" +at_fn_check_prepare_dynamic "$COBC -fsource-location -w callee2c.cob" "run_misc.at:7989" +( $at_check_trace; $COBC -fsource-location -w 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:7989" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7990: \$COBC -x -o prognew -ftraceall caller.cob" +at_fn_check_prepare_dynamic "$COBC -x -o prognew -ftraceall caller.cob" "run_misc.at:7990" +( $at_check_trace; $COBC -x -o prognew -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:7990" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:7991: COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=\"preload\"\$PATHSEP\"preload2\" \$COBCRUN_DIRECT ./prognew" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=\"preload\"$PATHSEP\"preload2\" $COBCRUN_DIRECT ./prognew" "run_misc.at:7991" +( $at_check_trace; COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD="preload"$PATHSEP"preload2" $COBCRUN_DIRECT ./prognew +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "Source: 'caller.cob' +Program-Id: caller +Program-Id: caller MOVE Line: 15 +Program-Id: caller RESET TRACE Line: 16 +Program-Id: caller MOVE Line: 20 +Program-Id: caller CALL Line: 21 +Source: 'callee1.cob' +Program-Id: callee1 +Program-Id: callee1 Entry: callee1 Line: 5 +Program-Id: callee1 ADD Line: 5 +Program-Id: callee1 IF Line: 7 +Program-Id: callee1 IF Line: 9 +Program-Id: callee1 CONTINUE Line: 12 +Program-Id: callee1 EVALUATE Line: 14 +Program-Id: callee1 WHEN Line: 15 +Program-Id: callee1 WHEN Line: 18 +Program-Id: callee1 CONTINUE Line: 21 +Program-Id: callee1 EVALUATE Line: 23 +Program-Id: callee1 WHEN Line: 24 +Program-Id: callee1 WHEN Line: 27 +Program-Id: callee1 CONTINUE Line: 30 +Program-Id: callee1 CALL Line: 32 +Program-Id: callee1 CANCEL Line: 33 +Program-Id: callee1 CALL Line: 33 +Source: 'preload.cob' +Program-Id: callee2b +Program-Id: callee2b Entry: callee2b Line: 8 +Program-Id: callee2b Section: SOME-SEC Line: 9 +Program-Id: callee2b Paragraph: SOME-PAR Line: 10 +Program-Id: callee2b Section: OTHER-SEC Line: 16 +Program-Id: callee2b Paragraph: EX Line: 18 +Program-Id: callee2b Entry: LEAVE-ME Line: 18 +Program-Id: callee2b Paragraph: END-PAR Line: 14 +Program-Id: callee2b Exit: callee2b Line: 14 +Source: 'callee1.cob' +Program-Id: callee1 +Program-Id: callee1 CANCEL Line: 33 +Program-Id: callee1 SUBTRACT Line: 34 +Program-Id: callee1 EXIT PROGRAM Line: 35 +Program-Id: callee1 Exit: callee1 Line: 35 +Source: 'caller.cob' +Program-Id: caller +Program-Id: caller CALL Line: 23 +Source: 'callee1.cob' +Program-Id: callee1 +Program-Id: callee1 Entry: callee1 Line: 5 +Program-Id: callee1 ADD Line: 5 +Program-Id: callee1 IF Line: 7 +Program-Id: callee1 IF Line: 9 +Program-Id: callee1 CONTINUE Line: 12 +Program-Id: callee1 EVALUATE Line: 14 +Program-Id: callee1 WHEN Line: 15 +Program-Id: callee1 WHEN Line: 18 +Program-Id: callee1 CONTINUE Line: 21 +Program-Id: callee1 EVALUATE Line: 23 +Program-Id: callee1 WHEN Line: 24 +Program-Id: callee1 WHEN Line: 27 +Program-Id: callee1 CONTINUE Line: 30 +Program-Id: callee1 CALL Line: 32 +Program-Id: callee1 CANCEL Line: 33 +Program-Id: callee1 CALL Line: 33 +Source: 'preload.cob' +Program-Id: callee2b +Program-Id: callee2b Entry: callee2b Line: 8 +Program-Id: callee2b Section: SOME-SEC Line: 9 +Program-Id: callee2b Paragraph: SOME-PAR Line: 10 +Program-Id: callee2b Section: OTHER-SEC Line: 16 +Program-Id: callee2b Paragraph: EX Line: 18 +Program-Id: callee2b Entry: LEAVE-ME Line: 18 +Program-Id: callee2b Paragraph: END-PAR Line: 14 +Program-Id: callee2b Exit: callee2b Line: 14 +Source: 'callee1.cob' +Program-Id: callee1 +Program-Id: callee1 CANCEL Line: 33 +Program-Id: callee1 SUBTRACT Line: 34 +Program-Id: callee1 EXIT PROGRAM Line: 35 +Program-Id: callee1 Exit: callee1 Line: 35 +Source: 'caller.cob' +Program-Id: caller +Program-Id: caller CANCEL Line: 24 +Program-Id: caller CALL Line: 25 +Source: 'preload2.cob' +Program-Id: callrec +Program-Id: callrec Entry: callrec Line: 10 +Program-Id: callrec Section: SOME-SEC Line: 10 +Program-Id: callrec IF Line: 11 +Program-Id: callrec SET Line: 12 +Program-Id: callrec CALL Line: 13 +Program-Id: callrec Entry: callrec Line: 10 +Program-Id: callrec Section: SOME-SEC Line: 10 +Program-Id: callrec IF Line: 11 +Program-Id: callrec GOBACK Line: 15 +Program-Id: callrec Exit: callrec Line: 15 +Program-Id: callrec GOBACK Line: 15 +Program-Id: callrec Exit: callrec Line: 15 +Source: 'caller.cob' +Program-Id: caller +Program-Id: caller MOVE Line: 26 +Program-Id: caller SEARCH ALL Line: 28 +Program-Id: caller AT END Line: 29 +Program-Id: caller ADD Line: 30 +Program-Id: caller SET Line: 31 +Program-Id: caller MOVE Line: 32 +Program-Id: caller SEARCH Line: 37 +Program-Id: caller WHEN Line: 40 +Program-Id: caller ADD Line: 41 +Program-Id: caller SET Line: 42 +Program-Id: caller MOVE Line: 43 +Program-Id: caller SEARCH Line: 46 +Program-Id: caller WHEN Line: 52 +Program-Id: caller SEARCH VARYING Line: 47 +Program-Id: caller AT END Line: 48 +Program-Id: caller ADD Line: 49 +Program-Id: caller SET Line: 50 +Program-Id: caller MOVE Line: 51 +Program-Id: caller SEARCH ALL Line: 55 +Program-Id: caller SEARCH VARYING Line: 55 +Program-Id: caller SEARCH VARYING Line: 55 +Program-Id: caller WHEN Line: 58 +Program-Id: caller CONTINUE Line: 59 +Program-Id: caller SEARCH ALL Line: 61 +Program-Id: caller SEARCH VARYING Line: 61 +Program-Id: caller SEARCH VARYING Line: 61 +Program-Id: caller AT END Line: 64 +Program-Id: caller STOP RUN Line: 66 +" | \ + $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:7991" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_819 +#AT_START_820 +at_fn_group_banner 820 'run_misc.at:8122' \ + "Trace feature with subroutine" " " 4 +at_xfail=no +( + printf "%s\n" "820. $at_setup_line: testing $at_desc ..." + $at_traceon + +#AT_KEYWORDS([Trace]) + +# FIXME: check if the one above is enough and either +# remove this test or exchange by a non-IDX version +printf "%s\n" "run_misc.at:8127" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_misc.at:8127" + +cat >callsub.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callsub. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 NUM-A PIC 9(3) VALUE 399. + 01 NUM-B PIC 9(3) VALUE 211. + 01 RSLT PIC 9(5)V99. + + LINKAGE SECTION. + 01 n PIC 99. + + PROCEDURE DIVISION USING n. + MAIN-10. + ADD 1 TO n. + COMPUTE RSLT = ((NUM-A / (100.55 + -0.550)) + - (NUM-B / (10.11 * 10 - 1.1))) + * (220 / 2.2) * n. + END PROGRAM callsub. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:8151: \$COMPILE_MODULE callsub.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callsub.cob" "run_misc.at:8151" +( $at_check_trace; $COMPILE_MODULE callsub.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8151" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL TSPFILE + ASSIGN TO "testisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS CM-CUST-NUM + ALTERNATE RECORD KEY IS CM-TELEPHONE WITH DUPLICATES + ALTERNATE RECORD KEY IS CM-DISK WITH DUPLICATES + FILE STATUS IS CUST-STAT. + + SELECT TSTFILE + ASSIGN TO "testisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS TS-CUST-NUM + ALTERNATE RECORD KEY IS TS-TELEPHONE WITH DUPLICATES + ALTERNATE RECORD KEY IS TS-DISK WITH DUPLICATES + FILE STATUS IS CUST-STAT. + + SELECT FLATFILE + ASSIGN EXTERNAL RELFIX + ORGANIZATION RELATIVE + ACCESS IS RANDOM RELATIVE KEY IS REC-NUM + FILE STATUS IS CUST-STAT. + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM. + 15 CM-CUST-PRE PICTURE X(3). + 15 CM-CUST-NNN PICTURE X(5). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + FD TSTFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSTFL-RECORD. + 05 TSTFL-REC. + 10 TS-CUST-NUM PICTURE X(8). + 10 TS-STATUS PICTURE X. + 10 TS-COMPANY PICTURE X(25). + 10 TS-ADDRESS-1 PICTURE X(25). + 10 TS-ADDRESS-2 PICTURE X(25). + 10 TS-ADDRESS-3 PICTURE X(25). + 10 TS-TELEPHONE PICTURE 9(10). + 10 TS-DP-MGR PICTURE X(25). + 10 TS-MACHINE PICTURE X(8). + 10 TS-MEMORY PICTURE X(4). + 10 TS-DISK PICTURE X(8). + 10 TS-TAPE PICTURE X(8). + + FD FLATFILE + 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) COMP-4. + 10 C2-PK-DATE PICTURE S9(14) COMP-3. + + WORKING-STORAGE SECTION. + + 01 CUST-STAT. + 05 FILLER PICTURE XX. + 77 MAX-SUB VALUE 16 PICTURE 9(5) COMP SYNC. + 77 CALL-NUM VALUE 00 PICTURE 99. + + 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 "GAM00000". + 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 "GIB00000". + 05 FILLER PIC X(8) VALUE "H&J00000". + 05 FILLER PIC X(8) VALUE "INC00000". + 05 FILLER PIC X(8) VALUE "JOH00000". + 05 FILLER PIC X(8) VALUE "KON00000". + 05 FILLER PIC X(8) VALUE "LEW00000". + 05 FILLER PIC X(8) VALUE "MOR00000". + 05 FILLER PIC X(8) VALUE "NEW00000". + 05 FILLER PIC X(8) VALUE "OLD00000". + 05 FILLER PIC X(8) VALUE "PRE00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS 16. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 "GIBRALTER LIFE INSURANCE ". + 05 FILLER PIC X(25) VALUE "H & J PLUMBING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "INCREMENTAL BACKUP CORP. ". + 05 FILLER PIC X(25) VALUE "JOHNSON BOATING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "KONFLAB PLASTIC PRODUCTS.". + 05 FILLER PIC X(25) VALUE "LEWISTON GRAPHICS LTD. ". + 05 FILLER PIC X(25) VALUE "MORNINGSIDE CARPENTRY. ". + 05 FILLER PIC X(25) VALUE "NEW WAVE SURF SHOPS INC. ". + 05 FILLER PIC X(25) VALUE "OLD TYME PIZZA MFG. CO. ". + 05 FILLER PIC X(25) VALUE "PRESTIGE OFFICE FURNITURE". + + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS 16. + 02 DATA-ADDRESS-1-TBL. + + 05 FILLER PIC X(25) VALUE "123 MAIN STREET ". + 05 FILLER PIC X(25) VALUE "1090 2ND AVE. WEST ". + 05 FILLER PIC X(25) VALUE "1401 JEFFERSON BLVD. ". + 05 FILLER PIC X(25) VALUE "1620 ARIZONA WAY ". + 05 FILLER PIC X(25) VALUE "1184 EAST FIRST STREET ". + 05 FILLER PIC X(25) VALUE "114 JOHN F. KENNEDY AVE. ". + 05 FILLER PIC X(25) VALUE "650 LIBERTY CRESCENT ". + 05 FILLER PIC X(25) VALUE "77 SUNSET BLVD. ". + 05 FILLER PIC X(25) VALUE "10908 SANTA MONICA BLVD. ". + 05 FILLER PIC X(25) VALUE "1134 PARIS ROAD ". + 05 FILLER PIC X(25) VALUE "808 NORTHWEST MAIN ST. ". + 05 FILLER PIC X(25) VALUE "9904 QUEEN STREET ". + 05 FILLER PIC X(25) VALUE "1709 DUNDAS CRESCENT W. ". + 05 FILLER PIC X(25) VALUE "3240 MARIS AVENUE ". + 05 FILLER PIC X(25) VALUE "1705 WISCONSIN ROAD ". + 05 FILLER PIC X(25) VALUE "114A MAPLE GROVE ". + + 02 DATA-ADDRESS-1 REDEFINES DATA-ADDRESS-1-TBL + PIC X(25) OCCURS 16. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "SAN DIEGO ". + 05 FILLER PIC X(10) VALUE "LOS RIOS ". + 05 FILLER PIC X(10) VALUE "MADISON ". + 05 FILLER PIC X(10) VALUE "WILBUR ". + 05 FILLER PIC X(10) VALUE "TOPEKA ". + 05 FILLER PIC X(10) VALUE "SEATTLE ". + 05 FILLER PIC X(10) VALUE "NEW JERSEY". + 05 FILLER PIC X(10) VALUE "FORT WAYNE". + 05 FILLER PIC X(10) VALUE "COLUMBUS ". + 05 FILLER PIC X(10) VALUE "RICHMOND ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS-2 REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS 16. + 02 DATA-ADDRESS-3-TBL. + + 05 FILLER PIC X(10) VALUE "N.Y. ". + 05 FILLER PIC X(10) VALUE "GEORGIA ". + 05 FILLER PIC X(10) VALUE "D.C. ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CALIFORNIA". + 05 FILLER PIC X(10) VALUE "NEW MEXICO". + 05 FILLER PIC X(10) VALUE "WISCONSIN ". + 05 FILLER PIC X(10) VALUE "DELAWARE ". + 05 FILLER PIC X(10) VALUE "KANSAS ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "N.J. ". + 05 FILLER PIC X(10) VALUE "COLORADO ". + 05 FILLER PIC X(10) VALUE "OHIO ". + 05 FILLER PIC X(10) VALUE "VIRGINIA ". + 05 FILLER PIC X(10) VALUE "N.Y. ". + + 02 DATA-ADDRESS-3 REDEFINES DATA-ADDRESS-3-TBL + PIC X(10) OCCURS 16. + 02 DATA-TELEPHONE-TBL. + + 05 FILLER PIC 9(10) VALUE 3131234432. + 05 FILLER PIC 9(10) VALUE 4082938498. + 05 FILLER PIC 9(10) VALUE 8372487274. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 5292398745. + 05 FILLER PIC 9(10) VALUE 8009329492. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 6546456333. + 05 FILLER PIC 9(10) VALUE 3455445444. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 7456434355. + 05 FILLER PIC 9(10) VALUE 6554456433. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 7534587453. + 05 FILLER PIC 9(10) VALUE 8787458374. + 05 FILLER PIC 9(10) VALUE 4169898509. + + 02 DATA-TELEPHONE REDEFINES DATA-TELEPHONE-TBL + PIC 9(10) OCCURS 16. + 02 DATA-DP-MGR-TBL. + + 05 FILLER PIC X(20) VALUE "MR. DAVE HARRIS ". + 05 FILLER PIC X(20) VALUE "MS. JANICE SILCOX ". + 05 FILLER PIC X(20) VALUE "MR. ALLAN JONES ". + 05 FILLER PIC X(20) VALUE "MR. PETER MACKAY ". + 05 FILLER PIC X(20) VALUE "MRS. DONNA BREWER ". + 05 FILLER PIC X(20) VALUE "MR. MICHAEL SMYTHE ". + 05 FILLER PIC X(20) VALUE "MR. D.A. MORRISON ". + 05 FILLER PIC X(20) VALUE "MR. BRIAN PATTERSON ". + 05 FILLER PIC X(20) VALUE "MR. DARRYL TOWNSEND ". + 05 FILLER PIC X(20) VALUE "MS. VALERIE HARPER ". + 05 FILLER PIC X(20) VALUE "MR. FRED MILLER ". + 05 FILLER PIC X(20) VALUE "MR. DONALD FISCHER ". + 05 FILLER PIC X(20) VALUE "MR. STEVEN YOURDIN ". + 05 FILLER PIC X(20) VALUE "MS. Goldie Hawn ". + 05 FILLER PIC X(20) VALUE "MS. ALICE WINSTON ". + 05 FILLER PIC X(20) VALUE "MR. THOMAS JEFFERSON". + + 02 DATA-DP-MGR REDEFINES DATA-DP-MGR-TBL + PIC X(20) OCCURS 16. + 02 DATA-MACHINE-TBL. + + 05 FILLER PIC X(8) VALUE "UNI-9030". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-80/3". + 05 FILLER PIC X(8) VALUE "UNI-80/5". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-9040". + + 02 DATA-MACHINE REDEFINES DATA-MACHINE-TBL + PIC X(8) OCCURS 16. + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(3) COMP-3 VALUE 85. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 75. + 05 FILLER PIC 9(3) COMP-3 VALUE 45. + 05 FILLER PIC 9(3) COMP-3 VALUE 90. + 05 FILLER PIC 9(3) COMP-3 VALUE 107. + 05 FILLER PIC 9(3) COMP-3 VALUE 67. + 05 FILLER PIC 9(3) COMP-3 VALUE 32. + 05 FILLER PIC 9(3) COMP-3 VALUE 16. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 128. + 05 FILLER PIC 9(3) COMP-3 VALUE 64. + 05 FILLER PIC 9(3) COMP-3 VALUE 110. + 05 FILLER PIC 9(3) COMP-3 VALUE 324. + 05 FILLER PIC 9(3) COMP-3 VALUE 124. + 05 FILLER PIC 9(3) COMP-3 VALUE 86. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) COMP-3 OCCURS 16. + + 01 WORK-AREA. + 05 REC-NUM PICTURE 9(6) VALUE 0. + 05 REC-MAX PICTURE 9(6) VALUE 10. + 05 SUB PICTURE 9(4) COMP SYNC. + 88 ODD-RECORD VALUE 1 3 5 7 9 10 11. + + 05 TSPFL-KEY PICTURE X(8). + + PROCEDURE DIVISION. + + MAINFILE. + OPEN OUTPUT TSPFILE + CLOSE TSPFILE. + + OPEN I-O TSPFILE + MOVE '99' TO CUST-STAT + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "10" + DISPLAY "Error " CUST-STAT " on read of empty file" + UPON CONSOLE + STOP RUN + END-IF. + MOVE LOW-VALUES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN CM-CUST-NUM + IF CUST-STAT NOT = "23" + DISPLAY "Error " CUST-STAT " starting empty file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "46" + DISPLAY "Error " CUST-STAT " start/read of empty file" + UPON CONSOLE + STOP RUN + END-IF. + DISPLAY "OK: Operations on empty file" + CLOSE TSPFILE. + + PERFORM LOADFILE. + PERFORM LISTFILE. + + + + *> check that multiple empty lines are handled correctly + + + + + + + + STOP RUN. + + LOADFILE. + DISPLAY "Loading sample data file." + UPON CONSOLE. + + OPEN OUTPUT TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT + " opening 'testisam' file" UPON CONSOLE + STOP RUN + END-IF. + + PERFORM 1000-LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + DISPLAY "Sample data file load complete." + UPON CONSOLE. + CLOSE TSPFILE. + + *---------------------------------------------------------------* + * LOAD A RECORD FROM DATA TABLES * + *---------------------------------------------------------------* + + 1000-LOAD-RECORD. + + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (SUB) TO CM-CUST-NUM. + MOVE CM-CUST-NUM TO TSPFL-KEY. + MOVE DATA-COMPANY (SUB) TO CM-COMPANY. + MOVE DATA-ADDRESS-1 (SUB) TO CM-ADDRESS-1. + MOVE DATA-ADDRESS-2 (SUB) TO CM-ADDRESS-2. + MOVE DATA-ADDRESS-3 (SUB) TO CM-ADDRESS-3. + MOVE DATA-TELEPHONE (SUB) TO CM-TELEPHONE. + MOVE DATA-DP-MGR (SUB) TO CM-DP-MGR. + MOVE DATA-MACHINE (SUB) TO CM-MACHINE. + MOVE DATA-NO-TERMINALS (SUB) TO CM-NO-TERMINALS. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + MOVE "1600 BPI" TO CM-TAPE + MOVE "1MEG" TO CM-MEMORY + ELSE + MOVE "8470" TO CM-DISK + MOVE "6250 BPI" TO CM-TAPE + MOVE "3MEG" TO CM-MEMORY. + + WRITE TSPFL-RECORD. + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Load - Key: " TSPFL-KEY ", Status: " CUST-STAT + UPON CONSOLE. + + LISTFILE. + DISPLAY "LIST SAMPLE FILE" UPON CONSOLE. + OPEN INPUT TSTFILE + MOVE SPACES TO TSTFL-RECORD. + MOVE "PRE00000" TO CM-CUST-NUM. + START TSTFILE KEY GREATER THAN OR EQUAL TO TS-CUST-NUM + READ TSTFILE NEXT RECORD + READ TSTFILE NEXT RECORD + CLOSE TSTFILE. + + MOVE ZERO TO REC-NUM + OPEN INPUT TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "ERROR " CUST-STAT " OPENING INPUT FILE" + UPON CONSOLE + STOP RUN + END-IF. + MOVE SPACES TO TSPFL-RECORD. + MOVE "PRE00000" TO CM-CUST-NUM. + START TSPFILE KEY GREATER THAN OR EQUAL TO CM-CUST-NUM + READ TSPFILE NEXT RECORD + READ TSPFILE NEXT RECORD + + MOVE SPACES TO TSPFL-RECORD. + MOVE "DEL00000" TO CM-CUST-NUM. + START TSPFILE KEY GREATER THAN CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" *> no WITH AFTER for trace check + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + CALL "callsub" USING CALL-NUM + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM + IF CUST-STAT = "99" + DISPLAY "Hit End of File: " CALL-NUM UPON CONSOLE + ELSE + DISPLAY "Stop read after: " CALL-NUM UPON CONSOLE + END-IF. + + DISPLAY "LIST SAMPLE FILE DESCENDING" UPON CONSOLE. + MOVE ZERO TO REC-NUM + START TSPFILE KEY LESS THAN CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE PREVIOUS RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM WITH TEST AFTER UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE PREVIOUS RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + + CLOSE TSPFILE. + + OPEN I-O TSPFILE. + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE 'X' TO CM-CUST-NUM (5:1). + READ TSPFILE KEY IS CM-CUST-NUM + IF CUST-STAT NOT = "23" + DISPLAY "Error " CUST-STAT " instead of 23." + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE DATA-COMPANY (2) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on primary read ." + UPON CONSOLE + ELSE + DISPLAY "Got: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + END-IF. + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on next read" + UPON CONSOLE + ELSE + DISPLAY "Nxt: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + END-IF. + MOVE DATA-TELEPHONE (7) TO CM-TELEPHONE. + MOVE DATA-MACHINE (7) TO CM-MACHINE. + READ TSPFILE KEY IS CM-TELEPHONE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 23" + UPON CONSOLE + ELSE + DISPLAY "Ky2: " CM-CUST-NUM " is " CM-COMPANY + " Mach=" CM-MACHINE "." + UPON CONSOLE + END-IF. + WRITE TSPFL-RECORD + IF CUST-STAT NOT = "22" + DISPLAY "Error " CUST-STAT " instead of 22" + UPON CONSOLE + ELSE + DISPLAY " Write: " CM-CUST-NUM " got 22 as expected" + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (3) TO CM-CUST-NUM. + MOVE DATA-COMPANY (3) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + DISPLAY " Read: " CM-CUST-NUM " got " + CUST-STAT " as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE. + ADD 5 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 00" + UPON CONSOLE + ELSE + + DISPLAY "ReWrite: " CM-CUST-NUM " got " + CUST-STAT " as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE DATA-COMPANY (2) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + DISPLAY " Read: " CM-CUST-NUM " got " + CUST-STAT " as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE. + MOVE DATA-CUST-NUM (3) TO CM-CUST-NUM. + MOVE DATA-COMPANY (3) TO CM-COMPANY. + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 00/02" + UPON CONSOLE + ELSE + DISPLAY "ReWrite: " CM-CUST-NUM " got " + "00/02 as expected" + UPON CONSOLE + END-IF + MOVE DATA-CUST-NUM (6) TO CM-CUST-NUM. + MOVE DATA-COMPANY (6) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + MOVE DATA-TELEPHONE (7) TO CM-TELEPHONE. + MOVE DATA-MACHINE (7) TO CM-MACHINE. + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 00/02" + UPON CONSOLE + ELSE + DISPLAY "ReWrite: " CM-CUST-NUM " got " + "00/02 as expected" + UPON CONSOLE + END-IF + DELETE TSPFILE + CLOSE TSPFILE. + + LOADFLAT. + OPEN OUTPUT FLATFILE. + PERFORM FLAT-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB + OR SUB > 5. + CLOSE FLATFILE. + OPEN INPUT FLATFILE. + MOVE 3 TO REC-NUM + READ FLATFILE + MOVE 999 TO REC-NUM + READ FLATFILE + CLOSE FLATFILE. + + FLAT-RECORD. + + MOVE SPACES TO TSP2-RECORD. + MOVE SUB TO REC-NUM. + MOVE DATA-CUST-NUM (SUB) TO C2-CUST-NUM. + MOVE DATA-COMPANY (SUB) TO C2-COMPANY. + MOVE DATA-NO-TERMINALS (SUB) TO C2-NO-TERMINALS. + MOVE 20070319 TO C2-PK-DATE. + IF ODD-RECORD + MOVE "8417" TO C2-DISK + ELSE + MOVE "8470" TO C2-DISK. + WRITE TSP2-RECORD. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:8756: \$COMPILE -ftraceall prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -ftraceall prog.cob" "run_misc.at:8756" +( $at_check_trace; $COMPILE -ftraceall prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8756" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# first run without runtime tracing +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:8759: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:8759" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK: Operations on empty file +Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Stop read after: 11 +LIST SAMPLE FILE DESCENDING +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=8470 . +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6. + Write: GIB00000 got 22 as expected + Read: GAM00000 got 00 as expected 00075 terminals +ReWrite: GAM00000 got 00 as expected 00080 terminals + Read: BET00000 got 00 as expected 00034 terminals +ReWrite: GAM00000 got 00/02 as expected +ReWrite: FOR00000 got 00/02 as expected +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:8759" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# not merged yet: +#export COB_TRACE_IO=Y +#export IO_TSPFILE=trace +#export IO_TSTFILE=no-trace + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:8804: COB_TRACE_FILE=trace.txt \\ +COB_SET_TRACE=Y \\ +COB_TRACE_FORMAT=\"Line: %L %S\" \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:8804" +( $at_check_trace; COB_TRACE_FILE=trace.txt \ +COB_SET_TRACE=Y \ +COB_TRACE_FORMAT="Line: %L %S" \ +$COBCRUN_DIRECT ./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"; printf "%s\n" "OK: Operations on empty file +Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Stop read after: 11 +LIST SAMPLE FILE DESCENDING +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=8470 . +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6. + Write: GIB00000 got 22 as expected + Read: GAM00000 got 00 as expected 00075 terminals +ReWrite: GAM00000 got 00 as expected 00080 terminals + Read: BET00000 got 00 as expected 00034 terminals +ReWrite: GAM00000 got 00/02 as expected +ReWrite: FOR00000 got 00/02 as expected +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:8804" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +# variant with file trace: +#AT_DATA([reference], +#[Source: 'prog.cob' +#Program-Id: prog +#Line: 292 Entry: prog +#Line: 292 Paragraph: MAINFILE +#Line: 293 OPEN +# OPEN OUTPUT TSPFILE -> 'testisam' Status: 00 +#Line: 294 CLOSE +# CLOSE TSPFILE Status: 00 +#Line: 296 OPEN +# OPEN I_O TSPFILE -> 'testisam' Status: 00 +#Line: 297 MOVE +#Line: 298 READ +# READ Sequential TSPFILE Status: 10 +#Line: 299 IF +#Line: 304 MOVE +#Line: 305 START +# START TSPFILE Status: 23 +# Key : ALL LOW-VALUES +#Line: 306 IF +#Line: 311 READ +# READ Sequential TSPFILE Status: 46 +#Line: 312 IF +#Line: 317 DISPLAY +#Line: 318 CLOSE +# CLOSE TSPFILE Status: 00 +#Line: 320 PERFORM +#Line: 335 Paragraph: LOADFILE +#Line: 336 DISPLAY +#Line: 339 OPEN +# OPEN OUTPUT TSPFILE -> 'testisam' Status: 00 +#Line: 340 IF +#Line: 346 PERFORM +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 00 +# Record : 'ALP00000 ALPHA ELECTRICAL CO. LTD.123 MAIN STREET NEW YORK ' +# ' N.Y. 3131234432MR. DAVE HARRIS UNI-90301MEG8417' +# ' 1600 BPI00085' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 00 +# Record : 'BET00000 BETA SHOE MFG. INC. 1090 2ND AVE. WEST ATLANTA ' +# ' GEORGIA 4082938498MS. JANICE SILCOX UNI-90403MEG8470' +# ' 6250 BPI00034' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1401 JEFFERSON BLVD. WASHINGTON ' +# ' D.C. 8372487274MR. ALLAN JONES UNI-80/31MEG8417' +# ' 1600 BPI00075' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'DEL00000 DELTA LUGGAGE REPAIRS 1620 ARIZONA WAY TORONTO ' +# ' CANADA 4169898509MR. PETER MACKAY UNI-80/53MEG8470' +# ' 6250 BPI00045' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'EPS00000 EPSILON EQUIPMENT SUPPLY 1184 EAST FIRST STREET CALGARY ' +# ' CANADA 5292398745MRS. DONNA BREWER UNI-80/61MEG8417' +# ' 1600 BPI00090' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 8009329492MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'GIB00000 GIBRALTER LIFE INSURANCE 650 LIBERTY CRESCENT LOS RIOS ' +# ' NEW MEXICO 6456445643MR. D.A. MORRISON UNI-80/61MEG8417' +# ' 1600 BPI00067' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'H&J00000 H & J PLUMBING SUPPLIES 77 SUNSET BLVD. MADISON ' +# ' WISCONSIN 6546456333MR. BRIAN PATTERSON UNI-80/83MEG8470' +# ' 6250 BPI00032' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'INC00000 INCREMENTAL BACKUP CORP. 10908 SANTA MONICA BLVD. WILBUR ' +# ' DELAWARE 3455445444MR. DARRYL TOWNSEND UNI-80/81MEG8417' +# ' 1600 BPI00016' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'JOH00000 JOHNSON BOATING SUPPLIES 1134 PARIS ROAD TOPEKA ' +# ' KANSAS 6456445643MS. VALERIE HARPER UNI-80/81MEG8417' +# ' 1600 BPI00034' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 373 MOVE +#Line: 374 MOVE +#Line: 375 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'KON00000 KONFLAB PLASTIC PRODUCTS.808 NORTHWEST MAIN ST. SEATTLE ' +# ' WASHINGTON 7456434355MR. FRED MILLER UNI-80/81MEG8417' +# ' 1600 BPI00128' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'LEW00000 LEWISTON GRAPHICS LTD. 9904 QUEEN STREET NEW JERSEY ' +# ' N.J. 6554456433MR. DONALD FISCHER UNI-80/83MEG8470' +# ' 6250 BPI00064' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'MOR00000 MORNINGSIDE CARPENTRY. 1709 DUNDAS CRESCENT W. FORT WAYNE ' +# ' COLORADO 4169898509MR. STEVEN YOURDIN UNI-80/83MEG8470' +# ' 6250 BPI00110' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'NEW00000 NEW WAVE SURF SHOPS INC. 3240 MARIS AVENUE COLUMBUS ' +# ' OHIO 7534587453MS. Goldie Hawn UNI-80/83MEG8470' +# ' 6250 BPI00324' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'OLD00000 OLD TYME PIZZA MFG. CO. 1705 WISCONSIN ROAD RICHMOND ' +# ' VIRGINIA 8787458374MS. ALICE WINSTON UNI-90403MEG8470' +# ' 6250 BPI00124' +#Line: 382 IF +#Line: 358 Paragraph: 1000-LOAD-RECORD +#Line: 360 MOVE +#Line: 361 MOVE +#Line: 362 MOVE +#Line: 363 MOVE +#Line: 364 MOVE +#Line: 365 MOVE +#Line: 366 MOVE +#Line: 367 MOVE +#Line: 368 MOVE +#Line: 369 MOVE +#Line: 370 MOVE +#Line: 372 IF +#Line: 377 MOVE +#Line: 378 MOVE +#Line: 379 MOVE +#Line: 381 WRITE +# WRITE TSPFILE Status: 02 +# Record : 'PRE00000 PRESTIGE OFFICE FURNITURE114A MAPLE GROVE WHITEPLAIN ' +# ' N.Y. 4169898509MR. THOMAS JEFFERSON UNI-90403MEG8470' +# ' 6250 BPI00086' +#Line: 382 IF +#Line: 350 DISPLAY +#Line: 352 CLOSE +# CLOSE TSPFILE Status: 00 +#Line: 321 PERFORM +#Line: 387 Paragraph: LISTFILE +#Line: 388 DISPLAY +#Line: 389 OPEN +#Line: 390 MOVE +#Line: 391 MOVE +#Line: 392 START +#Line: 393 READ +#Line: 394 READ +#Line: 395 CLOSE +#Line: 397 MOVE +#Line: 398 OPEN +# OPEN INPUT TSPFILE -> 'testisam' Status: 00 +#Line: 399 IF +#Line: 404 MOVE +#Line: 405 MOVE +#Line: 406 START +# START TSPFILE Status: 00 +# Key : 'PRE00000' +#Line: 407 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'PRE00000 PRESTIGE OFFICE FURNITURE114A MAPLE GROVE WHITEPLAIN ' +# ' N.Y. 4169898509MR. THOMAS JEFFERSON UNI-90403MEG8470' +# ' 6250 BPI00086' +#Line: 408 READ +# READ Sequential TSPFILE Status: 10 +#Line: 410 MOVE +#Line: 411 MOVE +#Line: 412 START +# START TSPFILE Status: 00 +# Key : 'DEL00000' +#Line: 413 IF +#Line: 418 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'EPS00000 EPSILON EQUIPMENT SUPPLY 1184 EAST FIRST STREET CALGARY ' +# ' CANADA 5292398745MRS. DONNA BREWER UNI-80/61MEG8417' +# ' 1600 BPI00090' +#Line: 419 IF +#Line: 424 PERFORM +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 8009329492MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1401 JEFFERSON BLVD. WASHINGTON ' +# ' D.C. 8372487274MR. ALLAN JONES UNI-80/31MEG8417' +# ' 1600 BPI00075' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'GIB00000 GIBRALTER LIFE INSURANCE 650 LIBERTY CRESCENT LOS RIOS ' +# ' NEW MEXICO 6456445643MR. D.A. MORRISON UNI-80/61MEG8417' +# ' 1600 BPI00067' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'H&J00000 H & J PLUMBING SUPPLIES 77 SUNSET BLVD. MADISON ' +# ' WISCONSIN 6546456333MR. BRIAN PATTERSON UNI-80/83MEG8470' +# ' 6250 BPI00032' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'INC00000 INCREMENTAL BACKUP CORP. 10908 SANTA MONICA BLVD. WILBUR ' +# ' DELAWARE 3455445444MR. DARRYL TOWNSEND UNI-80/81MEG8417' +# ' 1600 BPI00016' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'JOH00000 JOHNSON BOATING SUPPLIES 1134 PARIS ROAD TOPEKA ' +# ' KANSAS 6456445643MS. VALERIE HARPER UNI-80/81MEG8417' +# ' 1600 BPI00034' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'KON00000 KONFLAB PLASTIC PRODUCTS.808 NORTHWEST MAIN ST. SEATTLE ' +# ' WASHINGTON 7456434355MR. FRED MILLER UNI-80/81MEG8417' +# ' 1600 BPI00128' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'LEW00000 LEWISTON GRAPHICS LTD. 9904 QUEEN STREET NEW JERSEY ' +# ' N.J. 6554456433MR. DONALD FISCHER UNI-80/83MEG8470' +# ' 6250 BPI00064' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'MOR00000 MORNINGSIDE CARPENTRY. 1709 DUNDAS CRESCENT W. FORT WAYNE ' +# ' COLORADO 4169898509MR. STEVEN YOURDIN UNI-80/83MEG8470' +# ' 6250 BPI00110' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'NEW00000 NEW WAVE SURF SHOPS INC. 3240 MARIS AVENUE COLUMBUS ' +# ' OHIO 7534587453MS. Goldie Hawn UNI-80/83MEG8470' +# ' 6250 BPI00324' +#Line: 434 ADD +#Line: 426 DISPLAY +#Line: 429 CALL +#Line: 430 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'OLD00000 OLD TYME PIZZA MFG. CO. 1705 WISCONSIN ROAD RICHMOND ' +# ' VIRGINIA 8787458374MS. ALICE WINSTON UNI-90403MEG8470' +# ' 6250 BPI00124' +#Line: 434 ADD +#Line: 436 IF +#Line: 439 DISPLAY +#Line: 442 DISPLAY +#Line: 443 MOVE +#Line: 444 START +# START TSPFILE Status: 00 +# Key : 'OLD00000' +#Line: 445 IF +#Line: 450 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'NEW00000 NEW WAVE SURF SHOPS INC. 3240 MARIS AVENUE COLUMBUS ' +# ' OHIO 7534587453MS. Goldie Hawn UNI-80/83MEG8470' +# ' 6250 BPI00324' +#Line: 451 IF +#Line: 456 PERFORM +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'MOR00000 MORNINGSIDE CARPENTRY. 1709 DUNDAS CRESCENT W. FORT WAYNE ' +# ' COLORADO 4169898509MR. STEVEN YOURDIN UNI-80/83MEG8470' +# ' 6250 BPI00110' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'LEW00000 LEWISTON GRAPHICS LTD. 9904 QUEEN STREET NEW JERSEY ' +# ' N.J. 6554456433MR. DONALD FISCHER UNI-80/83MEG8470' +# ' 6250 BPI00064' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'KON00000 KONFLAB PLASTIC PRODUCTS.808 NORTHWEST MAIN ST. SEATTLE ' +# ' WASHINGTON 7456434355MR. FRED MILLER UNI-80/81MEG8417' +# ' 1600 BPI00128' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'JOH00000 JOHNSON BOATING SUPPLIES 1134 PARIS ROAD TOPEKA ' +# ' KANSAS 6456445643MS. VALERIE HARPER UNI-80/81MEG8417' +# ' 1600 BPI00034' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'INC00000 INCREMENTAL BACKUP CORP. 10908 SANTA MONICA BLVD. WILBUR ' +# ' DELAWARE 3455445444MR. DARRYL TOWNSEND UNI-80/81MEG8417' +# ' 1600 BPI00016' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'H&J00000 H & J PLUMBING SUPPLIES 77 SUNSET BLVD. MADISON ' +# ' WISCONSIN 6546456333MR. BRIAN PATTERSON UNI-80/83MEG8470' +# ' 6250 BPI00032' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'GIB00000 GIBRALTER LIFE INSURANCE 650 LIBERTY CRESCENT LOS RIOS ' +# ' NEW MEXICO 6456445643MR. D.A. MORRISON UNI-80/61MEG8417' +# ' 1600 BPI00067' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1401 JEFFERSON BLVD. WASHINGTON ' +# ' D.C. 8372487274MR. ALLAN JONES UNI-80/31MEG8417' +# ' 1600 BPI00075' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 8009329492MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'EPS00000 EPSILON EQUIPMENT SUPPLY 1184 EAST FIRST STREET CALGARY ' +# ' CANADA 5292398745MRS. DONNA BREWER UNI-80/61MEG8417' +# ' 1600 BPI00090' +#Line: 465 ADD +#Line: 458 DISPLAY +#Line: 461 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'DEL00000 DELTA LUGGAGE REPAIRS 1620 ARIZONA WAY TORONTO ' +# ' CANADA 4169898509MR. PETER MACKAY UNI-80/53MEG8470' +# ' 6250 BPI00045' +#Line: 465 ADD +#Line: 468 CLOSE +# CLOSE TSPFILE Status: 00 +#Line: 470 OPEN +# OPEN I_O TSPFILE -> 'testisam' Status: 00 +#Line: 471 MOVE +#Line: 472 MOVE +#Line: 473 MOVE +#Line: 474 READ +# READ TSPFILE Status: 23 +# Key : 'BET0X000' +#Line: 475 IF +#Line: 479 MOVE +#Line: 480 MOVE +#Line: 481 READ +# READ TSPFILE Status: 00 +# Record : 'BET00000 BETA SHOE MFG. INC. 1090 2ND AVE. WEST ATLANTA ' +# ' GEORGIA 4082938498MS. JANICE SILCOX UNI-90403MEG8470' +# ' 6250 BPI00034' +# Key : 'BET00000' +#Line: 482 IF +#Line: 486 DISPLAY +#Line: 490 READ +# READ Sequential TSPFILE Status: 00 +# Record : 'DEL00000 DELTA LUGGAGE REPAIRS 1620 ARIZONA WAY TORONTO ' +# ' CANADA 4169898509MR. PETER MACKAY UNI-80/53MEG8470' +# ' 6250 BPI00045' +#Line: 491 IF +#Line: 495 DISPLAY +#Line: 499 MOVE +#Line: 500 MOVE +#Line: 501 READ +# READ TSPFILE Status: 00 +# Record : 'GIB00000 GIBRALTER LIFE INSURANCE 650 LIBERTY CRESCENT LOS RIOS ' +# ' NEW MEXICO 6456445643MR. D.A. MORRISON UNI-80/61MEG8417' +# ' 1600 BPI00067' +# Key : 6456445643 +#Line: 502 IF +#Line: 506 DISPLAY +#Line: 510 WRITE +# WRITE TSPFILE Status: 22 +# Record : 'GIB00000 GIBRALTER LIFE INSURANCE 650 LIBERTY CRESCENT LOS RIOS ' +# ' NEW MEXICO 6456445643MR. D.A. MORRISON UNI-80/61MEG8417' +# ' 1600 BPI00067' +#Line: 511 IF +#Line: 515 DISPLAY +#Line: 518 MOVE +#Line: 519 MOVE +#Line: 520 READ +# READ TSPFILE Status: 00 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1401 JEFFERSON BLVD. WASHINGTON ' +# ' D.C. 8372487274MR. ALLAN JONES UNI-80/31MEG8417' +# ' 1600 BPI00075' +# Key : 'GAM00000' +#Line: 521 DISPLAY +#Line: 525 ADD +#Line: 526 REWRITE +# REWRITE TSPFILE Status: 00 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1401 JEFFERSON BLVD. WASHINGTON ' +# ' D.C. 8372487274MR. ALLAN JONES UNI-80/31MEG8417' +# ' 1600 BPI00080' +#Line: 527 IF +#Line: 532 DISPLAY +#Line: 537 MOVE +#Line: 538 MOVE +#Line: 539 READ +# READ TSPFILE Status: 00 +# Record : 'BET00000 BETA SHOE MFG. INC. 1090 2ND AVE. WEST ATLANTA ' +# ' GEORGIA 4082938498MS. JANICE SILCOX UNI-90403MEG8470' +# ' 6250 BPI00034' +# Key : 'BET00000' +#Line: 540 DISPLAY +#Line: 544 MOVE +#Line: 545 MOVE +#Line: 546 REWRITE +# REWRITE TSPFILE Status: 02 +# Record : 'GAM00000 GAMMA X-RAY TECHNOLOGY 1090 2ND AVE. WEST ATLANTA ' +# ' GEORGIA 4082938498MS. JANICE SILCOX UNI-90403MEG8470' +# ' 6250 BPI00034' +#Line: 547 IF +#Line: 552 DISPLAY +#Line: 556 MOVE +#Line: 557 MOVE +#Line: 558 READ +# READ TSPFILE Status: 00 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 8009329492MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +# Key : 'FOR00000' +#Line: 559 MOVE +#Line: 560 MOVE +#Line: 561 REWRITE +# REWRITE TSPFILE Status: 02 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 6456445643MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +#Line: 562 IF +#Line: 567 DISPLAY +#Line: 571 DELETE +# DELETE TSPFILE Status: 00 +# Record : 'FOR00000 FORTUNE COOKIE COMPANY 114 JOHN F. KENNEDY AVE. SAN DIEGO ' +# ' CALIFORNIA 6456445643MR. MICHAEL SMYTHE UNI-80/63MEG8470' +# ' 6250 BPI00107' +#Line: 572 CLOSE +# CLOSE TSPFILE Status: 00 +#Line: 333 STOP RUN +#]) + +# variant without file trace + + +cat >reference <<'_ATEOF' +Source: 'prog.cob' +Program-Id: prog +Line: 292 Entry: prog +Line: 292 Paragraph: MAINFILE +Line: 293 OPEN +Line: 294 CLOSE +Line: 296 OPEN +Line: 297 MOVE +Line: 298 READ +Line: 299 IF +Line: 304 MOVE +Line: 305 START +Line: 306 IF +Line: 311 READ +Line: 312 IF +Line: 317 DISPLAY +Line: 318 CLOSE +Line: 320 PERFORM +Line: 335 Paragraph: LOADFILE +Line: 336 DISPLAY +Line: 339 OPEN +Line: 340 IF +Line: 346 PERFORM +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 373 MOVE +Line: 374 MOVE +Line: 375 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 358 Paragraph: 1000-LOAD-RECORD +Line: 360 MOVE +Line: 361 MOVE +Line: 362 MOVE +Line: 363 MOVE +Line: 364 MOVE +Line: 365 MOVE +Line: 366 MOVE +Line: 367 MOVE +Line: 368 MOVE +Line: 369 MOVE +Line: 370 MOVE +Line: 372 IF +Line: 377 MOVE +Line: 378 MOVE +Line: 379 MOVE +Line: 381 WRITE +Line: 382 IF +Line: 347 VARYING +Line: 348 UNTIL +Line: 350 DISPLAY +Line: 352 CLOSE +Line: 321 PERFORM +Line: 387 Paragraph: LISTFILE +Line: 388 DISPLAY +Line: 389 OPEN +Line: 390 MOVE +Line: 391 MOVE +Line: 392 START +Line: 393 READ +Line: 394 READ +Line: 395 CLOSE +Line: 397 MOVE +Line: 398 OPEN +Line: 399 IF +Line: 404 MOVE +Line: 405 MOVE +Line: 406 START +Line: 407 READ +Line: 408 READ +Line: 410 MOVE +Line: 411 MOVE +Line: 412 START +Line: 413 IF +Line: 418 READ +Line: 419 IF +Line: 424 PERFORM +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 426 DISPLAY +Line: 429 CALL +Line: 430 READ +Line: 434 ADD +Line: 424 UNTIL +Line: 436 IF +Line: 439 DISPLAY +Line: 442 DISPLAY +Line: 443 MOVE +Line: 444 START +Line: 445 IF +Line: 450 READ +Line: 451 IF +Line: 456 PERFORM +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 458 DISPLAY +Line: 461 READ +Line: 465 ADD +Line: 456 UNTIL +Line: 468 CLOSE +Line: 470 OPEN +Line: 471 MOVE +Line: 472 MOVE +Line: 473 MOVE +Line: 474 READ +Line: 475 IF +Line: 479 MOVE +Line: 480 MOVE +Line: 481 READ +Line: 482 IF +Line: 486 DISPLAY +Line: 490 READ +Line: 491 IF +Line: 495 DISPLAY +Line: 499 MOVE +Line: 500 MOVE +Line: 501 READ +Line: 502 IF +Line: 506 DISPLAY +Line: 510 WRITE +Line: 511 IF +Line: 515 DISPLAY +Line: 518 MOVE +Line: 519 MOVE +Line: 520 READ +Line: 521 DISPLAY +Line: 525 ADD +Line: 526 REWRITE +Line: 527 IF +Line: 532 DISPLAY +Line: 537 MOVE +Line: 538 MOVE +Line: 539 READ +Line: 540 DISPLAY +Line: 544 MOVE +Line: 545 MOVE +Line: 546 REWRITE +Line: 547 IF +Line: 552 DISPLAY +Line: 556 MOVE +Line: 557 MOVE +Line: 558 READ +Line: 559 MOVE +Line: 560 MOVE +Line: 561 REWRITE +Line: 562 IF +Line: 567 DISPLAY +Line: 571 DELETE +Line: 572 CLOSE +Line: 333 STOP RUN +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10102: diff reference trace.txt" +at_fn_check_prepare_trace "run_misc.at:10102" +( $at_check_trace; diff reference trace.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_misc.at:10102" +$at_failed && at_fn_log_failure \ +"trace.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10104: \$COMPILE -ftrace prog.cob -o prog_s" +at_fn_check_prepare_dynamic "$COMPILE -ftrace prog.cob -o prog_s" "run_misc.at:10104" +( $at_check_trace; $COMPILE -ftrace prog.cob -o 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/run_misc.at:10104" +$at_failed && at_fn_log_failure \ +"trace.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10106: COB_TRACE_FILE=+trace_append.txt \\ +COB_SET_TRACE=Y \\ +COB_TRACE_FORMAT=\"%S and now ... %L\" \\ +\$COBCRUN_DIRECT ./prog_s" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10106" +( $at_check_trace; COB_TRACE_FILE=+trace_append.txt \ +COB_SET_TRACE=Y \ +COB_TRACE_FORMAT="%S and now ... %L" \ +$COBCRUN_DIRECT ./prog_s +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK: Operations on empty file +Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Stop read after: 11 +LIST SAMPLE FILE DESCENDING +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=8470 . +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6. + Write: GIB00000 got 22 as expected + Read: GAM00000 got 00 as expected 00075 terminals +ReWrite: GAM00000 got 00 as expected 00080 terminals + Read: BET00000 got 00 as expected 00034 terminals +ReWrite: GAM00000 got 00/02 as expected +ReWrite: FOR00000 got 00/02 as expected +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:10106" +$at_failed && at_fn_log_failure \ +"trace.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10149: COB_TRACE_FILE=+trace_append.txt \\ +COB_SET_TRACE=Y \\ +COB_TRACE_FORMAT=\"%S - %L\" \\ +\$COBCRUN_DIRECT ./prog_s" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10149" +( $at_check_trace; COB_TRACE_FILE=+trace_append.txt \ +COB_SET_TRACE=Y \ +COB_TRACE_FORMAT="%S - %L" \ +$COBCRUN_DIRECT ./prog_s +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK: Operations on empty file +Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Stop read after: 11 +LIST SAMPLE FILE DESCENDING +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=8470 . +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6. + Write: GIB00000 got 22 as expected + Read: GAM00000 got 00 as expected 00075 terminals +ReWrite: GAM00000 got 00 as expected 00080 terminals + Read: BET00000 got 00 as expected 00034 terminals +ReWrite: GAM00000 got 00/02 as expected +ReWrite: FOR00000 got 00/02 as expected +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:10149" +$at_failed && at_fn_log_failure \ +"trace.txt" +$at_traceon; } + + + +cat >reference_append <<'_ATEOF' +Source: 'prog.cob' +Program-Id: prog + Entry: prog and now ... 292 +Paragraph: MAINFILE and now ... 292 +Paragraph: LOADFILE and now ... 335 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: 1000-LOAD-RECORD and now ... 358 +Paragraph: LISTFILE and now ... 387 +Source: 'prog.cob' +Program-Id: prog + Entry: prog - 292 +Paragraph: MAINFILE - 292 +Paragraph: LOADFILE - 335 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: 1000-LOAD-RECORD - 358 +Paragraph: LISTFILE - 387 +_ATEOF + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10242: diff reference_append trace_append.txt" +at_fn_check_prepare_trace "run_misc.at:10242" +( $at_check_trace; diff reference_append trace_append.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_misc.at:10242" +$at_failed && at_fn_log_failure \ +"trace.txt" \ +"trace_append.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_820 +#AT_START_821 +at_fn_group_banner 821 'run_misc.at:10247' \ + "stack and dump feature" " " 4 +at_xfail=no +( + printf "%s\n" "821. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >cpyabrt <<'_ATEOF' + + MOVE "Quick brown fox jumped over the dog" + TO TSTTAILX (1:40). + MOVE CM-COMPANY TO TSTTAILX (42:20). + * DISPLAY ':' X ':'. + * DISPLAY CM-COMPANY. + * DISPLAY '>' CM-COMPANY '<'. +_ATEOF + + +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. + + 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). + + 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 BIN PIC 9(9) BINARY VALUE 0. + + 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 IS EXTERNAL. + 05 SUB PICTURE 9(4) COMP SYNC. + 88 ODD-RECORD VALUE 1 3 5. + 01 SUMS-NON-STD-OCCURS PIC S9(15)V9(03) OCCURS 8 VALUE -42.345. + + PROCEDURE DIVISION. + + PERFORM LOADFILE. + + OPEN INPUT FLATFILE. + READ FLATFILE. + + MAIN-100. + PERFORM CALL-SUB-1. + PERFORM CALL-SUB-2. + PERFORM CALL-IT-OMIT. + STOP RUN. + + LOADFILE. + OPEN OUTPUT FLATFILE. + + PERFORM LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + 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 TSPFL-RECORD. + + CALL-SUB-1 SECTION. + CALL "sub1" USING bin, TSPFL-RECORD. + + CALL-SUB-2 SECTION. + MOVE 4096 TO bin, SUMS-NON-STD-OCCURS (2) + CALL "sub2" USING bin, TSPFL-RECORD. + + CALL-IT-OMIT SECTION. + MOVE 5440 TO bin, SUMS-NON-STD-OCCURS (3) + CALL "sub2" USING bin, TSPFL-RECORD. + + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. sub1. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ZRO PIC 9(9) BINARY VALUE 0. + 01 HEXV PIC X COMP-X. + 01 HEXC REDEFINES HEXV PIC X. + + 01 TEST-BASED BASED. + 05 TEST-BASED-SUB PIC X(00000100000). + + 01 TEST-ALLOCED BASED. + 05 TEST-ALLOCED-SUB1 PIC X(010). + 05 TEST-ALLOCED-SUB2 PIC 9(006). + + 01 IDX PIC 9(9) BINARY VALUE 0. + 01 TSTREC. + 05 TSTDEP PIC XXX. + 05 TSTX OCCURS 4 TIMES. + 15 TSTG-1 PIC 99. + 15 TSTX-2 PIC XX OCCURS 4 TIMES. + 05 TSTTAIL1 PIC 99. + 05 TSTCOMP3 PIC 9(5) COMP-3. + 05 TSTLONG PIC X(100). + 05 TSTHEX PIC X(100). + 05 TSTHEX2 PIC X(60). + 05 TSTTAILX PIC X(80). + + LINKAGE SECTION. + 01 X PIC 9(9) BINARY. + 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). + + PROCEDURE DIVISION USING X, OPTIONAL TSPFL-RECORD. + MAIN-1 SECTION. + MOVE ALL "X" TO TSTREC. + MOVE 1 TO TSTG-1 (1). + MOVE 2 TO TSTG-1 (2). + MOVE 3 TO TSTG-1 (3). + MOVE 'A' TO TSTX-2 (1,1). + MOVE 'B' TO TSTX-2 (2,1). + MOVE 'C' TO TSTX-2 (3,1). + MOVE 'xx' TO TSTX-2 (1,4). + MOVE 'yy' TO TSTX-2 (2,4). + MOVE 'zz' TO TSTX-2 (3,4). + MOVE SPACES TO TSTX-2 (1,3). + MOVE HIGH-VALUES TO TSTX (4). + MOVE LOW-VALUES TO TSTX-2 (2,3). + MOVE HIGH-VALUES TO TSTX-2 (3,3). + MOVE "Quick brown fox jumped over the dog" + TO TSTLONG, TSTLONG (50:36). + MOVE "Quicker grey fox jumped the cougar" + TO TSTHEX (1:35). PERFORM MAIN-2. + MAIN-2. + MOVE 17 TO HEXV. + MOVE HEXC TO TSTHEX (39:1). + MOVE HEXC TO TSTTAIL1 (2:1). + MOVE 7 TO HEXV. + MOVE HEXC TO TSTHEX (47:1). + MOVE 13 TO HEXV. + MOVE HEXC TO TSTHEX (59:1). + MOVE 0 TO HEXV. + MOVE HEXC TO TSTHEX2 (39:1), TSTHEX2 (10:1). + MOVE 9 TO HEXV. + MOVE HEXC TO TSTHEX2 (47:1). + MOVE '\' TO TSTHEX2 (32:1). + MOVE 13 TO HEXV. + MOVE HEXC TO TSTHEX2 (59:1). + MOVE 'A' TO TSTHEX2 (54:1). + MOVE LOW-VALUES TO TSTTAILX + ADD 1 TO X. + DISPLAY "X is " X. + ALLOCATE TEST-ALLOCED INITIALIZED. + COPY cpyabrt. + IF ADDRESS OF TEST-BASED NOT = NULL + DISPLAY TEST-BASED-SUB + END-IF. + GOBACK. + END PROGRAM sub1. +_ATEOF + + +cat >sub2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. sub2. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ZRO PIC 9(9) BINARY VALUE 0. + 01 HEXV PIC X COMP-X. + 01 HEXC REDEFINES HEXV PIC X. + + 01 IDX PIC 9(9) BINARY VALUE 0. + 01 TSTREC. + 05 TSTDEP PIC XXX. + 05 TSTX OCCURS 4 TIMES. + 15 TSTG-1 PIC 99. + 15 TSTX-2 PIC XX OCCURS 4 TIMES. + 05 TSTTAIL1 PIC 99. + 05 TSTCOMP3 PIC 9(5) COMP-3. + 05 TSTLONG PIC X(100). + 05 TSTHEX PIC X(100). + 05 TSTHEX2 PIC X(60). + 05 TSTTAILX PIC X(80). + + 01 BASED-RECORD BASED. + 10 B-NUM PICTURE 9(4) VALUE 123. + 10 B-DISK PICTURE X(8) VALUE "marvdisc". + 10 B-NO-TERMINALS PICTURE 9(4). + 77 BASED-NEVER-SET PIC X BASED. + + LINKAGE SECTION. + 01 X PIC 9(9) BINARY. + 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). + 77 DYNAMIC-NUM PICTURE 9(4). + + PROCEDURE DIVISION USING X, TSPFL-RECORD. + SubwaY SECTION. + IF ADDRESS OF BASED-RECORD = NULL + ALLOCATE BASED-RECORD INITIALIZED + ELSE + SET ADDRESS OF DYNAMIC-NUM TO ADDRESS OF BASED-RECORD + ADD 1 TO B-NUM + END-IF. + DO-CALL. + IF X = 5440 + CALL "sub1" USING X, OMITTED. + MOVE ALL "X" TO TSTREC. + MOVE 1 TO TSTG-1 (1). + MOVE 2 TO TSTG-1 (2). + MOVE 3 TO TSTG-1 (3). + MOVE 'A' TO TSTX-2 (1,1). + MOVE 'B' TO TSTX-2 (2,1). + MOVE 'C' TO TSTX-2 (3,1). + MOVE 'xx' TO TSTX-2 (1,4). + MOVE 'yy' TO TSTX-2 (2,4). + MOVE 'zz' TO TSTX-2 (3,4). + MOVE SPACES TO TSTX-2 (1,3). + MOVE HIGH-VALUES TO TSTX (4). + MOVE LOW-VALUES TO TSTX-2 (2,3). + MOVE HIGH-VALUES TO TSTX-2 (3,3). + MOVE "Quick brown fox jumped over the dog" + TO TSTLONG, TSTLONG (50:36). + MOVE "Quicker grey fox jumped the cougar" + TO TSTHEX (1:35). + MOVE 17 TO HEXV. + MOVE HEXC TO TSTHEX (39:1). + MOVE HEXC TO TSTTAIL1 (2:1). + MOVE 7 TO HEXV. + MOVE HEXC TO TSTHEX (47:1). + MOVE 13 TO HEXV. + MOVE HEXC TO TSTHEX (59:1). + MOVE 0 TO HEXV. + MOVE HEXC TO TSTHEX2 (39:1), TSTHEX2 (10:1). + MOVE 9 TO HEXV. + MOVE HEXC TO TSTHEX2 (47:1). + MOVE '\' TO TSTHEX2 (32:1). + MOVE 13 TO HEXV. + MOVE HEXC TO TSTHEX2 (59:1). + MOVE 'A' TO TSTHEX2 (54:1). + MOVE LOW-VALUES TO TSTTAILX. + * + COPY cpyabrt. + END PROGRAM sub2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10551: \$COMPILE_MODULE -fdump=ALL prog.cob sub2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fdump=ALL prog.cob sub2.cob" "run_misc.at:10551" +( $at_check_trace; $COMPILE_MODULE -fdump=ALL prog.cob sub2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10551" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10553: COB_DUMP_FILE=NONE \\ +\$COBCRUN prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10553" +( $at_check_trace; COB_DUMP_FILE=NONE \ +$COBCRUN prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10553" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10564: COB_DUMP_FILE=tstdump.dump \\ +\$COBCRUN prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10564" +( $at_check_trace; COB_DUMP_FILE=tstdump.dump \ +$COBCRUN prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + +dump written to tstdump.dump +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10564" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +cat >reference_tmpl <<'_ATEOF' + +Module dump due to LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller + + Last statement of "sub1" was MOVE + MAIN-2 OF MAIN-1 at cpyabrt:4 + MAIN-1 at prog.cob:177 + ENTRY sub1 at prog.cob:159 + Last statement of "sub2" was CALL + DO-CALL OF SubwaY at sub2.cob:48 + ENTRY sub2 at sub2.cob:39 + Last statement of "prog" was CALL + CALL-IT-OMIT at prog.cob:118 + MAIN-100 at prog.cob:85 + ENTRY prog at prog.cob:77 + Started by prog + +Dump Program-Id sub1 from prog.cob compiled MMM DD YYYY HH:MM:SS + +WORKING-STORAGE +********************** +77 RETURN-CODE +000000000 +01 ZRO 000000000 +01 HEXV 13 +01 TEST-BASED. address +01 TEST-ALLOCED. + 05 TEST-ALLOCED-SUB1 ALL SPACES + 05 TEST-ALLOCED-SUB2 000000 +01 IDX 000000000 +01 TSTREC. + 05 TSTDEP 'XXX' + 05 TSTX (1). + 15 TSTG-1 (1) 01 + 15 TSTX-2 (1,1) 'A' + 15 TSTX-2 (1,2) 'XX' + 15 TSTX-2 (1,3) ALL SPACES + 15 TSTX-2 (1,4) 'xx' + 05 TSTX (2). + 15 TSTG-1 (2) 02 + 15 TSTX-2 (2,1) 'B' + 15 TSTX-2 (2,2) 'XX' + 15 TSTX-2 (2,3) ALL LOW-VALUES + 15 TSTX-2 (2,4) 'yy' + 05 TSTX (3). + 15 TSTG-1 (3) 03 + 15 TSTX-2 (3,1) 'C' + 15 TSTX-2 (3,2) 'XX' + 15 TSTX-2 (3,3) ALL HIGH-VALUES + 15 TSTX-2 (3,4) 'zz' + 05 TSTX (4). + 15 TSTG-1 (4) ALL HIGH-VALUES + 15 TSTX-2 (4,1) ALL HIGH-VALUES + 15 TSTX-2 (4,2..4) same as (1) + 05 TSTTAIL1 X _ + 1 x 5811 + 05 TSTCOMP3 58585 + 05 TSTLONG 'Quick brown fox jumped over the dog Quick br' + 57:'own fox jumped over the dog' + 05 TSTHEX Q u i c k e r g r e y f o x j u m p e d _ + 1 x 51756963 6B657220 67726579 20666F78 206A756D 70656420 + t h e c o u g a r X X X X X X X X X X X + 25 x 74686520 636F7567 61722058 58581158 58585858 58580758 + X X X X X X X X X X X X X X X X X X X X X X X + 49 x 58585858 58585858 58580D58 58585858 58585858 58585858 + X X X X X X X X X X X X X X X X X X X X X X X X + 73 x 58585858 58585858 58585858 58585858 58585858 58585858 + X X X X + 97 x 58585858 + 05 TSTHEX2 XXXXXXXXX\0XXXXXXXXXXXXXXXXXXXXX\\XXXXXX\0XXXXXXX\tXXXXXX + 54 : AXXXX\rX + 05 TSTTAILX 'Quick brown fox jumped over the dog ' + trailing LOW-VALUES + +LINKAGE +********************** +01 X 000005441 +01 TSPFL-RECORD. address + +END OF DUMP - sub1 +********************** + +Dump Program-Id sub2 from sub2.cob compiled MMM DD YYYY HH:MM:SS + +WORKING-STORAGE +********************** +77 RETURN-CODE +000000000 +01 ZRO 000000000 +01 HEXV 13 +01 IDX 000000000 +01 TSTREC. + 05 TSTDEP 'XXX' + 05 TSTX (1). + 15 TSTG-1 (1) 01 + 15 TSTX-2 (1,1) 'A' + 15 TSTX-2 (1,2) 'XX' + 15 TSTX-2 (1,3) ALL SPACES + 15 TSTX-2 (1,4) 'xx' + 05 TSTX (2). + 15 TSTG-1 (2) 02 + 15 TSTX-2 (2,1) 'B' + 15 TSTX-2 (2,2) 'XX' + 15 TSTX-2 (2,3) ALL LOW-VALUES + 15 TSTX-2 (2,4) 'yy' + 05 TSTX (3). + 15 TSTG-1 (3) 03 + 15 TSTX-2 (3,1) 'C' + 15 TSTX-2 (3,2) 'XX' + 15 TSTX-2 (3,3) ALL HIGH-VALUES + 15 TSTX-2 (3,4) 'zz' + 05 TSTX (4). + 15 TSTG-1 (4) ALL HIGH-VALUES + 15 TSTX-2 (4,1) ALL HIGH-VALUES + 15 TSTX-2 (4,2..4) same as (1) + 05 TSTTAIL1 X _ + 1 x 5811 + 05 TSTCOMP3 58585 + 05 TSTLONG 'Quick brown fox jumped over the dog Quick br' + 57:'own fox jumped over the dog' + 05 TSTHEX Q u i c k e r g r e y f o x j u m p e d _ + 1 x 51756963 6B657220 67726579 20666F78 206A756D 70656420 + t h e c o u g a r X X X X X X X X X X X + 25 x 74686520 636F7567 61722058 58581158 58585858 58580758 + X X X X X X X X X X X X X X X X X X X X X X X + 49 x 58585858 58585858 58580D58 58585858 58585858 58585858 + X X X X X X X X X X X X X X X X X X X X X X X X + 73 x 58585858 58585858 58585858 58585858 58585858 58585858 + X X X X + 97 x 58585858 + 05 TSTHEX2 XXXXXXXXX\0XXXXXXXXXXXXXXXXXXXXX\\XXXXXX\0XXXXXXX\tXXXXXX + 54 : AXXXX\rX + 05 TSTTAILX Quick brown fox jumped over the dog \0ALPHA ELECTRICA + 57 : L CO.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 +01 BASED-RECORD. + 10 B-NUM 0124 + 10 B-DISK 'marvdisc' + 10 B-NO-TERMINALS 0000 +77 BASED-NEVER-SET address + +LINKAGE +********************** +01 X 000005441 +01 TSPFL-RECORD. + 10 CM-CUST-NUM 'ALP00000' + 10 CM-COMPANY 'ALPHA ELECTRICAL CO. LTD.' + 10 CM-DISK '8417' + 10 CM-NO-TERMINALS 0010 +77 DYNAMIC-NUM 0124 + +END OF DUMP - sub2 +********************** + +Dump Program-Id prog from prog.cob compiled MMM DD YYYY HH:MM:SS + +FD FLATFILE +********************** + File is OPEN + FILE STATUS '00' +01 TSPFL-RECORD. + 10 CM-CUST-NUM 'ALP00000' + 10 CM-COMPANY 'ALPHA ELECTRICAL CO. LTD.' + 10 CM-DISK '8417' + 10 CM-NO-TERMINALS 0010 + +WORKING-STORAGE +********************** +77 RETURN-CODE +000000000 +77 MAX-SUB 0006 +77 CUST-STAT ALL ZEROES +77 REC-NUM 0001 +01 BIN 000005441 +01 TEST-DATA. + 02 DATA-CUST-NUM-TBL. + 05 FILLER 'ALP00000' + 05 FILLER 'BET00000' + 05 FILLER 'DEL00000' + 05 FILLER 'EPS00000' + 05 FILLER 'FOR00000' + 05 FILLER 'GAM00000' + 02 DATA-COMPANY-TBL. + 05 FILLER 'ALPHA ELECTRICAL CO. LTD.' + 05 FILLER 'BETA SHOE MFG. INC.' + 05 FILLER 'DELTA LUGGAGE REPAIRS' + 05 FILLER 'EPSILON EQUIPMENT SUPPLY' + 05 FILLER 'FORTUNE COOKIE COMPANY' + 05 FILLER 'GAMMA X-RAY TECHNOLOGY' + 02 DATA-ADDRESS-2-TBL. + 05 FILLER 'ATLANTA' + 05 FILLER 'CALGARY' + 05 FILLER 'NEW YORK' + 05 FILLER 'TORONTO' + 05 FILLER 'WASHINGTON' + 05 FILLER 'WHITEPLAIN' + 02 DATA-NO-TERMINALS-TBL. + 05 FILLER 010 + 05 FILLER 013 + 05 FILLER 075 + 05 FILLER 010 + 05 FILLER 090 + 05 FILLER 254 +01 WORK-AREA. + 05 SUB 0007 +01 SUMS-NON-STD-OCCURS (1) -000000000000042.345 +01 SUMS-NON-STD-OCCURS (2) +000000000004096.000 +01 SUMS-NON-STD-OCCURS (3) +000000000005440.000 +01 SUMS-NON-STD-OCCURS (4) -000000000000042.345 +01 SUMS-NON-STD-OCCURS (5..8) same as (4) + +END OF DUMP - prog +********************** + +_ATEOF + + +# AT_DATA workaround via sed: +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10787: \$SED -e 's/_\$//' reference_tmpl > reference" +at_fn_check_prepare_dynamic "$SED -e 's/_$//' reference_tmpl > reference" "run_misc.at:10787" +( $at_check_trace; $SED -e 's/_$//' reference_tmpl > reference +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10787" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10788: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \\ +tstdump.dump > tstdump.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10788" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \ +tstdump.dump > tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10788" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10791: diff reference tstdump.sed" +at_fn_check_prepare_trace "run_misc.at:10791" +( $at_check_trace; diff reference tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10791" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +# recheck with COBC_GEN_DUMP_COMMENTS, which may not change the output +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10794: COBC_GEN_DUMP_COMMENTS=1 \\ +\$COMPILE_MODULE -fdump=ALL prog.cob sub2.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10794" +( $at_check_trace; COBC_GEN_DUMP_COMMENTS=1 \ +$COMPILE_MODULE -fdump=ALL prog.cob sub2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10794" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10797: COB_DUMP_FILE=tstdump.dump \\ +\$COBCRUN prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10797" +( $at_check_trace; COB_DUMP_FILE=tstdump.dump \ +$COBCRUN prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + +dump written to tstdump.dump +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10797" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10808: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \\ +tstdump.dump > tstdump.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10808" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \ +tstdump.dump > tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10808" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10811: diff reference tstdump.sed" +at_fn_check_prepare_trace "run_misc.at:10811" +( $at_check_trace; diff reference tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10811" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + + +# using both +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10815: COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \\ +\$COBCRUN prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10815" +( $at_check_trace; COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \ +$COBCRUN prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + + Last statement of \"sub1\" was MOVE + MAIN-2 OF MAIN-1 at cpyabrt:4 + MAIN-1 at prog.cob:177 + ENTRY sub1 at prog.cob:159 + Last statement of \"sub2\" was CALL + DO-CALL OF SubwaY at sub2.cob:48 + ENTRY sub2 at sub2.cob:39 + Last statement of \"prog\" was CALL + CALL-IT-OMIT at prog.cob:118 + MAIN-100 at prog.cob:85 + ENTRY prog at prog.cob:77 + Started by prog + +dump written to tstdump.dump +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10815" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10839: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \\ +tstdump.dump > tstdump.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10839" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \ +tstdump.dump > tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10839" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10842: diff reference tstdump.sed" +at_fn_check_prepare_trace "run_misc.at:10842" +( $at_check_trace; diff reference tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10842" +$at_failed && at_fn_log_failure \ +"tstdump.dump" +$at_traceon; } + + + + +cat >reference_stderr <<'_ATEOF' +libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + + Last statement of "sub1" was MOVE + MAIN-2 OF MAIN-1 at cpyabrt:4 + MAIN-1 at prog.cob:177 + ENTRY sub1 at prog.cob:159 + Last statement of "sub2" was CALL + DO-CALL OF SubwaY at sub2.cob:48 + ENTRY sub2 at sub2.cob:39 + Last statement of "prog" was CALL + CALL-IT-OMIT at prog.cob:118 + MAIN-100 at prog.cob:85 + ENTRY prog at prog.cob:77 + Started by ./prog +_ATEOF + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10866: \$COMPILE prog.cob sub2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob sub2.cob" "run_misc.at:10866" +( $at_check_trace; $COMPILE prog.cob sub2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10866" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +# also checking that a dump file without anything to dump does not do anything +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10869: COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \\ +\$COBCRUN_DIRECT ./prog 2>stderr.txt" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10869" +( $at_check_trace; COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \ +$COBCRUN_DIRECT ./prog 2>stderr.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"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10869" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10875: \$SED -e 's/Started by .*prog.exe/Started by .\\/prog/g' \\ +stderr.txt > stderr.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10875" +( $at_check_trace; $SED -e 's/Started by .*prog.exe/Started by .\/prog/g' \ +stderr.txt > stderr.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10875" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10878: diff reference_stderr stderr.sed" +at_fn_check_prepare_trace "run_misc.at:10878" +( $at_check_trace; diff reference_stderr stderr.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10878" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10880: \$COMPILE -fdump=ALL -fno-dump prog.cob sub2.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdump=ALL -fno-dump prog.cob sub2.cob" "run_misc.at:10880" +( $at_check_trace; $COMPILE -fdump=ALL -fno-dump prog.cob sub2.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10880" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +# also checking that a dump file without anything to dump does not do anything +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10883: COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \\ +\$COBCRUN_DIRECT ./prog 2>stderr.txt" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10883" +( $at_check_trace; COB_STACKTRACE=1 COB_DUMP_FILE=tstdump.dump \ +$COBCRUN_DIRECT ./prog 2>stderr.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"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10883" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10889: \$SED -e 's/Started by .*prog.exe/Started by .\\/prog/g' \\ +stderr.txt > stderr.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10889" +( $at_check_trace; $SED -e 's/Started by .*prog.exe/Started by .\/prog/g' \ +stderr.txt > stderr.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10889" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10892: diff reference_stderr stderr.sed" +at_fn_check_prepare_trace "run_misc.at:10892" +( $at_check_trace; diff reference_stderr stderr.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10892" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10894: \$COMPILE -fdump=FD,LS prog.cob sub2.cob -o prog_fdls" +at_fn_check_prepare_dynamic "$COMPILE -fdump=FD,LS prog.cob sub2.cob -o prog_fdls" "run_misc.at:10894" +( $at_check_trace; $COMPILE -fdump=FD,LS prog.cob sub2.cob -o prog_fdls +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10894" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10896: COB_DUMP_FILE=tstdump_fdls.dump \\ +\$COBCRUN_DIRECT ./prog_fdls" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10896" +( $at_check_trace; COB_DUMP_FILE=tstdump_fdls.dump \ +$COBCRUN_DIRECT ./prog_fdls +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + +dump written to tstdump_fdls.dump +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10896" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" +$at_traceon; } + + + + + +cat >reference_fdls_tmpl <<'_ATEOF' + +Module dump due to LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller + + Last statement of "sub1" was MOVE + MAIN-2 OF MAIN-1 at cpyabrt:4 + MAIN-1 at prog.cob:177 + ENTRY sub1 at prog.cob:159 + Last statement of "sub2" was CALL + DO-CALL OF SubwaY at sub2.cob:48 + ENTRY sub2 at sub2.cob:39 + Last statement of "prog" was CALL + CALL-IT-OMIT at prog.cob:118 + MAIN-100 at prog.cob:85 + ENTRY prog at prog.cob:77 + Started by ./prog_fdls + +Dump Program-Id sub1 from prog.cob compiled MMM DD YYYY HH:MM:SS + +LINKAGE +********************** +01 X 000005441 +01 TSPFL-RECORD. address + +END OF DUMP - sub1 +********************** + +Dump Program-Id sub2 from sub2.cob compiled MMM DD YYYY HH:MM:SS + +LINKAGE +********************** +01 X 000005441 +01 TSPFL-RECORD. + 10 CM-CUST-NUM 'ALP00000' + 10 CM-COMPANY 'ALPHA ELECTRICAL CO. LTD.' + 10 CM-DISK '8417' + 10 CM-NO-TERMINALS 0010 +77 DYNAMIC-NUM 0124 + +END OF DUMP - sub2 +********************** + +Dump Program-Id prog from prog.cob compiled MMM DD YYYY HH:MM:SS + +FD FLATFILE +********************** + File is OPEN + FILE STATUS '00' +01 TSPFL-RECORD. + 10 CM-CUST-NUM 'ALP00000' + 10 CM-COMPANY 'ALPHA ELECTRICAL CO. LTD.' + 10 CM-DISK '8417' + 10 CM-NO-TERMINALS 0010 + +END OF DUMP - prog +********************** + +_ATEOF + + +# AT_DATA workaround via sed: +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10969: \$SED -e 's/_\$//' reference_fdls_tmpl > reference" +at_fn_check_prepare_dynamic "$SED -e 's/_$//' reference_fdls_tmpl > reference" "run_misc.at:10969" +( $at_check_trace; $SED -e 's/_$//' reference_fdls_tmpl > reference +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10969" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10970: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog_fdls.exe/Started by .\\/prog_fdls/g' \\ +tstdump_fdls.dump > tstdump.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10970" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog_fdls.exe/Started by .\/prog_fdls/g' \ +tstdump_fdls.dump > tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10970" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10974: diff reference tstdump.sed" +at_fn_check_prepare_trace "run_misc.at:10974" +( $at_check_trace; diff reference tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10974" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10976: \$COMPILE -fdump=ALL -fno-dump=LO,WS,SC prog.cob sub2.cob -o prog_allfdls" +at_fn_check_prepare_dynamic "$COMPILE -fdump=ALL -fno-dump=LO,WS,SC prog.cob sub2.cob -o prog_allfdls" "run_misc.at:10976" +( $at_check_trace; $COMPILE -fdump=ALL -fno-dump=LO,WS,SC prog.cob sub2.cob -o prog_allfdls +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10976" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10978: COB_DUMP_FILE=tstdump_allfdls.dump \\ +\$COBCRUN_DIRECT ./prog_allfdls" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10978" +( $at_check_trace; COB_DUMP_FILE=tstdump_allfdls.dump \ +$COBCRUN_DIRECT ./prog_allfdls +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') + +dump written to tstdump_allfdls.dump +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "X is 000000001 +X is 000005441 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:10978" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10989: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog_allfdls.exe/Started by .\\/prog_allfdls/g' \\ +tstdump_allfdls.dump > tstdump.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10989" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog_allfdls.exe/Started by .\/prog_allfdls/g' \ +tstdump_allfdls.dump > tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10989" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10993: \$SED -e 's/prog_fdls/prog_allfdls/' \\ +reference > reference_all" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:10993" +( $at_check_trace; $SED -e 's/prog_fdls/prog_allfdls/' \ +reference > reference_all +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10993" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:10996: diff reference_all tstdump.sed" +at_fn_check_prepare_trace "run_misc.at:10996" +( $at_check_trace; diff reference_all tstdump.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10996" +$at_failed && at_fn_log_failure \ +"tstdump.dump" \ +"stderr.txt" \ +"tstdump_fdls.dump" +$at_traceon; } + + +# CHECKME @ Ron: The result is likely wrong, please verify later +#AT_CHECK([$COMPILE -fdump=LS prog.cob sub2.cob -fsticky-linkage -o prog_ls_sticky], [0], [], []) +# +#AT_CHECK([COB_DUMP_FILE=tstdump_ls_sticky.dump \ +#$COBCRUN_DIRECT ./prog_ls_sticky], [1], +#[X is 000000001 +#X is 000005441 +#], +#[libcob: cpyabrt:4: error: LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +#libcob: cpyabrt:4: warning: implicit CLOSE of FLATFILE ('RELFIX') +# +#dump written to tstdump_ls_sticky.dump +#]) +# +# +#AT_CAPTURE_FILE([tstdump_ls_sticky.dump]) +# +#AT_DATA([reference_ls_sticky_tmpl], [ +#Module dump due to LINKAGE item 'TSPFL-RECORD' (accessed by 'CM-COMPANY') not passed by caller +# +# Last statement of "sub1" was MOVE +# MAIN-2 OF MAIN-1 at cpyabrt:4 +# MAIN-1 at prog.cob:177 +# ENTRY sub1 at prog.cob:159 +# Last statement of "sub2" was CALL +# DO-CALL OF SubwaY at sub2.cob:48 +# ENTRY sub2 at sub2.cob:39 +# Last statement of "prog" was CALL +# CALL-IT-OMIT at prog.cob:118 +# MAIN-100 at prog.cob:85 +# ENTRY prog at prog.cob:77 +# Started by ./prog_ls_sticky +# +#Dump Program-Id sub1 from prog.cob compiled MMM DD YYYY HH:MM:SS +# +#LINKAGE +#********************** +#01 X 000005441 +#01 TSPFL-RECORD. address +# +#Dump Program-Id sub2 from sub2.cob compiled MMM DD YYYY HH:MM:SS +# +#LINKAGE +#********************** +#01 X 000005441 +#01 TSPFL-RECORD. +# 10 CM-CUST-NUM 'ALP00000' +# 10 CM-COMPANY 'ALPHA ELECTRICAL CO. LTD.' +# 10 CM-DISK '8417' +# 10 CM-NO-TERMINALS 0010 +#77 DYNAMIC-NUM 0124 +# +#Dump Program-Id prog from prog.cob compiled MMM DD YYYY HH:MM:SS +# +#]) +# +## AT_DATA workaround via sed: +#AT_CHECK([$SED -e 's/_$//' reference_ls_sticky_tmpl > reference], [0], [], []) +#AT_CHECK([$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g' \ +#tstdump_ls_sticky.dump > tstdump.sed], [0], [], []) +# +#AT_CHECK([diff reference tstdump.sed], [0], [], []) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_821 +#AT_START_822 +at_fn_group_banner 822 'run_misc.at:11064' \ + "dump feature with NULL address" " " 4 +at_xfail=no +( + printf "%s\n" "822. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P2 USAGE POINTER. + + 01 TAB-ADR-COUNT PIC S9(4) VALUE 8. + + 01 TAB-ADR OCCURS 0 TO 1000 TIMES + DEPENDING ON TAB-ADR-COUNT + INDEXED BY TAB-ADR-IND. + 05 TAB-ADR-ELEMENT. + 10 TAB-ADR-PRGM PIC X(8). + 10 TAB-ADR-ID PIC X(2). + 10 TAB-ADR-ADR-64 PIC S9(16) COMP-5. + 10 TAB-ADR-LAST-ADR-64 PIC S9(16) COMP-5. + + 01 GRP-X BASED. + 05 FILLER PIC X(3). + 05 FLD-X OCCURS 10 TIMES. + 10 FLD-X-Y PIC 9999 VALUE 2020. + 10 FLD-X-M PIC 99 VALUE 11. + 10 FLD-X-X PIC X(128) VALUE "This is something ". + 05 FILLER PIC X(3). + + 01 GRP-1. + 05 FILLER PIC X(3). + 05 FLD-1 OCCURS 10 TIMES. + 10 FLD-1-Y PIC 9999 VALUE 2020. + 10 FLD-1-M PIC 99 VALUE 11. + 10 FLD-1-X PIC X(128) VALUE "This is something ". + 05 FILLER PIC X(3). + + 01 GRP-2. + 05 FILLER PIC X(3). + 05 FLD-2 PIC X(42) VALUE ALL "ABCD ". + 05 FILLER PIC X(3). + 01 GRP-2A. + 05 FILLER PIC X(2). + 05 FLD-2A PIC X(8) VALUE ALL "ABC". + 05 FILLER PIC X(1200) VALUE "X". + 01 GRP-3. + 05 FILLER PIC X(3). + 05 FLD-3 OCCURS 3 TIMES. + 15 FLD-3-2 PIC XXX VALUE "ABC". + 15 FLD-3-3 PIC 99 VALUE ZERO. + 15 OCCURS 4 VALUE ALL "D99". + 25 FLD-3O-1 PIC X. + 25 FLD-3O-2 PIC 99. + 15 FLD-3-4 PIC XX VALUE ALL "X". + 05 FILLER PIC X(3). + + 77 C5 PIC 9(03) VALUE 6. + 01 GRP-5. + 05 FILLER PIC X(3). + 05 FLD-5. + 10 FLD-5-1 OCCURS 0 TO 9 TIMES + DEPENDING ON C5. + 15 FLD-5-2 PIC XXX VALUE "Mon". + 15 FLD-5-3 PIC 99 VALUE 49. + 15 FLD-5-4 PIC XX VALUE "ey". + + LINKAGE SECTION. + 01 A-TABLE. + 03 prefix. + 05 n PIC 9(03) VALUE 123. + 03 table-data value all "ABCDE". + 04 rows OCCURS 0 TO UNBOUNDED TIMES + DEPENDING ON n. + 05 col1 PIC X. + 05 col2 PIC X(02). + + PROCEDURE DIVISION. + MOVE ALL "*" TO GRP-2 + INITIALIZE FLD-2 ALL TO VALUE + DISPLAY "GRP-2:" GRP-2. + * + MOVE ALL "*" TO GRP-3 + INITIALIZE GRP-3 NUMERIC TO VALUE + INITIALIZE FLD-3 (1) ALL TO VALUE + INITIALIZE FLD-3 (2) ALL TO VALUE + INITIALIZE FLD-3 (3) ALL TO VALUE + INITIALIZE FLD-3O-1 (3,2), FLD-3O-2 (3,2) + DISPLAY "GRP-3:" GRP-3. + * + MOVE 7 TO c5 + MOVE ALL "*" TO GRP-5 + INITIALIZE FLD-5 ALL TO VALUE + DISPLAY "GRP-5:" GRP-5. + * + MOVE SPACES TO GRP-2A + MOVE "Peek" TO GRP-2A (510:4) + MOVE "Boo" TO GRP-2A (910:3) + MOVE X"FE99" TO GRP-2A (910:2) + MOVE "You" TO GRP-2A (1010:3) + MOVE "$$" TO FLD-5-4 (5) + MOVE "Something else!" TO FLD-1-X (5). + * + * "the initial value of an index-name at runtime is undefined" + * Old OpenCOBOL/GnuCOBOL did that as "1" + SET TAB-ADR-IND TO 1. + * + SET P2 TO NULL + SET ADDRESS OF A-TABLE TO NULL + MOVE ALL ZEROES TO A-TABLE (1: (LENGTH OF A-TABLE)). + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11177: \$COMPILE -fdump=ALL prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdump=ALL prog.cob" "run_misc.at:11177" +( $at_check_trace; $COMPILE -fdump=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_misc.at:11177" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11179: COB_DUMP_FILE=dumpall.txt \\ +\$COBCRUN_DIRECT ./prog \"param 1\" param 'param 3'" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:11179" +( $at_check_trace; COB_DUMP_FILE=dumpall.txt \ +$COBCRUN_DIRECT ./prog "param 1" param 'param 3' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:106: error: BASED/LINKAGE item 'A-TABLE' has NULL address + +dump written to dumpall.txt +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "GRP-2:***ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD AB*** +GRP-3:***ABC00D99D99D99D99XXABC00D99D99D99D99XXABC00D99 00D99D99XX*** +GRP-5:***Mon49eyMon49eyMon49eyMon49eyMon49eyMon49eyMon49ey +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:11179" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >reference_tmpl <<'_ATEOF' + +Module dump due to BASED/LINKAGE item 'A-TABLE' has NULL address + + Last statement of "prog" was MOVE at line 106 of prog.cob + ENTRY prog at prog.cob:75 + Started by ./prog + param 1 + param + param 3 + +Dump Program-Id prog from prog.cob compiled MMM DD YYYY HH:MM:SS + +WORKING-STORAGE +********************** +77 RETURN-CODE +000000000 +01 P2 0x0000000000000000 +01 TAB-ADR-COUNT +0008 + INDEX TAB-ADR-IND +000000001 +01 TAB-ADR (1). + 05 TAB-ADR-ELEMENT (1). + 10 TAB-ADR-PRGM (1) ALL SPACES + 10 TAB-ADR-ID (1) ALL SPACES + 10 TAB-ADR-ADR-64 (1) +00000000000000000000 + 10 TAB-ADR-LAST-ADR-64 (1) +00000000000000000000 +01 TAB-ADR (2..8) same as (1) +01 GRP-X. address +01 GRP-1. + 05 FILLER ALL SPACES + 05 FLD-1 (1). + 10 FLD-1-Y (1) 2020 + 10 FLD-1-M (1) 11 + 10 FLD-1-X (1) 'This is something' + 05 FLD-1 (2..4) same as (1) + 05 FLD-1 (5). + 10 FLD-1-Y (5) 2020 + 10 FLD-1-M (5) 11 + 10 FLD-1-X (5) 'Something else!' + 05 FLD-1 (6). + 10 FLD-1-Y (6) 2020 + 10 FLD-1-M (6) 11 + 10 FLD-1-X (6) 'This is something' + 05 FLD-1 (7..10) same as (6) + 05 FILLER ALL SPACES +01 GRP-2. + 05 FILLER '***' + 05 FLD-2 'ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD AB' + 05 FILLER '***' +01 GRP-2A. + 05 FILLER ALL SPACES + 05 FLD-2A ALL SPACES + 05 FILLER _ + 1 x 20202020 20202020 20202020 20202020 20202020 20202020 + --- 25 thru 492 same as above --- + P e e k _ + 493 x 20202020 20202050 65656B20 20202020 20202020 20202020 + _ + 517 x 20202020 20202020 20202020 20202020 20202020 20202020 + --- 541 thru 878 same as above --- + _ + 879 x 2020 20202020 20202020 20202020 20202020 202020FE 99 + o _ + 902 x 6F2020 20202020 20202020 20202020 20202020 20202020 _ + _ + 925 x 20202020 20202020 20202020 20202020 20202020 20202020_ + --- 949 thru 974 same as above --- + _ + 975 x 2020 20202020 20202020 20202020 20202020 20202020 20 + Y o u _ + 998 x 202059 6F752020 20202020 20202020 20202020 20202020 _ + _ + 1021 x 20202020 20202020 20202020 20202020 20202020 20202020 + --- 1045 thru 1174 same as above --- + _ + 1175 x 2020 20202020 20202020 20202020 20202020 20202020 20 + _ + 1198 x 202020 +01 GRP-3. + 05 FILLER '***' + 05 FLD-3 (1). + 15 FLD-3-2 (1) 'ABC' + 15 FLD-3-3 (1) 00 + 15 FILLER (1,1). + 25 FLD-3O-1 (1,1) 'D' + 25 FLD-3O-2 (1,1) 99 + 15 FILLER (1,2..4) same as (1) + 15 FLD-3-4 (1) 'XX' + 05 FLD-3 (2) same as (1) + 05 FLD-3 (3). + 15 FLD-3-2 (3) 'ABC' + 15 FLD-3-3 (3) 00 + 15 FILLER (3,1). + 25 FLD-3O-1 (3,1) 'D' + 25 FLD-3O-2 (3,1) 99 + 15 FILLER (3,2). + 25 FLD-3O-1 (3,2) ALL SPACES + 25 FLD-3O-2 (3,2) 00 + 15 FILLER (3,3). + 25 FLD-3O-1 (3,3) 'D' + 25 FLD-3O-2 (3,3) 99 + 15 FILLER (3,4) same as (3) + 15 FLD-3-4 (3) 'XX' + 05 FILLER '***' +77 C5 007 +01 GRP-5. + 05 FILLER '***' + 05 FLD-5. + 10 FLD-5-1 (1). + 15 FLD-5-2 (1) 'Mon' + 15 FLD-5-3 (1) 49 + 15 FLD-5-4 (1) 'ey' + 10 FLD-5-1 (2..4) same as (1) + 10 FLD-5-1 (5). + 15 FLD-5-2 (5) 'Mon' + 15 FLD-5-3 (5) 49 + 15 FLD-5-4 (5) '$$' + 10 FLD-5-1 (6). + 15 FLD-5-2 (6) 'Mon' + 15 FLD-5-3 (6) 49 + 15 FLD-5-4 (6) 'ey' + 10 FLD-5-1 (7) same as (6) + +LINKAGE +********************** +01 A-TABLE. address + +END OF DUMP - prog +********************** + +_ATEOF + + +# AT_DATA workaround via sed: +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11323: \$SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog.exe/Started by .\\/prog/g' \\ +dumpall.txt > dumpall.sed" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:11323" +( $at_check_trace; $SED -e 's/compiled ... .. .... ..:..:../compiled MMM DD YYYY HH:MM:SS/g; + s/Started by .*prog.exe/Started by .\/prog/g' \ +dumpall.txt > dumpall.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11323" +$at_failed && at_fn_log_failure \ +"dumpall.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11327: test \"\$COB_HAS_64_BIT_POINTER\" = \"yes\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_64_BIT_POINTER\" = \"yes\"" "run_misc.at:11327" +( $at_check_trace; test "$COB_HAS_64_BIT_POINTER" = "yes" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11327" +if $at_failed +then : + # Previous test "failed" --> 32 bit + { set +x +printf "%s\n" "$at_srcdir/run_misc.at:11329: \$SED -e 's/_\$//; s/0x0000000000000000/0x00000000/' reference_tmpl > reference" +at_fn_check_prepare_dynamic "$SED -e 's/_$//; s/0x0000000000000000/0x00000000/' reference_tmpl > reference" "run_misc.at:11329" +( $at_check_trace; $SED -e 's/_$//; s/0x0000000000000000/0x00000000/' reference_tmpl > reference +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11329" +$at_failed && at_fn_log_failure \ +"dumpall.txt" +$at_traceon; } + + +else $as_nop + # Previous test "passed" --> 64 bit + { set +x +printf "%s\n" "$at_srcdir/run_misc.at:11332: \$SED -e 's/_\$//' reference_tmpl > reference" +at_fn_check_prepare_dynamic "$SED -e 's/_$//' reference_tmpl > reference" "run_misc.at:11332" +( $at_check_trace; $SED -e 's/_$//' reference_tmpl > reference +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11332" +$at_failed && at_fn_log_failure \ +"dumpall.txt" +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure \ +"dumpall.txt" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11335: diff reference dumpall.sed" +at_fn_check_prepare_trace "run_misc.at:11335" +( $at_check_trace; diff reference dumpall.sed +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11335" +$at_failed && at_fn_log_failure \ +"dumpall.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_822 +#AT_START_823 +at_fn_group_banner 823 'run_misc.at:11340' \ + "CALL with program prototypes" " " 4 +at_xfail=no +( + printf "%s\n" "823. $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 +printf "%s\n" "$at_srcdir/run_misc.at:11388: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:11388" +( $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:11388" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11389: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "run_misc.at:11389" +( $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"; printf "%s\n" "Hello! +Hello again! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11389" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + + PROCEDURE DIVISION. + MAIN-LINE. + + PERFORM DO-CHECK + >> IF CHECK-PERF IS DEFINED + *> minimal side-test for performance comparisons + PERFORM DO-CHECK 10000 TIMES + >> END-IF + DISPLAY 'DONE' UPON SYSERR WITH NO ADVANCING + GOBACK. + + DO-CHECK. + CALL "prog" + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11414: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:11414" +( $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:11414" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11415: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:11415" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "DONE" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11415" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_823 +#AT_START_824 +at_fn_group_banner 824 'run_misc.at:11419' \ + "REDEFINES values on FILLER and INITIALIZE" " " 4 +at_xfail=no +( + printf "%s\n" "824. $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 +printf "%s\n" "$at_srcdir/run_misc.at:11458: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:11458" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:9: warning: initial VALUE clause ignored for REDEFINES item 'WS-ASK-ID-DATE-YYYY' +prog.cob:10: warning: initial VALUE clause ignored for REDEFINES item 'FILLER' +prog.cob:12: warning: initial VALUE clause ignored for REDEFINES item 'FILLER' +" | \ + $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:11458" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11464: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11464" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:11464" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_824 +#AT_START_825 +at_fn_group_banner 825 'run_misc.at:11474' \ + "PICTURE with constant-name" " " 4 +at_xfail=no +( + printf "%s\n" "825. $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 +printf "%s\n" "$at_srcdir/run_misc.at:11494: \$COMPILE_ONLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "run_misc.at:11494" +( $at_check_trace; $COMPILE_ONLY prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:11: warning: expression '16' NOT EQUAL '16' 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/run_misc.at:11494" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11497: \$COMPILE -fno-constant-folding prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-constant-folding prog.cob" "run_misc.at:11497" +( $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/run_misc.at:11497" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11498: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11498" +( $at_check_trace; $COBCRUN_DIRECT ./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:11498" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_825 +#AT_START_826 +at_fn_group_banner 826 'run_misc.at:11502' \ + "Quote marks in comment paragraphs" " " 4 +at_xfail=no +( + printf "%s\n" "826. $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 +printf "%s\n" "$at_srcdir/run_misc.at:11516: \$COMPILE -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:11516" +( $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"; printf "%s\n" "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:11516" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11519: \$COMPILE -free -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -free -o prog prog.cob" "run_misc.at:11519" +( $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"; printf "%s\n" "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:11519" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11522: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11522" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello, world! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11522" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_826 +#AT_START_827 +at_fn_group_banner 827 'run_misc.at:11528' \ + "Numeric MOVE with/without -fbinary-truncate" " " 4 +at_xfail=no +( + printf "%s\n" "827. $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 30000 + DISPLAY "x IS 30000" + + WHEN >= 10000 + DISPLAY "x >= 10000" + + WHEN ZERO + DISPLAY "x IS ZERO" + + WHEN OTHER + CONTINUE + END-EVALUATE + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11570: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:11570" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: value size exceeds data size +prog.cob:10: note: value is 30000 +prog.cob:7: note: 'x' defined here as PIC 9(4) +" | \ + $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:11570" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11575: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11575" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:11575" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11581: \$COMPILE -fno-binary-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-binary-truncate prog.cob" "run_misc.at:11581" +( $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:11581" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11582: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11582" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "x IS 30000 +x IS 30000 +x IS 30000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11582" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11588: \$COMPILE -fno-binary-truncate -fno-fast-compare prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-binary-truncate -fno-fast-compare prog.cob" "run_misc.at:11588" +( $at_check_trace; $COMPILE -fno-binary-truncate -fno-fast-compare prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11588" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11589: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11589" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "x IS 30000 +x IS 30000 +x IS 30000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11589" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_827 +#AT_START_828 +at_fn_group_banner 828 'run_misc.at:11598' \ + "Alphanumeric MOVE with truncation" " " 4 +at_xfail=no +( + printf "%s\n" "828. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 x-left PIC X(03). + 01 x-right PIC X(03) JUSTIFIED RIGHT. + + PROCEDURE DIVISION. + MOVE '1234' TO x-left, x-right + IF x-left not = '123' + OR x-right not = '234' + DISPLAY 'error with "1234":' + END-DISPLAY + DISPLAY x-left + END-DISPLAY + DISPLAY x-right + END-DISPLAY + END-IF + MOVE ' 3' TO x-left, x-right + IF x-left not = spaces + OR x-right not = ' 3' + DISPLAY 'error with " 3":' + END-DISPLAY + DISPLAY x-left + END-DISPLAY + DISPLAY x-right + END-DISPLAY + END-IF + MOVE '3 ' TO x-left, x-right + IF x-left not = '3' + OR x-right not = spaces + DISPLAY 'error with "3 ":' + END-DISPLAY + DISPLAY x-left + END-DISPLAY + DISPLAY x-right + END-DISPLAY + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11644: \$COMPILE -Wno-truncate prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-truncate prog.cob" "run_misc.at:11644" +( $at_check_trace; $COMPILE -Wno-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:11644" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11645: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11645" +( $at_check_trace; $COBCRUN_DIRECT ./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:11645" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_828 +#AT_START_829 +at_fn_group_banner 829 'run_misc.at:11649' \ + "PROGRAM-ID / CALL literal/variable with spaces" " " 4 +at_xfail=no +( + printf "%s\n" "829. $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 +printf "%s\n" "$at_srcdir/run_misc.at:11696: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:11696" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:11696" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11703: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11703" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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"; printf "%s\n" "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:11703" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_829 +#AT_START_830 +at_fn_group_banner 830 'run_misc.at:11717' \ + "PROGRAM-ID / CALL with hyphen and underscore" " " 4 +at_xfail=no +( + printf "%s\n" "830. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + PROCEDURE DIVISION. + MAIN. + CALL "_SUB-PROG_NOW" USING 'X'. + STOP RUN. +_ATEOF + + +cat >sub.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. "_SUB-PROG_NOW". + + DATA DIVISION. + LINKAGE SECTION. + 01 x PIC X. + + PROCEDURE DIVISION USING x. + MAIN. + DISPLAY "SUB GOT " X. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11744: \$COMPILE_MODULE sub.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE sub.cob" "run_misc.at:11744" +( $at_check_trace; $COMPILE_MODULE sub.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11744" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11745: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:11745" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11745" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11747: COB_PRE_LOAD=sub \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PRE_LOAD=sub $COBCRUN_DIRECT ./prog" "run_misc.at:11747" +( $at_check_trace; COB_PRE_LOAD=sub $COBCRUN_DIRECT ./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"; printf "%s\n" "SUB GOT X +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11747" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_830 +#AT_START_831 +at_fn_group_banner 831 'run_misc.at:11754' \ + "CALL with directory" " " 4 +at_xfail=no +( + printf "%s\n" "831. $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 "DIR/SUB". + + PROCEDURE DIVISION. + *> doesn't exist there... + CALL "SUB" USING '0' + ON EXCEPTION CONTINUE. + *> go by variable + CALL MYRTN USING 'X'. + CALL "DIR/SUB" USING 'Y'. + *> as it is already loaded - should work as-is + CALL "SUB" USING 'Z'. + CANCEL "SUB" + *> the following will only show if physical cancel is not off... + CALL "SUB" USING '0' + ON EXCEPTION CONTINUE. + STOP RUN. +_ATEOF + + +cat >sub.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. "SUB". + + DATA DIVISION. + LINKAGE SECTION. + 01 x PIC X. + + PROCEDURE DIVISION USING x. + DISPLAY "SUB GOT " X. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11794: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:11794" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11794" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11795: mkdir DIR" +at_fn_check_prepare_trace "run_misc.at:11795" +( $at_check_trace; mkdir DIR +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11795" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11796: \$COMPILE_MODULE sub.cob -o DIR/SUB.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "$COMPILE_MODULE sub.cob -o DIR/SUB.$COB_MODULE_EXT" "run_misc.at:11796" +( $at_check_trace; $COMPILE_MODULE sub.cob -o DIR/SUB.$COB_MODULE_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:11796" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11797: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11797" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "SUB GOT X +SUB GOT Y +SUB GOT Z +SUB GOT 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11797" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11803: COB_PHYSICAL_CANCEL=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./prog" "run_misc.at:11803" +( $at_check_trace; COB_PHYSICAL_CANCEL=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "SUB GOT X +SUB GOT Y +SUB GOT Z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:11803" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_831 +#AT_START_832 +at_fn_group_banner 832 'run_misc.at:11812' \ + "C-API (param based)" " " 4 +at_xfail=no +( + printf "%s\n" "832. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +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 CHRN PIC N(9) VALUE N'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" USING CHRN. + 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 +#include +#include + +static char * +getType (int type, int byvalue) +{ + static char wrk[24]; + switch (type) { +#if 1 + case COB_TYPE_GROUP: return "Group"; + case COB_TYPE_NUMERIC_COMP5: + /* fall through as the test will have different results + on big endian systems otherwise + return "COMP-5"; */ + COB_UNUSED (byvalue); + case COB_TYPE_NUMERIC_BINARY: return "BINARY"; + 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"; + case COB_TYPE_NATIONAL: return "N"; +#else + case COB_TYPE_GROUP: return "Group"; + case COB_TYPE_NUMERIC_COMP5: + return byvalue == 2 ? "COMP-4" : "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"; + case COB_TYPE_NATIONAL: return "N"; +#endif + } + sprintf (wrk,"Type %04X",type); + return wrk; +} + +COB_EXT_EXPORT int +CAPI (void *p1, ...) +{ + int k,nargs,type,digits,scale,size,sign,byvalue; + cob_s64_t val = 0; + char *str; + char wrk[80],pic[30]; /* note: maximum _theoretical_ size */ + + nargs = cob_get_num_params(); + printf ("CAPI called with %d parameters\n",nargs); + fflush(stdout); + 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); + byvalue = cob_get_param_constant(k); + printf (" %d: %-8s ", k, getType (type, byvalue)); + if (byvalue) { + 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_NATIONAL) { + sprintf (pic, "N(%d)", size); /* FIXME */ + printf ("exchange of national data is not supported yet"); + } 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 +printf "%s\n" "$at_srcdir/run_misc.at:11978: \$COMPILE -Wno-unfinished prog.cob cmod.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob cmod.c" "run_misc.at:11978" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob cmod.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:31: warning: BY CONTENT assumed for alphanumeric item 'CHRX' +prog.cob:32: warning: BY CONTENT assumed for alphanumeric item 'CHRX' +prog.cob:34: warning: BY CONTENT assumed for alphanumeric item 'GRPX' +" | \ + $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:11978" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:11984: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:11984" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:21: warning: cob_put_s64_param: attempt to over-write constant parameter 1 with '2563' +libcob: prog.cob:21: warning: cob_put_s64_param: attempt to over-write constant parameter 2 with '19' +libcob: prog.cob:27: warning: cob_put_s64_param: parameter 7 is not within range of 4 +libcob: prog.cob:28: warning: cob_put_s64_param: parameter 7 is not within range of 3 +libcob: prog.cob:31: warning: cob_put_picx_param: attempt to over-write constant parameter 2 with 'Bye!' +libcob: prog.cob:32: warning: cob_put_picx_param: attempt to over-write constant parameter 2 with 'Bye!' +libcob: prog.cob:33: warning: cob_put_s64_param: attempt to over-write constant parameter 1 with '21' +libcob: prog.cob:34: warning: cob_put_grp_param: attempt to over-write constant parameter 1 +libcob: prog.cob:34: warning: cob_put_s64_param: attempt to over-write constant parameter 2 with '21' +libcob: prog.cob:35: warning: cob_put_picx_param: attempt to over-write constant parameter 1 with 'Bye!' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "CAPI called with 2 parameters + 1: BINARY BY VALUE S9(9) 2560; + 2: DISPLAY BY VALUE 9(2) 16; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 1280; + 2: EDITED BY REFERENCE S9(5)V9(2) -51277 to 511.47 ; +CAPI called with 1 parameters + 1: BINARY BY REFERENCE S9(5) 1024; +CAPI called with 1 parameters + 1: BINARY 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: BINARY 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: BINARY BY REFERENCE 9(5) 1283; + 2: EDITED BY REFERENCE S9(5)V9(2) 51277 to 514.07-; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 1286; + 2: X BY VALUE X(9) 'Hello!'; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 1289; + 2: X BY VALUE X(9) 'Hello!'; +CAPI called with 1 parameters + 1: BINARY BY VALUE S9(9) 18; +CAPI called with 2 parameters + 1: Group BY VALUE (18) 'Bye-Bye Birdie! '; + 2: DISPLAY BY VALUE 9(2) 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:11984" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_832 +#AT_START_833 +at_fn_group_banner 833 'run_misc.at:12048' \ + "C-API (field based)" " " 4 +at_xfail=no +( + printf "%s\n" "833. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +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 CHRN PIC N(9) VALUE N'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" USING CHRN. + 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 +#include +#include + +static char * +getType (int type, int byvalue) +{ + static char wrk[24]; + switch (type) { +#if 1 + case COB_TYPE_GROUP: return "Group"; + case COB_TYPE_NUMERIC_COMP5: + /* fall through as the test will have different results + on big endian systems otherwise + return "COMP-5"; */ + COB_UNUSED (byvalue); + case COB_TYPE_NUMERIC_BINARY: return "BINARY"; + 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"; + case COB_TYPE_NATIONAL: return "N"; +#else + case COB_TYPE_GROUP: return "Group"; + case COB_TYPE_NUMERIC_COMP5: + return byvalue == 2 ? "COMP-4" : "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"; + case COB_TYPE_NATIONAL: return "N"; +#endif + } + sprintf (wrk,"Type %04X",type); + return wrk; +} + +COB_EXT_EXPORT int +CAPI (void *p1, ...) +{ + int k,nargs,type,digits,scale,size,sign,byvalue; + cob_s64_t val; + char *str; + char wrk[80],pic[30]; /* note: maximum _theoretical_ size */ + + nargs = cob_get_num_params(); + printf ("CAPI called with %d parameters\n",nargs); + fflush(stdout); + for (k=1; k <= nargs; k++) { + cob_field *fld = cob_get_param_field (k, "CAPI"); + type = cob_get_field_type (fld); + digits = cob_get_field_digits (fld); + scale = cob_get_field_scale (fld); + size = cob_get_field_size (fld); + sign = cob_get_field_sign (fld); + byvalue = cob_get_field_constant (fld); + printf (" %d: %-8s ", k, getType (type, byvalue)); + if (byvalue) { + printf ("BY VALUE "); + } else { + printf ("BY REFERENCE "); + } + str = (char *) cob_get_field_str_buffered (fld); + if (type == COB_TYPE_ALPHANUMERIC) { + sprintf (pic, "X(%d)", size); + printf ("%-11s '%s'", pic, str); + cob_put_field_str (fld, "Bye!"); + } else if (type == COB_TYPE_NATIONAL) { + sprintf (pic,"N(%d)",size); /* FIXME */ + printf ("exchange of national data is not supported yet"); + } else if (type == COB_TYPE_GROUP) { + sprintf (pic,"(%d)",size); + printf ("%-11s '%.*s'",pic,size,str); + cob_put_field_str (fld, "Bye-Bye Birdie!"); + } 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); + } + printf ("%-11s %s ",pic,str); + val = cob_get_s64_param (k); + val = val + 130; + val = -val; + cob_put_s64_param (k, val); + str = (char *) cob_get_field_str (fld, wrk, 78); + 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); + } + printf ("%-11s %s", pic, str); + val = cob_get_s64_param (k); + sprintf (wrk, "%lld", val + 3); + cob_put_field_str (fld, wrk); + } + printf (";\n"); + fflush(stdout); + } + return 0; +} +_ATEOF + + +# unfinished because of national +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12209: \$COMPILE -Wno-unfinished prog.cob cmod.c" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob cmod.c" "run_misc.at:12209" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob cmod.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:31: warning: BY CONTENT assumed for alphanumeric item 'CHRX' +prog.cob:32: warning: BY CONTENT assumed for alphanumeric item 'CHRX' +prog.cob:34: warning: BY CONTENT assumed for alphanumeric item 'GRPX' +" | \ + $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:12209" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12215: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12215" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: warning: cob_put_field_str: attempt to over-write constant field with '2563' +libcob: warning: cob_put_field_str: attempt to over-write constant field with '19' +libcob: warning: cob_put_field_str: attempt to over-write constant field with 'Bye!' +libcob: warning: cob_put_field_str: attempt to over-write constant field with 'Bye!' +libcob: warning: cob_put_field_str: attempt to over-write constant field with '21' +libcob: warning: cob_put_field_str: attempt to over-write constant field with 'Bye-Bye Birdie!' +libcob: warning: cob_put_field_str: attempt to over-write constant field with '21' +libcob: warning: cob_put_field_str: attempt to over-write constant field with 'Bye!' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "CAPI called with 2 parameters + 1: BINARY BY VALUE S9(9) +000002560; + 2: DISPLAY BY VALUE 9(2) 16; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 0000001280; + 2: EDITED BY REFERENCE S9(5)V9(2) 512.77- to 511.47 ; +CAPI called with 1 parameters + 1: BINARY BY REFERENCE S9(5) +01024; +CAPI called with 1 parameters + 1: BINARY BY REFERENCE 9(9) 000002560; +CAPI called with 2 parameters + 1: COMP-3 BY REFERENCE 9(8) 00004096; + 2: EDITED BY REFERENCE S9(5)V9(2) 512.77 to 514.07-; +CAPI called with 4 parameters + 1: DISPLAY BY REFERENCE S9(8) +00008192; + 2: BINARY BY REFERENCE S9(5) +01027; + 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) 00004099; + 2: EDITED BY REFERENCE S9(5)V9(2) 514.07- to 512.77 ; + 3: X BY REFERENCE X(9) 'Bye! '; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 0000001283; + 2: EDITED BY REFERENCE S9(5)V9(2) 512.77 to 514.07-; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 0000001286; + 2: X BY VALUE X(9) 'Hello! '; +CAPI called with 2 parameters + 1: BINARY BY REFERENCE 9(5) 0000001289; + 2: X BY VALUE X(9) 'Hello! '; +CAPI called with 1 parameters + 1: BINARY BY VALUE S9(9) +000000018; +CAPI called with 2 parameters + 1: Group BY VALUE (18) 'Bye-Bye Birdie! '; + 2: DISPLAY BY VALUE 9(2) 18; +CAPI called with 2 parameters + 1: X BY VALUE X(9) 'Fred Fish'; + 2: COMP-3 BY REFERENCE 9(8) 00004102; +CAPI called with 1 parameters + 1: COMP-3 BY REFERENCE S9(7)V9(2) +0000012.50; +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:12215" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_833 +#AT_START_834 +at_fn_group_banner 834 'run_misc.at:12277' \ + "OPTIONS paragraph, DEFAULT ROUNDED MODE" " " 4 +at_xfail=no +( + printf "%s\n" "834. $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 +printf "%s\n" "$at_srcdir/run_misc.at:12298: \$COMPILE -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:12298" +( $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:12298" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12299: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12299" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "2 +2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:12299" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_834 +#AT_START_835 +at_fn_group_banner 835 'run_misc.at:12307' \ + "OCCURS INDEXED ASCENDING" " " 4 +at_xfail=no +( + printf "%s\n" "835. $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. + *> "the initial value of an index-name at runtime is undefined" + *> Old OpenCOBOL/GnuCOBOL did that as "1" + SET REC-NAME-IDX TO 1. + 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 +printf "%s\n" "$at_srcdir/run_misc.at:12394: \$COMPILE -frelax-syntax-checks prog.cob " +at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob " "run_misc.at:12394" +( $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"; printf "%s\n" "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:12394" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12398: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12398" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:12398" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_835 +#AT_START_836 +at_fn_group_banner 836 'run_misc.at:12408' \ + "ZERO unsigned and negative binary subscript" " " 4 +at_xfail=no +( + printf "%s\n" "836. $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). + 77 UCHR BINARY-CHAR UNSIGNED. + 77 SCHR BINARY-CHAR SIGNED. + + 01 TSTREC. + 05 PIC X(4) OCCURS 300 TIMES VALUE ZERO. + 05 TSTX PIC X(4) OCCURS 3 TIMES. + 05 TSTY PIC X(4) OCCURS 300 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 'yyy' TO TSTY(UBIN). + MOVE 1 TO UBIN. + DISPLAY "UBIN: " UBIN " is :" TSTY(UBIN) ":" UPON CONSOLE. + MOVE 0 TO UCHR. + DISPLAY "UCHR: " UCHR " is :" TSTY(UCHR) ":" UPON CONSOLE. + MOVE -1 TO SCHR. + DISPLAY "SCHR: " SCHR " is :" TSTY(SCHR) ":" UPON CONSOLE. + MOVE 'zzz' TO TSTY (129). + MOVE 129 TO UCHR. + DISPLAY "UCHR: " UCHR " is :" TSTY(UCHR) ":" UPON CONSOLE. + STOP RUN. +_ATEOF + + +# Safe run with runtime checks +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12462: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:12462" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12462" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12463: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12463" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:26: error: 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:12463" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Runtime checks disable, subscript may be zero or even negative +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12468: \$COBC -x -g -fsource-location prog.cob -o prog_unsafe" +at_fn_check_prepare_dynamic "$COBC -x -g -fsource-location prog.cob -o prog_unsafe" "run_misc.at:12468" +( $at_check_trace; $COBC -x -g -fsource-location 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:12468" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12469: \$COBCRUN_DIRECT ./prog_unsafe" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog_unsafe" "run_misc.at:12469" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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: +UCHR: 000 is :yyy : +SCHR: -001 is :xxx : +UCHR: 129 is :zzz : +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:12469" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_836 +#AT_START_837 +at_fn_group_banner 837 'run_misc.at:12485' \ + "Default Arithmetic (1)" " " 4 +at_xfail=no +( + printf "%s\n" "837. $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 +printf "%s\n" "$at_srcdir/run_misc.at:12561: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:12561" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12561" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12563: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12563" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:12563" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_837 +#AT_START_838 +at_fn_group_banner 838 'run_misc.at:12589' \ + "Default Arithmetic Test (2)" " " 4 +at_xfail=no +( + printf "%s\n" "838. $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 VAL PIC S9(7)V99 COMP-3 VALUE 20500. + 01 DIV1 PIC S9(7)V99 COMP-3 VALUE 0.9. + 01 DIV2 PIC S9(7)V99 COMP-3 VALUE 33.45. + 01 DIV3 PIC S9(7)V99 COMP-3 VALUE 9. + 01 MUL1 PIC S9(7)V99 COMP-3 VALUE 10. + 01 MUL2 PIC S9(7)V99 COMP-3 VALUE 5. + 01 MUL3 PIC S9(7)V99 COMP-3 VALUE 2. + 01 RES PIC S9(7)V99 COMP-3. + PROCEDURE DIVISION. + COMPUTE RES = VAL / DIV1 / DIV2. + DISPLAY 'RES = ' RES. + COMPUTE RES ROUNDED = VAL / DIV1 / DIV2. + DISPLAY 'RES ROUNDED = ' RES. + COMPUTE RES = VAL * MUL1 / DIV3 / DIV2. + DISPLAY 'RES MULT1 = ' RES. + COMPUTE RES = VAL * MUL2 * MUL3 / DIV3 / DIV2. + DISPLAY 'RES MULT2 = ' RES. + COMPUTE RES = VAL / DIV1. + DISPLAY 'RES 1 = ' RES. + COMPUTE RES = RES / DIV2. + DISPLAY 'RES F = ' RES. + COMPUTE RES ROUNDED MODE AWAY-FROM-ZERO = + VAL / DIV1 / DIV2. + DISPLAY 'RES ROUNDED AWAY = ' RES. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12625: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:12625" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12625" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12627: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12627" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "RES = +0000680.95 +RES ROUNDED = +0000680.95 +RES MULT1 = +0000680.95 +RES MULT2 = +0000680.95 +RES 1 = +0022777.77 +RES F = +0000680.94 +RES ROUNDED AWAY = +0000680.96 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:12627" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_838 +#AT_START_839 +at_fn_group_banner 839 'run_misc.at:12640' \ + "OSVS Arithmetic (1)" " " 4 +at_xfail=no +( + printf "%s\n" "839. $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 +printf "%s\n" "$at_srcdir/run_misc.at:12717: \$COMPILE -farithmetic-osvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -farithmetic-osvs prog.cob" "run_misc.at:12717" +( $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"; printf "%s\n" "prog.cob: in paragraph 'MAIN': +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: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:66: 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:12717" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12731: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12731" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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 188 RSLTv9 IS 188.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:12731" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_839 +#AT_START_840 +at_fn_group_banner 840 'run_misc.at:12757' \ + "OSVS Arithmetic Test (2)" " " 4 +at_xfail=no +( + printf "%s\n" "840. $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 VAL PIC S9(7)V99 COMP-3 VALUE 20500. + 01 DIV1 PIC S9(7)V99 COMP-3 VALUE 0.9. + 01 DIV2 PIC S9(7)V99 COMP-3 VALUE 33.45. + 01 DIV3 PIC S9(7)V99 COMP-3 VALUE 9. + 01 MUL1 PIC S9(7)V99 COMP-3 VALUE 10. + 01 MUL2 PIC S9(7)V99 COMP-3 VALUE 5. + 01 MUL3 PIC S9(7)V99 COMP-3 VALUE 2. + 01 RES PIC S9(7)V99 COMP-3. + PROCEDURE DIVISION. + COMPUTE RES = VAL / DIV1 / DIV2. + DISPLAY 'RES = ' RES. + COMPUTE RES ROUNDED = VAL / DIV1 / DIV2. + DISPLAY 'RES ROUNDED = ' RES. + COMPUTE RES = VAL * MUL1 / DIV3 / DIV2. + DISPLAY 'RES MULT1 = ' RES. + COMPUTE RES = VAL * MUL2 * MUL3 / DIV3 / DIV2. + DISPLAY 'RES MULT2 = ' RES. + COMPUTE RES = VAL / DIV1. + DISPLAY 'RES 1 = ' RES. + COMPUTE RES = RES / DIV2. + DISPLAY 'RES F = ' RES. + COMPUTE RES ROUNDED MODE AWAY-FROM-ZERO = + VAL / DIV1 / DIV2. + DISPLAY 'RES ROUNDED AWAY = ' RES. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12793: \$COMPILE -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm prog.cob" "run_misc.at:12793" +( $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"; printf "%s\n" "prog.cob:16: warning: precision of result may change with arithmetic-osvs +prog.cob:18: warning: precision of result may change with arithmetic-osvs +prog.cob:20: warning: precision of result may change with arithmetic-osvs +prog.cob:22: warning: precision of result may change with arithmetic-osvs +prog.cob:28: 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:12793" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12801: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12801" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "RES = +000068094 +RES ROUNDED = +000068095 +RES MULT1 = +000068094 +RES MULT2 = +000068095 +RES 1 = +002277777 +RES F = +000068094 +RES ROUNDED AWAY = +000068095 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:12801" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_840 +#AT_START_841 +at_fn_group_banner 841 'run_misc.at:12814' \ + "SET CONSTANT directive" " " 4 +at_xfail=no +( + printf "%s\n" "841. $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 +printf "%s\n" "$at_srcdir/run_misc.at:12883: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_misc.at:12883" +( $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:12883" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Note: MF does not redefine a value via SET CONSTANT +# the first definitions wins (warning check: syn_misc.at) +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12887: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:12887" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:12887" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12894: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:12894" +( $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:12894" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Note: MF does not redefine a value via SET CONSTANT +# the first definitions wins (warning check: syn_misc.at) +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12898: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:12898" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:12898" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12905: \$COMPILE -fdefine-constant-directive=ok prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdefine-constant-directive=ok prog3.cob" "run_misc.at:12905" +( $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:12905" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12907: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_misc.at:12907" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:12907" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_841 +#AT_START_842 +at_fn_group_banner 842 'run_misc.at:12917' \ + "DEFINE OVERRIDE" " " 4 +at_xfail=no +( + printf "%s\n" "842. $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 +printf "%s\n" "$at_srcdir/run_misc.at:12968: ENVPONY=WHITE \$COMPILE prog.cob -fdefine-constant-directive=ok -DDPONY=Stallone" +at_fn_check_prepare_dynamic "ENVPONY=WHITE $COMPILE prog.cob -fdefine-constant-directive=ok -DDPONY=Stallone" "run_misc.at:12968" +( $at_check_trace; 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:12968" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:12970: ENVPONY=WHITE ./prog" +at_fn_check_prepare_trace "run_misc.at:12970" +( $at_check_trace; 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"; printf "%s\n" "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:12970" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_842 +#AT_START_843 +at_fn_group_banner 843 'run_misc.at:12983' \ + "DEFINE Defaults" " " 4 +at_xfail=no +( + printf "%s\n" "843. $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 +printf "%s\n" "$at_srcdir/run_misc.at:13034: \$COMPILE prog.cob -fdefine-constant-directive=ok" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fdefine-constant-directive=ok" "run_misc.at:13034" +( $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:13034" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13036: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13036" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:13036" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_843 +#AT_START_844 +at_fn_group_banner 844 'run_misc.at:13049' \ + "78 VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "844. $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 +printf "%s\n" "$at_srcdir/run_misc.at:13100: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13100" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13100" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13102: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13102" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:13102" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_844 +#AT_START_845 +at_fn_group_banner 845 'run_misc.at:13117' \ + "01 CONSTANT" " " 4 +at_xfail=no +( + printf "%s\n" "845. $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 +printf "%s\n" "$at_srcdir/run_misc.at:13178: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13178" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13178" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13180: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13180" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:13180" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_845 +#AT_START_846 +at_fn_group_banner 846 'run_misc.at:13197' \ + "DISPLAY UPON" " " 4 +at_xfail=no +( + printf "%s\n" "846. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + PRINTER IS PRINTER. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 note PIC X(05). + PROCEDURE DIVISION CHAINING note. + DISPLAY "This is sent to CONSOLE " note UPON CONSOLE. + DISPLAY "This is sent to SYSERR " note UPON SYSERR. + DISPLAY "This is sent to PRINTER " note UPON PRINTER. + DISPLAY "This is also sent to CONSOLE " note UPON CONSOLE. + DISPLAY "This is also sent to SYSERR " note UPON SYSERR. + DISPLAY "This is also sent to PRINTER " note UPON PRINTER. + DISPLAY "This is sent to SYSPUNCH " note UPON SYSPUNCH + ON EXCEPTION DISPLAY 'NO ...' UPON SYSERR. + DISPLAY "This is also sent to SYSPUNCH " note UPON SYSPCH + ON EXCEPTION DISPLAY ' ... SYSPUNCH' UPON SYSERR. + STOP RUN RETURNING 0. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13225: \$COMPILE -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm prog.cob" "run_misc.at:13225" +( $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"; printf "%s\n" "prog.cob:12: warning: start of statement in Area A +prog.cob:13: warning: start of statement in Area A +prog.cob:14: warning: start of statement in Area A +prog.cob:15: warning: start of statement in Area A +prog.cob:16: warning: start of statement in Area A +prog.cob:17: warning: start of statement in Area A +prog.cob:18: warning: start of statement in Area A +prog.cob:20: warning: start of statement in Area A +prog.cob:22: warning: start of statement in Area A +" | \ + $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:13225" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13237: \$COBCRUN_DIRECT ./prog PLAIN" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog PLAIN" "run_misc.at:13237" +( $at_check_trace; $COBCRUN_DIRECT ./prog PLAIN +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "This is sent to SYSERR PLAIN +This is also sent to SYSERR PLAIN +libcob: prog.cob:18: warning: COB_DISPLAY_PUNCH_FILE is invalid, output to SYSPUNCH skipped +NO ... + ... SYSPUNCH +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "This is sent to CONSOLE PLAIN +This is sent to PRINTER PLAIN +This is also sent to CONSOLE PLAIN +This is also sent to PRINTER PLAIN +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13237" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13250: COB_DISPLAY_PRINT_PIPE='cat >>prt.log' \\ +COB_DISPLAY_PUNCH_FILE='punch.out' \\ +\$COBCRUN_DIRECT ./prog PIPE." +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:13250" +( $at_check_trace; COB_DISPLAY_PRINT_PIPE='cat >>prt.log' \ +COB_DISPLAY_PUNCH_FILE='punch.out' \ +$COBCRUN_DIRECT ./prog PIPE. +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "This is sent to SYSERR PIPE. +This is also sent to SYSERR PIPE. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "This is sent to CONSOLE PIPE. +This is also sent to CONSOLE PIPE. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13250" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13260: COB_DISPLAY_PRINT_FILE='prt.log' \\ +COB_DISPLAY_PUNCH_FILE='punch.out' \\ +\$COBCRUN_DIRECT ./prog PRINT" +at_fn_check_prepare_notrace 'an embedded newline' "run_misc.at:13260" +( $at_check_trace; COB_DISPLAY_PRINT_FILE='prt.log' \ +COB_DISPLAY_PUNCH_FILE='punch.out' \ +$COBCRUN_DIRECT ./prog PRINT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "This is sent to SYSERR PRINT +This is also sent to SYSERR PRINT +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "This is sent to CONSOLE PRINT +This is also sent to CONSOLE PRINT +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13260" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >reference <<'_ATEOF' +This is sent to PRINTER PIPE. +This is also sent to PRINTER PIPE. +This is sent to PRINTER PRINT +This is also sent to PRINTER PRINT +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13279: diff reference prt.log" +at_fn_check_prepare_trace "run_misc.at:13279" +( $at_check_trace; diff reference prt.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13279" +if $at_failed +then : + # Previous test "failed" --> check if EOL of PIPE is the issue + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13283: \$SED -e 's/PIPE.\\r/PIPE./g' prt.log > prt2.log" +at_fn_check_prepare_dynamic "$SED -e 's/PIPE.\\r/PIPE./g' prt.log > prt2.log" "run_misc.at:13283" +( $at_check_trace; $SED -e 's/PIPE.\r/PIPE./g' prt.log > prt2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13283" +$at_failed && at_fn_log_failure \ +"prt.log" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13284: diff reference prt2.log" +at_fn_check_prepare_trace "run_misc.at:13284" +( $at_check_trace; diff reference prt2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13284" +$at_failed && at_fn_log_failure \ +"prt.log" +$at_traceon; } + + +fi +$at_failed && at_fn_log_failure \ +"prt.log" +$at_traceon; } + + + + +cat >reference <<'_ATEOF' +This is sent to SYSPUNCH PRINT +This is also sent to SYSPUNCH PRINT +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13294: diff reference punch.out" +at_fn_check_prepare_trace "run_misc.at:13294" +( $at_check_trace; diff reference punch.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_misc.at:13294" +$at_failed && at_fn_log_failure \ +"prt.log" \ +"punch.out" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_846 +#AT_START_847 +at_fn_group_banner 847 'run_misc.at:13299' \ + "FLOAT-DECIMAL w/o SIZE ERROR" " " 4 +at_xfail=no +( + printf "%s\n" "847. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 FD16 USAGE FLOAT-DECIMAL-16. + 01 SV16 USAGE FLOAT-DECIMAL-16. + 01 FD34 USAGE FLOAT-DECIMAL-34. + 01 SV34 USAGE FLOAT-DECIMAL-34. + + PROCEDURE DIVISION. + CND-000. + DISPLAY "--- FLOAT-DECIMAL-34 ---" + COMPUTE FD34 = (((1.0E7 / 2.1E0) / 3.1E0) - 5.0E-1) * 6.0E0 + DISPLAY "A: " FD34 + + COMPUTE FD34 = (((1.0E7 / 2.9E0) / 3.9E0) - 5.0E-1) * 6.0E0 + DISPLAY "B: " FD34 + MOVE ZERO TO FD34. + COMPUTE FD34 = 1.0E3 / 2.1E0 + ON SIZE ERROR DISPLAY "Z: " FD34 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "Z: " FD34 " IS OK" + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- FLOAT-DECIMAL-16 ---" + COMPUTE FD16 = (((1.0E7 / 2.1E0) / 3.1E0) - 5.0E-1) * 6.0E0 + DISPLAY "A: " FD16 + + COMPUTE FD16 = (((1.0E7 / 2.9E0) / 3.9E0) - 5.0E-1) * 6.0E0 + DISPLAY "B: " FD16 + MOVE ZERO TO FD16. + COMPUTE FD16 = 1.0E3 / 2.1E0 + ON SIZE ERROR DISPLAY "Z: " FD16 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "Z: " FD16 " IS OK" + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- 99 + 1 / 3 ---" + MOVE -1 TO FD16, FD34. + COMPUTE FD34 = 99 + 1 / 3 + ON SIZE ERROR DISPLAY "FD34: " FD34 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "FD34: " FD34 " IS OK" + END-COMPUTE. + COMPUTE FD16 = 99 + 1 / 3 + ON SIZE ERROR DISPLAY "FD16: " FD16 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "FD16: " FD16 " IS OK" + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- 99 ---" + MOVE -1 TO FD16, FD34. + COMPUTE FD34 = 99 + ON SIZE ERROR DISPLAY "FD34: " FD34 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "FD34: " FD34 " IS OK" + END-COMPUTE. + COMPUTE FD16 = 99 + ON SIZE ERROR DISPLAY "FD16: " FD16 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "FD16: " FD16 " IS OK" + END-COMPUTE. + + CND-100-OK. + DISPLAY " ..." + DISPLAY "--- Test overflow ---" + MOVE 9900000000000 TO FD16, FD34. + PERFORM 390 TIMES + MOVE FD16 TO SV16 + COMPUTE FD16 = FD16 * 10 + ON SIZE ERROR GO TO CND-100-ERR + END-COMPUTE + IF FD16 < 9.0 + DISPLAY "FD16: " FD16 " IS Wrong" + GO TO CND-100-ERR + END-IF + END-PERFORM. + DISPLAY "FD16: " FD16 " IS OK". + GO TO CND-200-OK. + CND-100-ERR. + DISPLAY "FD16: after " SV16 " SIZE ERROR". + + CND-200-OK. + MOVE 9900000000000 TO FD16, FD34. + PERFORM 6500 TIMES + MOVE FD34 TO SV34 + COMPUTE FD34 = FD34 * 10 + ON SIZE ERROR GO TO CND-200-ERR + END-COMPUTE + IF FD34 < 9.0 + GO TO CND-200-ERR + END-IF + END-PERFORM. + DISPLAY "FD34: " FD34 " IS OK". + GO TO CND-380-OK. + CND-200-ERR. + DISPLAY "FD34: after " SV34 " SIZE ERROR". + + CND-380-OK. + DISPLAY " ..." + DISPLAY "--- Test underflow ---" + MOVE 0.000000099 TO FD16, FD34. + PERFORM 400 TIMES + MOVE FD16 TO SV16 + COMPUTE FD16 = FD16 / 10 + ON SIZE ERROR GO TO CND-300-ERR + END-COMPUTE + IF FD16 = 0.0 + GO TO CND-300-ERR + END-IF + END-PERFORM. + DISPLAY "FD16: " FD16 " IS OK". + GO TO CND-400-OK. + CND-300-ERR. + DISPLAY "FD16: after " SV16 " SIZE ERROR". + + CND-400-OK. + MOVE 0.000000099 TO FD16, FD34. + PERFORM 6600 TIMES + MOVE FD34 TO SV34 + COMPUTE FD34 = FD34 / 10.0 + ON SIZE ERROR GO TO CND-400-ERR + END-COMPUTE + IF FD34 = 0.0 + GO TO CND-400-ERR + END-IF + END-PERFORM. + DISPLAY "FD34: " FD34 " IS OK". + GO TO CND-999. + CND-400-ERR. + DISPLAY "FD34: after " SV34 " SIZE ERROR". + + CND-999. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13440: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13440" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13440" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13442: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13442" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "--- FLOAT-DECIMAL-34 --- +A: 9216586.861751152073732718894009216 +B: 5305036.78779840848806366047745358 +Z: 476.1904761904761904761904761904761 IS OK + ... +--- FLOAT-DECIMAL-16 --- +A: 9216586.861751152 +B: 5305036.787798408 +Z: 476.1904761904761 IS OK + ... +--- 99 + 1 / 3 --- +FD34: 99.33333333333333333333333333333333 IS OK +FD16: 99.33333333333333 IS OK + ... +--- 99 --- +FD34: 99 IS OK +FD16: 99 IS OK + ... +--- Test overflow --- +FD16: after 99E369 SIZE ERROR +FD34: after 99E6111 SIZE ERROR + ... +--- Test underflow --- +FD16: after 99E-398 SIZE ERROR +FD34: after 99E-6176 SIZE ERROR +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13442" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_847 +#AT_START_848 +at_fn_group_banner 848 'run_misc.at:13473' \ + "FLOAT-SHORT / FLOAT-LONG w/o SIZE ERROR" " " 4 +at_xfail=no +( + printf "%s\n" "848. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 CMP1 COMP-1. + 01 SV1 COMP-1. + 01 CMP2 COMP-2. + 01 SV2 COMP-2. + + PROCEDURE DIVISION. + CND-000. + + DISPLAY "--- COMP-1 ---" + COMPUTE CMP1 = (((1.0E7 / 2.1E0) / 3.1E0) - 5.0E-1) * 6.0E0 + DISPLAY "A: " CMP1 + COMPUTE CMP1 = (((1.0E7 / 2.9E0) / 3.9E0) - 5.0E-1) * 6.0E0 + DISPLAY "B: " CMP1 + MOVE ZERO TO CMP1. + COMPUTE CMP1 = 1.0E3 / 2.1E0 + ON SIZE ERROR DISPLAY "Z: " CMP1 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "Z: " CMP1 " IS OK" + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- COMP-2 ---" + COMPUTE CMP2 = (((1.0E7 / 2.1E0) / 3.1E0) - 5.0E-1) * 6.0E0 + *> because of possible rounding of intermediates and different + *> precision depending on math library / version: plain DISPLAY + IF CMP2 >= 9216586.86175114 AND <= 9216586.86175116 + DISPLAY "A ~ 9216586.86175115" + ELSE + DISPLAY "A: " CMP2 + END-IF + COMPUTE CMP2 = (((1.0E7 / 2.9E0) / 3.9E0) - 5.0E-1) * 6.0E0 + IF CMP2 >= 5305036.7877983 AND <= 5305036.7877985 + DISPLAY "B ~ 5305036.787798408" + ELSE + DISPLAY "B: " CMP2 + END-IF + MOVE ZERO TO CMP2. + COMPUTE CMP2 = 1.0E3 / 2.1E0 + ON SIZE ERROR DISPLAY "Z: " CMP2 " SIZE ERROR" + NOT ON SIZE ERROR + *> see note above + IF CMP2 >= 476.1904761904760 AND <= 476.1904761904763 + DISPLAY "Z ~ 476.1904761904761 IS OK" + ELSE + DISPLAY "Z: " CMP2 " IS OK" + END-IF + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- 99 + 1 / 3 ---" + MOVE -1 TO CMP1, CMP2. + COMPUTE CMP1 = 99 + 1 / 3 + ON SIZE ERROR DISPLAY "CMP1: " CMP1 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "CMP1: " CMP1 " IS OK" + END-COMPUTE. + COMPUTE CMP2 = 99 + 1 / 3 + ON SIZE ERROR DISPLAY "CMP2: " CMP2 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "CMP2: " CMP2 " IS OK" + END-COMPUTE. + + DISPLAY " ..." + DISPLAY "--- 99 ---" + MOVE -1 TO CMP1, CMP2. + COMPUTE CMP1 = 99 + ON SIZE ERROR DISPLAY "CMP1: " CMP1 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "CMP1: " CMP1 " IS OK" + END-COMPUTE. + COMPUTE CMP2 = 99 + ON SIZE ERROR DISPLAY "CMP2: " CMP2 " SIZE ERROR" + NOT ON SIZE ERROR DISPLAY "CMP2: " CMP2 " IS OK" + END-COMPUTE. + + CND-100-OK. + DISPLAY " ..." + DISPLAY "--- Test overflow ---" + + MOVE 990000 TO CMP1. + PERFORM 6500 TIMES + MOVE CMP1 TO SV1 + COMPUTE CMP1 = CMP1 * 10 + ON SIZE ERROR GO TO CND-350-ERR + END-COMPUTE + IF CMP1 < 9.0 + GO TO CND-350-ERR + END-IF + END-PERFORM. + DISPLAY "CMP1: " CMP1 " IS OK". + GO TO CND-350-OK. + CND-350-ERR. + DISPLAY "CMP1: after " SV1 " SIZE ERROR". + + CND-350-OK. + MOVE 9900000000 TO CMP2. + PERFORM 6500 TIMES + MOVE CMP2 TO SV2 + COMPUTE CMP2 = CMP2 * 10 + ON SIZE ERROR GO TO CND-380-ERR + END-COMPUTE + IF CMP2 < 9.0 + GO TO CND-380-ERR + END-IF + END-PERFORM. + DISPLAY "CMP2: " CMP2 " IS OK". + GO TO CND-500-OK. + CND-380-ERR. + *> because of possible rounding of intermediates and different + *> precision depending on math library / version: plain DISPLAY + IF SV2 >= 9.899999999999E+307 AND + <= 9.900000000001E+307 + DISPLAY "CMP2: after ~ 9.899999999999781E+307 SIZE ERROR" + ELSE + DISPLAY "CMP2: after " SV2 " SIZE ERROR" + END-IF + . + + CND-500-OK. + MOVE 0.000000099 TO CMP1. + PERFORM 350 TIMES + MOVE CMP1 TO SV1 + COMPUTE CMP1 = CMP1 / 10.0 + ON SIZE ERROR GO TO CND-500-ERR + END-COMPUTE + IF CMP1 = 0.0 + GO TO CND-500-ERR + END-IF + END-PERFORM. + DISPLAY "CMP1: " CMP1 " IS OK". + GO TO CND-600-OK. + CND-500-ERR. + DISPLAY "CMP1: after " SV1 " SIZE ERROR". + + CND-600-OK. + MOVE 0.000000099 TO CMP2. + PERFORM 350 TIMES + MOVE CMP2 TO SV2 + COMPUTE CMP2 = CMP2 / 10.0 + ON SIZE ERROR GO TO CND-600-ERR + END-COMPUTE + IF CMP2 = 0.0 + GO TO CND-600-ERR + END-IF + END-PERFORM. + DISPLAY "CMP2: " CMP2 " IS OK". + GO TO CND-600-XIT. + CND-600-ERR. + IF SV2 >= 9.8813129168249E-324 AND <= 9.881312916825E-324 + DISPLAY "CMP2: after ~ 9.881312916824931E-324 SIZE ERROR" + ELSE + DISPLAY "CMP2: after " SV2 " SIZE ERROR" + END-IF + . + CND-600-XIT. + + CND-999. + STOP RUN. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13641: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13641" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13641" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13643: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13643" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "--- COMP-1 --- +A: 9216587 +B: 5305037 +Z: 476.19049 IS OK + ... +--- COMP-2 --- +A ~ 9216586.86175115 +B ~ 5305036.787798408 +Z ~ 476.1904761904761 IS OK + ... +--- 99 + 1 / 3 --- +CMP1: 99.333336 IS OK +CMP2: 99.33333333333333 IS OK + ... +--- 99 --- +CMP1: 99 IS OK +CMP2: 99 IS OK + ... +--- Test overflow --- +CMP1: after 9.8999983E+37 SIZE ERROR +CMP2: after ~ 9.899999999999781E+307 SIZE ERROR +CMP1: after 1.4012985E-45 SIZE ERROR +CMP2: after ~ 9.881312916824931E-324 SIZE ERROR +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13643" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_848 +#AT_START_849 +at_fn_group_banner 849 'run_misc.at:13672' \ + "FLOAT-SHORT with SIZE ERROR" " " 4 +at_xfail=no +( + printf "%s\n" "849. $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 s9(4) binary value zero. + * FLOAT-SHORT (if binary-comp-1 is not active) + 77 floatValue COMP-1 value 2. + 77 lastFloatValue COMP-1. + + ****************************************************************** + procedure division. + main section. + perform varying counter from 1 by 1 until + counter > 130 + *> display 'counter: ' counter ', value: ' floatValue + compute floatValue = floatValue * 2 + ON SIZE ERROR + display 'SIZE ERROR, last value = ' floatValue + exit perform + not ON SIZE ERROR + if floatValue > lastFloatValue + move floatValue to lastFloatValue + else + display 'math ERROR, last value > current: ' + lastFloatValue ' > ' floatValue + exit perform + end-if + end-compute + end-perform + if counter not = 127 + display 'counter is ' counter + end-if + + goback. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13714: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13714" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13714" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13716: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13716" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "SIZE ERROR, last value = 1.7014118E+38 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13716" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_849 +#AT_START_850 +at_fn_group_banner 850 'run_misc.at:13723' \ + "FLOAT-LONG with SIZE ERROR" " " 4 +at_xfail=no +( + printf "%s\n" "850. $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 s9(4) binary value zero. + * FLOAT-LONG + 77 doubleValue COMP-2 value 2. + 77 lastDoubleValue COMP-2. + + ****************************************************************** + procedure division. + main section. + perform varying counter from 1 by 1 until + counter > 1060 + *> display 'counter: ' counter ', value: ' doubleValue + compute doubleValue = doubleValue * 2 + ON SIZE ERROR + display 'SIZE ERROR raised' + with no advancing upon syserr + end-display + display 'SIZE ERROR, last value = ' doubleValue + upon sysout + end-display + exit perform + not ON SIZE ERROR + if doubleValue > lastdoubleValue + move doubleValue to lastdoubleValue + else + display 'math ERROR, last value > current: ' + lastdoubleValue ' > ' doubleValue + upon syserr + end-display + exit perform + end-if + end-compute + end-perform + if not (counter >= 1023 and <=1025) + display ' ' upon syserr + display 'counter is ' counter upon syserr + end-if + + goback. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13773: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13773" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13773" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: the actual value is not checked as it depends on non-portable +# intermediate rounding +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13776: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13776" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "SIZE ERROR raised" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13776" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_850 +#AT_START_851 +at_fn_group_banner 851 'run_misc.at:13781' \ + "EC-SIZE-ZERO-DIVIDE" " " 4 +at_xfail=no +( + printf "%s\n" "851. $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 VALUE 0. + 01 y PIC 9 VALUE 0. + + PROCEDURE DIVISION. + DIVIDE x BY y GIVING y + IF FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + NOT = 'EC-SIZE-ZERO-DIVIDE' + DISPLAY 'Wrong/missing exception: ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + SET LAST EXCEPTION TO OFF + IF FUNCTION EXCEPTION-STATUS NOT = SPACES + DISPLAY 'Exception is not empty after reset: ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + MOVE 0 TO y + COMPUTE y = x - 1 / y + 6.5 + IF FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + NOT = 'EC-SIZE-ZERO-DIVIDE' + DISPLAY 'Wrong/missing exception: ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13819: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13819" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13819" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13820: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13820" +( $at_check_trace; $COBCRUN_DIRECT ./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:13820" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_851 +#AT_START_852 +at_fn_group_banner 852 'run_misc.at:13824' \ + "EC-SIZE-OVERFLOW" " " 4 +at_xfail=no +( + printf "%s\n" "852. $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 VALUE 1. + 01 y PIC 9. + + PROCEDURE DIVISION. + * raise exception checked in previous test + * as it may interfere with the expected exception + DIVIDE x BY y GIVING y + DIVIDE x BY 0.1 GIVING y + IF FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + NOT = 'EC-SIZE-OVERFLOW' + DISPLAY 'Wrong/missing exception: ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13850: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13850" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13850" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13851: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13851" +( $at_check_trace; $COBCRUN_DIRECT ./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:13851" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_852 +#AT_START_853 +at_fn_group_banner 853 'run_misc.at:13855' \ + "Constant Expressions" " " 4 +at_xfail=no +( + printf "%s\n" "853. $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). + 78 VAR-LEN VALUE 115. + + PROCEDURE DIVISION. + MAIN-10. + MOVE "Peek a boo" TO VAR. + EVALUATE TRUE + ALSO FALSE + ALSO TRUE + WHEN TRUE + ALSO VAR-LEN > 16 AND VAR-LEN < 200 + ALSO TRUE + MOVE OTHERVAR (1 : VAR-LEN - 9) + TO VAR (16 - VAR-LEN : VAR-LEN - 9) + DISPLAY "A: Should NOT be executed" + WHEN TRUE + ALSO VAR-LEN < 16 + ALSO TRUE + MOVE OTHERVAR TO VAR + DISPLAY "A: OK VAR-LEN > 16 AND VAR-LEN < 200" + WHEN TRUE + ALSO VAR = SPACES + ALSO TRUE + MOVE OTHERVAR TO VAR + DISPLAY "A: OK VAR IS SPACES" + END-EVALUATE. + + MOVE "Peek a boo" TO VAR. + EVALUATE 3 EQUALS 7 + WHEN VAR = SPACES + DISPLAY "B: OK VAR IS NOT SPACES" + WHEN VAR NOT = SPACES + DISPLAY "B: FALSE VAR IS SPACES" + END-EVALUATE. + + MOVE SPACES TO VAR. + EVALUATE FALSE + WHEN VAR = SPACES + DISPLAY "C: FALSE VAR IS SPACES" + WHEN VAR NOT = SPACES + DISPLAY "C: OK VAR IS SPACES" + END-EVALUATE. + + MOVE "Peek a boo" TO VAR. + EVALUATE TRUE + WHEN VAR = SPACES + DISPLAY "D: BAD VAR IS SPACES" + WHEN VAR NOT = SPACES + DISPLAY "D: OK VAR IS NOT SPACES" + END-EVALUATE. + + MOVE SPACES TO VAR. + EVALUATE VAR-LEN ALSO VAR + WHEN < 32 ALSO SPACES + DISPLAY "E: OK VAR IS SPACES" + WHEN > 16 ALSO NOT SPACES + DISPLAY "E: BAD VAR IS NOT SPACES" + WHEN OTHER + DISPLAY "E: OK OTHER option taken" + END-EVALUATE. + + STOP RUN. +_ATEOF + + +# Note: this program errors without constant folding, but that is +# checked in syn_misc.at already; we explicit specify the remove +# of folded constants option allowing to run with COBOL_FLAGS=-g +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13931: \$COMPILE prog.cob -fconstant-folding -fremove-unreachable -w" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fconstant-folding -fremove-unreachable -w" "run_misc.at:13931" +( $at_check_trace; $COMPILE prog.cob -fconstant-folding -fremove-unreachable -w +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13931" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13933: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:13933" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "A: OK VAR-LEN > 16 AND VAR-LEN < 200 +B: OK VAR IS NOT SPACES +C: OK VAR IS SPACES +D: OK VAR IS NOT SPACES +E: OK OTHER option taken +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:13933" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_853 +#AT_START_854 +at_fn_group_banner 854 'run_misc.at:13944' \ + "ENTRY FOR GO TO / GO TO ENTRY" " " 4 +at_xfail=no +( + printf "%s\n" "854. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 JUMP-ENTRY PIC 9 VALUE 6. + 88 EXT-MODUS VALUES 3, 4. + LINKAGE SECTION. + PROCEDURE DIVISION. + GO TO ENTRY 'STMT05'. + MAIN. + GO TO ENTRY 'STMT01' + 'STMT02' + 'STMT03' + 'STMT04' + 'STMT05' + DEPENDING ON JUMP-ENTRY + DISPLAY 'NOT JUMPED' + GOBACK. + ENTRY FOR GO TO 'STMT01' + DISPLAY 'STMT01' + ENTRY FOR GO TO 'STMT02' + PERFORM 3 TIMES + ENTRY FOR GO TO 'STMT03' + DISPLAY 'STMT03' + ENTRY FOR GO TO 'STMT04' DISPLAY 'STMT04' + IF EXT-MODUS EXIT PERFORM END-IF + END-PERFORM + ENTRY FOR GO TO 'STMT05' + DISPLAY 'STMT05' + SUBTRACT 1 FROM JUMP-ENTRY + GO TO MAIN. + +_ATEOF + + +# TODO: move to syntax checks, together with all expected error messages +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13983: \$COMPILE -std=mf-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf-strict prog.cob" "run_misc.at:13983" +( $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"; printf "%s\n" "prog.cob:10: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob: in paragraph 'MAIN': +prog.cob:18: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob:20: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob:22: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob:24: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob:26: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +prog.cob:29: error: ENTRY FOR GO TO does not conform to Micro Focus COBOL +" | \ + $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:13983" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:13994: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:13994" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:10: warning: ENTRY FOR GO TO used +prog.cob: in paragraph 'MAIN': +prog.cob:18: warning: ENTRY FOR GO TO used +prog.cob:20: warning: ENTRY FOR GO TO used +prog.cob:22: warning: ENTRY FOR GO TO used +prog.cob:24: warning: ENTRY FOR GO TO used +prog.cob:26: warning: ENTRY FOR GO TO used +prog.cob:29: warning: ENTRY FOR GO TO used +" | \ + $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:13994" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14005: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14005" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "STMT05 +STMT05 +STMT04 +STMT05 +STMT03 +STMT04 +STMT05 +STMT03 +STMT04 +STMT03 +STMT04 +STMT03 +STMT04 +STMT05 +STMT01 +STMT03 +STMT04 +STMT03 +STMT04 +STMT03 +STMT04 +STMT05 +NOT JUMPED +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14005" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_854 +#AT_START_855 +at_fn_group_banner 855 'run_misc.at:14034' \ + "runtime checks within conditions" " " 4 +at_xfail=no +( + printf "%s\n" "855. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this serves as a sample what was broken in the initial +# 3.1 release + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 mytab. + 03 VAR PIC 9(02) value 1. + 03 VAR2 PIC 9(02) value 2. + 03 OCCURS 2. + 05 T15-PRGM PIC X(08). + 05 T16-PRGM PIC X(08). + 03 OCCURS 2. + 05 T15-NRGM PIC 9(04). + 05 T16-NRGM USAGE BINARY-INT. + + PROCEDURE DIVISION. + * + MOVE 'TESTME' TO T16-PRGM (VAR) (VAR2:) + MOVE T16-PRGM (VAR) (1:VAR2) TO T15-PRGM (VAR) + IF T16-PRGM(VAR) + = T15-PRGM(VAR2) + DISPLAY 'WRONG RESULT OCCURS'. + + IF MYTAB(VAR:VAR2) + = MYTAB(VAR2:VAR) + DISPLAY 'WRONG RESULT REFMOD'. + + INITIALIZE mytab + + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14073: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:14073" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14073" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14074: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14074" +( $at_check_trace; $COBCRUN_DIRECT ./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:14074" +$at_failed && at_fn_log_failure +$at_traceon; } + +# note: we mostly are interested in a good codegen here... + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 mytab. + 03 VAR PIC 9(02) value 1. + 03 VAR2 PIC 9(02) value 3. + 03 OCCURS 2. + 05 T15-PRGM PIC X(08). + 05 T16-PRGM PIC X(08). + 03 OCCURS 2. + 05 T15-NRGM PIC 9(04). + 05 T16-NRGM USAGE BINARY-INT. + 05 buffer PIC X(500). + + PROCEDURE DIVISION. + * + IF T16-PRGM(VAR) + = T15-PRGM(VAR2) + DISPLAY 'WRONG RESULT OCCURS'. + + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14104: \$COBC -x prog2.cob" +at_fn_check_prepare_dynamic "$COBC -x prog2.cob" "run_misc.at:14104" +( $at_check_trace; $COBC -x 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:14104" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14105: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_misc.at:14105" +( $at_check_trace; $COBCRUN_DIRECT ./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_misc.at:14105" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14106: \$COBC -x --debug -o prog2b prog2.cob" +at_fn_check_prepare_dynamic "$COBC -x --debug -o prog2b prog2.cob" "run_misc.at:14106" +( $at_check_trace; $COBC -x --debug -o prog2b 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:14106" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14107: \$COBCRUN_DIRECT ./prog2b" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2b" "run_misc.at:14107" +( $at_check_trace; $COBCRUN_DIRECT ./prog2b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:21: error: subscript of 'T15-PRGM' out of bounds: 3 +note: maximum subscript for 'T15-PRGM': 2 +" | \ + $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:14107" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 mytab. + 03 VAR PIC 9(02) value 1. + 03 VAR2 PIC 9(02) value 99. + 03 OCCURS 2. + 05 T15-PRGM PIC X(08). + 05 T16-PRGM PIC X(08). + 03 OCCURS 2. + 05 T15-NRGM PIC 9(04). + 05 T16-NRGM USAGE BINARY-INT. + + PROCEDURE DIVISION. + + IF MYTAB(VAR:VAR2) + *> = MYTAB(VAR2:VAR) that _should_ work but on x86_64 + *> the second line is evaluated first + = MYTAB(VAR:VAR ) + DISPLAY 'WRONG RESULT REFMOD'. + + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14138: \$COBC -x prog3.cob" +at_fn_check_prepare_dynamic "$COBC -x prog3.cob" "run_misc.at:14138" +( $at_check_trace; $COBC -x 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:14138" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14139: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14139" +( $at_check_trace; $COBCRUN_DIRECT ./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:14139" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14140: \$COBC -x --debug -o prog3b prog3.cob" +at_fn_check_prepare_dynamic "$COBC -x --debug -o prog3b prog3.cob" "run_misc.at:14140" +( $at_check_trace; $COBC -x --debug -o prog3b 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:14140" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14141: \$COBCRUN_DIRECT ./prog3b" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3b" "run_misc.at:14141" +( $at_check_trace; $COBCRUN_DIRECT ./prog3b +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog3.cob:20: error: length of 'mytab' out of bounds: 99, maximum: 52 +" | \ + $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:14141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_855 +#AT_START_856 +at_fn_group_banner 856 'run_misc.at:14148' \ + "runtime check: write to internal storage (1)" " " 4 +at_xfail=no +( + printf "%s\n" "856. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: this check is likely unportable and therefore will likely be adjusted/skipped, +# mainly because the memory layout of consecutive variables is not guaranteed; +# it is expected to raise a crash if C bound checking is enabled + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 var PIC X. + 01 vars. + 03 filler PIC X. + 03 vars-field PIC X. + + 01 varg GLOBAL. + 03 filler PIC X. + 03 varg-field PIC X. + 01 vare EXTERNAL. + 03 filler PIC X. + 03 vare-field PIC X. + 01 varb BASED. + 03 filler PIC X. + 03 varb-field PIC X. + LINKAGE SECTION. + 01 varl PIC X. + 01 varls. + 03 filler PIC X. + 03 varls-field PIC X. + + PROCEDURE DIVISION. + * + CALL "callee" USING var + * without the check this second call would SIGSEGV + CALL "callee" USING var + + * the following are mostly in to co-test the codegen + CALL "callee" USING vars + CALL "callee" USING varg + CALL "callee" USING vare + CALL "callee" USING varb + CALL "callee" USING varl + CALL "callee" USING varls + CALL "callee" USING vars-field + CALL "callee" USING varg-field + CALL "callee" USING vare-field + CALL "callee" USING varb-field + CALL "callee" USING varls-field + + GOBACK. +_ATEOF + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + + DATA DIVISION. + LINKAGE SECTION. + + 77 var PIC X. + 01 lrec. + 03 lvar PIC X(32). + 03 lvar2 PIC X(32). + + PROCEDURE DIVISION USING var. + * + SET ADDRESS OF lrec TO ADDRESS OF var + SET ADDRESS OF lrec DOWN BY 32 + MOVE SPACES TO lrec + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14224: \$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=pointer caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=pointer caller.cob" "run_misc.at:14224" +( $at_check_trace; $COMPILE -fno-ec=program-arg-mismatch -fmemory-check=pointer 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:14224" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14225: \$COMPILE_MODULE -fno-ec=program-arg-mismatch callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fno-ec=program-arg-mismatch callee.cob" "run_misc.at:14225" +( $at_check_trace; $COMPILE_MODULE -fno-ec=program-arg-mismatch 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:14225" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14226: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:14226" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: caller.cob:30: error: memory violation detected after CALL +" | \ + $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:14226" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14230: \$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=using caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=using caller.cob" "run_misc.at:14230" +( $at_check_trace; $COMPILE -fno-ec=program-arg-mismatch -fmemory-check=using 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:14230" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14231: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:14231" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: caller.cob:30: error: memory violation detected for 'var' after CALL +" | \ + $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:14231" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14235: \$COMPILE -fno-ec=program-arg-mismatch -fmemory-check caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=program-arg-mismatch -fmemory-check caller.cob" "run_misc.at:14235" +( $at_check_trace; $COMPILE -fno-ec=program-arg-mismatch -fmemory-check 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:14235" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14236: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:14236" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: caller.cob:30: error: memory violation detected for 'var' after CALL +" | \ + $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:14236" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14240: \$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=all caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-ec=program-arg-mismatch -fmemory-check=all caller.cob" "run_misc.at:14240" +( $at_check_trace; $COMPILE -fno-ec=program-arg-mismatch -fmemory-check=all 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:14240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14241: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_misc.at:14241" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: caller.cob:30: error: memory violation detected for 'var' after CALL +" | \ + $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:14241" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_856 +#AT_START_857 +at_fn_group_banner 857 'run_misc.at:14248' \ + "runtime check: write to internal storage (2)" " " 4 +at_xfail=no +( + printf "%s\n" "857. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# PROG A (WS 16 bytes) has its WS overwritten and calls PROG B +# because of the write outside of WS the internal storage is broken +# and the call pointer contains an invalid address +# note: this check is possibly unportable and therefore will likely be adjusted/skipped +# it is expected to raise a crash if C bound checking is enabled + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 DUMMY-STORAGE PIC X(128). + + PROCEDURE DIVISION. + * using the var so cobc cannot easily optimize that out + IF DUMMY-STORAGE (1:1) <> SPACE INITIALIZE DUMMY-STORAGE. + + * We use a simple wrapper to make it _less_ likely that the + * following "real test" SIGSEGVs during MOVE + CALL STATIC "progt". + + * we don't expect to ever get here - but this creates more + * memory space to decrease the likelyness of a SIGSEGV more + CALL STATIC "dummy". + + GOBACK. + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. progt. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 77 PNT USAGE POINTER EXTERNAL. + + 01 REC. + 03 VAR PIC X. + 03 VAR2 PIC X. + + LINKAGE SECTION. + 01 LREC. + 03 LVAR PIC X(64). + 03 LVAR2 PIC X(64). + + PROCEDURE DIVISION. + * using a (not working) call prevents the C compiler + * to know that we (do not) change the pointer variable + * and therefore disallows it to check + * "that points to VAR2, you only have 2 bytes" (done with gcc -O) + SET PNT TO ADDRESS OF VAR2. + CALL "notthere" USING PNT ON EXCEPTION CONTINUE. + SET ADDRESS OF LREC TO PNT. + MOVE SPACES TO LREC. + + CALL "broken". + + GOBACK. + END PROGRAM progt. + + IDENTIFICATION DIVISION. + PROGRAM-ID. dummy. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 DUMMY-STORAGE PIC X(128). + + PROCEDURE DIVISION. + * using the var so cobc cannot easily optimize that out + IF DUMMY-STORAGE (1:1) <> SPACE INITIALIZE DUMMY-STORAGE. + + GOBACK. + END PROGRAM dummy. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14329: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:14329" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14329" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# skipping the (nonportable) test - hardened GCC SIGSEGVs on the bad MOVE, +# clang use a different memory layout so we never actually break +# the call-pointers +printf "%s\n" "run_misc.at:14334" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/run_misc.at:14334" + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14336: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14336" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:52: error: memory violation detected after INIT CALL +" | \ + $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:14336" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_857 +#AT_START_858 +at_fn_group_banner 858 'run_misc.at:14343' \ + "libcob version check" " " 4 +at_xfail=no +( + printf "%s\n" "858. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# using a C program here, normally this would be called from old or newer modules +cat >prog.c <<'_ATEOF' + +#include +#include + +#define COUNT_OF(x) (sizeof(x)/sizeof(x[0])) + +struct verify_t { + char *prog, *packver_prog; + int patchlev_prog; +} verify[] = { +#include "testdata.h" +}; + +int +main(int argc, char *argv[]) +{ + struct verify_t *p; + for( p=verify; p < verify + COUNT_OF(verify); p++ ) { + cob_check_version(p->prog, p->packver_prog, p->patchlev_prog); + } + return 0; +} +_ATEOF + + +# good cases +cat >testdata.h <<'_ATEOF' + +#define TST_STRINGIFY(s) #s +#define TST_XSTRINGIFY(s) TST_STRINGIFY (s) + { "test22", "2.2", 0 }, +/* { "TestMatch1", + TST_XSTRINGIFY (__LIBCOB_VERSION) "." + TST_XSTRINGIFY (__LIBCOB_VERSION_MINOR) "." + TST_XSTRINGIFY (__LIBCOB_VERSION_PATCHLEVEL), + 0}, */ + { "TestMatch2", + TST_XSTRINGIFY (__LIBCOB_VERSION) "." + TST_XSTRINGIFY (__LIBCOB_VERSION_MINOR) "." + "0", + 0}, + { "TestMatch3", + TST_XSTRINGIFY (__LIBCOB_VERSION) "." + TST_XSTRINGIFY (__LIBCOB_VERSION_MINOR), + 0 } +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14392: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "run_misc.at:14392" +( $at_check_trace; $COMPILE 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/run_misc.at:14392" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14393: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14393" +( $at_check_trace; $COBCRUN_DIRECT ./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:14393" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >testdata.h <<'_ATEOF' + + { "TooSmall1", "1.1", 0 } +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14398: \$COMPILE -o small1 prog.c" +at_fn_check_prepare_dynamic "$COMPILE -o small1 prog.c" "run_misc.at:14398" +( $at_check_trace; $COMPILE -o small1 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/run_misc.at:14398" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14399: \$COBCRUN_DIRECT ./small1 2>small1.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./small1 2>small1.log" "run_misc.at:14399" +( $at_check_trace; $COBCRUN_DIRECT ./small1 2>small1.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:14399" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14400: \$GREP -v \"libcob has\" small1.log" +at_fn_check_prepare_dynamic "$GREP -v \"libcob has\" small1.log" "run_misc.at:14400" +( $at_check_trace; $GREP -v "libcob has" small1.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: error: version mismatch +note: TooSmall1 has version 1.1.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14400" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >testdata.h <<'_ATEOF' + + { "TooSmall2", "2.0", 0 } +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14408: \$COMPILE -o small2 prog.c" +at_fn_check_prepare_dynamic "$COMPILE -o small2 prog.c" "run_misc.at:14408" +( $at_check_trace; $COMPILE -o small2 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/run_misc.at:14408" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14409: \$COBCRUN_DIRECT ./small2 2>small2.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./small2 2>small2.log" "run_misc.at:14409" +( $at_check_trace; $COBCRUN_DIRECT ./small2 2>small2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:14409" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14410: \$GREP -v \"libcob has\" small2.log" +at_fn_check_prepare_dynamic "$GREP -v \"libcob has\" small2.log" "run_misc.at:14410" +( $at_check_trace; $GREP -v "libcob has" small2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: error: version mismatch +note: TooSmall2 has version 2.0.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14410" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >testdata.h <<'_ATEOF' + + { "TooHigh1", "3.4", 0 }, +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14418: \$COMPILE -o high1 prog.c" +at_fn_check_prepare_dynamic "$COMPILE -o high1 prog.c" "run_misc.at:14418" +( $at_check_trace; $COMPILE -o high1 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/run_misc.at:14418" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14419: \$COBCRUN_DIRECT ./high1 2>high1.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./high1 2>high1.log" "run_misc.at:14419" +( $at_check_trace; $COBCRUN_DIRECT ./high1 2>high1.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:14419" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14420: \$GREP -v \"libcob has\" high1.log" +at_fn_check_prepare_dynamic "$GREP -v \"libcob has\" high1.log" "run_misc.at:14420" +( $at_check_trace; $GREP -v "libcob has" high1.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: error: version mismatch +note: TooHigh1 has version 3.4.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14420" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >testdata.h <<'_ATEOF' + + { "TooHigh2", "4.0", 0 } +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14428: \$COMPILE -o high2 prog.c" +at_fn_check_prepare_dynamic "$COMPILE -o high2 prog.c" "run_misc.at:14428" +( $at_check_trace; $COMPILE -o high2 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/run_misc.at:14428" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14429: \$COBCRUN_DIRECT ./high2 2>high2.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./high2 2>high2.log" "run_misc.at:14429" +( $at_check_trace; $COBCRUN_DIRECT ./high2 2>high2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:14429" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14430: \$GREP -v \"libcob has\" high2.log" +at_fn_check_prepare_dynamic "$GREP -v \"libcob has\" high2.log" "run_misc.at:14430" +( $at_check_trace; $GREP -v "libcob has" high2.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: error: version mismatch +note: TooHigh2 has version 4.0.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14430" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >testdata.h <<'_ATEOF' + + { "TooHigh3", "4.0.1", 2 } +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14438: \$COMPILE -o high3 prog.c" +at_fn_check_prepare_dynamic "$COMPILE -o high3 prog.c" "run_misc.at:14438" +( $at_check_trace; $COMPILE -o high3 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/run_misc.at:14438" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14439: \$COBCRUN_DIRECT ./high3 2>high3.log" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./high3 2>high3.log" "run_misc.at:14439" +( $at_check_trace; $COBCRUN_DIRECT ./high3 2>high3.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:14439" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14440: \$GREP -v \"libcob has\" high3.log" +at_fn_check_prepare_dynamic "$GREP -v \"libcob has\" high3.log" "run_misc.at:14440" +( $at_check_trace; $GREP -v "libcob has" high3.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: error: version mismatch +note: TooHigh3 has version 4.0.1.2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14440" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_858 +#AT_START_859 +at_fn_group_banner 859 'run_misc.at:14448' \ + "assorted math" " " 4 +at_xfail=no +( + printf "%s\n" "859. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this is a test containing different small reproducers from +# bug reports + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 n pic 99 value 89. + 01 m pic 99 value 0. + 01 variable usage signed-int value 0. + 88 a-one value 1. + 88 a-two value 2. + PROCEDURE DIVISION. + *> bug #702, "pow"-call in generated program + display n(n**0+ 1:) with no advancing. + display "-" with no advancing. + display n(n**m+ 1:) with no advancing. + *> bug #631 arithmetic handling (optimize code) + if not a-one and not a-two + display 'succeeded' + else + display 'failed'. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14477: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:14477" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14477" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14478: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14478" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "9-9succeeded +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14478" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_859 +#AT_START_860 +at_fn_group_banner 860 'run_misc.at:14485' \ + "compare numeric DISPLAY SPACE with ZERO" " " 4 +at_xfail=no +( + printf "%s\n" "860. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 TST-VARS. + 03 TST-NUMBER PIC 9(6). + 03 TST-NUMBER-SIGNED PIC S9(6). + 03 TST-DECIMAL PIC 9(2)V9(4). + 03 TST-DECIMAL-SIGNED PIC S9(2)V9(4). + 77 ZERO-DECIMAL PIC 9(2)V9(4) VALUE ZERO. + 77 ZERO-NUMBER PIC 9(6) VALUE ZERO. + + PROCEDURE DIVISION. + MOVE SPACES TO TST-VARS + + IF TST-NUMBER > 0 + DISPLAY "TST-NUMBER IS > 0". + IF TST-NUMBER NOT = 0 + DISPLAY "TST-NUMBER IS NOT 0". + IF TST-NUMBER < 0 + DISPLAY "TST-NUMBER IS < 0". + + IF TST-NUMBER-SIGNED > 0 + DISPLAY "TST-NUMBER-SIGNED IS > 0". + IF TST-NUMBER-SIGNED NOT = 0 + DISPLAY "TST-NUMBER-SIGNED IS NOT 0". + IF TST-NUMBER-SIGNED < 0 + DISPLAY "TST-NUMBER-SIGNED IS < 0". + + IF TST-DECIMAL > 0 + DISPLAY "TST-DECIMAL IS > 0". + IF TST-DECIMAL NOT = 0 + DISPLAY "TST-DECIMAL IS NOT 0". + IF TST-DECIMAL < 0 + DISPLAY "TST-DECIMAL IS < 0". + + IF TST-DECIMAL-SIGNED > 0 + DISPLAY "TST-DECIMAL-SIGNED IS > 0". + IF TST-DECIMAL-SIGNED NOT = 0 + DISPLAY "TST-DECIMAL-SIGNED IS NOT 0". + IF TST-DECIMAL-SIGNED < 0 + DISPLAY "TST-DECIMAL-SIGNED IS < 0". + + IF TST-NUMBER > ZERO-NUMBER + DISPLAY "TST-NUMBER IS > ZERO-NUMBER". + IF TST-NUMBER NOT = ZERO-NUMBER + DISPLAY "TST-NUMBER IS NOT ZERO-NUMBER". + IF TST-NUMBER < ZERO-NUMBER + DISPLAY "TST-NUMBER IS < ZERO-NUMBER". + + IF TST-NUMBER-SIGNED > ZERO-NUMBER + DISPLAY "TST-NUMBER-SIGNED IS > ZERO-NUMBER". + IF TST-NUMBER-SIGNED NOT = ZERO-NUMBER + DISPLAY "TST-NUMBER-SIGNED IS NOT ZERO-NUMBER". + IF TST-NUMBER-SIGNED < ZERO-NUMBER + DISPLAY "TST-NUMBER-SIGNED IS < ZERO-NUMBER". + + IF TST-DECIMAL > ZERO-NUMBER + DISPLAY "TST-DECIMAL IS > ZERO-NUMBER". + IF TST-DECIMAL NOT = ZERO-NUMBER + DISPLAY "TST-DECIMAL IS NOT ZERO-NUMBER". + IF TST-DECIMAL < ZERO-NUMBER + DISPLAY "TST-DECIMAL IS < ZERO-NUMBER". + + IF TST-DECIMAL-SIGNED > ZERO-NUMBER + DISPLAY "TST-DECIMAL-SIGNED IS > ZERO-NUMBER". + IF TST-DECIMAL-SIGNED NOT = ZERO-NUMBER + DISPLAY "TST-DECIMAL-SIGNED IS NOT ZERO-NUMBER". + IF TST-DECIMAL-SIGNED < ZERO-NUMBER + DISPLAY "TST-DECIMAL-SIGNED IS < ZERO-NUMBER". + + IF TST-NUMBER > ZERO-DECIMAL + DISPLAY "TST-NUMBER IS > ZERO-DECIMAL". + IF TST-NUMBER NOT = ZERO-DECIMAL + DISPLAY "TST-NUMBER IS NOT ZERO-DECIMAL". + IF TST-NUMBER < ZERO-DECIMAL + DISPLAY "TST-NUMBER IS < ZERO-DECIMAL". + + IF TST-NUMBER-SIGNED > ZERO-DECIMAL + DISPLAY "TST-NUMBER-SIGNED IS > ZERO-DECIMAL". + IF TST-NUMBER-SIGNED NOT = ZERO-DECIMAL + DISPLAY "TST-NUMBER-SIGNED IS NOT ZERO-DECIMAL". + IF TST-NUMBER-SIGNED < ZERO-DECIMAL + DISPLAY "TST-NUMBER-SIGNED IS < ZERO-DECIMAL". + + IF TST-DECIMAL > ZERO-DECIMAL + DISPLAY "TST-DECIMAL IS > ZERO-DECIMAL". + IF TST-DECIMAL NOT = ZERO-DECIMAL + DISPLAY "TST-DECIMAL IS NOT ZERO-DECIMAL". + IF TST-DECIMAL < ZERO-DECIMAL + DISPLAY "TST-DECIMAL IS < ZERO-DECIMAL". + + IF TST-DECIMAL-SIGNED > ZERO-DECIMAL + DISPLAY "TST-DECIMAL-SIGNED IS > ZERO-DECIMAL". + IF TST-DECIMAL-SIGNED NOT = ZERO-DECIMAL + DISPLAY "TST-DECIMAL-SIGNED IS NOT ZERO-DECIMAL". + IF TST-DECIMAL-SIGNED < ZERO-DECIMAL + DISPLAY "TST-DECIMAL-SIGNED IS < ZERO-DECIMAL". + + GOBACK. +_ATEOF + + +# dropping "fast compare" does an internal numeric compare, where invalid data +# in USAGE DISPLAY is converted (onlysecond half-byte used) and leading SPACE +# is skipped in general +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14594: \$COMPILE -Wno-constant-expression -fno-fast-compare prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression -fno-fast-compare prog.cob" "run_misc.at:14594" +( $at_check_trace; $COMPILE -Wno-constant-expression -fno-fast-compare prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14594" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14595: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14595" +( $at_check_trace; $COBCRUN_DIRECT ./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:14595" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# with "fast compare" enabled, the same PIC+USAGE leads to memcmp, therefore the +# result differs with invalid data; note: the exact "difference" is unportable +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14599: \$COMPILE -Wno-constant-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression prog.cob" "run_misc.at:14599" +( $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_misc.at:14599" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14600: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_misc.at:14600" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "TST-NUMBER IS NOT ZERO-NUMBER +TST-NUMBER IS < ZERO-NUMBER +TST-DECIMAL IS NOT ZERO-DECIMAL +TST-DECIMAL IS < ZERO-DECIMAL +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14600" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# result with MF would be: +# TST-NUMBER IS NOT 0 +# TST-NUMBER IS < 0 +# TST-NUMBER-SIGNED IS NOT 0 +# TST-NUMBER-SIGNED IS < 0 +# TST-NUMBER IS NOT ZERO-NUMBER +# TST-NUMBER IS < ZERO-NUMBER +# TST-NUMBER-SIGNED IS NOT ZERO-NUMBER +# TST-NUMBER-SIGNED IS < ZERO-NUMBER +# TST-DECIMAL IS NOT ZERO-DECIMAL +# TST-DECIMAL IS < ZERO-DECIMAL +# TST-DECIMAL-SIGNED IS NOT ZERO-DECIMAL +# TST-DECIMAL-SIGNED IS < ZERO-DECIMAL +# CHECKME: Do we want to mimic that with -std=mf? + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_860 +#AT_START_861 +at_fn_group_banner 861 'run_misc.at:14626' \ + "Decimal constants and programs in same source" " " 4 +at_xfail=no +( + printf "%s\n" "861. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# this used to cause a SIGSEGV, see bug #917 + +cat >prog.cpy <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. :PROG-NAME: :PROG-KIND:. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC 9(2) VALUE 42. + 01 Y PIC 9v9 VALUE 0.1. + PROCEDURE DIVISION. + MAIN. + * ensure that cobc cannot optimize the expression away + IF FUNCTION CURRENT-DATE = 0 + ADD 1 TO Y. + IF (X + Y) / 42.1 = 1 + DISPLAY "OK" WITH NO ADVANCING. + EXIT PROGRAM. + END PROGRAM :PROG-NAME:. +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC 9(2) VALUE 0. + 01 Y PIC 9v9 VALUE 0.1. + PROCEDURE DIVISION. + MAIN. + * ensure that cobc cannot optimize the expression away + IF FUNCTION CURRENT-DATE = 0 + ADD 1 TO Y. + CALL "nested_init" + CALL "nonnested_init" + CALL "nested_noninit" + CANCEL "nested_noninit" + CALL "nonnested_noninit" + CANCEL "nonnested_noninit" + IF X + Y + 42.1 <> 0 + DISPLAY "OK" WITH NO ADVANCING. + STOP RUN. + COPY prog REPLACING ==:PROG-NAME:== BY ==nested_init== + ==:PROG-KIND:== BY ==INITIAL==. + COPY prog REPLACING ==:PROG-NAME:== BY ==nested_noninit== + ==:PROG-KIND:== BY ====. + END PROGRAM prog. + COPY prog REPLACING ==:PROG-NAME:== BY ==nonnested_init== + ==:PROG-KIND:== BY ==INITIAL==. + COPY prog REPLACING ==:PROG-NAME:== BY ==nonnested_noninit== + ==:PROG-KIND:== BY ====. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14681: \$COMPILE_MODULE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:14681" +( $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:14681" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14682: \$COBCRUN prog" +at_fn_check_prepare_dynamic "$COBCRUN prog" "run_misc.at:14682" +( $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"; printf "%s\n" "OKOKOKOKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14682" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_861 +#AT_START_862 +at_fn_group_banner 862 'run_misc.at:14686' \ + "run profiling" " " 4 +at_xfail=no +( + printf "%s\n" "862. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + 1ST SECTION. + PARA-0001. + PERFORM PARA-0003. + PARA-0002. + CONTINUE. + PARA-0003. + GO TO 2ND. + PARA-0004. + CONTINUE. + 2ND SECTION. + PARA-0005. + PERFORM PARA-0006. + PARA-0006. + CONTINUE. + PARA-0007. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14711: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:14711" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section '1ST': +prog.cob: in paragraph 'PARA-0003': +prog.cob:11: warning: GO TO SECTION '2ND' +" | \ + $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:14711" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14719: COB_PROF_ENABLE=1 COB_PROF_FILE='prof-\$b.csv' \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE='prof-$b.csv' $COBCRUN_DIRECT ./prog" "run_misc.at:14719" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE='prof-$b.csv' $COBCRUN_DIRECT ./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:14719" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14721: \$COMPILE -fprof prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog.cob" "run_misc.at:14721" +( $at_check_trace; $COMPILE -fprof prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in section '1ST': +prog.cob: in paragraph 'PARA-0003': +prog.cob:11: warning: GO TO SECTION '2ND' +" | \ + $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:14721" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14727: COB_PROF_ENABLE=0 COB_PROF_FILE='prof-\$b.csv' \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=0 COB_PROF_FILE='prof-$b.csv' $COBCRUN_DIRECT ./prog" "run_misc.at:14727" +( $at_check_trace; COB_PROF_ENABLE=0 COB_PROF_FILE='prof-$b.csv' $COBCRUN_DIRECT ./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:14727" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + +# Specific test for $f, which is an absolute file name +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14730: COB_PROF_ENABLE=1 COB_PROF_FILE='\$f-prof.csv' \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE='$f-prof.csv' $COBCRUN_DIRECT ./prog" "run_misc.at:14730" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE='$f-prof.csv' $COBCRUN_DIRECT ./prog +) >>"$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_misc.at:14730" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14731: ls prog\$COB_EXE_EXT-prof.csv" +at_fn_check_prepare_dynamic "ls prog$COB_EXE_EXT-prof.csv" "run_misc.at:14731" +( $at_check_trace; ls prog$COB_EXE_EXT-prof.csv +) >>"$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:14731" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14733: COB_PROF_ENABLE=1 COB_PROF_FILE='prof-\$\$-\$b.csv' COB_PROF_FORMAT=%i,%m,%s,%p,%e,%f,%l,%w,%k,%t,%h,%n,%x \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE='prof-$$-$b.csv' COB_PROF_FORMAT=%i,%m,%s,%p,%e,%f,%l,%w,%k,%t,%h,%n,%x $COBCRUN_DIRECT ./prog" "run_misc.at:14733" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE='prof-$$-$b.csv' COB_PROF_FORMAT=%i,%m,%s,%p,%e,%f,%l,%w,%k,%t,%h,%n,%x $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof-123456-prog.csv generated +" | \ + $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:14733" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + +# note: The time here is actually the number of times the procedure has +# been run, to avoid any indeterminism in the running time of the +# procedure. + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14741: cat prof-123456-prog.csv" +at_fn_check_prepare_trace "run_misc.at:14741" +( $at_check_trace; cat prof-123456-prog.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "pid,program-id,section,paragraph,entry,file,line,location,kind,time-ns,time,ncalls,%x +123456,prog,,,,prog.cob,4,prog.cob:4,PROGRAM,13000000,0.013 s,1,%x +123456,prog,1ST,,,prog.cob,5,prog.cob:5,SECTION,12000000,0.012 s,1,%x +123456,prog,1ST,PARA-0001,,prog.cob,6,prog.cob:6,PARAGRAPH,11000000,0.011 s,1,%x +123456,prog,1ST,PARA-0002,,prog.cob,8,prog.cob:8,PARAGRAPH,0,0.000 s,0,%x +123456,prog,1ST,PARA-0003,,prog.cob,10,prog.cob:10,PARAGRAPH,1000000,0.001 s,1,%x +123456,prog,1ST,PARA-0004,,prog.cob,12,prog.cob:12,PARAGRAPH,0,0.000 s,0,%x +123456,prog,2ND,,,prog.cob,14,prog.cob:14,SECTION,6000000,0.006 s,1,%x +123456,prog,2ND,PARA-0005,,prog.cob,15,prog.cob:15,PARAGRAPH,3000000,0.003 s,1,%x +123456,prog,2ND,PARA-0006,,prog.cob,17,prog.cob:17,PARAGRAPH,2000000,0.002 s,2,%x +123456,prog,2ND,PARA-0007,,prog.cob,19,prog.cob:19,PARAGRAPH,1000000,0.001 s,1,%x +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14741" +$at_failed && at_fn_log_failure \ +"prof-prog.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_862 +#AT_START_863 +at_fn_group_banner 863 'run_misc.at:14758' \ + "run profiling with no paragraph/section names" " " 4 +at_xfail=no +( + printf "%s\n" "863. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + DISPLAY "HELLO". + DISPLAY "WORLD". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14769: \$COMPILE -fprof prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog.cob" "run_misc.at:14769" +( $at_check_trace; $COMPILE -fprof prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14769" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14772: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog" "run_misc.at:14772" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "HELLO +WORLD +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14772" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14778: cat prof.csv" +at_fn_check_prepare_trace "run_misc.at:14778" +( $at_check_trace; cat prof.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog,,,,prog.cob:4,PROGRAM,3000000,0.003 s,1 +prog,MAIN SECTION,,,prog.cob:5,SECTION,1000000,0.001 s,1 +prog,MAIN SECTION,MAIN PARAGRAPH,,prog.cob:5,PARAGRAPH,1000000,0.001 s,1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14778" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_863 +#AT_START_864 +at_fn_group_banner 864 'run_misc.at:14788' \ + "run profiling with no section names" " " 4 +at_xfail=no +( + printf "%s\n" "864. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + 1ST. + DISPLAY "HELLO". + 2ND. + DISPLAY "WORLD". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14801: \$COMPILE -fprof prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog.cob" "run_misc.at:14801" +( $at_check_trace; $COMPILE -fprof prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14801" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14804: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog" "run_misc.at:14804" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "HELLO +WORLD +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14804" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14810: cat prof.csv" +at_fn_check_prepare_trace "run_misc.at:14810" +( $at_check_trace; cat prof.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog,,,,prog.cob:4,PROGRAM,5000000,0.005 s,1 +prog,MAIN SECTION,,,prog.cob:5,SECTION,2000000,0.002 s,1 +prog,MAIN SECTION,1ST,,prog.cob:5,PARAGRAPH,1000000,0.001 s,1 +prog,MAIN SECTION,2ND,,prog.cob:7,PARAGRAPH,1000000,0.001 s,1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14810" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_864 +#AT_START_865 +at_fn_group_banner 865 'run_misc.at:14821' \ + "profiling depth overflow" " " 4 +at_xfail=no +( + printf "%s\n" "865. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + MAIN. + PERFORM PARA. + STOP RUN. + PARA. + DISPLAY "OK" WITH NO ADVANCING. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14835: \$COMPILE -fprof prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog.cob" "run_misc.at:14835" +( $at_check_trace; $COMPILE -fprof prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14835" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14837: COB_PROF_MAX_DEPTH=2 COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_MAX_DEPTH=2 COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog" "run_misc.at:14837" +( $at_check_trace; COB_PROF_MAX_DEPTH=2 COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:8: warning: [cob_prof] Profiling overflow at 2 calls, aborting profiling. +libcob: prog.cob:8: warning: Last 10 calls on stack: +libcob: prog.cob:8: warning: * MAIN at prog.cob:5 +libcob: prog.cob:8: warning: * prog at prog.cob:4 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14837" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_865 +#AT_START_866 +at_fn_group_banner 866 'run_misc.at:14847' \ + "run profiling with recursion, entries and CALL" " " 4 +at_xfail=no +( + printf "%s\n" "866. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog RECURSIVE. + PROCEDURE DIVISION. + DISPLAY "HELLO WORLD". + CALL "entry". + GOBACK. + ENTRY "entry". + CALL "inside-program". + PROGRAM-ID. inside-program. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 COUNTER PIC 9(4). + PROCEDURE DIVISION. + MAIN SECTION. + MOVE 100 TO COUNTER. + INSIDE SECTION. + PERFORM ITER. + EXIT SECTION. + ITER. + IF COUNTER = 0 + DISPLAY "end iter" + EXIT PARAGRAPH. + SUBTRACT 1 FROM COUNTER. + PERFORM INSIDE. + END PROGRAM inside-program. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14879: \$COMPILE -fprof prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog.cob" "run_misc.at:14879" +( $at_check_trace; $COMPILE -fprof prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14879" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14882: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog" "run_misc.at:14882" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "HELLO WORLD +end iter +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14882" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14889: cat prof.csv" +at_fn_check_prepare_trace "run_misc.at:14889" +( $at_check_trace; cat prof.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +inside-program,,,,prog.cob:14,PROGRAM,407000000,0.407 s,1 +inside-program,MAIN,,,prog.cob:15,SECTION,1000000,0.001 s,1 +inside-program,MAIN,MAIN PARAGRAPH,,prog.cob:15,PARAGRAPH,1000000,0.001 s,1 +inside-program,INSIDE,,,prog.cob:17,SECTION,804000000,0.804 s,101 +inside-program,INSIDE,MAIN PARAGRAPH,,prog.cob:17,PARAGRAPH,403000000,0.403 s,101 +inside-program,INSIDE,ITER,,prog.cob:20,PARAGRAPH,401000000,0.401 s,101 +prog,,,,prog.cob:4,PROGRAM,419000000,0.419 s,2 +prog,MAIN SECTION,,,prog.cob:5,SECTION,417000000,0.417 s,1 +prog,MAIN SECTION,MAIN PARAGRAPH,,prog.cob:5,PARAGRAPH,417000000,0.417 s,2 +prog,MAIN SECTION,MAIN PARAGRAPH,entry,prog.cob:6,CALL,415000000,0.415 s,1 +prog,MAIN SECTION,MAIN PARAGRAPH,entry,prog.cob:8,ENTRY,0,0.000 s,1 +prog,MAIN SECTION,MAIN PARAGRAPH,inside-program,prog.cob:9,CALL,409000000,0.409 s,1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14889" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_866 +#AT_START_867 +at_fn_group_banner 867 'run_misc.at:14908' \ + "profiling two modules with CALL" " " 4 +at_xfail=no +( + printf "%s\n" "867. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog1. + DATA DIVISION. + LOCAL-STORAGE SECTION. + 01 COUNTER PIC 9(4). + 01 PARAM PIC 9. + 01 CALL-NAME PIC X(10). + PROCEDURE DIVISION. + *>PROG. test the non-standard "no main paragraph, but + *> later using one" for its expected profiling output + MOVE 'prog2' TO CALL-NAME. + PERFORM CALL-PROG2 + VARYING COUNTER FROM 0 BY 1 + UNTIL COUNTER = 300. + GOBACK. + CALL-PROG2. + MOVE 1 TO PARAM. + CALL "prog2" USING PARAM. + MOVE 2 TO PARAM. + CALL CALL-NAME USING PARAM. + END PROGRAM prog1. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + DATA DIVISION. + LINKAGE SECTION. + 01 PARAM PIC 9. + PROCEDURE DIVISION USING PARAM. + DISPLAYER SECTION. + IF PARAM = 1 + DISPLAY "X" NO ADVANCING + ELSE + PERFORM OTHER-DISPLAY. + GOBACK. + OTHER-DISPLAY SECTION. + DISPLAY "Y" NO ADVANCING. + END PROGRAM prog2. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14952: \$COMPILE -fprof prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog1.cob" "run_misc.at:14952" +( $at_check_trace; $COMPILE -fprof 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_misc.at:14952" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14953: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_misc.at:14953" +( $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_misc.at:14953" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14956: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog1" "run_misc.at:14956" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "XYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXY" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14956" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14961: cat prof.csv" +at_fn_check_prepare_trace "run_misc.at:14961" +( $at_check_trace; cat prof.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog1,,,,prog1.cob:9,PROGRAM,1803000000,1.803 s,1 +prog1,MAIN SECTION,,,prog1.cob:12,SECTION,3301000000,3.301 s,1 +prog1,MAIN SECTION,MAIN PARAGRAPH,,prog1.cob:12,PARAGRAPH,1801000000,1.801 s,1 +prog1,MAIN SECTION,CALL-PROG2,,prog1.cob:17,PARAGRAPH,1500000000,1.500 s,300 +prog1,MAIN SECTION,CALL-PROG2,prog2,prog1.cob:19,CALL,300000000,0.300 s,300 +prog1,MAIN SECTION,CALL-PROG2,(dynamic),prog1.cob:21,CALL,300000000,0.300 s,300 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14961" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +# same name sometimes leads to locks - especially on Win32 +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14972: mv prog2.\$COB_MODULE_EXT prog2.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv prog2.$COB_MODULE_EXT prog2.old.$COB_MODULE_EXT" "run_misc.at:14972" +( $at_check_trace; mv prog2.$COB_MODULE_EXT prog2.old.$COB_MODULE_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:14972" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14973: \$COMPILE_MODULE -fprof prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fprof prog2.cob" "run_misc.at:14973" +( $at_check_trace; $COMPILE_MODULE -fprof 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:14973" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14975: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog1" "run_misc.at:14975" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./prog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "XYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXY" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14975" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:14980: cat prof.csv" +at_fn_check_prepare_trace "run_misc.at:14980" +( $at_check_trace; cat prof.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog2,,,,prog2.cob:7,PROGRAM,2400000000,2.400 s,600 +prog2,DISPLAYER,,,prog2.cob:8,SECTION,1200000000,1.200 s,600 +prog2,DISPLAYER,MAIN PARAGRAPH,,prog2.cob:8,PARAGRAPH,1200000000,1.200 s,600 +prog2,OTHER-DISPLAY,,,prog2.cob:14,SECTION,300000000,0.300 s,300 +prog2,OTHER-DISPLAY,MAIN PARAGRAPH,,prog2.cob:14,PARAGRAPH,300000000,0.300 s,300 +prog1,,,,prog1.cob:9,PROGRAM,4803000000,4.803 s,1 +prog1,MAIN SECTION,,,prog1.cob:12,SECTION,9301000000,9.301 s,1 +prog1,MAIN SECTION,MAIN PARAGRAPH,,prog1.cob:12,PARAGRAPH,4801000000,4.801 s,1 +prog1,MAIN SECTION,CALL-PROG2,,prog1.cob:17,PARAGRAPH,4500000000,4.500 s,300 +prog1,MAIN SECTION,CALL-PROG2,prog2,prog1.cob:19,CALL,1500000000,1.500 s,300 +prog1,MAIN SECTION,CALL-PROG2,(dynamic),prog1.cob:21,CALL,2100000000,2.100 s,300 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:14980" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_867 +#AT_START_868 +at_fn_group_banner 868 'run_misc.at:14998' \ + "profiling multiple programs" " " 4 +at_xfail=no +( + printf "%s\n" "868. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog1. + DATA DIVISION. + working-storage section. + 01 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 01 callee pic x(8) value "./prog2". + 88 callee-wdos value ".\prog2". + PROCEDURE DIVISION. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + set callee-wdos to true. + call "SYSTEM" using callee. + if callee = space + call 'impossible'. + GOBACK. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + PROCEDURE DIVISION. + MAIN. + SET ENVIRONMENT "COB_PROF_FILE" TO "prof2.csv" + PERFORM PARA 5 TIMES. + GOBACK. + PARA. + CONTINUE. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15035: \$COMPILE_MODULE -fprof prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fprof prog1.cob" "run_misc.at:15035" +( $at_check_trace; $COMPILE_MODULE -fprof 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_misc.at:15035" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15036: \$COMPILE -fprof prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -fprof prog2.cob" "run_misc.at:15036" +( $at_check_trace; $COMPILE -fprof 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:15036" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15041: COB_PROF_ENABLE=1 COB_PROF_FILE=prof1.csv \$COBCRUN prog1" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof1.csv $COBCRUN prog1" "run_misc.at:15041" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof1.csv $COBCRUN prog1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof2.csv generated +File prof1.csv generated +" | \ + $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:15041" +$at_failed && at_fn_log_failure \ +"prof1.csv" \ +"prof2.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15046: cat prof1.csv" +at_fn_check_prepare_trace "run_misc.at:15046" +( $at_check_trace; cat prof1.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog1,,,,prog1.cob:10,PROGRAM,5000000,0.005 s,1 +prog1,MAIN SECTION,,,prog1.cob:11,SECTION,3000000,0.003 s,1 +prog1,MAIN SECTION,MAIN PARAGRAPH,,prog1.cob:11,PARAGRAPH,3000000,0.003 s,1 +prog1,MAIN SECTION,MAIN PARAGRAPH,SYSTEM,prog1.cob:19,CALL,1000000,0.001 s,1 +prog1,MAIN SECTION,MAIN PARAGRAPH,impossible,prog1.cob:21,CALL,0,0.000 s,0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:15046" +$at_failed && at_fn_log_failure \ +"prof1.csv" \ +"prof2.csv" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15055: cat prof2.csv" +at_fn_check_prepare_trace "run_misc.at:15055" +( $at_check_trace; cat prof2.csv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "program-id,section,paragraph,entry,location,kind,time-ns,time,ncalls +prog2,,,,prog2.cob:4,PROGRAM,13000000,0.013 s,1 +prog2,MAIN SECTION,,,prog2.cob:5,SECTION,16000000,0.016 s,1 +prog2,MAIN SECTION,MAIN,,prog2.cob:5,PARAGRAPH,11000000,0.011 s,1 +prog2,MAIN SECTION,PARA,,prog2.cob:9,PARAGRAPH,5000000,0.005 s,5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:15055" +$at_failed && at_fn_log_failure \ +"prof1.csv" \ +"prof2.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_868 +#AT_START_869 +at_fn_group_banner 869 'run_misc.at:15066' \ + "profiling out of test mode" " " 4 +at_xfail=no +( + printf "%s\n" "869. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >caller.c <<'_ATEOF' + +#include +#include + +#ifndef NULL +#define NULL (void*)0 +#endif + +int +main (int argc, char **argv) +{ + int i; + + /* portable version from libcob */ + (void)cob_unsetenv("COB_IS_RUNNING_IN_TESTMODE"); + + cob_init (argc, argv); + + for (i = 0; i < 300; ++i) { + cob_call ("callee", 0, NULL); + } + + cob_tidy (); + + return 0; +} +_ATEOF + + +cat >callee.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + PROCEDURE DIVISION. + MAIN. + PERFORM PARA 5 TIMES. + GOBACK. + PARA. + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15108: \$COMPILE caller.c" +at_fn_check_prepare_dynamic "$COMPILE caller.c" "run_misc.at:15108" +( $at_check_trace; $COMPILE caller.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:15108" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15109: \$COMPILE_MODULE -fprof callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fprof callee.cob" "run_misc.at:15109" +( $at_check_trace; $COMPILE_MODULE -fprof 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:15109" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_misc.at:15112: COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./caller" "run_misc.at:15112" +( $at_check_trace; COB_PROF_ENABLE=1 COB_PROF_FILE=prof.csv $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "File prof.csv generated +" | \ + $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:15112" +$at_failed && at_fn_log_failure \ +"prof.csv" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_869 +#AT_START_870 +at_fn_group_banner 870 'run_file.at:23' \ + "OPEN EXTEND and CLOSE, SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "870. $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 FILE-OPT + ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + SELECT FILE0 ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + FD FILE-OPT. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + OUT. + OPEN EXTEND FILE-OPT + IF WSFS NOT = "05" + DISPLAY "STATUS EXTEND, missing optional file:" WSFS + IF WSFS (1:1) NOT = "0" GO TO INP. + MOVE ALL "A" TO FOREC + WRITE FOREC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE A:" WSFS. + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE:" WSFS. + OPEN EXTEND FILE0 + IF WSFS NOT = "00" + DISPLAY "STATUS EXTEND, empty file:" WSFS. + MOVE ALL "B" TO F0REC + WRITE F0REC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE B:" WSFS. + CLOSE FILE0. + * + INP. + OPEN INPUT FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS INPUT:" WSFS + IF WSFS (1:1) NOT = "0" GO TO EX. + READ FILE-OPT NEXT + IF WSFS NOT = "00" + DISPLAY "STATUS READ A:" WSFS. + READ FILE-OPT NEXT + IF WSFS NOT = "00" + DISPLAY "STATUS READ B:" WSFS. + CLOSE FILE-OPT. + * + EX. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:87: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:87" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:87" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:88: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:88" +( $at_check_trace; $COBCRUN_DIRECT ./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:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_870 +#AT_START_871 +at_fn_group_banner 871 'run_file.at:93' \ + "CLOSE WITH LOCK" " " 4 +at_xfail=no +( + printf "%s\n" "871. $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 FILE-TBL ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + SELECT FILE0 ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + FD FILE-TBL. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + OUT. + OPEN OUTPUT FILE-TBL + IF WSFS NOT = "00" + DISPLAY "STATUS OPEN OUTPUT:" WSFS + IF WSFS (1:1) NOT = "0" GO TO INP. + MOVE ALL "A" TO FOREC + WRITE FOREC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE A:" WSFS. + CLOSE FILE-TBL WITH LOCK + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE WITH LOCK:" WSFS. + INP. + OPEN INPUT FILE-TBL + IF WSFS NOT = "38" + DISPLAY "STATUS INPUT after CLOSE LOCK:" WSFS. + CLOSE FILE-TBL + IF WSFS NOT = "42" + DISPLAY "STATUS CLOSE non-opened:" WSFS. + * + DEL. + * Note: MicroFocus _does_ delete the file and returns status 00 here + DELETE FILE FILE-TBL + IF WSFS NOT = "38" + DISPLAY "STATUS DELETE FILE after CLOSE LOCK:" WSFS. + * + INP2. + OPEN INPUT FILE0 + IF WSFS NOT = "00" + DISPLAY "STATUS INPUT separate file:" WSFS + IF WSFS (1:1) NOT = "0" GO TO EX. + READ FILE0 NEXT + IF WSFS NOT = "00" + DISPLAY "STATUS READ A:" WSFS. + IF F0REC NOT = ALL "A" + DISPLAY "content not ALL 'A':" F0REC ":". + CLOSE FILE0 + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE:" WSFS. + * + EX. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:161: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:161" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_file.at:162: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:162" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_871 +#AT_START_872 +at_fn_group_banner 872 'run_file.at:167' \ + "CLOSE WITH LOCK, EXTERNAL FILE" " " 4 +at_xfail=no +( + printf "%s\n" "872. $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 FILE-TBL ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-TBL EXTERNAL. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + MAIN. + OPEN OUTPUT FILE-TBL + IF WSFS NOT = "00" + DISPLAY "STATUS OPEN OUTPUT:" WSFS + IF WSFS (1:1) NOT = "0" GOBACK. + MOVE ALL "A" TO FOREC + WRITE FOREC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE A:" WSFS. + CLOSE FILE-TBL WITH LOCK + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE WITH LOCK:" WSFS. + * + CALL "progb". + * + STOP RUN. +_ATEOF + + +cat >progb.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. progb. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE-TBL ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-TBL EXTERNAL. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + OPEN INPUT FILE-TBL + IF WSFS NOT = "38" + DISPLAY "STATUS INPUT after CLOSE LOCK:" WSFS. + CLOSE FILE-TBL + IF WSFS NOT = "42" + DISPLAY "STATUS CLOSE non-opened:" WSFS. + DELETE FILE FILE-TBL + IF WSFS NOT = "38" + DISPLAY "STATUS DELETE FILE after CLOSE LOCK:" WSFS. + * + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:234: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.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_file.at:234" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:235: \$COMPILE_MODULE progb.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE progb.cob" "run_file.at:235" +( $at_check_trace; $COMPILE_MODULE 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/run_file.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:236: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:236" +( $at_check_trace; $COBCRUN_DIRECT ./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:236" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_872 +#AT_START_873 +at_fn_group_banner 873 'run_file.at:241' \ + "variable-length SEQUENTIAL data integrity" " " 4 +at_xfail=no +( + printf "%s\n" "873. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# LINE SEQUENTIAL testfile, read as variable RECORD +cat >TEST1 <<'_ATEOF' + + + + + + + + + + + + + +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-XML00 ASSIGN TO 'DATA' FILE STATUS ST-TEST. + DATA DIVISION. + FILE SECTION. + FD TEST-XML00 RECORD VARYING FROM 5 TO 500 CHARACTERS. + 01 E-ENR PIC X(500). + WORKING-STORAGE SECTION. + 01 ST-TEST PIC X(2). + 01 W-TYPE PIC 9(03) VALUE ZERO. + 01 EOF-TEST-XML PIC 9(03) VALUE ZERO. + 01 COUNT-PASS PIC 9(02) VALUE ZERO. + PROCEDURE DIVISION. + DEBUT. + OPEN INPUT TEST-XML00 + IF ST-TEST (1:) NOT = "00" + DISPLAY "OPEN ERROR: " ST-TEST WITH NO ADVANCING + GOBACK. + INITIALIZE W-TYPE E-ENR + PERFORM UNTIL (EOF-TEST-XML = 1 OR (W-TYPE = 1 OR 2)) + READ TEST-XML00 NEXT + AT END + MOVE 1 TO EOF-TEST-XML + NOT AT END + ADD 1 TO COUNT-PASS + END-READ + END-PERFORM + CLOSE TEST-XML00 + DISPLAY COUNT-PASS + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:296: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:296" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:296" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:297: DD_DATA=TEST1 \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATA=TEST1 $COBCRUN_DIRECT ./prog" "run_file.at:297" +( $at_check_trace; DD_DATA=TEST1 $COBCRUN_DIRECT ./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"; printf "%s\n" "OPEN ERROR: 39" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:297" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# TODO: add testcase that has a valid length first to check for later +# status 04 on read - both with "record too long" and "record too small" + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_873 +#AT_START_874 +at_fn_group_banner 874 'run_file.at:306' \ + "DELETE FILE, SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "874. $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 FILE-OPT + ASSIGN TO "testfile" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-OPT. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + *> DELETE FILE FILE-OPT + *> ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (missing) - EXCEPTION:" WSFS + *> END-DISPLAY + *> NOT ON EXCEPTION + *> IF WSFS NOT = "05" + *> DISPLAY "STATUS DELETE FILE (missing):" WSFS + *> END-IF + *> END-DELETE + OPEN I-O FILE-OPT + IF WSFS NOT = "05" + DISPLAY "STATUS I-O, missing optional file:" WSFS. + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE:" WSFS. + OPEN I-O FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS I-O, empty file:" WSFS. + DELETE FILE FILE-OPT + *> ON EXCEPTION + IF WSFS NOT = "41" + DISPLAY "STATUS DELETE FILE (OPENED):" WSFS + END-IF + *> NOT ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (OPENED) - NO EXCEPTION:" WSFS + *> END-DELETE + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE #2:" WSFS. + DELETE FILE FILE-OPT + *> ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (closed) - EXCEPTION:" WSFS + *> END-DISPLAY + *> NOT ON EXCEPTION + IF WSFS NOT = "00" + DISPLAY "STATUS DELETE FILE (closed):" WSFS + END-IF + *> END-DELETE + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:370: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:370" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:370" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:371: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:371" +( $at_check_trace; $COBCRUN_DIRECT ./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:371" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_874 +#AT_START_875 +at_fn_group_banner 875 'run_file.at:376' \ + "OUTPUT on SEQUENTIAL file to missing directory" " " 4 +at_xfail=no +( + printf "%s\n" "875. $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 FILE0 ASSIGN TO "./nosubhere/MYFILE0" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + OPEN OUTPUT FILE0 + IF WSFS NOT = "30" + DISPLAY "STATUS OPENO " WSFS. + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:404: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:404" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:404" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:405: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:405" +( $at_check_trace; $COBCRUN_DIRECT ./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:405" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >nosubhere <<'_ATEOF' +Test +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:408: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:408" +( $at_check_trace; $COBCRUN_DIRECT ./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:408" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_875 +#AT_START_876 +at_fn_group_banner 876 'run_file.at:413' \ + "OPEN EXTEND and CLOSE, INDEXED" " " 4 +at_xfail=no +( + printf "%s\n" "876. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:416" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:416" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL FILE-OPT + ASSIGN TO "testfile" + ORGANIZATION IS INDEXED + RECORD KEY IS FOREC + FILE STATUS IS WSFS. + SELECT FILE0 ASSIGN TO "testfile" + ORGANIZATION IS INDEXED + RECORD KEY IS F0REC + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + FD FILE-OPT. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + OPEN EXTEND FILE-OPT + IF WSFS NOT = "05" + DISPLAY "STATUS EXTEND, missing optional file:" WSFS. + MOVE ALL "A" TO FOREC + WRITE FOREC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE A:" WSFS. + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE:" WSFS. + OPEN EXTEND FILE0 + IF WSFS NOT = "00" + DISPLAY "STATUS EXTEND, empty file:" WSFS. + MOVE ALL "B" TO F0REC + WRITE F0REC + IF WSFS NOT = "00" + DISPLAY "STATUS WRITE B:" WSFS. + CLOSE FILE0 + * + OPEN INPUT FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS INPUT:" WSFS. + MOVE ALL "A" TO FOREC + READ FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS READ A:" WSFS. + MOVE ALL "B" TO FOREC + READ FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS READ B:" WSFS. + CLOSE FILE-OPT + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:479: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:479" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:479" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:480: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:480" +( $at_check_trace; $COBCRUN_DIRECT ./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:480" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_876 +#AT_START_877 +at_fn_group_banner 877 'run_file.at:485' \ + "DELETE FILE, INDEXED" " " 4 +at_xfail=no +( + printf "%s\n" "877. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:488" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:488" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL FILE-OPT + ASSIGN TO "testfile" + ORGANIZATION IS INDEXED + RECORD KEY IS FOREC + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-OPT. + 01 FOREC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + *> DELETE FILE FILE-OPT + *> ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (missing) - EXCEPTION: " WSFS + *> END-DISPLAY + *> NOT ON EXCEPTION + *> IF WSFS NOT = "05" + *> DISPLAY "STATUS DELETE FILE (missing): " WSFS + *> END-IF + *> END-DELETE + OPEN I-O FILE-OPT + IF WSFS NOT = "05" + DISPLAY "STATUS I-O, missing optional file: " WSFS. + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE: " WSFS. + OPEN I-O FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS I-O, empty file: " WSFS. + DELETE FILE FILE-OPT + *> ON EXCEPTION + IF WSFS NOT = "41" + DISPLAY "STATUS DELETE FILE (opened): " WSFS + END-IF + *> NOT ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (opened) - NO EXCEPTION: " WSFS + *> END-DELETE + CLOSE FILE-OPT + IF WSFS NOT = "00" + DISPLAY "STATUS CLOSE #2: " WSFS. + DELETE FILE FILE-OPT + *> ON EXCEPTION + *> DISPLAY "STATUS DELETE FILE (closed) - EXCEPTION: " WSFS + *> END-DISPLAY + *> NOT ON EXCEPTION + IF WSFS NOT = "00" + DISPLAY "STATUS DELETE FILE (closed): " WSFS + END-IF + *> END-DELETE + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:552: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:552" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:552" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:553: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:553" +( $at_check_trace; $COBCRUN_DIRECT ./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:553" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_877 +#AT_START_878 +at_fn_group_banner 878 'run_file.at:558' \ + "OUTPUT on INDEXED file to missing directory" " " 4 +at_xfail=no +( + printf "%s\n" "878. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:561" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:561" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE0 ASSIGN TO "./nosubhere/MYFILE0" + ORGANIZATION IS INDEXED + RECORD KEY IS F0REC + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + OPEN OUTPUT FILE0 + IF WSFS NOT = "35" + DISPLAY "STATUS OPENO " WSFS. + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:589: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:589" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:589" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:590: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:590" +( $at_check_trace; $COBCRUN_DIRECT ./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:590" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >nosubhere <<'_ATEOF' +Test +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:593: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:593" +( $at_check_trace; $COBCRUN_DIRECT ./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:593" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_878 +#AT_START_879 +at_fn_group_banner 879 'run_file.at:598' \ + "READ INTO data item AT-END sequence" " " 4 +at_xfail=no +( + printf "%s\n" "879. $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 +printf "%s\n" "$at_srcdir/run_file.at:629: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:629" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:629" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:630: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:630" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_879 +#AT_START_880 +at_fn_group_banner 880 'run_file.at:635' \ + "First READ on empty SEQUENTIAL INDEXED file" " " 4 +at_xfail=no +( + printf "%s\n" "880. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:638" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:638" + +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 +printf "%s\n" "$at_srcdir/run_file.at:669: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:669" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:669" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:670: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:670" +( $at_check_trace; $COBCRUN_DIRECT ./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:670" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_880 +#AT_START_881 +at_fn_group_banner 881 'run_file.at:675' \ + "READ NEXT without previous START" " " 4 +at_xfail=no +( + printf "%s\n" "881. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:678" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:678" + +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-REC. + 05 TEST-KEY PIC X(10). + 05 TEST-DATA PIC X. + PROCEDURE DIVISION. + OPEN OUTPUT TEST-FILE + MOVE '1' TO TEST-KEY + MOVE 'A' TO TEST-DATA + WRITE TEST-REC + MOVE '3' TO TEST-KEY + MOVE 'B' TO TEST-DATA + WRITE TEST-REC + CLOSE TEST-FILE + OPEN INPUT TEST-FILE + READ TEST-FILE NEXT + AT END + DISPLAY "AT END FOR REC1" + END-DISPLAY + CLOSE TEST-FILE + STOP RUN + NOT AT END + CONTINUE + END-READ + IF TEST-DATA NOT = 'A' + DISPLAY "WRONG REC1: '" TEST-REC "'" + END-DISPLAY + END-IF + READ TEST-FILE NEXT + AT END + DISPLAY "AT END FOR REC2" + END-DISPLAY + CLOSE TEST-FILE + STOP RUN + NOT AT END + CONTINUE + END-READ. + IF TEST-DATA NOT = 'B' + DISPLAY "WRONG REC2: '" TEST-REC "'" + END-DISPLAY + END-IF + READ TEST-FILE NEXT + AT END + CONTINUE + NOT AT END + DISPLAY "NOT AT END AFTER REC2" + END-DISPLAY + END-READ + IF TEST-DATA NOT = 'B' + DISPLAY "DATE CHANGED ON EOF: '" TEST-REC "'" + END-DISPLAY + END-IF + CLOSE TEST-FILE + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:747: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:747" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:747" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:748: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:748" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_881 +#AT_START_882 +at_fn_group_banner 882 'run_file.at:753' \ + "REWRITE a RELATIVE file with RANDOM access" " " 4 +at_xfail=no +( + printf "%s\n" "882. $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 +printf "%s\n" "$at_srcdir/run_file.at:814: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:814" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:814" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:815: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:815" +( $at_check_trace; $COBCRUN_DIRECT ./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:815" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_882 +#AT_START_883 +at_fn_group_banner 883 'run_file.at:823' \ + "ASSIGN DYNAMIC and EXTERNAL" " " 4 +at_xfail=no +( + printf "%s\n" "883. $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 whatever + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC XXX. + + WORKING-STORAGE SECTION. + 01 whatever PIC X(10) VALUE "out.txt". + + PROCEDURE DIVISION. + OPEN OUTPUT f + WRITE f-rec FROM "hi" + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:851: \$COMPILE -fassign-clause=external prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=external prog.cob" "run_file.at:851" +( $at_check_trace; $COMPILE -fassign-clause=external prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:851" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:853: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:853" +( $at_check_trace; $COBCRUN_DIRECT ./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:853" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + +cat >reference <<'_ATEOF' +hi +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:857: diff reference whatever" +at_fn_check_prepare_trace "run_file.at:857" +( $at_check_trace; diff reference whatever +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:857" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:859: \$COMPILE -fassign-clause=dynamic -fno-implicit-assign-dynamic-var prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=dynamic -fno-implicit-assign-dynamic-var prog.cob" "run_file.at:859" +( $at_check_trace; $COMPILE -fassign-clause=dynamic -fno-implicit-assign-dynamic-var prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:859" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:860: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:860" +( $at_check_trace; $COBCRUN_DIRECT ./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:860" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:861: diff reference whatever" +at_fn_check_prepare_trace "run_file.at:861" +( $at_check_trace; diff reference whatever +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:861" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:863: \$COMPILE -fassign-clause=dynamic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=dynamic prog.cob" "run_file.at:863" +( $at_check_trace; $COMPILE -fassign-clause=dynamic prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:863" +$at_failed && at_fn_log_failure \ +"whatever" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:865: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:865" +( $at_check_trace; $COBCRUN_DIRECT ./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:865" +$at_failed && at_fn_log_failure \ +"whatever" \ +"out.txt" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:866: diff reference out.txt" +at_fn_check_prepare_trace "run_file.at:866" +( $at_check_trace; diff reference out.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_file.at:866" +$at_failed && at_fn_log_failure \ +"whatever" \ +"out.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_883 +#AT_START_884 +at_fn_group_banner 884 'run_file.at:871' \ + "ASSIGN EXTERNAL parsing" " " 4 +at_xfail=no +( + printf "%s\n" "884. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + *> Labels should be removed from EXTERNAL name. + SELECT TEST-FILE ASSIGN DA-S-FILENAME. + *> EXTERNAL name allowed to duplicate FD name. + SELECT TESTFILE2 ASSIGN TESTFILE2. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(4). + FD TESTFILE2. + 01 TESTREC2 PIC X(4). + PROCEDURE DIVISION. + OPEN OUTPUT TEST-FILE. + CLOSE TEST-FILE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:896: \$COMPILE -fassign-clause=external prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=external prog.cob" "run_file.at:896" +( $at_check_trace; $COMPILE -fassign-clause=external prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: ASSIGN DA-S-FILENAME 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_file.at:896" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:899: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:899" +( $at_check_trace; $COBCRUN_DIRECT ./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:899" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:900: test -f FILENAME" +at_fn_check_prepare_trace "run_file.at:900" +( $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_file.at:900" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_884 +#AT_START_885 +at_fn_group_banner 885 'run_file.at:905' \ + "ASSIGN directive" " " 4 +at_xfail=no +( + printf "%s\n" "885. $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 whatever + ORGANIZATION LINE SEQUENTIAL. + $SET ASSIGN "EXTERNAL" + SELECT g ASSIGN whatever + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC XXX. + FD g. + 01 g-rec PIC XXX. + + PROCEDURE DIVISION. + MOVE "out.txt" TO whatever + + OPEN OUTPUT f + WRITE f-rec FROM "hi" + CLOSE f + + OPEN OUTPUT g + WRITE g-rec FROM "hi" + CLOSE g + . + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:942: \$COMPILE -fassign-clause=dynamic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=dynamic prog.cob" "run_file.at:942" +( $at_check_trace; $COMPILE -fassign-clause=dynamic prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:942" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:943: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:943" +( $at_check_trace; $COBCRUN_DIRECT ./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:943" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_885 +#AT_START_886 +at_fn_group_banner 886 'run_file.at:948' \ + "ASSIGN filename expansion" " " 4 +at_xfail=no +( + printf "%s\n" "886. $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 +printf "%s\n" "$at_srcdir/run_file.at:968: \$COMPILE -ffilename-mapping prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog.cob" "run_file.at:968" +( $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_file.at:968" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:969: DIR=\".\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DIR=\".\" $COBCRUN_DIRECT ./prog" "run_file.at:969" +( $at_check_trace; DIR="." $COBCRUN_DIRECT ./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:969" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:970: test -f \"./FILENAME\" && rm -f \"./FILENAME\"" +at_fn_check_prepare_trace "run_file.at:970" +( $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_file.at:970" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_886 +#AT_START_887 +at_fn_group_banner 887 'run_file.at:975' \ + "ASSIGN filename mapping" " " 4 +at_xfail=no +( + printf "%s\n" "887. $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 +printf "%s\n" "$at_srcdir/run_file.at:1012: \$COMPILE -fno-filename-mapping prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-filename-mapping prog.cob" "run_file.at:1012" +( $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_file.at:1012" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1013: DD_FILENAME=\"x\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_FILENAME=\"x\" $COBCRUN_DIRECT ./prog" "run_file.at:1013" +( $at_check_trace; DD_FILENAME="x" $COBCRUN_DIRECT ./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:1013" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1014: test -f \"x\"" +at_fn_check_prepare_trace "run_file.at:1014" +( $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_file.at:1014" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1015: test -f \"FILENAME\"" +at_fn_check_prepare_trace "run_file.at:1015" +( $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_file.at:1015" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1017: \$COMPILE -ffilename-mapping prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog2.cob" "run_file.at:1017" +( $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_file.at:1017" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1018: DD_FILENAME2=\"x\" \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "DD_FILENAME2=\"x\" $COBCRUN_DIRECT ./prog2" "run_file.at:1018" +( $at_check_trace; DD_FILENAME2="x" $COBCRUN_DIRECT ./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:1018" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1019: test -f \"FILENAME2\"" +at_fn_check_prepare_trace "run_file.at:1019" +( $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_file.at:1019" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1020: test -f \"x\"" +at_fn_check_prepare_trace "run_file.at:1020" +( $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_file.at:1020" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1021: dd_FILENAME2=\"y\" \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "dd_FILENAME2=\"y\" $COBCRUN_DIRECT ./prog2" "run_file.at:1021" +( $at_check_trace; dd_FILENAME2="y" $COBCRUN_DIRECT ./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:1021" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1022: test -f \"y\"" +at_fn_check_prepare_trace "run_file.at:1022" +( $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_file.at:1022" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1023: FILENAME2=\"z\" \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "FILENAME2=\"z\" $COBCRUN_DIRECT ./prog2" "run_file.at:1023" +( $at_check_trace; FILENAME2="z" $COBCRUN_DIRECT ./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:1023" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1024: test -f \"z\"" +at_fn_check_prepare_trace "run_file.at:1024" +( $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_file.at:1024" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1025: FILENAME2=\"\\\"QUOTE\\\"\" \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "FILENAME2=\"\\\"QUOTE\\\"\" $COBCRUN_DIRECT ./prog2" "run_file.at:1025" +( $at_check_trace; FILENAME2="\"QUOTE\"" $COBCRUN_DIRECT ./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:1025" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1026: test -f \"QUOTE\"" +at_fn_check_prepare_trace "run_file.at:1026" +( $at_check_trace; test -f "QUOTE" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1026" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1027: FILENAME2=\\'APOST\\' \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "FILENAME2=\\'APOST\\' $COBCRUN_DIRECT ./prog2" "run_file.at:1027" +( $at_check_trace; FILENAME2=\'APOST\' $COBCRUN_DIRECT ./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:1027" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1028: test -f \"APOST\"" +at_fn_check_prepare_trace "run_file.at:1028" +( $at_check_trace; test -f "APOST" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1028" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1029: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:1029" +( $at_check_trace; $COBCRUN_DIRECT ./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:1029" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1030: test -f \"FILENAME2\"" +at_fn_check_prepare_trace "run_file.at:1030" +( $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_file.at:1030" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog3.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog3. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL INFILE ASSIGN TO "MYFILE" + 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). + PROCEDURE DIVISION. + * + * open missing file + OPEN INPUT INFILE + DISPLAY "STATUS OPENI " WSFS + CLOSE INFILE + * + * create missing file + OPEN OUTPUT INFILE + DISPLAY "STATUS OPENO " WSFS + CLOSE INFILE + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1064: \$COMPILE prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_file.at:1064" +( $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_file.at:1064" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1066: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_file.at:1066" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 05 +STATUS OPENO 00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1066" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1070: test -f \"MYFILE\"" +at_fn_check_prepare_trace "run_file.at:1070" +( $at_check_trace; test -f "MYFILE" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1070" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1072: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_file.at:1072" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 00 +STATUS OPENO 00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1072" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1077: MYFILE=\"TSTFILE\" \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "MYFILE=\"TSTFILE\" $COBCRUN_DIRECT ./prog3" "run_file.at:1077" +( $at_check_trace; MYFILE="TSTFILE" $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 05 +STATUS OPENO 00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1077" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1081: test -f \"TSTFILE\"" +at_fn_check_prepare_trace "run_file.at:1081" +( $at_check_trace; test -f "TSTFILE" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1081" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1083: dd_MYFILE=\"TSTFILE2\" \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "dd_MYFILE=\"TSTFILE2\" $COBCRUN_DIRECT ./prog3" "run_file.at:1083" +( $at_check_trace; dd_MYFILE="TSTFILE2" $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 05 +STATUS OPENO 00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1083" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1087: test -f \"TSTFILE2\"" +at_fn_check_prepare_trace "run_file.at:1087" +( $at_check_trace; test -f "TSTFILE2" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1087" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1089: DD_MYFILE=\"TSTFILE3\" \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "DD_MYFILE=\"TSTFILE3\" $COBCRUN_DIRECT ./prog3" "run_file.at:1089" +( $at_check_trace; DD_MYFILE="TSTFILE3" $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 05 +STATUS OPENO 00 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1089" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1093: test -f \"TSTFILE3\"" +at_fn_check_prepare_trace "run_file.at:1093" +( $at_check_trace; test -f "TSTFILE3" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1093" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1095: DD_MYFILE=\"./nosubhere/TSTFILE\" \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "DD_MYFILE=\"./nosubhere/TSTFILE\" $COBCRUN_DIRECT ./prog3" "run_file.at:1095" +( $at_check_trace; DD_MYFILE="./nosubhere/TSTFILE" $COBCRUN_DIRECT ./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"; printf "%s\n" "STATUS OPENI 05 +STATUS OPENO 30 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1095" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog4.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog4. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE0 ASSIGN TO "./nosubhere/MYFILE0" + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS WSFS. + SELECT FILE1 ASSIGN TO "MYFILE1" + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS WSFS. + SELECT FILE2 ASSIGN TO FILENAME + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE0. + 01 F0REC PIC X(80). + FD FILE1. + 01 F1REC PIC X(80). + FD FILE2. + 01 F2REC PIC X(80). + WORKING-STORAGE SECTION. + 77 FILENAME PIC X(80) VALUE "MYFILE2". + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + * + OPEN OUTPUT FILE0 + DISPLAY "STATUS OPENO 0 " WSFS + OPEN OUTPUT FILE1 + DISPLAY "STATUS OPENO 1 " WSFS + OPEN OUTPUT FILE2 + DISPLAY "STATUS OPENO 2 " WSFS + * + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1139: \$COMPILE prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE prog4.cob" "run_file.at:1139" +( $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_file.at:1139" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1141: DD_MYFILE1=\"./nosubhere/NOFILE1\" DD_MYFILE2=\"./nosubhere/NOFILE2\" \\ +\$COBCRUN_DIRECT ./prog4" +at_fn_check_prepare_notrace 'an embedded newline' "run_file.at:1141" +( $at_check_trace; DD_MYFILE1="./nosubhere/NOFILE1" DD_MYFILE2="./nosubhere/NOFILE2" \ +$COBCRUN_DIRECT ./prog4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "STATUS OPENO 0 30 +STATUS OPENO 1 30 +STATUS OPENO 2 30 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.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_887 +#AT_START_888 +at_fn_group_banner 888 'run_file.at:1151' \ + "ASSIGN with COB_FILE_PATH" " " 4 +at_xfail=no +( + printf "%s\n" "888. $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 +printf "%s\n" "$at_srcdir/run_file.at:1171: \$COMPILE -ffilename-mapping prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog.cob" "run_file.at:1171" +( $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_file.at:1171" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1172: rm -rf \"tstdir\" && mkdir \"tstdir\"" +at_fn_check_prepare_trace "run_file.at:1172" +( $at_check_trace; rm -rf "tstdir" && mkdir "tstdir" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1172" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1173: COB_FILE_PATH=\"tstdir\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_FILE_PATH=\"tstdir\" $COBCRUN_DIRECT ./prog" "run_file.at:1173" +( $at_check_trace; COB_FILE_PATH="tstdir" $COBCRUN_DIRECT ./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:1173" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1174: test -f \"tstdir/FILENAMEX\" && rm -f \"tstdir/FILENAMEX\"" +at_fn_check_prepare_trace "run_file.at:1174" +( $at_check_trace; test -f "tstdir/FILENAMEX" && rm -f "tstdir/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_file.at:1174" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1175: COB_FILE_PATH=\"tstdir/\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_FILE_PATH=\"tstdir/\" $COBCRUN_DIRECT ./prog" "run_file.at:1175" +( $at_check_trace; COB_FILE_PATH="tstdir/" $COBCRUN_DIRECT ./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:1175" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1176: test -f \"tstdir/FILENAMEX\"" +at_fn_check_prepare_trace "run_file.at:1176" +( $at_check_trace; test -f "tstdir/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_file.at:1176" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# FIXME: on OPEN we should also output the full filename (if any) leading to the error +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1179: COB_FILE_PATH=\"./nosubhere\" \$COBCRUN_DIRECT ./prog 2>prog.err" +at_fn_check_prepare_dynamic "COB_FILE_PATH=\"./nosubhere\" $COBCRUN_DIRECT ./prog 2>prog.err" "run_file.at:1179" +( $at_check_trace; COB_FILE_PATH="./nosubhere" $COBCRUN_DIRECT ./prog 2>prog.err +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=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:1179" +$at_failed && at_fn_log_failure +$at_traceon; } + +# workaround for testing windows-builds... +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1181: cat prog.err | tr '\\\\' '/'" +at_fn_check_prepare_notrace 'a shell pipeline' "run_file.at:1181" +( $at_check_trace; cat prog.err | tr '\\' '/' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "libcob: prog.cob:13: error: permanent file error (status = 30) for file TEST-FILE ('FILENAMEX' => ./nosubhere/FILENAMEX) on OPEN +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_888 +#AT_START_889 +at_fn_group_banner 889 'run_file.at:1188' \ + "ASSIGN DYNAMIC with LOCAL-STORAGE item" " " 4 +at_xfail=no +( + printf "%s\n" "889. $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 + IF test-rec NOT = "hello" + DISPLAY test-rec END-DISPLAY + END-IF + CLOSE test-file + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1219: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1219" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1219" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1220: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1220" +( $at_check_trace; $COBCRUN_DIRECT ./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:1220" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_889 +#AT_START_890 +at_fn_group_banner 890 'run_file.at:1225' \ + "ASSIGN DYNAMIC with LOCAL-STORAGE item, INITIAL" "" 4 +at_xfail=no +( + printf "%s\n" "890. $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 + IF test-rec NOT = "hello" + DISPLAY test-rec END-DISPLAY + END-IF + CLOSE test-file + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1259: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.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_file.at:1259" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1260: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1260" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_890 +#AT_START_891 +at_fn_group_banner 891 'run_file.at:1265' \ + "ASSIGN DYNAMIC with BASED data item" " " 4 +at_xfail=no +( + printf "%s\n" "891. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >TEST-FILE <<'_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). + WORKING-STORAGE SECTION. + 01 path BASED PIC X(10). + 01 x PIC X. + PROCEDURE DIVISION CHAINING x. + IF x NOT = SPACES + ALLOCATE path + MOVE "TEST-FILE" TO path + OPEN INPUT test-file + FREE path + ELSE + OPEN INPUT test-file + END-IF + READ test-file END-READ + IF test-rec NOT = "hello" + DISPLAY test-rec END-DISPLAY + END-IF + 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 path + ORGANIZATION LINE SEQUENTIAL + FILE STATUS TEST-STAT. + DATA DIVISION. + FILE SECTION. + FD test-file. + 01 test-rec PIC X(5). + WORKING-STORAGE SECTION. + 01 path BASED PIC X(10). + 01 test-stat PIC X(2) VALUE "XX". + PROCEDURE DIVISION. + OPEN INPUT test-file + IF TEST-STAT NOT = '31' + DISPLAY 'BAD OPEN, STATUS "' test-stat '"' END-DISPLAY + END-IF + READ test-file END-READ + IF TEST-STAT NOT = '47' + DISPLAY 'BAD READ, STATUS "' test-stat '"' END-DISPLAY + END-IF + CLOSE test-file + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1333: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1333" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1333" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1334: \$COBCRUN_DIRECT ./prog X" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog X" "run_file.at:1334" +( $at_check_trace; $COBCRUN_DIRECT ./prog 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_file.at:1334" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1335: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1335" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:23: error: inconsistent file name (status = 31) for file test-file ('field with NULL address') on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1335" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Tested again without source location and checks +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1339: \$COBC -x prog.cob" +at_fn_check_prepare_dynamic "$COBC -x prog.cob" "run_file.at:1339" +( $at_check_trace; $COBC -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=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1339" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1340: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1340" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: inconsistent file name (status = 31) for file test-file ('field with 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_file.at:1340" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1345: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:1345" +( $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:1345" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1346: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:1346" +( $at_check_trace; $COBCRUN_DIRECT ./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:1346" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_891 +#AT_START_892 +at_fn_group_banner 892 'run_file.at:1351' \ + "ASSIGN DYNAMIC with data item in LINKAGE" " " 4 +at_xfail=no +( + printf "%s\n" "892. $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 f-path PIC X(80) VALUE "fooasg.txt". + 01 x-path PIC X(80) VALUE "foxasg.txt". + 01 y-path PIC X(80) VALUE "foyasg.txt". + 01 REC1 PIC 9(4) VALUE 1. + 01 REC2 PIC 9(4) VALUE 2. + 01 CUST-STAT PIC X(2) VALUE "XX". + + PROCEDURE DIVISION. + CALL "TSTOPN" USING OMITTED. + CALL "TSTOPN" USING y-path. + CALL "TSTOPEN" USING f-path REC1 CUST-STAT. + CALL "TSTOPEN" USING x-path REC1 CUST-STAT. + CALL "TSTOPEN" USING OMITTED REC1 CUST-STAT. + CALL "TSTOPEN" USING f-path REC2 CUST-STAT. + CALL "TSTOPEN" USING x-path REC2 CUST-STAT. + STOP RUN. + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. TSTOPEN. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN s-path + ORGANIZATION RELATIVE + ACCESS IS RANDOM + RELATIVE KEY IS REC-NUM + FILE STATUS IS CUST-STAT. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-line PIC X(79). + + WORKING-STORAGE SECTION. + 01 z-path PIC X(80) VALUE "foozzz.txt". + + LINKAGE SECTION. + 01 s-path PIC X(80). + 01 REC-NUM PIC 9(4). + 01 CUST-STAT PIC X(2). + + PROCEDURE DIVISION USING OPTIONAL s-path, REC-NUM, CUST-STAT. + IF ADDRESS OF s-path = NULL + SET ADDRESS OF s-path TO ADDRESS OF z-path + END-IF. + IF REC-NUM > 1 + OPEN I-O f + DISPLAY "Extend file: " s-path(1:10) + " - " CUST-STAT " #" REC-NUM "." + ELSE + OPEN OUTPUT f + DISPLAY "Output file: " s-path(1:10) + " - " CUST-STAT " #" REC-NUM "." + END-IF. + IF CUST-STAT NOT = "00" + DISPLAY "Opened error: " CUST-STAT "." + GOBACK + END-IF. + MOVE "Hello World" TO f-line. + MOVE REC-NUM TO f-line (20:4). + WRITE f-line. + IF CUST-STAT NOT = "00" + DISPLAY "WRITE error: " CUST-STAT "." + END-IF. + CLOSE f. + GOBACK. + END PROGRAM TSTOPEN. + + IDENTIFICATION DIVISION. + PROGRAM-ID. TSTOPN. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN s-path + ORGANIZATION LINE SEQUENTIAL + FILE STATUS IS IO-STS. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-line PIC X(80). + + WORKING-STORAGE SECTION. + 01 IO-STS PIC X(2) VALUE "00". + + LINKAGE SECTION. + 01 s-path PIC X(80). + + PROCEDURE DIVISION USING OPTIONAL s-path. + OPEN OUTPUT f + IF IO-STS NOT = "00" + DISPLAY "Opened error: " IO-STS "." + GOBACK + END-IF. + DISPLAY "Opened file: " s-path(1:10) ".". + MOVE "Hello World" TO f-line. + WRITE f-line. + CLOSE f. + GOBACK. + END PROGRAM TSTOPN. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + + PROCEDURE DIVISION. + CALL "TSTOPEN" USING OMITTED. + STOP RUN. + END PROGRAM prog2. + + IDENTIFICATION DIVISION. + PROGRAM-ID. TSTOPEN. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN s-path + ORGANIZATION SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-line PIC X(79). + + LINKAGE SECTION. + 01 s-path PIC X(80). + + PROCEDURE DIVISION USING OPTIONAL s-path. + OPEN OUTPUT f + GOBACK. + END PROGRAM TSTOPEN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1502: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1502" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1502" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1504: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1504" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Opened error: 31. +Opened file: foyasg.txt. +Output file: fooasg.txt - 00 #0001. +Output file: foxasg.txt - 00 #0001. +Output file: foozzz.txt - 00 #0001. +Extend file: fooasg.txt - 00 #0002. +Extend file: foxasg.txt - 00 #0002. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1504" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1514: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:1514" +( $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:1514" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1516: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:1516" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog2.cob:32: error: inconsistent file name (status = 31) for file f ('field with NULL address') on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1516" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_892 +#AT_START_893 +at_fn_group_banner 893 'run_file.at:1523' \ + "ASSIGN DYNAMIC with empty data item" " " 4 +at_xfail=no +( + printf "%s\n" "893. $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 path + ORGANIZATION LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD test-file. + 01 test-rec PIC X(5). + WORKING-STORAGE SECTION. + 01 path PIC X(10). + 01 x PIC X. + PROCEDURE DIVISION CHAINING x. + IF X = SPACE + MOVE SPACES TO path + ELSE + MOVE LOW-VALUES TO path + END-IF + OPEN INPUT test-file + DISPLAY "Hello" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1552: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1552" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1552" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1553: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1553" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:22: error: inconsistent file name (status = 31) for file test-file ('') on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1553" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1556: \$COBCRUN_DIRECT ./prog X" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog X" "run_file.at:1556" +( $at_check_trace; $COBCRUN_DIRECT ./prog X +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:22: error: inconsistent file name (status = 31) for file test-file ('') on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1556" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_893 +#AT_START_894 +at_fn_group_banner 894 'run_file.at:1563' \ + "ASSIGN DYNAMIC with unset implicit data item" " " 4 +at_xfail=no +( + printf "%s\n" "894. $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 fpath + ORGANIZATION LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD test-file. + 01 test-rec PIC X(5). + PROCEDURE DIVISION. + OPEN INPUT test-file + DISPLAY "Hello" + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1584: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1584" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1585: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1585" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:14: error: file does not exist (status = 35) for file test-file ('fpath') on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1585" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1588: fpath=\"not.there\" \$COBCRUN_DIRECT ./prog X" +at_fn_check_prepare_dynamic "fpath=\"not.there\" $COBCRUN_DIRECT ./prog X" "run_file.at:1588" +( $at_check_trace; fpath="not.there" $COBCRUN_DIRECT ./prog X +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:14: error: file does not exist (status = 35) for file test-file ('fpath' => not.there) on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:1588" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_894 +#AT_START_895 +at_fn_group_banner 895 'run_file.at:1595' \ + "INDEXED file key-name" " " 4 +at_xfail=no +( + printf "%s\n" "895. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: separate both test parts + +printf "%s\n" "run_file.at:1600" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:1600" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. "test". + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE ASSIGN "FILE" + ORGANIZATION IS INDEXED + ACCESS IS DYNAMIC + RECORD KEY IS KEY01 = QQINDEX. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC. + 03 QQDATA PIC X(80). + 03 QQINDEX PIC XXX9999. + 03 QQSEQUENCE PIC 9999. + PROCEDURE DIVISION. + OPEN OUTPUT TEST-FILE + MOVE 'TEST DATA 1' TO QQDATA + MOVE 'ABC0001' TO QQINDEX + WRITE TEST-REC + MOVE 'TEST DATA 2' TO QQDATA + MOVE 'ABC0002' TO QQINDEX + WRITE TEST-REC + CLOSE TEST-FILE + DISPLAY 'FINE' WITH NO ADVANCING + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1631: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:1631" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1631" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:1633: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:1633" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "FINE" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1633" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_895 +#AT_START_896 +at_fn_group_banner 896 'run_file.at:1637' \ + "INDEXED file sparse/split keys" " " 4 +at_xfail=no +( + printf "%s\n" "896. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: separate both test parts + +printf "%s\n" "run_file.at:1642" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:1642" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TSPFILE + ASSIGN TO "testisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS PRIME-KEY + SOURCE IS CM-CUST-NUM, CM-COMPANY + + ALTERNATE RECORD KEY IS SPLIT-KEY2 + SOURCE IS CM-TELEPHONE,CM-MACHINE WITH DUPLICATES + + ALTERNATE RECORD KEY IS SPLIT-KEY3 + SOURCE IS CM-DISK,CM-TAPE WITH DUPLICATES + SUPPRESS WHEN ALL "*" + FILE STATUS IS CUST-STAT + . + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM PICTURE X(8). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + WORKING-STORAGE SECTION. + + 01 CUST-STAT. + 05 STAT-1 PICTURE 9(4) COMP SYNC. + 05 FILLER REDEFINES STAT-1. + 10 STAT-X1 PIC X COMP-X. + 10 STAT-X2 PIC X COMP-X. + 77 BYTE-1 PICTURE 9(3). + 77 BYTE-2 PICTURE 9(3). + 78 MAX-SUB VALUE 16. + + 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 "GAM00000". + 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 "GIB00000". + 05 FILLER PIC X(8) VALUE "H&J00000". + 05 FILLER PIC X(8) VALUE "INC00000". + 05 FILLER PIC X(8) VALUE "JOH00000". + 05 FILLER PIC X(8) VALUE "KON00000". + 05 FILLER PIC X(8) VALUE "LEW00000". + 05 FILLER PIC X(8) VALUE "MOR00000". + 05 FILLER PIC X(8) VALUE "NEW00000". + 05 FILLER PIC X(8) VALUE "OLD00000". + 05 FILLER PIC X(8) VALUE "PRE00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 "GIBRALTER LIFE INSURANCE ". + 05 FILLER PIC X(25) VALUE "H & J PLUMBING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "INCREMENTAL BACKUP CORP. ". + 05 FILLER PIC X(25) VALUE "JOHNSON BOATING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "KONFLAB PLASTIC PRODUCTS.". + 05 FILLER PIC X(25) VALUE "LEWISTON GRAPHICS LTD. ". + 05 FILLER PIC X(25) VALUE "MORNINGSIDE CARPENTRY. ". + 05 FILLER PIC X(25) VALUE "NEW WAVE SURF SHOPS INC. ". + 05 FILLER PIC X(25) VALUE "OLD TYME PIZZA MFG. CO. ". + 05 FILLER PIC X(25) VALUE "PRESTIGE OFFICE FURNITURE". + + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-1-TBL. + + 05 FILLER PIC X(25) VALUE "123 MAIN STREET ". + 05 FILLER PIC X(25) VALUE "1090 2ND AVE. WEST ". + 05 FILLER PIC X(25) VALUE "1401 JEFFERSON BLVD. ". + 05 FILLER PIC X(25) VALUE "1620 ARIZONA WAY ". + 05 FILLER PIC X(25) VALUE "1184 EAST FIRST STREET ". + 05 FILLER PIC X(25) VALUE "114 JOHN F. KENNEDY AVE. ". + 05 FILLER PIC X(25) VALUE "650 LIBERTY CRESCENT ". + 05 FILLER PIC X(25) VALUE "77 SUNSET BLVD. ". + 05 FILLER PIC X(25) VALUE "10908 SANTA MONICA BLVD. ". + 05 FILLER PIC X(25) VALUE "1134 PARIS ROAD ". + 05 FILLER PIC X(25) VALUE "808 NORTHWEST MAIN ST. ". + 05 FILLER PIC X(25) VALUE "9904 QUEEN STREET ". + 05 FILLER PIC X(25) VALUE "1709 DUNDAS CRESCENT W. ". + 05 FILLER PIC X(25) VALUE "3240 MARIS AVENUE ". + 05 FILLER PIC X(25) VALUE "1705 WISCONSIN ROAD ". + 05 FILLER PIC X(25) VALUE "114A MAPLE GROVE ". + + 02 DATA-ADDRESS-1 REDEFINES DATA-ADDRESS-1-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "SAN DIEGO ". + 05 FILLER PIC X(10) VALUE "LOS RIOS ". + 05 FILLER PIC X(10) VALUE "MADISON ". + 05 FILLER PIC X(10) VALUE "WILBUR ". + 05 FILLER PIC X(10) VALUE "TOPEKA ". + 05 FILLER PIC X(10) VALUE "SEATTLE ". + 05 FILLER PIC X(10) VALUE "NEW JERSEY". + 05 FILLER PIC X(10) VALUE "FORT WAYNE". + 05 FILLER PIC X(10) VALUE "COLUMBUS ". + 05 FILLER PIC X(10) VALUE "RICHMOND ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS-2 REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-ADDRESS-3-TBL. + + 05 FILLER PIC X(10) VALUE "N.Y. ". + 05 FILLER PIC X(10) VALUE "GEORGIA ". + 05 FILLER PIC X(10) VALUE "D.C. ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CALIFORNIA". + 05 FILLER PIC X(10) VALUE "NEW MEXICO". + 05 FILLER PIC X(10) VALUE "WISCONSIN ". + 05 FILLER PIC X(10) VALUE "DELAWARE ". + 05 FILLER PIC X(10) VALUE "KANSAS ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "N.J. ". + 05 FILLER PIC X(10) VALUE "COLORADO ". + 05 FILLER PIC X(10) VALUE "OHIO ". + 05 FILLER PIC X(10) VALUE "VIRGINIA ". + 05 FILLER PIC X(10) VALUE "N.Y. ". + + 02 DATA-ADDRESS-3 REDEFINES DATA-ADDRESS-3-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-TELEPHONE-TBL. + + 05 FILLER PIC 9(10) VALUE 3131234432. + 05 FILLER PIC 9(10) VALUE 4082938498. + 05 FILLER PIC 9(10) VALUE 8372487274. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 5292398745. + 05 FILLER PIC 9(10) VALUE 8009329492. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 6546456333. + 05 FILLER PIC 9(10) VALUE 3455445444. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 7456434355. + 05 FILLER PIC 9(10) VALUE 6554456433. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 7534587453. + 05 FILLER PIC 9(10) VALUE 8787458374. + 05 FILLER PIC 9(10) VALUE 4169898509. + + 02 DATA-TELEPHONE REDEFINES DATA-TELEPHONE-TBL + PIC 9(10) OCCURS MAX-SUB. + 02 DATA-DP-MGR-TBL. + + 05 FILLER PIC X(20) VALUE "MR. DAVE HARRIS ". + 05 FILLER PIC X(20) VALUE "MS. JANICE SILCOX ". + 05 FILLER PIC X(20) VALUE "MR. ALLAN JONES ". + 05 FILLER PIC X(20) VALUE "MR. PETER MACKAY ". + 05 FILLER PIC X(20) VALUE "MRS. DONNA BREWER ". + 05 FILLER PIC X(20) VALUE "MR. MICHAEL SMYTHE ". + 05 FILLER PIC X(20) VALUE "MR. D.A. MORRISON ". + 05 FILLER PIC X(20) VALUE "MR. BRIAN PATTERSON ". + 05 FILLER PIC X(20) VALUE "MR. DARRYL TOWNSEND ". + 05 FILLER PIC X(20) VALUE "MS. VALERIE HARPER ". + 05 FILLER PIC X(20) VALUE "MR. FRED MILLER ". + 05 FILLER PIC X(20) VALUE "MR. DONALD FISCHER ". + 05 FILLER PIC X(20) VALUE "MR. STEVEN YOURDIN ". + 05 FILLER PIC X(20) VALUE "MS. Goldie Hawn ". + 05 FILLER PIC X(20) VALUE "MS. ALICE WINSTON ". + 05 FILLER PIC X(20) VALUE "MR. THOMAS JEFFERSON". + + 02 DATA-DP-MGR REDEFINES DATA-DP-MGR-TBL + PIC X(20) OCCURS MAX-SUB. + 02 DATA-MACHINE-TBL. + + 05 FILLER PIC X(8) VALUE "UNI-9030". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-80/3". + 05 FILLER PIC X(8) VALUE "UNI-80/5". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-9040". + + 02 DATA-MACHINE REDEFINES DATA-MACHINE-TBL + PIC X(8) OCCURS MAX-SUB. + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(3) COMP-3 VALUE 85. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 75. + 05 FILLER PIC 9(3) COMP-3 VALUE 45. + 05 FILLER PIC 9(3) COMP-3 VALUE 90. + 05 FILLER PIC 9(3) COMP-3 VALUE 107. + 05 FILLER PIC 9(3) COMP-3 VALUE 67. + 05 FILLER PIC 9(3) COMP-3 VALUE 32. + 05 FILLER PIC 9(3) COMP-3 VALUE 16. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 128. + 05 FILLER PIC 9(3) COMP-3 VALUE 64. + 05 FILLER PIC 9(3) COMP-3 VALUE 110. + 05 FILLER PIC 9(3) COMP-3 VALUE 324. + 05 FILLER PIC 9(3) COMP-3 VALUE 124. + 05 FILLER PIC 9(3) COMP-3 VALUE 86. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) COMP-3 OCCURS MAX-SUB. + + 78 REC-MAX VALUE 10. + 01 WORK-AREA. + 05 REC-NUM BINARY-SHORT UNSIGNED VALUE 0. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5 7 9 10 11. + 88 NULL-KEY VALUE 4 5 8 12 14. + + 05 TSPFL-KEY PICTURE X(8). + + PROCEDURE DIVISION. + + MAINFILE. + PERFORM LOADFILE. + PERFORM LISTFILE. + STOP RUN. + + LOADFILE. + DISPLAY "Loading sample data file." + UPON CONSOLE. + + OPEN OUTPUT TSPFILE + IF CUST-STAT NOT = "00" + DIVIDE STAT-1 BY 256 GIVING BYTE-1 REMAINDER BYTE-2 + DISPLAY "Error " CUST-STAT " " BYTE-1 " " BYTE-2 + " opening 'testisam' file" + UPON CONSOLE + STOP RUN + END-IF. + + PERFORM 1000-LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + DISPLAY "Sample data file load complete." + UPON CONSOLE. + CLOSE TSPFILE. + + *---------------------------------------------------------------* + * LOAD A RECORD FROM DATA TABLES * + *---------------------------------------------------------------* + + 1000-LOAD-RECORD. + + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (SUB) TO CM-CUST-NUM. + MOVE CM-CUST-NUM TO TSPFL-KEY. + MOVE DATA-COMPANY (SUB) TO CM-COMPANY. + MOVE DATA-ADDRESS-1 (SUB) TO CM-ADDRESS-1. + MOVE DATA-ADDRESS-2 (SUB) TO CM-ADDRESS-2. + MOVE DATA-ADDRESS-3 (SUB) TO CM-ADDRESS-3. + MOVE DATA-TELEPHONE (SUB) TO CM-TELEPHONE. + MOVE DATA-DP-MGR (SUB) TO CM-DP-MGR. + MOVE DATA-MACHINE (SUB) TO CM-MACHINE. + MOVE DATA-NO-TERMINALS (SUB) TO CM-NO-TERMINALS. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + MOVE "1600 BPI" TO CM-TAPE + MOVE "1MEG" TO CM-MEMORY + ELSE + MOVE "8470" TO CM-DISK + MOVE "6250 BPI" TO CM-TAPE + MOVE "3MEG" TO CM-MEMORY. + IF NULL-KEY + MOVE ALL "*" TO CM-DISK + MOVE ALL "*" TO CM-TAPE. + + WRITE TSPFL-RECORD. + * Note: some ISAM implementations do not support status 02 + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Key: " TSPFL-KEY ", Status: " CUST-STAT + UPON CONSOLE. + + LISTFILE. + DISPLAY "LIST SAMPLE FILE" UPON CONSOLE. + MOVE ZERO TO REC-NUM + OPEN INPUT TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "ERROR " CUST-STAT " OPENING INPUT FILE " + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + MOVE SPACES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN PRIME-KEY + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK ":" + UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM + IF CUST-STAT = "99" + DISPLAY "Hit End of File" UPON CONSOLE + END-IF. + + DISPLAY "LIST SAMPLE FILE DESCENDING" UPON CONSOLE. + MOVE ZERO TO REC-NUM + START TSPFILE KEY LESS THAN PRIME-KEY + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE PREVIOUS RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK ":" + UPON CONSOLE + READ TSPFILE PREVIOUS RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + + DISPLAY "LIST SAMPLE FILE BY KEY3" UPON CONSOLE. + MOVE ZERO TO REC-NUM + MOVE SPACES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN OR EQUAL TO SPLIT-KEY3 + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL (CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02") + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK ":" + UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + *---- Some results may be different with VB-ISAM ------* + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + READ TSPFILE KEY IS PRIME-KEY + IF CUST-STAT NOT = "23" + DISPLAY "Error " CUST-STAT " instead of 23" + UPON CONSOLE + END-IF. + MOVE DATA-COMPANY (2) TO CM-COMPANY. + READ TSPFILE KEY IS PRIME-KEY + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on primary read " + UPON CONSOLE + ELSE + DISPLAY "Got: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK ":" + UPON CONSOLE + END-IF. + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on next read " + UPON CONSOLE + ELSE + DISPLAY "Nxt: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK ":" + UPON CONSOLE + END-IF. + MOVE DATA-TELEPHONE (7) TO CM-TELEPHONE. + MOVE DATA-MACHINE (7) TO CM-MACHINE. + READ TSPFILE KEY IS SPLIT-KEY2 + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 23" + UPON CONSOLE + ELSE + DISPLAY "Ky2: " CM-CUST-NUM " is " CM-COMPANY + " Mach=" CM-MACHINE ":" + UPON CONSOLE + END-IF. + CLOSE TSPFILE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2109: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.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_file.at:2109" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2111: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:2111" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=8417 : +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 : +Key: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********: +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=********: +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 : +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 : +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 : +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=********: +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 : +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 : +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 : +LIST SAMPLE FILE DESCENDING +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 : +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 : +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 : +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=********: +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 : +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 : +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 : +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=********: +Key: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********: +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 : +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=8417 : +LIST SAMPLE FILE BY KEY3 +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=8417 : +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 : +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 : +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 : +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 : +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 : +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 : +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 : +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 : +Key: OLD00000 is OLD TYME PIZZA MFG. CO. Disk=8470 : +Key: PRE00000 is PRESTIGE OFFICE FURNITURE Disk=8470 : +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 : +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********: +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6: +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:2111" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_896 +#AT_START_897 +at_fn_group_banner 897 'run_file.at:2158' \ + "INDEXED file split keys WITH DUPLICATES" " " 4 +at_xfail=no +( + printf "%s\n" "897. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:2161" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:2161" + +## Note: The order in which secondary records with duplicate keys +## are returnded is not guaranteed. + +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 + RECORD KEY test-key-1 SOURCE IS test-key-p1 + ALTERNATE RECORD KEY test-key-2 SOURCE IS test-key-p2, + test-key-p3 + WITH DUPLICATES + . + + DATA DIVISION. + FILE SECTION. + FD test-file. + 01 test-rec. + 03 test-key-p1 PIC X(4). + 03 test-key-p2 PIC 9(4). + 03 test-data PIC X(4). + 03 test-key-p3 PIC X(4). + + WORKING-STORAGE SECTION. + 01 found PIC X(03). + + PROCEDURE DIVISION. + OPEN OUTPUT test-file + WRITE test-rec FROM "BBBB0001dat1aaaa" + WRITE test-rec FROM "AAAA0001dat2aaaa" + WRITE test-rec FROM "CCCC0002dat3aaaa" + WRITE test-rec FROM "DDDD0002dat4bbbb" + WRITE test-rec FROM "EEEE0002dat5bbbb" + CLOSE test-file + + OPEN INPUT test-file + + MOVE "CCCC" TO test-key-p1 + READ test-file KEY IS test-key-1 + INVALID KEY + DISPLAY "READ with CCCC found no record" + NOT INVALID KEY + IF test-data NOT = "dat3" + DISPLAY "READ with wrong result: " + test-rec + END-READ + + MOVE SPACES TO found + + MOVE 0001 TO test-key-p2 + MOVE "aaaa" TO test-key-p3 + START test-file KEY >= test-key-2 + INVALID KEY + DISPLAY "START >= 0001/aaaa found no record" + NOT INVALID KEY + READ test-file NEXT + AT END + DISPLAY "READ NEXT (1) found no record" + NOT AT END + EVALUATE test-data + WHEN "dat1" + MOVE 'X' TO found (1:1) + WHEN "dat2" + MOVE 'X' TO found (2:1) + WHEN OTHER + DISPLAY "READ NEXT (1) " + "with wrong result: " + test-data + END-READ + READ test-file NEXT + AT END + DISPLAY "READ NEXT (2) found no record" + NOT AT END + EVALUATE test-data + WHEN "dat1" + MOVE 'X' TO found (1:1) + WHEN "dat2" + MOVE 'X' TO found (2:1) + WHEN OTHER + DISPLAY "READ NEXT (2) " + "with wrong result: " + test-data + END-READ + IF found NOT = 'XX ' + DISPLAY "START >= + READ NEXT * 2 " + "with wrong result: " found + END-START + MOVE 0001 TO test-key-p2 + MOVE "aaaa" TO test-key-p3 + START test-file KEY > test-key-2 + INVALID KEY + DISPLAY "START > 0001/aaaa found no record" + NOT INVALID KEY + READ test-file NEXT + AT END + DISPLAY "READ NEXT (3) found no record" + NOT AT END + IF test-data NOT = "dat3" + DISPLAY "READ NEXT (3) " + "with wrong result: " + test-data + END-READ + END-START + + MOVE 0002 TO test-key-p2 + MOVE ALL "z" TO test-key-p3 + START test-file KEY IS < test-key-2 + INVALID KEY + DISPLAY "START < 0002/zzzz found no record" + NOT INVALID KEY + READ test-file PREVIOUS + AT END + DISPLAY "READ PREVIOUS (1) found no record" + NOT AT END + IF test-data NOT = "dat5" + DISPLAY "READ PREVIOUS (1) " + "with wrong result: " + test-data + END-READ + READ test-file PREVIOUS + AT END + DISPLAY "READ PREVIOUS (2) found no record" + NOT AT END + IF test-data NOT = "dat4" + DISPLAY "READ PREVIOUS (2) " + "with wrong result: " + test-data + END-READ + READ test-file PREVIOUS + AT END + DISPLAY "READ PREVIOUS (3) found no record" + NOT AT END + IF test-data NOT = "dat3" + DISPLAY "READ PREVIOUS (3) " + "with wrong result: " + test-data + END-READ + END-START + + CLOSE test-file + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2312: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:2312" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2312" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2313: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:2313" +( $at_check_trace; $COBCRUN_DIRECT ./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:2313" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# verify that all of this works with wrapping to EXTFH calls and +# back to our own EXTFH entry point + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2318: \$COMPILE -fcallfh=EXTFH -o extfh prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=EXTFH -o extfh prog.cob" "run_file.at:2318" +( $at_check_trace; $COMPILE -fcallfh=EXTFH -o extfh prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2318" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2319: \$COBCRUN_DIRECT ./extfh" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./extfh" "run_file.at:2319" +( $at_check_trace; $COBCRUN_DIRECT ./extfh +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_897 +#AT_START_898 +at_fn_group_banner 898 'run_file.at:2324' \ + "INDEXED file variable length record" " " 4 +at_xfail=no +( + printf "%s\n" "898. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:2327" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:2327" + +cat >prog.cob <<'_ATEOF' + + Identification division. + Program-id. prog. + * + Environment division. + + Input-output section. + File-control. + * + Select optional tbw + assign to path-tbw + organization is indexed + access mode is dynamic + record key is tbw-key + alternate record key is tbw-alt + suppress when space + sharing with no other + file status is fs-file-status. + * + I-o-control. + * + Data division. + File section. + * + FD tbw + record is varying in size + from 107 to 362 characters + depending on end-tbw-record + . + 01 tbw-record. + 02 tbw-key pic x(100). + 02 tbw-alt. + 03 tbw-alt-1 pic 9(02). + 03 tbw-alt-2 pic 9(04). + 02 tbw-f1 pic x(01). + 02 tbw-f2 pic x(255). + * + Working-storage section. + + 01 fs-file-status pic x(02). + + 01 end-tbw-record pic 9(09) binary. + + 01 flag-tbw pic x(01) value low-value. + 88 flag-tbw-open value high-value. + 88 flag-tbw-closed value low-value. + + 01 path-tbw pic x(255) value space. + + Procedure division. + + * Prepare. + Move "tbw" to path-tbw. + + * First test. + Perform tbw-delete-file thru tbw-exit. + + Perform tbw-open-i-o thru tbw-exit. + + Move low-values to tbw-key. + Perform tbw-start-primary-greater thru tbw-exit. + + Perform tbw-read-next thru tbw-exit. + + Move 122 to end-tbw-record. + Move "aaaaa" to tbw-key. + Move spaces to tbw-alt + tbw-f1 + tbw-f2. + Perform tbw-write thru tbw-exit. + + Move low-values to tbw-alt. + Perform tbw-start-alternate thru tbw-exit. + + Move low-values to tbw-key. + Perform tbw-start-primary-greater thru tbw-exit. + + Perform tbw-read-next thru tbw-exit. + + Perform tbw-read-next thru tbw-exit. + + Perform tbw-close thru tbw-exit. + + * Second test. + + Perform tbw-delete-file thru tbw-exit. + + Perform tbw-open-i-o thru tbw-exit. + + Move low-values to tbw-key. + Perform tbw-start-primary-greater thru tbw-exit. + + Perform tbw-read-next thru tbw-exit. + + Move 163 to end-tbw-record. + Move "aaaaa" to tbw-key. + Move 1 to tbw-alt-1 + tbw-alt-2. + Move spaces to tbw-f1 + tbw-f2. + Perform tbw-write thru tbw-exit. + + Move 122 to end-tbw-record. + Move "aaaab" to tbw-key. + Move spaces to tbw-alt + tbw-f1 + tbw-f2. + Perform tbw-write thru tbw-exit. + + Move low-values to tbw-alt. + Perform tbw-start-alternate thru tbw-exit. + + Perform tbw-read-next thru tbw-exit. + + Move spaces to tbw-alt. + Perform tbw-rewrite thru tbw-exit. + + *> note: should not have status 02 as it a suppressed alternate key + *> therefore duplicate checks must be skipped + + * Finish. + Perform tbw-close thru tbw-exit. + Display "Test completed". + Stop run. + + * I/O. + tbw-Open-I-O. + If flag-tbw-open + Perform tbw-Close thru tbw-Close-exit. + Display "open". + Open i-o tbw. + Display "open done". + If fs-file-status is less than "10" + Set flag-tbw-open to true. + Go to tbw-exit. + * + tbw-Start-Primary-Greater. + Display "start > tbw-key". + Start tbw + key is greater than tbw-key + invalid key + Display "start > tbw-key inv" + Go to tbw-exit + not invalid + Display "start > tbw-key done" + Go to tbw-exit. + Display "start > tbw-key " fs-file-status + Go to tbw-exit. + * + tbw-Start-Alternate. + Display "start >= tbw-alt". + Start tbw + key is not less than tbw-alt + invalid key + *>Inspect! Display "start >= tbw-alt inv" + Display "start >= tbw-alt done" + Go to tbw-exit + not invalid + Display "start >= tbw-alt done" + Go to tbw-exit. + Display "start >= tbw-alt " fs-file-status + Go to tbw-exit. + * + tbw-Read-Next. + Display "read next". + Read tbw + next record + at end + Display "read next end" + Go to tbw-exit + not at end + Display "read next done" + Go to tbw-exit. + Display "read next " fs-file-status + Go to tbw-exit. + * + tbw-Write. + Display "write". + Write tbw-record + invalid key + Display "write inv" + Go to tbw-exit + not invalid + Display "write done" + Go to tbw-exit. + Display "write " fs-file-status + Go to tbw-exit. + * + tbw-Rewrite. + Display "rewrite". + Rewrite tbw-record + invalid key + Display "rewrite inv " fs-file-status + Go to tbw-exit + not invalid + Display "rewrite done " fs-file-status + Go to tbw-exit. + Display "rewrite " fs-file-status + Go to tbw-exit. + * + tbw-Delete-File. + If flag-tbw-open + Perform tbw-Close thru tbw-Close-exit. + Move "xx" to fs-file-status. + Display "delete file". + Delete file tbw. + Display "delete file done". + Go to tbw-exit. + * + tbw-Close. + If flag-tbw-open + Display "close" + Close tbw + Display "close done" + Set flag-tbw-closed to true + end-if. + tbw-Close-exit. + Exit. + tbw-exit. + Exit. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2551: \$COMPILE prog.cob " +at_fn_check_prepare_dynamic "$COMPILE prog.cob " "run_file.at:2551" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2551" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2553: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:2553" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "delete file +delete file done +open +open done +start > tbw-key +start > tbw-key inv +read next +read next 46 +write +write done +start >= tbw-alt +start >= tbw-alt done +start > tbw-key +start > tbw-key done +read next +read next done +read next +read next end +close +close done +delete file +delete file done +open +open done +start > tbw-key +start > tbw-key inv +read next +read next 46 +write +write done +write +write done +start >= tbw-alt +start >= tbw-alt done +read next +read next done +rewrite +rewrite done 00 +close +close done +Test completed +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:2553" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_898 +#AT_START_899 +at_fn_group_banner 899 'run_file.at:2600' \ + "INDEXED sample" " " 4 +at_xfail=no +( + printf "%s\n" "899. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# modified version of GC-FAQ: indexing example +# Author: Brian Tiffin, Date: 17-Feb-2009, 28-Jan-2014 + +printf "%s\n" "run_file.at:2606" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:2606" + +cat >prog.cob <<'_ATEOF' + + + identification division. + program-id. linage. + + environment division. + configuration section. + + input-output section. + file-control. + select optional indexed-file + assign to "indexed-file.dat" + status is indexing-status-code + organization is indexed + access mode is dynamic + record key is keyfield of indexing-record + alternate record key is altkey of indexing-record + with duplicates + . + + data division. + file section. + fd indexed-file. + 01 indexing-record. + 03 keyfield pic x(8). + 03 filler pic x. + 03 altkey. + 05 first-part pic 99. + 05 middle-part pic x. + 05 last-part pic 99. + 03 filler pic x. + 03 data-part pic x(18). + + working-storage section. + 01 indexing-status-code pic xx. + 01 indexing-status redefines indexing-status-code pic 99. + 88 indexing-ok values 0 thru 10. + + 78 line-separator value + '-----------------------------------------'. + 01 display-record. + 03 filler pic x(4) value spaces. + 03 keyfield pic x(8). + 03 filler pic xx value spaces. + 03 altkey. + 05 first-part pic 99. + 05 filler pic x value space. + 05 middle-part pic x. + 05 filler pic x value space. + 05 last-part pic 99. + 03 filler pic xx value ", ". + 03 data-part pic x(18). + 77 safety-net pic 99. + + *> control break + 01 oldkey pic 99x99. + + *> read control fields + 01 duplicate-flag pic x. + 88 no-more-duplicates value high-value + when set to false low-value. + 01 record-flag pic x. + 88 no-more-records value high-value + when set to false low-value. + + *> *************************************************************** + procedure division. + main. + *> Populate a sample database, create or overwrite keys + perform populate-sample + + *> clear the record space for this example + move spaces to indexing-record + + *> open the data file again + open i-o indexed-file + perform indexing-check + if not indexing-ok + stop run returning 1 + end-if + + *> read all the duplicate 00b02 keys + move 00 to first-part of indexing-record + move "b" to middle-part of indexing-record + move 02 to last-part of indexing-record + + *> using read key and then next key / last key compare + set no-more-duplicates to false + + display "Read all 00b02 keys sequentially" end-display + perform read-indexing-record + perform read-next-record + *> this is only here for safety... + varying safety-net from 1 by 1 + until no-more-duplicates + *> s a f e against broken indexed i/o + or safety-net > 40 + if safety-net > 40 + display "Safety kicked in!" end-display + end-if + display line-separator end-display + + *> read by key of reference ... the cool stuff + move 00 to first-part of indexing-record + move "a" to middle-part of indexing-record + move 02 to last-part of indexing-record + set no-more-records to false + + *> using start and read next + display "Read all alternate keys greater than 00a02" + end-display + perform start-at-key + perform read-next-by-key + *> this is only here for safety... + varying safety-net from 1 by 1 + until no-more-records + *> s a f e against broken indexed i/o + or safety-net > 40 + if safety-net > 40 + display "Safety kicked in!" end-display + end-if + display line-separator end-display + + *> read by primary key of reference + move "87654321" to keyfield of indexing-record + set no-more-records to false + + *> using start and previous by key + display + "Read all primary keys less than " + function trim (keyfield of indexing-record) + end-display + perform start-prime-key + perform read-previous-by-key + *> this is only here for safety... + varying safety-net from 1 by 1 + until no-more-records + *> s a f e against broken indexed i/o + or safety-net > 40 + if safety-net > 40 + display "Safety kicked in!" end-display + end-if + display line-separator end-display + + *> explicit early file unlock, see bug #533 + unlock indexed-file + + *> and with that we are done with indexing sample + close indexed-file + + goback + . + *> *************************************************************** + + *> *************************************************************** + *><* read by alternate key paragraph + read-indexing-record. + display "Reading: " altkey of indexing-record end-display + read indexed-file key is altkey of indexing-record + invalid key + display + "bad read key: " + function trim (altkey of indexing-record) + upon syserr + end-display + set no-more-duplicates to true + end-read + perform indexing-check + . + + *><* read next sequential paragraph + read-next-record. + move corresponding indexing-record to display-record + display display-record end-display + move altkey of indexing-record to oldkey + + read indexed-file next record + at end set no-more-duplicates to true + not at end + if oldkey not equal altkey of indexing-record + set no-more-duplicates to true + end-if + end-read + perform indexing-check + . + + *><* start primary key of reference paragraph + start-prime-key. + display "Prime < " keyfield of indexing-record end-display + start indexed-file + key is less than + keyfield of indexing-record + invalid key + display + "bad start: " + function trim (keyfield of indexing-record) + upon syserr + end-display + set no-more-records to true + not invalid key + read indexed-file previous record + at end set no-more-records to true + end-read + end-start + perform indexing-check + . + + *><* read previous by key of reference paragraph + read-previous-by-key. + move corresponding indexing-record to display-record + display display-record end-display + + read indexed-file previous record + at end set no-more-records to true + end-read + perform indexing-check + . + *><* start alternate key of reference paragraph + start-at-key. + display "Seeking >= " altkey of indexing-record end-display + start indexed-file + key is greater than or equal to + altkey of indexing-record + invalid key + display + "bad start: " + function trim (altkey of indexing-record) + upon syserr + end-display + set no-more-records to true + not invalid key + read indexed-file next record + at end set no-more-records to true + end-read + end-start + perform indexing-check + . + + *><* read next by key of reference paragraph + read-next-by-key. + move corresponding indexing-record to display-record + display display-record end-display + + read indexed-file next record + at end set no-more-records to true + end-read + perform indexing-check + . + + *><* populate a sample database + populate-sample. + + *> Open optional index file for read write + open i-o indexed-file + perform indexing-check + + move "12345678 00a01 some 12345678 data" to indexing-record + perform write-indexing-record + move "87654321 00a01 some 87654321 data" to indexing-record + perform write-indexing-record + move "12348765 00a01 some 12348765 data" to indexing-record + perform write-indexing-record + move "87651234 00a01 some 87651234 data" to indexing-record + perform write-indexing-record + + move "12345679 00b02 some 12345679 data" to indexing-record + perform write-indexing-record + move "97654321 00b02 some 97654321 data" to indexing-record + perform write-indexing-record + move "12349765 00b02 some 12349765 data" to indexing-record + perform write-indexing-record + move "97651234 00b02 some 97651234 data" to indexing-record + perform write-indexing-record + + move "12345689 00c13 some 12345689 data" to indexing-record + perform write-indexing-record + move "98654321 00c13 some 98654321 data" to indexing-record + perform write-indexing-record + move "12349865 00c13 some 12349865 data" to indexing-record + perform write-indexing-record + move "98651234 00c13 some 98651234 data" to indexing-record + perform write-indexing-record + + *> close it ... not necessary, but for the example we will + close indexed-file + perform indexing-check + . + + *><* Write paragraph + write-indexing-record. + write indexing-record + invalid key + display + "rewriting key: " + function trim (keyfield of indexing-record) + upon syserr + end-display + rewrite indexing-record + invalid key + display + "really bad key: " + function trim (keyfield of indexing-record) + upon syserr + end-display + end-rewrite + end-write + . + + *><* file status quick check. For this sample, keep running + indexing-check. + if not indexing-ok then + display + "isam file io problem: " indexing-status + upon syserr + end-display + end-if + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2927: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:2927" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2927" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2928: rm -f \"indexed-file.*\"" +at_fn_check_prepare_trace "run_file.at:2928" +( $at_check_trace; rm -f "indexed-file.*" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2928" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2929: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:2929" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Read all 00b02 keys sequentially +Reading: 00b02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data +----------------------------------------- +Read all alternate keys greater than 00a02 +Seeking >= 00a02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data + 12345689 00 c 13, some 12345689 data + 98654321 00 c 13, some 98654321 data + 12349865 00 c 13, some 12349865 data + 98651234 00 c 13, some 98651234 data +----------------------------------------- +Read all primary keys less than 87654321 +Prime < 87654321 + 87651234 00 a 01, some 87651234 data + 12349865 00 c 13, some 12349865 data + 12349765 00 b 02, some 12349765 data + 12348765 00 a 01, some 12348765 data + 12345689 00 c 13, some 12345689 data + 12345679 00 b 02, some 12345679 data + 12345678 00 a 01, some 12345678 data +----------------------------------------- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:2929" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:2959: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:2959" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "rewriting key: 12345678 +rewriting key: 87654321 +rewriting key: 12348765 +rewriting key: 87651234 +rewriting key: 12345679 +rewriting key: 97654321 +rewriting key: 12349765 +rewriting key: 97651234 +rewriting key: 12345689 +rewriting key: 98654321 +rewriting key: 12349865 +rewriting key: 98651234 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Read all 00b02 keys sequentially +Reading: 00b02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data +----------------------------------------- +Read all alternate keys greater than 00a02 +Seeking >= 00a02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data + 12345689 00 c 13, some 12345689 data + 98654321 00 c 13, some 98654321 data + 12349865 00 c 13, some 12349865 data + 98651234 00 c 13, some 98651234 data +----------------------------------------- +Read all primary keys less than 87654321 +Prime < 87654321 + 87651234 00 a 01, some 87651234 data + 12349865 00 c 13, some 12349865 data + 12349765 00 b 02, some 12349765 data + 12348765 00 a 01, some 12348765 data + 12345689 00 c 13, some 12345689 data + 12345679 00 b 02, some 12345679 data + 12345678 00 a 01, some 12345678 data +----------------------------------------- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:2959" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# recheck with COB_SYNC to cover additional code paths - see bug # 753 +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3004: COB_SYNC=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SYNC=Y $COBCRUN_DIRECT ./prog" "run_file.at:3004" +( $at_check_trace; COB_SYNC=Y $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "rewriting key: 12345678 +rewriting key: 87654321 +rewriting key: 12348765 +rewriting key: 87651234 +rewriting key: 12345679 +rewriting key: 97654321 +rewriting key: 12349765 +rewriting key: 97651234 +rewriting key: 12345689 +rewriting key: 98654321 +rewriting key: 12349865 +rewriting key: 98651234 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Read all 00b02 keys sequentially +Reading: 00b02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data +----------------------------------------- +Read all alternate keys greater than 00a02 +Seeking >= 00a02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data + 12345689 00 c 13, some 12345689 data + 98654321 00 c 13, some 98654321 data + 12349865 00 c 13, some 12349865 data + 98651234 00 c 13, some 98651234 data +----------------------------------------- +Read all primary keys less than 87654321 +Prime < 87654321 + 87651234 00 a 01, some 87651234 data + 12349865 00 c 13, some 12349865 data + 12349765 00 b 02, some 12349765 data + 12348765 00 a 01, some 12348765 data + 12345689 00 c 13, some 12345689 data + 12345679 00 b 02, some 12345679 data + 12345678 00 a 01, some 12345678 data +----------------------------------------- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:3004" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3048: test \"\$COB_HAS_ISAM\" = \"db\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_ISAM\" = \"db\"" "run_file.at:3048" +( $at_check_trace; test "$COB_HAS_ISAM" = "db" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3048" +if $at_failed +then : + # Previous test "failed" --> other ISAM, no need for more checks +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3048: true" +at_fn_check_prepare_trace "run_file.at:3048" +( $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/run_file.at:3048" +$at_failed && at_fn_log_failure +$at_traceon; } + +else $as_nop + # Previous test "passed" --> using BDB, recheck with DB_HOME set +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3048: DB_HOME=. \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DB_HOME=. $COBCRUN_DIRECT ./prog" "run_file.at:3048" +( $at_check_trace; DB_HOME=. $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "rewriting key: 12345678 +rewriting key: 87654321 +rewriting key: 12348765 +rewriting key: 87651234 +rewriting key: 12345679 +rewriting key: 97654321 +rewriting key: 12349765 +rewriting key: 97651234 +rewriting key: 12345689 +rewriting key: 98654321 +rewriting key: 12349865 +rewriting key: 98651234 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Read all 00b02 keys sequentially +Reading: 00b02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data +----------------------------------------- +Read all alternate keys greater than 00a02 +Seeking >= 00a02 + 12345679 00 b 02, some 12345679 data + 97654321 00 b 02, some 97654321 data + 12349765 00 b 02, some 12349765 data + 97651234 00 b 02, some 97651234 data + 12345689 00 c 13, some 12345689 data + 98654321 00 c 13, some 98654321 data + 12349865 00 c 13, some 12349865 data + 98651234 00 c 13, some 98651234 data +----------------------------------------- +Read all primary keys less than 87654321 +Prime < 87654321 + 87651234 00 a 01, some 87651234 data + 12349865 00 c 13, some 12349865 data + 12349765 00 b 02, some 12349765 data + 12348765 00 a 01, some 12348765 data + 12345689 00 c 13, some 12345689 data + 12345679 00 b 02, some 12345679 data + 12345678 00 a 01, some 12345678 data +----------------------------------------- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:3048" +$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_899 +#AT_START_900 +at_fn_group_banner 900 'run_file.at:3101' \ + "WRITE + REWRITE FILE name" " " 4 +at_xfail=no +( + printf "%s\n" "900. $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. + + 78 MAX-SUB VALUE 6. + 77 CUST-STAT PICTURE X(2). + 77 REC-NUM VALUE 1 BINARY-SHORT UNSIGNED. + + 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 MAX-SUB. + 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 MAX-SUB. + 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 MAX-SUB. + + 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 MAX-SUB. + 01 WORK-AREA. + 05 SUB BINARY-SHORT UNSIGNED. + 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 +printf "%s\n" "$at_srcdir/run_file.at:3242: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3242" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3242" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3244: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3244" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:3244" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# recheck with COB_SYNC to cover additional code paths +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3252: COB_SYNC=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SYNC=Y $COBCRUN_DIRECT ./prog" "run_file.at:3252" +( $at_check_trace; COB_SYNC=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "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:3252" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_900 +#AT_START_901 +at_fn_group_banner 901 'run_file.at:3262' \ + "START RELATIVE (1)" " " 4 +at_xfail=no +( + printf "%s\n" "901. $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 UNSIGNED. + 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 +printf "%s\n" "$at_srcdir/run_file.at:3305: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3305" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3305" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3306: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3306" +( $at_check_trace; $COBCRUN_DIRECT ./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:3306" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_901 +#AT_START_902 +at_fn_group_banner 902 'run_file.at:3311' \ + "START RELATIVE (2)" " " 4 +at_xfail=no +( + printf "%s\n" "902. $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 UNSIGNED. + 01 TESTSTAT PIC XX. + 88 V-OK VALUE "00" "05". + 88 V-ZERO VALUE "00". + PROCEDURE DIVISION. + 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 +printf "%s\n" "$at_srcdir/run_file.at:3381: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3381" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3381" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3382: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3382" +( $at_check_trace; $COBCRUN_DIRECT ./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:3382" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_902 +#AT_START_903 +at_fn_group_banner 903 'run_file.at:3387' \ + "START RELATIVE (3)" " " 4 +at_xfail=no +( + printf "%s\n" "903. $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 file1 ASSIGN TO DISK + ORGANIZATION RELATIVE + ACCESS DYNAMIC RELATIVE KEY file1-key. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic 999. + WORKING-STORAGE SECTION. + 77 file1-key pic 9(6). + PROCEDURE DIVISION. + OPEN OUTPUT file1. + CLOSE file1. + OPEN I-O file1. + MOVE 10 TO file1-key file1-rec. + WRITE file1-rec. + MOVE 11 TO file1-key file1-rec. + WRITE file1-rec. + MOVE 12 TO file1-key file1-rec. + WRITE file1-rec. + MOVE 13 TO file1-key file1-rec. + WRITE file1-rec. + * + MOVE 0 TO file1-key. + START file1 KEY > file1-key. + READ file1 NEXT. + IF (file1-rec <> 10) + DISPLAY "FAILED: START key > 0". + * + MOVE 99 TO file1-key. + START file1 KEY < file1-key. + READ file1 NEXT. + IF (file1-rec <> 13) + DISPLAY "FAILED: START key < 99". + * + MOVE 0 TO file1-key. + START file1 FIRST. + READ file1 NEXT. + IF (file1-rec <> 10) + DISPLAY "FAILED: START key FIRST". + * + MOVE 0 TO file1-key. + START file1 LAST. + READ file1 NEXT. + IF (file1-rec <> 13) + DISPLAY "FAILED: START key LAST". + * + MOVE 0 TO file1-key. + START file1 KEY >= file1-key. + READ file1 NEXT. + IF (file1-rec <> 10) + DISPLAY "FAILED: START key >= 0". + * + MOVE 99 TO file1-key. + START file1 KEY <= file1-key. + READ file1 NEXT. + IF (file1-rec <> 13) + DISPLAY "FAILED: START key <= 99". + * + CLOSE file1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3458: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3458" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3458" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3459: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3459" +( $at_check_trace; $COBCRUN_DIRECT ./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:3459" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_903 +#AT_START_904 +at_fn_group_banner 904 'run_file.at:3463' \ + "READ on OPTIONAL missing RELATIVE / SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "904. $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. + SELECT OPTIONAL INFILES ASSIGN TO + "missings.txt" + ORGANIZATION IS SEQUENTIAL + ACCESS IS SEQUENTIAL + FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD INFILE. + 01 INREC PIC X(80). + FD INFILES. + 01 INRECS 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 + DISPLAY "R: OPEN INPUT on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '05' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + OPEN INPUT INFILES + DISPLAY "S: OPEN INPUT on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '05' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + * First read, raise a FS 10 (AT END) which is expected + READ INFILE INTO WSINREC + DISPLAY "R: 1st READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '10' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + READ INFILES INTO WSINREC + DISPLAY "S: 1st READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '10' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + + * Second read, should raise a FS 46 (READ AFTER AT END). + READ INFILE INTO WSINREC + DISPLAY "R: 2nd READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '46' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + READ INFILES INTO WSINREC + DISPLAY "S: 2nd READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '46' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + READ INFILE + DISPLAY "R: 3rd READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '46' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + READ INFILES + DISPLAY "S: 3rd READ on missing optional file = " WSFS " " + NO ADVANCING + IF WSFS = '46' + DISPLAY "OK" + ELSE + DISPLAY "Bad" + END-IF. + + CLOSE INFILE + CLOSE INFILES + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3569: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3569" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3569" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3571: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3571" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "R: OPEN INPUT on missing optional file = 05 OK +S: OPEN INPUT on missing optional file = 05 OK +R: 1st READ on missing optional file = 10 OK +S: 1st READ on missing optional file = 10 OK +R: 2nd READ on missing optional file = 46 OK +S: 2nd READ on missing optional file = 46 OK +R: 3rd READ on missing optional file = 46 OK +S: 3rd 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:3571" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_904 +#AT_START_905 +at_fn_group_banner 905 'run_file.at:3585' \ + "READ on OPTIONAL missing INDEXED file" " " 4 +at_xfail=no +( + printf "%s\n" "905. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:3588" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:3588" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL file1 ASSIGN "fileX" + ORGANIZATION IS INDEXED + RECORD KEY IS file1-key + STATUS f-status. + + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-key PIC X. + + WORKING-STORAGE SECTION. + 01 f-status PIC XX. + + PROCEDURE DIVISION. + DELETE FILE file1. + OPEN INPUT file1. + IF (f-status <> "05") + DISPLAY "FAILED OPEN: fs=" f-status + END-IF + READ file1 + AT END + IF (f-status <> "10") + DISPLAY "FAILED READ AT END: fs=" f-status + END-IF + + NOT AT END + DISPLAY "FAILED READ NO AT END: status " f-status + END-READ + CLOSE file1 + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3629: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3629" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3629" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3630: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3630" +( $at_check_trace; $COBCRUN_DIRECT ./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:3630" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_905 +#AT_START_906 +at_fn_group_banner 906 'run_file.at:3635' \ + "EXTERNAL RELATIVE file" " " 4 +at_xfail=no +( + printf "%s\n" "906. $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 my-file + ASSIGN TO "somefile" + ORGANIZATION IS RELATIVE + RELATIVE KEY IS my-key. + + DATA DIVISION. + FILE SECTION. + FD my-file EXTERNAL. + 01 my-record. + 03 my-record-data PIC X(80). + + WORKING-STORAGE SECTION. + 01 my-key PIC 9. + + PROCEDURE DIVISION. + OPEN OUTPUT my-file + MOVE 'testme' TO my-record + CALL 'prog2' + CLOSE my-file + GOBACK. +_ATEOF + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT my-file + ASSIGN TO "somefile" + ORGANIZATION IS RELATIVE + RELATIVE KEY IS my-key. + + DATA DIVISION. + FILE SECTION. + FD my-file EXTERNAL. + 01 two-record PIC X(80). + + WORKING-STORAGE SECTION. + 01 my-key PIC 9. + + PROCEDURE DIVISION. + WRITE two-record + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3692: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3692" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3692" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3693: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_file.at:3693" +( $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_file.at:3693" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3694: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3694" +( $at_check_trace; $COBCRUN_DIRECT ./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:3694" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_906 +#AT_START_907 +at_fn_group_banner 907 'run_file.at:3699' \ + "DECLARATIVES procedure referencing" " " 4 +at_xfail=no +( + printf "%s\n" "907. $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. + * some comments here + * to mimic real world programs + MP01 SECTION. + MP0101. + OPEN INPUT TEST-FILE. + PERFORM P0101. + IF Z NOT = 2 + DISPLAY Z. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3733: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3733" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3733" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3734: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3734" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_907 +#AT_START_908 +at_fn_group_banner 908 'run_file.at:3739' \ + "DECLARATIVES procedure referencing (multiple)" " " 4 +at_xfail=no +( + printf "%s\n" "908. $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. + GOBACK. +_ATEOF + + +# disabling the check for "something leaves the section" - as this is +# guaranteed to happen with this PERFORM THROUGH +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3777: \$COMPILE -fno-section-exit-check prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-section-exit-check prog.cob" "run_file.at:3777" +( $at_check_trace; $COMPILE -fno-section-exit-check prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3777" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3778: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3778" +( $at_check_trace; $COBCRUN_DIRECT ./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:3778" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_908 +#AT_START_909 +at_fn_group_banner 909 'run_file.at:3783' \ + "System routines for directories (1)" " " 4 +at_xfail=no +( + printf "%s\n" "909. $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 +printf "%s\n" "$at_srcdir/run_file.at:3818: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3818" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3818" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3819: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3819" +( $at_check_trace; $COBCRUN_DIRECT ./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:3819" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3820: test -e abcd" +at_fn_check_prepare_trace "run_file.at:3820" +( $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:3820" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_909 +#AT_START_910 +at_fn_group_banner 910 'run_file.at:3825' \ + "System routines for directories (2)" " " 4 +at_xfail=no +( + printf "%s\n" "910. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 fh PIC X(4) COMP-5. + 01 rb PIC X(8) COMP-X. + 01 cb-bfr PIC X(4) COMP-X VALUE 16. + 01 w-dirname-1 PIC X(4) VALUE "tmp1". + 01 w-dirname-2 PIC X(9) VALUE "tmp1/tmp2". + 01 w-dirname-3 PIC X(14) VALUE "tmp1/tmp2/tmp3". + 01 w-filename PIC X(20) VALUE "tmp1/tmp2/tmp3/file1". + 01 w-finfo PIC X(16). + + PROCEDURE DIVISION. + CALL "CBL_CREATE_DIR" USING w-dirname-1. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 1: CBL_CREATE_DIR (res=" RETURN-CODE ")" + END-IF + + CALL "CBL_CREATE_DIR" USING w-dirname-2. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 2: CBL_CREATE_DIR (res=" RETURN-CODE ")" + END-IF + + * Should fail because directory does NOT exists yet. + CALL "CBL_CREATE_FILE" + USING w-filename, 1, 0, 0, fh. + IF RETURN-CODE <> 35 + DISPLAY "FAILED 3: CBL_CREATE_FILE expected fail (res=" + RETURN-CODE ")" + IF RETURN-CODE = ZERO + CALL "CBL_CLOSE_FILE" USING fh + END-IF + END-IF + + CALL "CBL_CREATE_DIR" USING w-dirname-3. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 4: CBL_CREATE_DIR (res=" RETURN-CODE ")" + END-IF + + CALL "CBL_CREATE_FILE" + USING w-filename, 1, 0, 0, fh. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 5: CBL_CREATE_FILE (res=" + RETURN-CODE ")" + END-IF + + CALL "CBL_CLOSE_FILE" USING fh. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 6: CBL_CLOSE_FILE (res=" + RETURN-CODE ")" + END-IF + + CALL "CBL_CHECK_FILE_EXIST" USING w-filename, w-finfo. + IF RETURN-CODE <> 0 + DISPLAY "FAILED 7: CBL_CHECK_FILE_EXIST (res=" + RETURN-CODE ")" + END-IF + + + * Should fail because directory is NOT empty. + CALL "CBL_DELETE_DIR" USING w-dirname-1. + IF RETURN-CODE = 0 + DISPLAY "FAILED 8: CBL_DELETE_DIR EXPECTED TO FAIL" + END-IF + *********************** + * TO-DO: IMPLEMENT CBL_PURGE_DIR? NOT IN MF OR ACU. + *********************** + * Remove all files (including sub-directories) in tmp1 + * CALL "CBL_PURGE_DIR" USING w-dirname-1. + * IF RETURN-CODE <> 0 + * DISPLAY "FAILED 9: CBL_PURGE_DIR (res=" RETURN-CODE ")" + * END-IF + * + * Should succeed because directory is NOW empty. + * CALL "CBL_DELETE_DIR" USING w-dirname-1. + * IF RETURN-CODE <> 0 + * DISPLAY "FAILED 10: CBL_DELETE_DIR (res=" RETURN-CODE ")" + * END-IF + + STOP RUN NORMAL + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3916: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:3916" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3916" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:3917: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:3917" +( $at_check_trace; $COBCRUN_DIRECT ./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:3917" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_910 +#AT_START_911 +at_fn_group_banner 911 'run_file.at:3922' \ + "System routines for files" " " 4 +at_xfail=no +( + printf "%s\n" "911. $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 + GOBACK + END-IF + + CALL 'CBL_READ_FILE' USING + FHANDLE OFFSET NBYTES 128 READ-BUFFER + END-CALL + IF RETURN-CODE NOT = 0 + DISPLAY 'error getting file size...' + return-code + END-DISPLAY + MOVE 0 TO RETURN-CODE + END-IF + IF OFFSET NOT = 9 *> size written in the first test + DISPLAY 'Wrong size: ' offset END-DISPLAY + *> still go on with the explicit size + ELSE + *> recheck with unexpected parms: + MOVE 'baddy' to offset(1:) + CALL 'CBL_READ_FILE' USING + FHANDLE OFFSET 0 128 NULL + END-CALL + IF RETURN-CODE NOT = 0 or OFFSET NOT = 9 + DISPLAY 'bad handling bad parms ' + 'size: ' offset ' return: ' return-code + END-DISPLAY + MOVE 0 TO RETURN-CODE + END-IF + 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 +printf "%s\n" "$at_srcdir/run_file.at:4106: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4106" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4106" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4107: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:4107" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4107" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4113: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:4113" +( $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:4113" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4114: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:4114" +( $at_check_trace; $COBCRUN_DIRECT ./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:4114" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_911 +#AT_START_912 +at_fn_group_banner 912 'run_file.at:4119' \ + "System routines for files - filename mapping" " " 4 +at_xfail=no +( + printf "%s\n" "912. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 FNAME PIC X(256). + 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 CHAINING FNAME. + DISPLAY 'RUN WITH ' FUNCTION TRIM (FNAME TRAILING). + CALL 'CBL_OPEN_FILE' USING FNAME 1 0 0 FHANDLE. + IF RETURN-CODE NOT = 0 + DISPLAY 'error opening file ...' + MOVE 0 TO RETURN-CODE + STOP RUN. + + CALL 'CBL_CLOSE_FILE' USING FHANDLE. + IF RETURN-CODE NOT = 0 + DISPLAY 'error closing file ...' + return-code + MOVE 0 TO RETURN-CODE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4152: mkdir -p sub" +at_fn_check_prepare_trace "run_file.at:4152" +( $at_check_trace; mkdir -p sub +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4152" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4153: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4153" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4153" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4154: \$COBCRUN_DIRECT ./prog notthere" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog notthere" "run_file.at:4154" +( $at_check_trace; $COBCRUN_DIRECT ./prog notthere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH notthere +error opening file ... +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4154" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4158: \$COBCRUN_DIRECT ./prog prog.cob" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog prog.cob" "run_file.at:4158" +( $at_check_trace; $COBCRUN_DIRECT ./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=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4158" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4161: \$COBCRUN_DIRECT ./prog ./prog.cob" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog ./prog.cob" "run_file.at:4161" +( $at_check_trace; $COBCRUN_DIRECT ./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=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH ./prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4161" +$at_failed && at_fn_log_failure +$at_traceon; } + +# the first part is resolved by DD_var and dd_var +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4165: DD_dot=\".\" dd_dot=\"A\" dot=\"B\" \$COBCRUN_DIRECT ./prog 'dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\".\" dd_dot=\"A\" dot=\"B\" $COBCRUN_DIRECT ./prog 'dot/prog.cob'" "run_file.at:4165" +( $at_check_trace; DD_dot="." dd_dot="A" dot="B" $COBCRUN_DIRECT ./prog 'dot/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"; printf "%s\n" "RUN WITH dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4165" +$at_failed && at_fn_log_failure +$at_traceon; } + +# MinGW and other Win32 builds would fail this - because "getenv is not case sensitive" +# note: does not apply to cygwin; "AAA" wins over "aaa" +if test "$PATHSEP" != ";"; then + { set +x +printf "%s\n" "$at_srcdir/run_file.at:4171: DD_dot=\"\" dd_dot=\".\" dot=\"A\" \$COBCRUN_DIRECT ./prog 'dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\".\" dot=\"A\" $COBCRUN_DIRECT ./prog 'dot/prog.cob'" "run_file.at:4171" +( $at_check_trace; DD_dot="" dd_dot="." dot="A" $COBCRUN_DIRECT ./prog 'dot/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"; printf "%s\n" "RUN WITH dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4171" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +# MF would say (ignore for now as this conflicts with ACUCOBOL) don't resolve by $ +# as it does not start with $: +#AT_CHECK([DD_dot="" dd_dot="" dot="." $COBCRUN_DIRECT ./prog 'dot/prog.cob'], [0], +#[RUN WITH dot/prog.cob +#error opening file ... +#], []) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4181: DD_dot=\"\" dd_dot=\"\" dot=\".\" \$COBCRUN_DIRECT ./prog 'dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\".\" $COBCRUN_DIRECT ./prog 'dot/prog.cob'" "run_file.at:4181" +( $at_check_trace; DD_dot="" dd_dot="" dot="." $COBCRUN_DIRECT ./prog 'dot/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"; printf "%s\n" "RUN WITH dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4181" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4184: DD_dot=\"\" dd_dot=\"\" dot=\"\" \$COBCRUN_DIRECT ./prog 'dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\"\" $COBCRUN_DIRECT ./prog 'dot/prog.cob'" "run_file.at:4184" +( $at_check_trace; DD_dot="" dd_dot="" dot="" $COBCRUN_DIRECT ./prog 'dot/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"; printf "%s\n" "RUN WITH dot/prog.cob +error opening file ... +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4184" +$at_failed && at_fn_log_failure +$at_traceon; } + +# the first part with $ is resolved by DD_var and dd_var and var +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4189: DD_dot=\".\" dd_dot=\"\" dot=\"\" \$COBCRUN_DIRECT ./prog '\$dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\".\" dd_dot=\"\" dot=\"\" $COBCRUN_DIRECT ./prog '$dot/prog.cob'" "run_file.at:4189" +( $at_check_trace; DD_dot="." dd_dot="" dot="" $COBCRUN_DIRECT ./prog '$dot/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"; printf "%s\n" "RUN WITH \$dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4189" +$at_failed && at_fn_log_failure +$at_traceon; } + +# MinGW and other Win32 builds would fail this - because "getenv is not case sensitive" +# note: does not apply to cygwin; "AAA" wins over "aaa" +if test "$PATHSEP" != ";"; then + { set +x +printf "%s\n" "$at_srcdir/run_file.at:4195: DD_dot=\"\" dd_dot=\".\" dot=\"\" \$COBCRUN_DIRECT ./prog '\$dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\".\" dot=\"\" $COBCRUN_DIRECT ./prog '$dot/prog.cob'" "run_file.at:4195" +( $at_check_trace; DD_dot="" dd_dot="." dot="" $COBCRUN_DIRECT ./prog '$dot/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"; printf "%s\n" "RUN WITH \$dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4195" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4199: DD_dot=\"\" dd_dot=\"\" dot=\".\" \$COBCRUN_DIRECT ./prog '\$dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\".\" $COBCRUN_DIRECT ./prog '$dot/prog.cob'" "run_file.at:4199" +( $at_check_trace; DD_dot="" dd_dot="" dot="." $COBCRUN_DIRECT ./prog '$dot/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"; printf "%s\n" "RUN WITH \$dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4199" +$at_failed && at_fn_log_failure +$at_traceon; } + +# if a _leading_ $ does not exist it is removed, together with the following slash +# --> should ignore the variable and the first slash +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4204: DD_dot=\"\" dd_dot=\"\" dot=\"\" \$COBCRUN_DIRECT ./prog '\$dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\"\" $COBCRUN_DIRECT ./prog '$dot/prog.cob'" "run_file.at:4204" +( $at_check_trace; DD_dot="" dd_dot="" dot="" $COBCRUN_DIRECT ./prog '$dot/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"; printf "%s\n" "RUN WITH \$dot/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4204" +$at_failed && at_fn_log_failure +$at_traceon; } + +# would _possibly_ fail with MF (their docs do not match their behaviour in any case...) +# but this is by GnuCOBOL design here: +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4209: DD_dot=\"\" dd_dot=\"\" dot=\"\" \$COBCRUN_DIRECT ./prog '\$dot/\$dotter/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\"\" $COBCRUN_DIRECT ./prog '$dot/$dotter/prog.cob'" "run_file.at:4209" +( $at_check_trace; DD_dot="" dd_dot="" dot="" $COBCRUN_DIRECT ./prog '$dot/$dotter/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"; printf "%s\n" "RUN WITH \$dot/\$dotter/prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4209" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4212: DD_dot=\"\" dd_dot=\"\" dot=\"dot\" \$COBCRUN_DIRECT ./prog '\$dot/prog.cob'" +at_fn_check_prepare_dynamic "DD_dot=\"\" dd_dot=\"\" dot=\"dot\" $COBCRUN_DIRECT ./prog '$dot/prog.cob'" "run_file.at:4212" +( $at_check_trace; DD_dot="" dd_dot="" dot="dot" $COBCRUN_DIRECT ./prog '$dot/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"; printf "%s\n" "RUN WITH \$dot/prog.cob +error opening file ... +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4212" +$at_failed && at_fn_log_failure +$at_traceon; } + +# should try './prog' +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4217: DD_prog=\"A\" dd_prog=\"B\" prog=\"C\" \$COBCRUN_DIRECT ./prog './prog.cob'" +at_fn_check_prepare_dynamic "DD_prog=\"A\" dd_prog=\"B\" prog=\"C\" $COBCRUN_DIRECT ./prog './prog.cob'" "run_file.at:4217" +( $at_check_trace; DD_prog="A" dd_prog="B" prog="C" $COBCRUN_DIRECT ./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=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH ./prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4217" +$at_failed && at_fn_log_failure +$at_traceon; } + +# should try './$prog' +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4221: DD_prog=\"\" dd_prog=\"\" prog=\"\" \$COBCRUN_DIRECT ./prog './\$prog.cob'" +at_fn_check_prepare_dynamic "DD_prog=\"\" dd_prog=\"\" prog=\"\" $COBCRUN_DIRECT ./prog './$prog.cob'" "run_file.at:4221" +( $at_check_trace; DD_prog="" dd_prog="" prog="" $COBCRUN_DIRECT ./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=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH ./\$prog.cob +error opening file ... +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4221" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4225: \$COBCRUN_DIRECT ./prog ../prog.cob" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog ../prog.cob" "run_file.at:4225" +( $at_check_trace; $COBCRUN_DIRECT ./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=: +echo >>"$at_stdout"; printf "%s\n" "RUN WITH ../prog.cob +error opening file ... +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4225" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4229: \$COBCRUN_DIRECT ./prog sub/../prog.cob" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog sub/../prog.cob" "run_file.at:4229" +( $at_check_trace; $COBCRUN_DIRECT ./prog sub/../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"; printf "%s\n" "RUN WITH sub/../prog.cob +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4229" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_912 +#AT_START_913 +at_fn_group_banner 913 'run_file.at:4236' \ + "System routine CBL_COPY_FILE" " " 4 +at_xfail=no +( + printf "%s\n" "913. $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 +printf "%s\n" "$at_srcdir/run_file.at:4264: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:4264" +( $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:4264" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4265: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:4265" +( $at_check_trace; $COBCRUN_DIRECT ./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:4265" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4266: diff prog.cob prog3.cob" +at_fn_check_prepare_trace "run_file.at:4266" +( $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:4266" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_913 +#AT_START_914 +at_fn_group_banner 914 'run_file.at:4271' \ + "Default file external name" " " 4 +at_xfail=no +( + printf "%s\n" "914. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >fexists_signed.c <<'_ATEOF' + + +#include +#include +#include +#include + +/* + * Check file is present and correct by comparing + * its content to a given signature. + */ +COB_EXT_EXPORT int +fexists_signed (char *fid, char *signature, int signature_size) +{ + char *bfr; + FILE *f; + int res = -1; + + f = fopen (fid, "r"); + if (f != NULL) { + bfr = (char *) cob_malloc (signature_size); + if (1 == fread (bfr, signature_size, 1, f)) { + if (!memcmp (signature, bfr, signature_size)) { + res = 0; + } + } + cob_free (bfr); + } + return res; +} +_ATEOF + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec. + 2 file1-date pic x(8). + 2 file1-time pic x(8). + WORKING-STORAGE SECTION. + 77 erc BINARY-LONG. + 77 rec-size BINARY-LONG VALUE 16. + PROCEDURE DIVISION. + ACCEPT file1-date FROM DATE YYYYMMDD. + ACCEPT file1-time FROM TIME. + OPEN OUTPUT file1. + WRITE file1-rec. + CLOSE file1. + CALL "fexists_signed" USING + BY REFERENCE "./file1" file1-rec + BY VALUE rec-size + RETURNING erc. + IF (erc <> 0) + DISPLAY "FAILED file1". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4336: \$COMPILE_MODULE fexists_signed.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE fexists_signed.c" "run_file.at:4336" +( $at_check_trace; $COMPILE_MODULE fexists_signed.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_file.at:4336" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4337: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4337" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4337" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4338: unset COB_FILE_PATH ; ./prog" +at_fn_check_prepare_trace "run_file.at:4338" +( $at_check_trace; unset 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_file.at:4338" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_914 +#AT_START_915 +at_fn_group_banner 915 'run_file.at:4345' \ + "SEQUENTIAL basic I/O" " " 4 +at_xfail=no +( + printf "%s\n" "915. $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 file1 ASSIGN DISK ORGANIZATION SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x. + PROCEDURE DIVISION. + DELETE FILE file1. + OPEN OUTPUT file1. + MOVE "A" TO file1-rec. + WRITE file1-rec. + CLOSE file1. + OPEN I-O file1. + READ file1. + IF file1-rec <> "A" + display "FIRST READ FAILED" + ELSE + MOVE "X" TO file1-rec + REWRITE file1-rec. + CLOSE file1. + IF file1-rec NOT = "X" + STOP RUN. + OPEN INPUT file1. + READ file1. + IF file1-rec <> "X" + display "SECOND READ FAILED". + CLOSE file1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4383: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4383" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4383" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4384: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:4384" +( $at_check_trace; $COBCRUN_DIRECT ./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:4384" +$at_failed && at_fn_log_failure +$at_traceon; } + +# recheck with COB_SYNC to cover additional code paths +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4386: COB_SYNC=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SYNC=Y $COBCRUN_DIRECT ./prog" "run_file.at:4386" +( $at_check_trace; COB_SYNC=Y $COBCRUN_DIRECT ./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:4386" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_915 +#AT_START_916 +at_fn_group_banner 916 'run_file.at:4394' \ + "LINE SEQUENTIAL basic I/O" " " 4 +at_xfail=no +( + printf "%s\n" "916. $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 file1 ASSIGN DISK ORGANIZATION LINE SEQUENTIAL. + SELECT file2 ASSIGN DISK ORGANIZATION LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x. + FD file2. + 1 file2-rec pic xx. + PROCEDURE DIVISION. + DELETE FILE file1, file2 + OPEN OUTPUT file1, file2 + MOVE "A" TO file1-rec, file2-rec + WRITE file1-rec + WRITE file2-rec + MOVE " " TO file1-rec, file2-rec + WRITE file1-rec + WRITE file2-rec + WRITE file1-rec FROM "A" + WRITE file2-rec FROM "AA" + WRITE file1-rec FROM " " + WRITE file2-rec FROM " A" + CLOSE file1, file2 + OPEN INPUT file1, file2 + READ file1 + IF file1-rec NOT = "A" + display "FAILED 1 file1 - '" file1-rec "'". + READ file2 + IF file2-rec NOT = "A" + display "FAILED 1 file2 - '" file2-rec "'". + READ file1 + IF file1-rec NOT = SPACE + display "FAILED 2 file1 - '" file1-rec "'". + READ file2 + IF file2-rec NOT = SPACES + display "FAILED 2 file2 - '" file2-rec "'". + READ file1 + IF file1-rec NOT = "A" + display "FAILED 3 file1 - '" file1-rec "'". + READ file2 + IF file2-rec NOT = "AA" + display "FAILED 3 file2 - '" file2-rec "'". + READ file1 + IF file1-rec NOT = SPACE + display "FAILED 4 file1 - '" file1-rec "'". + READ file2 + IF file2-rec NOT = " A" + display "FAILED 4 file2 - '" file2-rec "'". + CLOSE file1, file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4454: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4454" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4454" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4455: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:4455" +( $at_check_trace; $COBCRUN_DIRECT ./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:4455" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_916 +#AT_START_917 +at_fn_group_banner 917 'run_file.at:4460' \ + "LINE SEQUENTIAL WRITE AFTER" " " 4 +at_xfail=no +( + printf "%s\n" "917. $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 +printf "%s\n" "$at_srcdir/run_file.at:4493: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4493" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4493" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4494: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:4494" +( $at_check_trace; $COBCRUN_DIRECT ./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:4494" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4495: cat TEST-FILE" +at_fn_check_prepare_trace "run_file.at:4495" +( $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"; printf "%s\n" "a + +ababc + +abcd +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4495" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_917 +#AT_START_918 +at_fn_group_banner 918 'run_file.at:4506' \ + "LINE SEQUENTIAL record truncation (1)" " " 4 +at_xfail=no +( + printf "%s\n" "918. $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 + PERFORM UNTIL EXIT + READ TEST-FILE + AT END EXIT PERFORM + END-READ + DISPLAY "(" TEST-REC ")" + END-DISPLAY + END-PERFORM. + CLOSE TEST-FILE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4543: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4543" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4543" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4544: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:4544" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "(a ) +(ab ) +(abc ) +(abcd) +(abcd) +(e ) +(abcd) +(ef ) +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4544" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog2. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TEST-FILE ASSIGN "./TEST-FILE" + ORGANIZATION IS LINE SEQUENTIAL + STATUS IS TEST-STATUS. + DATA DIVISION. + FILE SECTION. + FD TEST-FILE. + 01 TEST-REC PIC X(4). + WORKING-STORAGE SECTION. + 77 TEST-STATUS PIC XX. + PROCEDURE DIVISION. + OPEN INPUT TEST-FILE + PERFORM UNTIL TEST-STATUS (1:1) NOT = '0' + READ TEST-FILE + END-READ + DISPLAY "(" TEST-REC ") " TEST-STATUS + END-DISPLAY + END-PERFORM. + CLOSE TEST-FILE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4582: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:4582" +( $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:4582" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4583: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:4583" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "(a ) 00 +(ab ) 00 +(abc ) 00 +(abcd) 00 +(abcd) 06 +(e ) 00 +(abcd) 06 +(ef ) 00 +(ef ) 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4583" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# this one is the actual extension (old OpenCOBOL/GnuCOBOL behaviour) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4596: COB_LS_SPLIT=FALSE \\ +\$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_notrace 'an embedded newline' "run_file.at:4596" +( $at_check_trace; COB_LS_SPLIT=FALSE \ +$COBCRUN_DIRECT ./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"; printf "%s\n" "(a ) 00 +(ab ) 00 +(abc ) 00 +(abcd) 00 +(abcd) 04 +(abcd) 04 +(abcd) 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4596" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_918 +#AT_START_919 +at_fn_group_banner 919 'run_file.at:4610' \ + "LINE SEQUENTIAL record truncation (2)" " " 4 +at_xfail=no +( + printf "%s\n" "919. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +Record 1................................X....... +Record 2.....................X +Record 3................................X... +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT INFILE ASSIGN TO EXTERNAL INFILE + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS INPUT-STATUS . + + SELECT OUTFILE ASSIGN TO EXTERNAL OUTFILE + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS INPUT-STATUS . + + DATA DIVISION. + FILE SECTION. + FD INFILE + RECORD IS VARYING IN SIZE FROM 18 TO 40 CHARACTERS + DEPENDING ON INPUT-LEN + . + 01 INPUT-REC PIC X(40). + + FD OUTFILE + RECORD IS VARYING IN SIZE FROM 18 TO 40 CHARACTERS + DEPENDING ON INPUT-LEN + . + 01 OUTPUT-REC PIC X(40). + + WORKING-STORAGE SECTION. + + 01 OUTPUT-FILE PIC X(19) VALUE 'TEST-FILE'. + 01 INPUT-FILE PIC X(19) VALUE 'TEST-INP'. + 01 INPUT-STATUS PIC XX. + 01 INPUT-LEN PIC 999 VALUE 18 . + + PROCEDURE DIVISION. + A000-BEGIN. + OPEN INPUT INFILE. + READ INFILE + DISPLAY " Read 1: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + READ INFILE + DISPLAY " Read 2: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + MOVE 0 TO INPUT-LEN + READ INFILE + DISPLAY " Read 3: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + MOVE SPACES TO INPUT-REC + MOVE 0 TO INPUT-LEN + READ INFILE + DISPLAY " Read 4: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + IF INPUT-STATUS (1:1) = "0" + DISPLAY " :" INPUT-REC ":" + END-IF + CLOSE INFILE + + OPEN OUTPUT OUTFILE + MOVE 9 TO INPUT-LEN + MOVE "Record 1............." TO OUTPUT-REC + WRITE OUTPUT-REC + DISPLAY "Write 1: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + UPON CONSOLE + MOVE 64 TO INPUT-LEN + MOVE ALL '.' TO OUTPUT-REC + MOVE "Record 2" TO OUTPUT-REC (1:8) + WRITE OUTPUT-REC + DISPLAY "Write 2: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + UPON CONSOLE + CLOSE OUTFILE + STOP RUN. +_ATEOF + + + + + +cat >reference <<'_ATEOF' +Record 1. +Record 2................................ +_ATEOF + + +# normal compile, switched via runtime option +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4707: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4707" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4707" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4709: COB_LS_SPLIT=FALSE DD_INFILE=./inp_data OUTFILE=TEST-FILE \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_file.at:4709" +( $at_check_trace; COB_LS_SPLIT=FALSE DD_INFILE=./inp_data OUTFILE=TEST-FILE \ +$COBCRUN_DIRECT ./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"; printf "%s\n" " Read 1: STATUS IS 04 LENGTH IS 040 + :Record 1................................: + Read 2: STATUS IS 00 LENGTH IS 030 + :Record 2.....................X : + Read 3: STATUS IS 04 LENGTH IS 040 + :Record 3................................: + Read 4: STATUS IS 10 LENGTH IS 000 +Write 1: STATUS IS 00 LENGTH IS 009 +Write 2: STATUS IS 00 LENGTH IS 064 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4709" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4722: diff reference TEST-FILE" +at_fn_check_prepare_trace "run_file.at:4722" +( $at_check_trace; diff reference TEST-FILE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4722" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +# same check with dialect option (4.x feature) +# AT_CHECK([$COMPILE -std=gc31 prog.cob], [0], [], []) +# +# same result, but status 00 +# AT_CHECK([DD_INFILE=./inp_data OUTFILE=TEST-FILE \ +# $COBCRUN_DIRECT ./prog], [0], +# [ Read 1: STATUS IS 00 LENGTH IS 040 +# :Record 1................................: +# Read 2: STATUS IS 00 LENGTH IS 030 +# :Record 2.....................X : +# Read 3: STATUS IS 00 LENGTH IS 040 +# :Record 3................................: +# Read 4: STATUS IS 10 LENGTH IS 000 +# Write 1: STATUS IS 00 LENGTH IS 009 +# Write 2: STATUS IS 00 LENGTH IS 064 +# ], []) +# +# AT_CHECK([diff reference TEST-FILE], [0], [], []) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_919 +#AT_START_920 +at_fn_group_banner 920 'run_file.at:4746' \ + "LINE SEQUENTIAL standard record overflow" " " 4 +at_xfail=no +( + printf "%s\n" "920. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +Record 1................................X....... +Record 2.....................X +Record 3................................X... +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT INFILE ASSIGN TO EXTERNAL INFILE + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS INPUT-STATUS . + + SELECT OUTFILE ASSIGN TO EXTERNAL OUTFILE + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS INPUT-STATUS . + + DATA DIVISION. + FILE SECTION. + FD INFILE + RECORD IS VARYING IN SIZE FROM 18 TO 40 CHARACTERS + DEPENDING ON INPUT-LEN + . + 01 INPUT-REC PIC X(40). + + FD OUTFILE + RECORD IS VARYING IN SIZE FROM 18 TO 40 CHARACTERS + DEPENDING ON INPUT-LEN + . + 01 OUTPUT-REC PIC X(40). + + WORKING-STORAGE SECTION. + + 01 OUTPUT-FILE PIC X(19) VALUE 'TEST-FILE'. + 01 INPUT-FILE PIC X(19) VALUE 'TEST-INP'. + 01 INPUT-STATUS PIC XX. + 01 INPUT-LEN PIC 999 VALUE 18 . + + PROCEDURE DIVISION. + A000-BEGIN. + OPEN INPUT INFILE. + READ INFILE + DISPLAY " Read 1: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + READ INFILE + DISPLAY " Read 2: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + MOVE 0 TO INPUT-LEN + READ INFILE + DISPLAY " Read 3: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + DISPLAY " :" INPUT-REC ":" + MOVE SPACES TO INPUT-REC + MOVE 0 TO INPUT-LEN + READ INFILE + DISPLAY " Read 4: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + IF INPUT-STATUS (1:1) = "0" + DISPLAY " :" INPUT-REC ":" + END-IF + CLOSE INFILE + + OPEN OUTPUT OUTFILE + MOVE 9 TO INPUT-LEN + MOVE "Record 1............." TO OUTPUT-REC + WRITE OUTPUT-REC + DISPLAY "Write 1: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + UPON CONSOLE + MOVE 64 TO INPUT-LEN + MOVE ALL '.' TO OUTPUT-REC + MOVE "Record 2" TO OUTPUT-REC (1:8) + WRITE OUTPUT-REC + DISPLAY "Write 2: STATUS IS " INPUT-STATUS + " LENGTH IS " INPUT-LEN + UPON CONSOLE + CLOSE OUTFILE + STOP RUN. +_ATEOF + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4836: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:4836" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4836" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4838: DD_INFILE=./inp_data OUTFILE=TEST-FILE \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_file.at:4838" +( $at_check_trace; DD_INFILE=./inp_data OUTFILE=TEST-FILE \ +$COBCRUN_DIRECT ./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"; printf "%s\n" " Read 1: STATUS IS 06 LENGTH IS 040 + :Record 1................................: + Read 2: STATUS IS 00 LENGTH IS 008 + :X....... : + Read 3: STATUS IS 00 LENGTH IS 030 + :Record 2.....................X : + Read 4: STATUS IS 06 LENGTH IS 040 + :Record 3................................: +Write 1: STATUS IS 00 LENGTH IS 009 +Write 2: STATUS IS 00 LENGTH IS 064 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:4838" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +cat >reference <<'_ATEOF' +Record 1. +Record 2................................ +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:4857: diff reference TEST-FILE" +at_fn_check_prepare_trace "run_file.at:4857" +( $at_check_trace; diff reference TEST-FILE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4857" +$at_failed && at_fn_log_failure \ +"TEST-FILE" +$at_traceon; } + + +# same check with dialect option (4.x feature) +# AT_CHECK([$COMPILE -std=gc31 prog.cob], [0], [], []) +# +# same result because of configuration, but status 00 +# AT_CHECK([COB_LS_SPLIT=TRUE DD_INFILE=./inp_data OUTFILE=TEST-FILE \ +# $COBCRUN_DIRECT ./prog], [0], +# [ Read 1: STATUS IS 00 LENGTH IS 040 +# :Record 1................................: +# Read 2: STATUS IS 00 LENGTH IS 008 +# :X....... : +# Read 3: STATUS IS 00 LENGTH IS 030 +# :Record 2.....................X : +# Read 4: STATUS IS 00 LENGTH IS 040 +# :Record 3................................: +# Write 1: STATUS IS 00 LENGTH IS 009 +# Write 2: STATUS IS 00 LENGTH IS 064 +# ], []) +# +# AT_CHECK([diff reference TEST-FILE], [0], [], []) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_920 +#AT_START_921 +at_fn_group_banner 921 'run_file.at:4882' \ + "LINAGE and LINAGE-COUNTER sample" " " 4 +at_xfail=no +( + printf "%s\n" "921. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# modified version of GC-FAQ: Example of LINAGE File Descriptor +# Author: Brian Tiffin, Date: 10-July-2008 + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + select optional data-file assign to 'prog.cob' + organization is line sequential + file status is data-file-status. + select mini-report assign to "mini-report". + + DATA DIVISION. + FILE SECTION. + FD data-file. + 01 data-record. + 88 endofdata value high-values. + 02 data-line pic x(80). + FD mini-report + linage is 16 lines + with footing at 15 + lines at top 2 + lines at bottom 2. + 01 report-line pic x(80). + + WORKING-STORAGE SECTION. + 01 command-arguments pic x(1024). + 01 file-name pic x(160). + 01 data-file-status pic xx. + 01 lc pic 99. + 01 report-line-blank. + 02 filler pic x(18) value all "*". + 02 filler pic x(05) value spaces. + 02 filler pic x(34) + VALUE "THIS PAGE INTENTIONALLY LEFT BLANK". + 02 filler pic x(05) value spaces. + 02 filler pic x(18) value all "*". + 01 report-line-data. + 02 body-tag pic 9(6). + 02 line-3 pic x(74). + 01 report-line-header. + 02 filler pic x(6) VALUE "PAGE: ". + 02 page-no pic 9999. + 02 filler pic x(24). + 02 filler pic x(5) VALUE " LC: ". + 02 header-tag pic 9(6). + 02 filler pic x(23). + 02 filler pic x(6) VALUE "DATE: ". + 02 page-date pic x(6). + + 01 page-count pic 9999. + + PROCEDURE DIVISION. + main. + open input data-file. + read data-file + at end + display "File open error: " data-file-status + stop run + end-read. + + open output mini-report. + + write report-line + from report-line-blank + end-write. + + move 1 to page-count. + accept page-date from date end-accept. + move page-count to page-no. + write report-line + from report-line-header + after advancing page + end-write. + + perform readwrite-loop until endofdata. + + display + "Normal termination, ending status: " + data-file-status + close mini-report. + + close data-file. + stop run. + + **************************************************************** + readwrite-loop. + move data-record to report-line-data + move linage-counter to body-tag + write report-line from report-line-data + end-of-page + add 1 to page-count end-add + move page-count to page-no + move linage-counter to header-tag + write report-line from report-line-header + after advancing page + end-write + end-write + read data-file + at end set endofdata to true + end-read + . +_ATEOF + + + +cat >reference-report <<'_ATEOF' + + +****************** THIS PAGE INTENTIONALLY LEFT BLANK ****************** + + + + + + + + + + + + + + + + + + +PAGE: 0001 LC: 000000 DATE: 150206 +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 ENVIRONMENT DIVISION. +000005 INPUT-OUTPUT SECTION. +000006 FILE-CONTROL. +000007 select optional data-file assign to 'prog.cob' +000008 organization is line sequential +000009 file status is data-file-status. +000010 select mini-report assign to "mini-report". +000011 +000012 DATA DIVISION. +000013 FILE SECTION. +000014 FD data-file. + + + + + +PAGE: 0002 LC: 000015 DATE: 150206 +000001 01 data-record. +000002 88 endofdata value high-values. +000003 02 data-line pic x(80). +000004 FD mini-report +000005 linage is 16 lines +000006 with footing at 15 +000007 lines at top 2 +000008 lines at bottom 2. +000009 01 report-line pic x(80). +000010 +000011 WORKING-STORAGE SECTION. +000012 01 command-arguments pic x(1024). +000013 01 file-name pic x(160). +000014 01 data-file-status pic xx. + + + + + +PAGE: 0003 LC: 000015 DATE: 150206 +000001 01 lc pic 99. +000002 01 report-line-blank. +000003 02 filler pic x(18) value all "*". +000004 02 filler pic x(05) value spaces. +000005 02 filler pic x(34) +000006 VALUE "THIS PAGE INTENTIONALLY LEFT BLANK". +000007 02 filler pic x(05) value spaces. +000008 02 filler pic x(18) value all "*". +000009 01 report-line-data. +000010 02 body-tag pic 9(6). +000011 02 line-3 pic x(74). +000012 01 report-line-header. +000013 02 filler pic x(6) VALUE "PAGE: ". +000014 02 page-no pic 9999. + + + + + +PAGE: 0004 LC: 000015 DATE: 150206 +000001 02 filler pic x(24). +000002 02 filler pic x(5) VALUE " LC: ". +000003 02 header-tag pic 9(6). +000004 02 filler pic x(23). +000005 02 filler pic x(6) VALUE "DATE: ". +000006 02 page-date pic x(6). +000007 +000008 01 page-count pic 9999. +000009 +000010 PROCEDURE DIVISION. +000011 main. +000012 open input data-file. +000013 read data-file +000014 at end + + + + + +PAGE: 0005 LC: 000015 DATE: 150206 +000001 display "File open error: " data-file-status +000002 stop run +000003 end-read. +000004 +000005 open output mini-report. +000006 +000007 write report-line +000008 from report-line-blank +000009 end-write. +000010 +000011 move 1 to page-count. +000012 accept page-date from date end-accept. +000013 move page-count to page-no. +000014 write report-line + + + + + +PAGE: 0006 LC: 000015 DATE: 150206 +000001 from report-line-header +000002 after advancing page +000003 end-write. +000004 +000005 perform readwrite-loop until endofdata. +000006 +000007 display +000008 "Normal termination, ending status: " +000009 data-file-status +000010 close mini-report. +000011 +000012 close data-file. +000013 stop run. +000014 + + + + + +PAGE: 0007 LC: 000015 DATE: 150206 +000001**************************************************************** +000002 readwrite-loop. +000003 move data-record to report-line-data +000004 move linage-counter to body-tag +000005 write report-line from report-line-data +000006 end-of-page +000007 add 1 to page-count end-add +000008 move page-count to page-no +000009 move linage-counter to header-tag +000010 write report-line from report-line-header +000011 after advancing page +000012 end-write +000013 end-write +000014 read data-file + + + + + +PAGE: 0008 LC: 000015 DATE: 150206 +000001 at end set endofdata to true +000002 end-read +000003 . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5160: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:5160" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5160" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5161: COB_CURRENT_DATE=\"2015/02/06 16:40:52\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_CURRENT_DATE=\"2015/02/06 16:40:52\" $COBCRUN_DIRECT ./prog" "run_file.at:5161" +( $at_check_trace; COB_CURRENT_DATE="2015/02/06 16:40:52" $COBCRUN_DIRECT ./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"; printf "%s\n" "Normal termination, ending status: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:5161" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5164: diff mini-report reference-report" +at_fn_check_prepare_trace "run_file.at:5164" +( $at_check_trace; diff mini-report reference-report +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5164" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_921 +#AT_START_922 +at_fn_group_banner 922 'run_file.at:5169' \ + "EXTFH: LINAGE and LINAGE-COUNTER sample" " " 4 +at_xfail=yes +( + printf "%s\n" "922. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# modified version of the test above + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + select optional data-file assign to 'prog.cob' + organization is line sequential + file status is data-file-status. + select mini-report assign to "mini-report". + + DATA DIVISION. + FILE SECTION. + FD data-file. + 01 data-record. + 88 endofdata value high-values. + 02 data-line pic x(80). + FD mini-report + linage is 16 lines + with footing at 15 + lines at top 2 + lines at bottom 2. + 01 report-line pic x(80). + + WORKING-STORAGE SECTION. + 01 command-arguments pic x(1024). + 01 file-name pic x(160). + 01 data-file-status pic xx. + 01 lc pic 99. + 01 report-line-blank. + 02 filler pic x(18) value all "*". + 02 filler pic x(05) value spaces. + 02 filler pic x(34) + VALUE "THIS PAGE INTENTIONALLY LEFT BLANK". + 02 filler pic x(05) value spaces. + 02 filler pic x(18) value all "*". + 01 report-line-data. + 02 body-tag pic 9(6). + 02 line-3 pic x(74). + 01 report-line-header. + 02 filler pic x(6) VALUE "PAGE: ". + 02 page-no pic 9999. + 02 filler pic x(24). + 02 filler pic x(5) VALUE " LC: ". + 02 header-tag pic 9(6). + + + + + 01 page-count pic 9999. + + PROCEDURE DIVISION. + main. + open input data-file. + read data-file + at end + display "File open error: " data-file-status + stop run + end-read. + + open output mini-report. + + write report-line + from report-line-blank + end-write. + + move 1 to page-count. + move page-count to page-no. + write report-line + from report-line-header + after advancing page + end-write. + + perform readwrite-loop until endofdata. + + display + "Normal termination, ending status: " + data-file-status + close mini-report. + + close data-file. + stop run. + + **************************************************************** + readwrite-loop. + move data-record to report-line-data + move linage-counter to body-tag + write report-line from report-line-data + end-of-page + add 1 to page-count end-add + move page-count to page-no + move linage-counter to header-tag + write report-line from report-line-header + after advancing page + end-write + end-write + read data-file + at end set endofdata to true + end-read + . +_ATEOF + + + +cat >reference-report <<'_ATEOF' + + +****************** THIS PAGE INTENTIONALLY LEFT BLANK ****************** + + + + + + + + + + + + + + + + + + +PAGE: 0001 LC: 000000 +000001 +000002 IDENTIFICATION DIVISION. +000003 PROGRAM-ID. prog. +000004 ENVIRONMENT DIVISION. +000005 INPUT-OUTPUT SECTION. +000006 FILE-CONTROL. +000007 select optional data-file assign to 'prog.cob' +000008 organization is line sequential +000009 file status is data-file-status. +000010 select mini-report assign to "mini-report". +000011 +000012 DATA DIVISION. +000013 FILE SECTION. +000014 FD data-file. + + + + + +PAGE: 0002 LC: 000015 +000001 01 data-record. +000002 88 endofdata value high-values. +000003 02 data-line pic x(80). +000004 FD mini-report +000005 linage is 16 lines +000006 with footing at 15 +000007 lines at top 2 +000008 lines at bottom 2. +000009 01 report-line pic x(80). +000010 +000011 WORKING-STORAGE SECTION. +000012 01 command-arguments pic x(1024). +000013 01 file-name pic x(160). +000014 01 data-file-status pic xx. + + + + + +PAGE: 0003 LC: 000015 +000001 01 lc pic 99. +000002 01 report-line-blank. +000003 02 filler pic x(18) value all "*". +000004 02 filler pic x(05) value spaces. +000005 02 filler pic x(34) +000006 VALUE "THIS PAGE INTENTIONALLY LEFT BLANK". +000007 02 filler pic x(05) value spaces. +000008 02 filler pic x(18) value all "*". +000009 01 report-line-data. +000010 02 body-tag pic 9(6). +000011 02 line-3 pic x(74). +000012 01 report-line-header. +000013 02 filler pic x(6) VALUE "PAGE: ". +000014 02 page-no pic 9999. + + + + + +PAGE: 0004 LC: 000015 +000001 02 filler pic x(24). +000002 02 filler pic x(5) VALUE " LC: ". +000003 02 header-tag pic 9(6). +000004 +000005 +000006 +000007 +000008 01 page-count pic 9999. +000009 +000010 PROCEDURE DIVISION. +000011 main. +000012 open input data-file. +000013 read data-file +000014 at end + + + + + +PAGE: 0005 LC: 000015 +000001 display "File open error: " data-file-status +000002 stop run +000003 end-read. +000004 +000005 open output mini-report. +000006 +000007 write report-line +000008 from report-line-blank +000009 end-write. +000010 +000011 move 1 to page-count. +000012 accept page-date from date end-accept. +000013 move page-count to page-no. +000014 write report-line + + + + + +PAGE: 0006 LC: 000015 +000001 from report-line-header +000002 after advancing page +000003 end-write. +000004 +000005 perform readwrite-loop until endofdata. +000006 +000007 display +000008 "Normal termination, ending status: " +000009 data-file-status +000010 close mini-report. +000011 +000012 close data-file. +000013 stop run. +000014 + + + + + +PAGE: 0007 LC: 000015 +000001**************************************************************** +000002 readwrite-loop. +000003 move data-record to report-line-data +000004 move linage-counter to body-tag +000005 write report-line from report-line-data +000006 end-of-page +000007 add 1 to page-count end-add +000008 move page-count to page-no +000009 move linage-counter to header-tag +000010 write report-line from report-line-header +000011 after advancing page +000012 end-write +000013 end-write +000014 read data-file + + + + + +PAGE: 0008 LC: 000015 +000001 at end set endofdata to true +000002 end-read +000003 . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5444: \$COMPILE -fcallfh=EXTFH prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=EXTFH prog.cob" "run_file.at:5444" +( $at_check_trace; $COMPILE -fcallfh=EXTFH prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5444" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + + +# currently does not generate the expected report, as LINAGE options +# are not passed via FCD and the internal part works only "partial" + + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5451: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:5451" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Normal termination, ending status: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:5451" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5454: diff mini-report reference-report" +at_fn_check_prepare_trace "run_file.at:5454" +( $at_check_trace; diff mini-report reference-report +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5454" +$at_failed && at_fn_log_failure \ +"mini-report" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_922 +#AT_START_923 +at_fn_group_banner 923 'run_file.at:5459' \ + "SEQUENTIAL file I/O with variable records" " " 4 +at_xfail=no +( + printf "%s\n" "923. $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 DISK. + + DATA DIVISION. + FILE SECTION. + FD f RECORD VARYING FROM 10 TO 20 DEPENDING rec-size. + 01 f-rec. + 02 f-x OCCURS 20 PIC X. + + WORKING-STORAGE SECTION. + 01 rec-size PIC 99. + 01 i PIC 99. + 01 1-template VALUE "+12345678++12345678+". + 02 1-x OCCURS 20 PIC X. + + PROCEDURE DIVISION. + OPEN OUTPUT f + PERFORM VARYING rec-size FROM 20 BY -1 UNTIL rec-size < 10 + WRITE f-rec FROM 1-template + END-PERFORM + CLOSE f + + OPEN INPUT f + * rec-size should not influence READ + MOVE 15 TO rec-size + PERFORM VARYING i FROM 20 BY -1 UNTIL i < 10 + READ f + AT END + DISPLAY "Failed: EOF" + STOP RUN ERROR + END-READ + + * Note the characters f-rec (rec-size + 1:) are all undefined, + * hence the refmod (1:rec-size). + DISPLAY rec-size ": >" f-rec (1:rec-size) "<" + IF rec-size NOT = i + DISPLAY "Failed: bad record size" + STOP RUN ERROR + END-IF + IF f-x (rec-size) NOT = 1-x (rec-size) + DISPLAY "Failed: bad data" + STOP RUN ERROR + END-IF + END-PERFORM + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5516: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:5516" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5516" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5517: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:5517" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "20: >+12345678++12345678+< +19: >+12345678++12345678< +18: >+12345678++1234567< +17: >+12345678++123456< +16: >+12345678++12345< +15: >+12345678++1234< +14: >+12345678++123< +13: >+12345678++12< +12: >+12345678++1< +11: >+12345678++< +10: >+12345678+< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:5517" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_923 +#AT_START_924 +at_fn_group_banner 924 'run_file.at:5534' \ + "LINE SEQUENTIAL file I/O with variable records" " " 4 +at_xfail=no +( + printf "%s\n" "924. $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 DISK + LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f RECORD VARYING FROM 10 TO 20 DEPENDING rec-size. + 01 f-rec. + 02 f-x OCCURS 20 PIC X. + + WORKING-STORAGE SECTION. + 01 rec-size PIC 99. + 01 i PIC 99. + 01 1-template VALUE "+12345678++12345678+". + 02 1-x OCCURS 20 PIC X. + + PROCEDURE DIVISION. + OPEN OUTPUT f + PERFORM VARYING rec-size FROM 20 BY -1 UNTIL rec-size < 10 + WRITE f-rec FROM 1-template + END-PERFORM + CLOSE f + + OPEN INPUT f + * rec-size should not influence READ + MOVE 15 TO rec-size + PERFORM VARYING i FROM 20 BY -1 UNTIL i < 10 + READ f + AT END + DISPLAY "Failed: EOF" + STOP RUN ERROR + END-READ + + DISPLAY rec-size ": >" f-rec (1:rec-size) "<" + IF rec-size NOT = i + DISPLAY "Failed: bad record size" + STOP RUN ERROR + END-IF + IF f-x (rec-size) NOT = 1-x (rec-size) + DISPLAY "Failed: bad data" + STOP RUN ERROR + END-IF + END-PERFORM + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5590: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:5590" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5590" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5591: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:5591" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "20: >+12345678++12345678+< +19: >+12345678++12345678< +18: >+12345678++1234567< +17: >+12345678++123456< +16: >+12345678++12345< +15: >+12345678++1234< +14: >+12345678++123< +13: >+12345678++12< +12: >+12345678++1< +11: >+12345678++< +10: >+12345678+< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:5591" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_924 +#AT_START_925 +at_fn_group_banner 925 'run_file.at:5608' \ + "SEQUENTIAL file REWRITE" " " 4 +at_xfail=no +( + printf "%s\n" "925. $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 file1 ASSIGN DISK. + + DATA DIVISION. + FILE SECTION. + FD file1. + 01 file1-rec. + 02 file1-serial-1 PIC 9(6). + 02 file1-xseen PIC 9(4). + 02 file1-serial-2 PIC 9(6). + + WORKING-STORAGE SECTION. + 01 w-count PIC 9(6) VALUE 0. + 01 w-eof PIC 9 VALUE 0. + 88 eof VALUE 1 FALSE 0. + 01 w-abort PIC 9 VALUE 0. + 88 abort VALUE 1 FALSE 0. + + PROCEDURE DIVISION. + OPEN OUTPUT file1 + PERFORM VARYING w-count FROM 1 BY 1 + UNTIL w-count > 20 + MOVE w-count TO file1-serial-1 + MOVE 0 TO file1-xseen + ADD 100 w-count GIVING file1-serial-2 + WRITE file1-rec + END-PERFORM + CLOSE file1 + + OPEN I-O file1 + SET eof TO FALSE + PERFORM VARYING w-count FROM 1 BY 1 + UNTIL eof OR abort + READ file1 + AT END + SET eof TO TRUE + + NOT AT END + IF (file1-serial-1 <> w-count) + DISPLAY "FAIL 1: " w-count " :: " + file1-serial-1 + SET abort TO TRUE + ELSE IF (file1-serial-2 <> (100 + w-count)) + DISPLAY "FAIL 2: " w-count " :: " + file1-serial-2 + SET abort TO TRUE + ELSE IF (file1-xseen <> 0) + DISPLAY "FAIL 3: " w-count " :: " file1-xseen + SET abort TO TRUE + ELSE IF (w-count = 5 OR 10 OR 15 OR 20) + ADD 1000 w-count GIVING file1-serial-2 + ADD 1 TO file1-xseen + REWRITE file1-rec + END-IF + END-READ + END-PERFORM + IF NOT ((w-count = 22) AND eof) + DISPLAY "FAIL 4" + END-IF + CLOSE file1 + + OPEN INPUT file1 + SET eof TO FALSE + SET abort TO FALSE + PERFORM VARYING w-count FROM 1 BY 1 + UNTIL eof OR abort + READ file1 + AT END + SET eof TO TRUE + + NOT AT END + IF (file1-serial-1 <> w-count) + DISPLAY "FAIL 5" + SET abort TO TRUE + ELSE IF (w-count = 5 OR 10 OR 15 OR 20) + IF NOT ((file1-serial-2 = (1000 + w-count)) + AND (file1-xseen = 1)) + DISPLAY "FAIL 6" + SET abort TO TRUE + END-IF + ELSE + IF NOT ((file1-serial-2 = (100 + w-count)) + AND (file1-xseen = 0)) + DISPLAY "FAIL 7" + SET abort TO TRUE + END-IF + END-IF + END-READ + END-PERFORM + CLOSE file1 + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5711: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:5711" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5711" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5712: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:5712" +( $at_check_trace; $COBCRUN_DIRECT ./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:5712" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_925 +#AT_START_926 +at_fn_group_banner 926 'run_file.at:5720' \ + "SEQUENTIAL file with LOCK MODE EXCLUSIVE" " " 4 +at_xfail=yes +( + printf "%s\n" "926. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + lock mode is exclusive + status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5783: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:5783" +( $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_file.at:5783" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5784: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:5784" +( $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:5784" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5785: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:5785" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:5785" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_926 +#AT_START_927 +at_fn_group_banner 927 'run_file.at:5790' \ + "SEQUENTIAL file with OPEN WITH LOCK" " " 4 +at_xfail=yes +( + printf "%s\n" "927. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1 with lock. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5851: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:5851" +( $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_file.at:5851" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5852: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:5852" +( $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:5852" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5853: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:5853" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:5853" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_927 +#AT_START_928 +at_fn_group_banner 928 'run_file.at:5858' \ + "SEQUENTIAL file with SHARING NO" " " 4 +at_xfail=yes +( + printf "%s\n" "928. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + sharing no + status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5921: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:5921" +( $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_file.at:5921" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5922: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:5922" +( $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:5922" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5923: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:5923" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:5923" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_928 +#AT_START_929 +at_fn_group_banner 929 'run_file.at:5928' \ + "SEQUENTIAL file with SHARING READ ONLY" " " 4 +at_xfail=no +( + printf "%s\n" "929. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + sharing read only + status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open i-o file1. + if fs not = "61" + display "FAILED 1: " fs + close file1 + end-if. + open input file1. + if fs not = "00" + display "FAILED 2: " fs + else + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5995: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:5995" +( $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_file.at:5995" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5996: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:5996" +( $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:5996" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:5997: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:5997" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:5997" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_929 +#AT_START_930 +at_fn_group_banner 930 'run_file.at:6003' \ + "SEQUENTIAL file with blocked lock" " " 4 +at_xfail=yes +( + printf "%s\n" "930. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk status is fs. + data division. + file section. + fd file1. + 1 file1-rec pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "00" + display "FAILED: " fs + stop run + end-if. + close file1 + open input file1 with lock. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6069: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6069" +( $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_file.at:6069" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6070: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6070" +( $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:6070" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6071: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6071" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6071" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_930 +#AT_START_931 +at_fn_group_banner 931 'run_file.at:6076' \ + "RELATIVE SEQUENTIAL basic I/O" " " 4 +at_xfail=no +( + printf "%s\n" "931. $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 file1 ASSIGN DISK ORGANIZATION RELATIVE. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x. + PROCEDURE DIVISION. + DELETE FILE file1. + OPEN OUTPUT file1. + MOVE "A" TO file1-rec. + WRITE file1-rec. + CLOSE file1. + OPEN INPUT file1. + READ file1. + IF (file1-rec <> "A") + display "FAILED". + CLOSE file1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6104: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:6104" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6104" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6105: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:6105" +( $at_check_trace; $COBCRUN_DIRECT ./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:6105" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_931 +#AT_START_932 +at_fn_group_banner 932 'run_file.at:6110' \ + "RELATIVE RANDOM basic I/O" " " 4 +at_xfail=no +( + printf "%s\n" "932. $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 file1 ASSIGN DISK + ORGANIZATION RELATIVE + ACCESS RANDOM RELATIVE KEY file1-key. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x. + WORKING-STORAGE SECTION. + 77 file1-key pic 99. + PROCEDURE DIVISION. + DELETE FILE file1. + OPEN OUTPUT file1. + MOVE 1 to file1-key. + MOVE "A" TO file1-rec. + WRITE file1-rec. + MOVE 2 to file1-key. + MOVE "B" TO file1-rec. + WRITE file1-rec. + MOVE 3 to file1-key. + MOVE "C" TO file1-rec. + WRITE file1-rec. + CLOSE file1. + OPEN INPUT file1. + MOVE 2 to file1-key. + READ file1. + IF (file1-rec <> "B") + display "FAILED". + MOVE 1 to file1-key. + READ file1. + IF (file1-rec <> "A") + display "FAILED". + CLOSE file1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6154: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:6154" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6154" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6155: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:6155" +( $at_check_trace; $COBCRUN_DIRECT ./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:6155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_932 +#AT_START_933 +at_fn_group_banner 933 'run_file.at:6160' \ + "RELATIVE SEQUENTIAL with variable records" " " 4 +at_xfail=no +( + printf "%s\n" "933. $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 DISK + ORGANIZATION RELATIVE. + + DATA DIVISION. + FILE SECTION. + FD f RECORD VARYING FROM 10 TO 20 DEPENDING rec-size. + 01 f-rec. + 02 f-x OCCURS 20 PIC X. + + WORKING-STORAGE SECTION. + 01 rec-size PIC 99. + 01 i PIC 99. + 01 1-template VALUE "+12345678++12345678+". + 02 1-x OCCURS 20 PIC X. + + PROCEDURE DIVISION. + OPEN OUTPUT f + PERFORM VARYING rec-size FROM 20 BY -1 UNTIL rec-size < 10 + WRITE f-rec FROM 1-template + END-PERFORM + CLOSE f + + OPEN INPUT f + * rec-size should not influence READ + MOVE 15 TO rec-size + PERFORM VARYING i FROM 20 BY -1 UNTIL i < 10 + READ f + AT END + DISPLAY "Failed: EOF" + STOP RUN ERROR + END-READ + + DISPLAY rec-size ": >" f-rec (1:rec-size) "<" + IF rec-size NOT = i + DISPLAY "Failed: bad record size" + STOP RUN ERROR + END-IF + IF f-x (rec-size) NOT = 1-x (rec-size) + DISPLAY "Failed: bad data" + STOP RUN ERROR + END-IF + END-PERFORM + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6216: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:6216" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6216" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6217: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:6217" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "20: >+12345678++12345678+< +19: >+12345678++12345678< +18: >+12345678++1234567< +17: >+12345678++123456< +16: >+12345678++12345< +15: >+12345678++1234< +14: >+12345678++123< +13: >+12345678++12< +12: >+12345678++1< +11: >+12345678++< +10: >+12345678+< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:6217" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_933 +#AT_START_934 +at_fn_group_banner 934 'run_file.at:6234' \ + "INDEXED SEQUENTIAL basic I/O" " " 4 +at_xfail=no +( + printf "%s\n" "934. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:6237" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6237" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT fileX ASSIGN DISK ORGANIZATION INDEXED + RECORD KEY fileX-key. + DATA DIVISION. + FILE SECTION. + FD fileX. + 1 fileX-rec. + 2 fileX-key pic x(6). + 2 fileX-data pic x(10). + PROCEDURE DIVISION. + OPEN OUTPUT fileX. + MOVE ALL "A" TO fileX-rec. + WRITE fileX-rec. + CLOSE fileX. + OPEN INPUT fileX. + READ fileX. + IF (fileX-rec <> ALL "A") + display "FAILED". + CLOSE fileX. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6266: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:6266" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6266" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6267: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:6267" +( $at_check_trace; $COBCRUN_DIRECT ./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:6267" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_934 +#AT_START_935 +at_fn_group_banner 935 'run_file.at:6272' \ + "INDEXED SEQUENTIAL with variable records" " " 4 +at_xfail=no +( + printf "%s\n" "935. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:6275" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6275" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT f ASSIGN DISK + INDEXED + RECORD KEY f-key + ACCESS RANDOM. + + DATA DIVISION. + FILE SECTION. + FD f RECORD VARYING FROM 12 TO 22 DEPENDING rec-size. + 01 f-rec. + 02 f-key PIC 99. + 02 f-data. + 03 f-x OCCURS 20 PIC X. + + WORKING-STORAGE SECTION. + 01 rec-size PIC 99. + 01 1-template VALUE "+12345678++12345678+". + 02 1-x OCCURS 20 PIC X. + + PROCEDURE DIVISION. + OPEN OUTPUT f + MOVE 1 TO f-key + PERFORM VARYING rec-size FROM 22 BY -1 UNTIL rec-size < 12 + MOVE 1-template TO f-data + WRITE f-rec + ADD 1 TO f-key + END-PERFORM + CLOSE f + + OPEN INPUT f + * rec-size should not influence READ + MOVE 15 TO rec-size + PERFORM VARYING f-key FROM 1 BY 1 UNTIL f-key > 11 + READ f + AT END + DISPLAY "Failed: EOF" + STOP RUN ERROR + END-READ + + DISPLAY rec-size ": >" f-rec (3:rec-size - 2) "<" + IF rec-size NOT = (22 - f-key) + 1 + DISPLAY "Failed: bad record size - " rec-size + STOP RUN ERROR + END-IF + IF f-x (rec-size - 2) NOT = 1-x (rec-size - 2) + DISPLAY "Failed: bad data - " f-data + STOP RUN ERROR + END-IF + END-PERFORM + CLOSE f + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6336: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:6336" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6336" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6337: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:6337" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "22: >+12345678++12345678+< +21: >+12345678++12345678< +20: >+12345678++1234567< +19: >+12345678++123456< +18: >+12345678++12345< +17: >+12345678++1234< +16: >+12345678++123< +15: >+12345678++12< +14: >+12345678++1< +13: >+12345678++< +12: >+12345678+< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:6337" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_935 +#AT_START_936 +at_fn_group_banner 936 'run_file.at:6354' \ + "INDEXED file with LOCK MODE EXCLUSIVE" " " 4 +at_xfail=yes +( + printf "%s\n" "936. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +## TO-DO: Support INDEXED file sharing/locking. +printf "%s\n" "run_file.at:6358" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6358" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + lock mode is exclusive + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6426: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6426" +( $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_file.at:6426" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6427: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6427" +( $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:6427" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6428: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6428" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6428" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_936 +#AT_START_937 +at_fn_group_banner 937 'run_file.at:6433' \ + "INDEXED file with OPEN WITH LOCK" " " 4 +at_xfail=yes +( + printf "%s\n" "937. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +## TO-DO: Support INDEXED file sharing/locking. +printf "%s\n" "run_file.at:6437" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6437" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1 with lock. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6504: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6504" +( $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_file.at:6504" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6505: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6505" +( $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:6505" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6506: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6506" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6506" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_937 +#AT_START_938 +at_fn_group_banner 938 'run_file.at:6511' \ + "INDEXED file with SHARING NO" " " 4 +at_xfail=yes +( + printf "%s\n" "938. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +## TO-DO: Support INDEXED file sharing/locking. +printf "%s\n" "run_file.at:6515" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6515" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + sharing no + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6583: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6583" +( $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_file.at:6583" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6584: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6584" +( $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:6584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6585: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6585" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6585" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_938 +#AT_START_939 +at_fn_group_banner 939 'run_file.at:6590' \ + "INDEXED file with SHARING READ ONLY" " " 4 +at_xfail=yes +( + printf "%s\n" "939. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +## TO-DO: Support INDEXED file sharing/locking. +printf "%s\n" "run_file.at:6594" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6594" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + sharing read only + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open i-o file1. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + open input file1. + if fs not = "00" + display "FAILED: " fs + else + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6668: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6668" +( $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_file.at:6668" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6669: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6669" +( $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:6669" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6670: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6670" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6670" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_939 +#AT_START_940 +at_fn_group_banner 940 'run_file.at:6676' \ + "INDEXED file with blocked lock" " " 4 +at_xfail=yes +( + printf "%s\n" "940. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +## TO-DO: Support INDEXED file sharing/locking. +printf "%s\n" "run_file.at:6680" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6680" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + close file1. + open input file1. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + if fs not = "00" + display "FAILED: " fs + stop run + end-if. + close file1 + open input file1 with lock. + if fs not = "61" + display "FAILED: " fs + close file1 + end-if. + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6751: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6751" +( $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_file.at:6751" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6752: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6752" +( $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:6752" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6753: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6753" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6753" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_940 +#AT_START_941 +at_fn_group_banner 941 'run_file.at:6758' \ + "INDEXED file with LOCK AUTOMATIC (1)" " " 4 +at_xfail=yes +( + printf "%s\n" "941. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:6761" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6761" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + lock mode is automatic + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + move "X" to file1-key. + write file1-rec. + if fs not = "00" + display "FAILED 1::w fs=" fs. + close file1. + open i-o file1. + move "X" to file1-key. + read file1. + if fs not = "00" + display "FAILED 1::r fs=" fs. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + lock mode is automatic + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open i-o file1. + move "X" to file1-key. + read file1. + if fs not = "61" + display "FAILED 2::r " fs. + close file1 + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6841: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6841" +( $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_file.at:6841" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6842: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6842" +( $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:6842" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6843: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6843" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6843" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_941 +#AT_START_942 +at_fn_group_banner 942 'run_file.at:6849' \ + "INDEXED file with LOCK AUTOMATIC (2)" " " 4 +at_xfail=no +( + printf "%s\n" "942. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:6852" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6852" + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + lock mode is automatic + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + move "X" to file1-key. + write file1-rec. + if fs not = "00" + display "FAILED 1::w fs=" fs. + close file1. + open i-o file1. + move "X" to file1-key. + read file1. + if fs not = "00" + display "FAILED 1::r fs=" fs. + rewrite file1-rec. + if fs not = "00" + display "FAILED 1::rw fs=" fs. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open input file1. + move "X" to file1-key. + read file1. + if fs not = "00" + display "FAILED 2::r " fs + end-if. + close file1 + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6934: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:6934" +( $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_file.at:6934" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6935: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:6935" +( $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:6935" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:6936: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:6936" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:6936" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_942 +#AT_START_943 +at_fn_group_banner 943 'run_file.at:6941' \ + "INDEXED file with LOCK MANUAL" " " 4 +at_xfail=yes +( + printf "%s\n" "943. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:6944" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:6944" + + +cat >prog1.cob <<'_ATEOF' + + identification division. + program-id. prog1. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + lock mode is manual + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + 1 os-check pic x(7). + 88 os-is-windows-or-dos values 'WINDOWS' 'FREEDOS'. + 78 callee value "./prog2". + 78 callee-wdos value ".\prog2". + procedure division. + open output file1. + move "X" to file1-key. + write file1-rec. + if fs not = "00" + display "FAILED 1::w fs=" fs. + close file1. + open i-o file1. + move "X" to file1-key. + read file1 with lock. + if fs not = "00" + display "FAILED 1::r fs=" fs. + accept os-check from environment "COB_ON_CYGWIN". + if os-check = spaces + accept os-check from environment "OS". + if os-check = spaces + accept os-check from environment "OS_NAME". + inspect os-check converting "werfdosin" to "WERFDOSIN". + if os-is-windows-or-dos + call "SYSTEM" using callee-wdos + else + call "SYSTEM" using callee. + close file1. + stop run. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + identification division. + program-id. prog2. + environment division. + input-output section. + file-control. + select file1 assign disk + access mode is random + organization indexed + record key file1-key + status is fs. + data division. + file section. + fd file1. + 1 file1-rec. + 2 file1-key pic x. + working-storage section. + 1 fs pic xx. + procedure division. + open i-o file1. + move "X" to file1-key. + read file1. + if fs not = "61" + display "FAILED 2::r " fs + end-if. + close file1 + stop run. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7024: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:7024" +( $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_file.at:7024" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7025: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:7025" +( $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:7025" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7026: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_file.at:7026" +( $at_check_trace; $COBCRUN_DIRECT ./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 0 $at_status "$at_srcdir/run_file.at:7026" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_943 +#AT_START_944 +at_fn_group_banner 944 'run_file.at:7031' \ + "START INDEXED" " " 4 +at_xfail=no +( + printf "%s\n" "944. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:7034" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:7034" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ASSIGN TO "./file1X" + ORGANIZATION INDEXED + ACCESS DYNAMIC RECORD KEY file1-key. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec. + 2 file1-key pic 999. + 2 file1-data pic 999. + PROCEDURE DIVISION. + OPEN OUTPUT file1. + CLOSE file1. + OPEN I-O file1. + MOVE 10 TO file1-key file1-data. + WRITE file1-rec. + MOVE 11 TO file1-key file1-data. + WRITE file1-rec. + MOVE 12 TO file1-key file1-data. + WRITE file1-rec. + MOVE 13 TO file1-key file1-data. + WRITE file1-rec. + * + MOVE 0 TO file1-key. + START file1 KEY > file1-key. + READ file1 NEXT. + IF (file1-data <> 10) + DISPLAY "FAILED: START key > 0". + * + MOVE 99 TO file1-key. + START file1 KEY < file1-key. + READ file1 NEXT. + IF (file1-data <> 13) + DISPLAY "FAILED: START key < 99". + * + MOVE 999 TO file1-key. + START file1 FIRST. + READ file1 NEXT. + IF (file1-data <> 10) + DISPLAY "FAILED: START key FIRST". + * + MOVE 0 TO file1-key. + START file1 LAST. + READ file1 NEXT. + IF (file1-data <> 13) + DISPLAY "FAILED: START key LAST". + * + MOVE 0 TO file1-key. + START file1 KEY >= file1-key. + READ file1 NEXT. + IF (file1-data <> 10) + DISPLAY "FAILED: START key >= 0". + * + MOVE 99 TO file1-key. + START file1 KEY <= file1-key. + READ file1 NEXT. + IF (file1-data <> 13) + DISPLAY "FAILED: START key <= 99". + + CLOSE file1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7104: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:7104" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7104" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7105: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:7105" +( $at_check_trace; $COBCRUN_DIRECT ./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:7105" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_944 +#AT_START_945 +at_fn_group_banner 945 'run_file.at:7110' \ + "INDEXED partial keys" " " 4 +at_xfail=no +( + printf "%s\n" "945. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:7113" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:7113" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL f ASSIGN "fileX" + ORGANIZATION INDEXED + ACCESS DYNAMIC + RECORD KEY f-key1 + ALTERNATE RECORD f-key2 + ALTERNATE RECORD f-key3 DUPLICATES + STATUS f-status. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec. + 02 f-key1. + 03 f-key1-1 PIC X(3). + 03 f-key1-2 PIC X(3). + 02 f-key2. + 03 f-key2-1 PIC X(3). + 03 f-key2-2 PIC X(3). + 02 f-key3. + 03 f-key3-1 PIC X(3). + 03 f-key3-2 PIC X(3). + 02 file1-serial PIC 99. + + WORKING-STORAGE SECTION. + 01 f-status PIC XX. + 01 w-serial PIC 99 VALUE 0. + + PROCEDURE DIVISION. + DELETE FILE f + OPEN I-O f + MOVE "AAAAAAaaaaaaXX----" TO f-rec + PERFORM write-f + MOVE "AAAAABaaaaabXX----" TO f-rec + PERFORM write-f + MOVE "AAAABBaaaabbXX----" TO f-rec + PERFORM write-f + MOVE "AAABBBaaabbbXXX---" TO f-rec + PERFORM write-f + MOVE "AABBBBaabbbbXXX---" TO f-rec + PERFORM write-f + MOVE "ABBBBBabbbbbXXX---" TO f-rec + PERFORM write-f + MOVE "BBBBBBbbbbbbXXX---" TO f-rec + PERFORM write-f + + MOVE "AAB" TO f-key1-1 + MOVE "~~~" TO f-key1-2 + START f KEY = f-key1-1 + READ f NEXT + IF (f-status <> "00") + OR (file1-serial <> 4) + DISPLAY "FAILED 1: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "AAB" TO f-key1-1 + MOVE "~~~" TO f-key1-2 + START f KEY < f-key1-1 + READ f PREVIOUS + IF (f-status <> "00") + OR (file1-serial <> 3) + DISPLAY "FAILED 2: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "AAA" TO f-key1-1 + MOVE "~~~" TO f-key1-2 + START f KEY > f-key1-1 + READ f NEXT + IF (f-status <> "00") + OR (file1-serial <> 4) + DISPLAY "FAILED 3: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "aab" TO f-key2-1 + MOVE "~~~" TO f-key2-2 + START f KEY = f-key2-1 + READ f NEXT + IF (f-status <> "00") + OR (file1-serial <> 4) + DISPLAY "FAILED 4: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "aab" TO f-key2-1 + MOVE "~~~" TO f-key2-2 + START f KEY < f-key2-1 + READ f PREVIOUS + IF (f-status <> "00") + OR (file1-serial <> 3) + DISPLAY "FAILED 5: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "aaa" TO f-key2-1 + MOVE "~~~" TO f-key2-2 + START f KEY > f-key2-1 + READ f NEXT + IF (f-status <> "00") + OR (file1-serial <> 4) + DISPLAY "FAILED 6: status " f-status " - " + "serial: " file1-serial + END-IF + + MOVE "XX-" TO f-key3-1 + START f KEY > f-key3-1 + READ f NEXT + * CHECK: Return file-status "02" if duplicates exist + * Depends on xISAM implementation and also on the way BDB is used + IF (f-status <> "02" + AND f-status <> "00") + OR (file1-serial <> 3) + DISPLAY "FAILED 7: status " f-status " - " + "serial: " file1-serial + END-IF + CLOSE f + STOP RUN + . + write-f. + MOVE w-serial TO file1-serial + WRITE f-rec + ADD 1 TO w-serial + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7248: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:7248" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7248" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7249: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:7249" +( $at_check_trace; $COBCRUN_DIRECT ./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:7249" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_945 +#AT_START_946 +at_fn_group_banner 946 'run_file.at:7257' \ + "INDEXED undeclared keys" " " 4 +at_xfail=no +( + printf "%s\n" "946. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:7260" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:7260" + +# real ISAM has the key information and will "fail" one part, +# BDB hasn't and will "pass" this one but fail the other +# -> skip as 4.x feature +printf "%s\n" "run_file.at:7265" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/run_file.at:7265" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ASSIGN TO "./fileX" + ORGANIZATION INDEXED + ACCESS RANDOM + RECORD KEY file1-key1 + ALTERNATE RECORD KEY file1-key2 + ALTERNATE RECORD KEY file1-key3. + SELECT file2 ASSIGN TO "./fileX" + ORGANIZATION INDEXED + ACCESS RANDOM + RECORD KEY file2-key1 + ALTERNATE RECORD KEY file2-key2. + SELECT file3 ASSIGN TO "./fileX" + ORGANIZATION INDEXED + ACCESS RANDOM + RECORD KEY file3-key1. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec. + 2 file1-key1 pic 999. + 2 file1-key2 pic 999. + 2 file1-key3 pic 999. + 2 file1-data pic 999. + FD file2. + 1 file2-rec. + 2 file2-key1 pic 999. + 2 file2-key2 pic 999. + 2 file2-key3 pic 999. + 2 file2-data pic 999. + FD file3. + 1 file3-rec. + 2 file3-key1 pic 999. + 2 file3-key2 pic 999. + 2 file3-key3 pic 999. + 2 file3-data pic 999. + WORKING-STORAGE SECTION. + 77 ix pic 9(6). + PROCEDURE DIVISION. + OPEN OUTPUT file1. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + MOVE ix TO file1-key1 file1-data + ADD 100 TO ix GIVING file1-key2 + ADD 200 TO ix GIVING file1-key3 + WRITE file1-rec + END-PERFORM. + CLOSE file1. + * + OPEN INPUT file1. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + MOVE ix TO file1-key1 + READ file1 KEY file1-key1 + IF (file1-data <> ix) + DISPLAY "FAILED 1-1" + END-IF + END-PERFORM. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + ADD 100 TO ix GIVING file1-key2 + READ file1 KEY file1-key2 + IF (file1-data <> ix) + DISPLAY "FAILED 1-2" + END-IF + END-PERFORM. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + ADD 200 TO ix GIVING file1-key3 + READ file1 KEY file1-key3 + IF (file1-data <> ix) + DISPLAY "FAILED 1-3" + END-IF + END-PERFORM. + CLOSE file1. + * + OPEN INPUT file2. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + MOVE ix TO file2-key1 + READ file2 KEY file2-key1 + IF (file2-data <> ix) + DISPLAY "FAILED 2-1" + END-IF + END-PERFORM. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + ADD 100 TO ix GIVING file2-key2 + READ file2 KEY file2-key2 + IF (file2-data <> ix) + DISPLAY "FAILED 2-2" + END-IF + END-PERFORM. + CLOSE file2. + * + OPEN INPUT file3. + PERFORM VARYING ix FROM 1 BY 1 + UNTIL ix > 10 + MOVE ix TO file3-key1 + READ file3 KEY file3-key1 + IF (file3-data <> ix) + DISPLAY "FAILED 3-1" + END-IF + END-PERFORM. + CLOSE file3. + * + * Insert rec via file with only 1 index declared + OPEN I-O file3. + MOVE 20 TO ix. + MOVE ix TO file3-key1 file3-data + ADD 100 TO ix GIVING file3-key2 + ADD 200 TO ix GIVING file3-key3 + WRITE file3-rec + CLOSE file3 + * + * Check new rec is visible in other files + OPEN INPUT file1. + MOVE 10 TO file1-key1. + READ file1 KEY file1-key1. + IF (file1-data <> 10) + DISPLAY "FAILED 1-4". + MOVE SPACES TO file1-rec. + MOVE 110 TO file1-key2. + READ file1 KEY file1-key2. + IF (file1-data <> 10) + DISPLAY "FAILED 1-5". + MOVE SPACES TO file1-rec. + MOVE 210 TO file1-key3. + READ file1 KEY file1-key3. + IF (file1-data <> 10) + DISPLAY "FAILED 1-6". + CLOSE file1. + * + OPEN INPUT file2. + MOVE 10 TO file2-key1. + READ file2 KEY file2-key1. + IF (file2-data <> 10) + DISPLAY "FAILED 2-3". + MOVE SPACES TO file2-rec. + MOVE 110 TO file2-key2. + READ file2 KEY file2-key2. + IF (file2-data <> 10) + DISPLAY "FAILED 2-4". + CLOSE file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7419: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:7419" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7419" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7420: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:7420" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:82: error: unknown file error (status = 39) for file file2 ('.' => ./fileX) on OPEN +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:7420" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7423: COB_KEYCHECK=OFF \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_KEYCHECK=OFF $COBCRUN_DIRECT ./prog" "run_file.at:7423" +( $at_check_trace; COB_KEYCHECK=OFF $COBCRUN_DIRECT ./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:7423" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_946 +#AT_START_947 +at_fn_group_banner 947 'run_file.at:7428' \ + "READ INPUT pipe & WRITE OUTPUT pipe" " " 4 +at_xfail=yes +( + printf "%s\n" "947. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# only implemented with 4+ + + +cat >test-data-in <<'_ATEOF' +NAME +STREET +TOWN +COUNTRY +_ATEOF + + +cat >provider <<'_ATEOF' + +cat $1 +_ATEOF + + +cat >consumer <<'_ATEOF' + +cat +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. prog. + environment division. + configuration section. + input-output section. + file-control. + select pipe-in + organization line sequential + access sequential + assign to w-command + status is f-status. + select pipe-out + organization line sequential + access sequential + assign to w-command + status is f-status. + data division. + file section. + fd pipe-in. + 1 pipe-msg-in pic x(132). + fd pipe-out. + 1 pipe-msg-out pic x(132). + working-storage section. + 77 f-status pic xx. + 88 f-status-ok value "00". + 77 w-command pic x(100). + procedure division. + move "< sh ./provider ./test-data-in" + to w-command. + open input pipe-in. + if not f-status-ok + display "FAILED: OPEN INPUT" + stop run + end-if. + move "> sh ./consumer > ./test-data-out" + to w-command. + open output pipe-out. + if not f-status-ok + display "FAILED: OPEN OUTPUT" + stop run + end-if. + perform until not f-status-ok + read pipe-in + if f-status-ok + perform x01-100-map + write pipe-msg-out + end-if + end-perform. + close pipe-in. + close pipe-out. + stop run. + * + x01-100-map. + move "*** Jacques Tati ***" to pipe-msg-out. + if (pipe-msg-in = "COUNTRY") + move "Country: FRANCE" to pipe-msg-out. + if (pipe-msg-in = "TOWN") + move "Town: DEAUVILLE" to pipe-msg-out. + if (pipe-msg-in = "NAME") + move "Name: M. Hulot" to pipe-msg-out. + if (pipe-msg-in = "STREET") + move "Street: Rue des Anglais" to pipe-msg-out. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7514: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:7514" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:7514" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7515: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:7515" +( $at_check_trace; $COBCRUN_DIRECT ./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:7515" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:7516: cat test-data-out" +at_fn_check_prepare_trace "run_file.at:7516" +( $at_check_trace; cat test-data-out +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Name: M. Hulot +Street: Rue des Anglais +Town: DEAUVILLE +Country: FRANCE +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:7516" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_947 +#AT_START_948 +at_fn_group_banner 948 'run_file.at:7526' \ + "EXTFH: using ISAM callback" " " 4 +at_xfail=no +( + printf "%s\n" "948. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:7529" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:7529" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL TSPFILE + ASSIGN TO "testisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS CM-CUST-NUM + ALTERNATE RECORD KEY IS CM-TELEPHONE WITH DUPLICATES + ALTERNATE RECORD KEY IS CM-DISK WITH DUPLICATES + FILE STATUS IS CUST-STAT . + + SELECT TSTFILE + ASSIGN TO "testisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS TS-CUST-NUM + ALTERNATE RECORD KEY IS TS-TELEPHONE WITH DUPLICATES + ALTERNATE RECORD KEY IS TS-DISK WITH DUPLICATES + FILE STATUS IS CUST-STAT . + + SELECT FLATFILE ASSIGN EXTERNAL RELFIX + ORGANIZATION RELATIVE + ACCESS IS RANDOM RELATIVE KEY IS REC-NUM + FILE STATUS IS CUST-STAT. + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM. + 15 CM-CUST-PRE PICTURE X(3). + 15 CM-CUST-NNN PICTURE X(5). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + FD TSTFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSTFL-RECORD. + 05 TSTFL-REC. + 10 TS-CUST-NUM PICTURE X(8). + 10 TS-STATUS PICTURE X. + 10 TS-COMPANY PICTURE X(25). + 10 TS-ADDRESS-1 PICTURE X(25). + 10 TS-ADDRESS-2 PICTURE X(25). + 10 TS-ADDRESS-3 PICTURE X(25). + 10 TS-TELEPHONE PICTURE 9(10). + 10 TS-DP-MGR PICTURE X(25). + 10 TS-MACHINE PICTURE X(8). + 10 TS-MEMORY PICTURE X(4). + 10 TS-DISK PICTURE X(8). + 10 TS-TAPE PICTURE X(8). + + FD FLATFILE + 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) COMP-4. + 10 C2-PK-DATE PICTURE S9(14) COMP-3. + + WORKING-STORAGE SECTION. + + 01 CUST-STAT. + 05 FILLER PICTURE XX. + 78 MAX-SUB VALUE 16. + + 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 "GAM00000". + 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 "GIB00000". + 05 FILLER PIC X(8) VALUE "H&J00000". + 05 FILLER PIC X(8) VALUE "INC00000". + 05 FILLER PIC X(8) VALUE "JOH00000". + 05 FILLER PIC X(8) VALUE "KON00000". + 05 FILLER PIC X(8) VALUE "LEW00000". + 05 FILLER PIC X(8) VALUE "MOR00000". + 05 FILLER PIC X(8) VALUE "NEW00000". + 05 FILLER PIC X(8) VALUE "OLD00000". + 05 FILLER PIC X(8) VALUE "PRE00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 "GIBRALTER LIFE INSURANCE ". + 05 FILLER PIC X(25) VALUE "H & J PLUMBING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "INCREMENTAL BACKUP CORP. ". + 05 FILLER PIC X(25) VALUE "JOHNSON BOATING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "KONFLAB PLASTIC PRODUCTS.". + 05 FILLER PIC X(25) VALUE "LEWISTON GRAPHICS LTD. ". + 05 FILLER PIC X(25) VALUE "MORNINGSIDE CARPENTRY. ". + 05 FILLER PIC X(25) VALUE "NEW WAVE SURF SHOPS INC. ". + 05 FILLER PIC X(25) VALUE "OLD TYME PIZZA MFG. CO. ". + 05 FILLER PIC X(25) VALUE "PRESTIGE OFFICE FURNITURE". + + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-1-TBL. + + 05 FILLER PIC X(25) VALUE "123 MAIN STREET ". + 05 FILLER PIC X(25) VALUE "1090 2ND AVE. WEST ". + 05 FILLER PIC X(25) VALUE "1401 JEFFERSON BLVD. ". + 05 FILLER PIC X(25) VALUE "1620 ARIZONA WAY ". + 05 FILLER PIC X(25) VALUE "1184 EAST FIRST STREET ". + 05 FILLER PIC X(25) VALUE "114 JOHN F. KENNEDY AVE. ". + 05 FILLER PIC X(25) VALUE "650 LIBERTY CRESCENT ". + 05 FILLER PIC X(25) VALUE "77 SUNSET BLVD. ". + 05 FILLER PIC X(25) VALUE "10908 SANTA MONICA BLVD. ". + 05 FILLER PIC X(25) VALUE "1134 PARIS ROAD ". + 05 FILLER PIC X(25) VALUE "808 NORTHWEST MAIN ST. ". + 05 FILLER PIC X(25) VALUE "9904 QUEEN STREET ". + 05 FILLER PIC X(25) VALUE "1709 DUNDAS CRESCENT W. ". + 05 FILLER PIC X(25) VALUE "3240 MARIS AVENUE ". + 05 FILLER PIC X(25) VALUE "1705 WISCONSIN ROAD ". + 05 FILLER PIC X(25) VALUE "114A MAPLE GROVE ". + + 02 DATA-ADDRESS-1 REDEFINES DATA-ADDRESS-1-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "SAN DIEGO ". + 05 FILLER PIC X(10) VALUE "LOS RIOS ". + 05 FILLER PIC X(10) VALUE "MADISON ". + 05 FILLER PIC X(10) VALUE "WILBUR ". + 05 FILLER PIC X(10) VALUE "TOPEKA ". + 05 FILLER PIC X(10) VALUE "SEATTLE ". + 05 FILLER PIC X(10) VALUE "NEW JERSEY". + 05 FILLER PIC X(10) VALUE "FORT WAYNE". + 05 FILLER PIC X(10) VALUE "COLUMBUS ". + 05 FILLER PIC X(10) VALUE "RICHMOND ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS-2 REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-ADDRESS-3-TBL. + + 05 FILLER PIC X(10) VALUE "N.Y. ". + 05 FILLER PIC X(10) VALUE "GEORGIA ". + 05 FILLER PIC X(10) VALUE "D.C. ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CALIFORNIA". + 05 FILLER PIC X(10) VALUE "NEW MEXICO". + 05 FILLER PIC X(10) VALUE "WISCONSIN ". + 05 FILLER PIC X(10) VALUE "DELAWARE ". + 05 FILLER PIC X(10) VALUE "KANSAS ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "N.J. ". + 05 FILLER PIC X(10) VALUE "COLORADO ". + 05 FILLER PIC X(10) VALUE "OHIO ". + 05 FILLER PIC X(10) VALUE "VIRGINIA ". + 05 FILLER PIC X(10) VALUE "N.Y. ". + + 02 DATA-ADDRESS-3 REDEFINES DATA-ADDRESS-3-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-TELEPHONE-TBL. + + 05 FILLER PIC 9(10) VALUE 3131234432. + 05 FILLER PIC 9(10) VALUE 4082938498. + 05 FILLER PIC 9(10) VALUE 8372487274. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 5292398745. + 05 FILLER PIC 9(10) VALUE 8009329492. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 6546456333. + 05 FILLER PIC 9(10) VALUE 3455445444. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 7456434355. + 05 FILLER PIC 9(10) VALUE 6554456433. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 7534587453. + 05 FILLER PIC 9(10) VALUE 8787458374. + 05 FILLER PIC 9(10) VALUE 4169898509. + + 02 DATA-TELEPHONE REDEFINES DATA-TELEPHONE-TBL + PIC 9(10) OCCURS MAX-SUB. + 02 DATA-DP-MGR-TBL. + + 05 FILLER PIC X(20) VALUE "MR. DAVE HARRIS ". + 05 FILLER PIC X(20) VALUE "MS. JANICE SILCOX ". + 05 FILLER PIC X(20) VALUE "MR. ALLAN JONES ". + 05 FILLER PIC X(20) VALUE "MR. PETER MACKAY ". + 05 FILLER PIC X(20) VALUE "MRS. DONNA BREWER ". + 05 FILLER PIC X(20) VALUE "MR. MICHAEL SMYTHE ". + 05 FILLER PIC X(20) VALUE "MR. D.A. MORRISON ". + 05 FILLER PIC X(20) VALUE "MR. BRIAN PATTERSON ". + 05 FILLER PIC X(20) VALUE "MR. DARRYL TOWNSEND ". + 05 FILLER PIC X(20) VALUE "MS. VALERIE HARPER ". + 05 FILLER PIC X(20) VALUE "MR. FRED MILLER ". + 05 FILLER PIC X(20) VALUE "MR. DONALD FISCHER ". + 05 FILLER PIC X(20) VALUE "MR. STEVEN YOURDIN ". + 05 FILLER PIC X(20) VALUE "MS. Goldie Hawn ". + 05 FILLER PIC X(20) VALUE "MS. ALICE WINSTON ". + 05 FILLER PIC X(20) VALUE "MR. THOMAS JEFFERSON". + + 02 DATA-DP-MGR REDEFINES DATA-DP-MGR-TBL + PIC X(20) OCCURS MAX-SUB. + 02 DATA-MACHINE-TBL. + + 05 FILLER PIC X(8) VALUE "UNI-9030". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-80/3". + 05 FILLER PIC X(8) VALUE "UNI-80/5". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-9040". + + 02 DATA-MACHINE REDEFINES DATA-MACHINE-TBL + PIC X(8) OCCURS MAX-SUB. + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(3) COMP-3 VALUE 85. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 75. + 05 FILLER PIC 9(3) COMP-3 VALUE 45. + 05 FILLER PIC 9(3) COMP-3 VALUE 90. + 05 FILLER PIC 9(3) COMP-3 VALUE 107. + 05 FILLER PIC 9(3) COMP-3 VALUE 67. + 05 FILLER PIC 9(3) COMP-3 VALUE 32. + 05 FILLER PIC 9(3) COMP-3 VALUE 16. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 128. + 05 FILLER PIC 9(3) COMP-3 VALUE 64. + 05 FILLER PIC 9(3) COMP-3 VALUE 110. + 05 FILLER PIC 9(3) COMP-3 VALUE 324. + 05 FILLER PIC 9(3) COMP-3 VALUE 124. + 05 FILLER PIC 9(3) COMP-3 VALUE 86. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) COMP-3 OCCURS MAX-SUB. + + 78 REC-MAX VALUE 10. + 01 WORK-AREA. + 05 REC-NUM BINARY-SHORT UNSIGNED VALUE 0. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5 7 9 10 11. + + 05 TSPFL-KEY PICTURE X(8). + + PROCEDURE DIVISION. + + MAINFILE. + OPEN OUTPUT TSPFILE + CLOSE TSPFILE. + + OPEN I-O TSPFILE + MOVE '99' TO CUST-STAT + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "10" + DISPLAY "Error " CUST-STAT " on read of empty file" + UPON CONSOLE + STOP RUN + END-IF. + MOVE LOW-VALUES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN CM-CUST-NUM + IF CUST-STAT NOT = "23" + DISPLAY "Error " CUST-STAT " starting empty file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "46" + DISPLAY "Error " CUST-STAT " start/read of empty file" + UPON CONSOLE + STOP RUN + END-IF. + DISPLAY "OK: Operations on empty file" + CLOSE TSPFILE. + + PERFORM LOADFILE. + PERFORM LISTFILE. + OPEN INPUT TSTFILE + IF CUST-STAT NOT = "00" + DISPLAY "Expected ERROR " CUST-STAT + " opening TSTFILE, Record size different" + UPON CONSOLE + ELSE + DISPLAY "Un-Expected open TSTFILE, Record size different" + UPON CONSOLE + CLOSE TSTFILE + END-IF. + PERFORM LOADFLAT. + STOP RUN. + + LOADFILE. + DISPLAY "Loading sample data file." + UPON CONSOLE. + + OPEN OUTPUT TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT + " opening 'testisam' file" UPON CONSOLE + STOP RUN + END-IF. + + PERFORM 1000-LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + DISPLAY "Sample data file load complete." + UPON CONSOLE. + CLOSE TSPFILE. + + *---------------------------------------------------------------* + * LOAD A RECORD FROM DATA TABLES * + *---------------------------------------------------------------* + + 1000-LOAD-RECORD. + + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (SUB) TO CM-CUST-NUM. + MOVE CM-CUST-NUM TO TSPFL-KEY. + MOVE DATA-COMPANY (SUB) TO CM-COMPANY. + MOVE DATA-ADDRESS-1 (SUB) TO CM-ADDRESS-1. + MOVE DATA-ADDRESS-2 (SUB) TO CM-ADDRESS-2. + MOVE DATA-ADDRESS-3 (SUB) TO CM-ADDRESS-3. + MOVE DATA-TELEPHONE (SUB) TO CM-TELEPHONE. + MOVE DATA-DP-MGR (SUB) TO CM-DP-MGR. + MOVE DATA-MACHINE (SUB) TO CM-MACHINE. + MOVE DATA-NO-TERMINALS (SUB) TO CM-NO-TERMINALS. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + MOVE "1600 BPI" TO CM-TAPE + MOVE "1MEG" TO CM-MEMORY + ELSE + MOVE "8470" TO CM-DISK + MOVE "6250 BPI" TO CM-TAPE + MOVE "3MEG" TO CM-MEMORY. + + WRITE TSPFL-RECORD. + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Load - Key: " TSPFL-KEY ", Status: " CUST-STAT + UPON CONSOLE. + + LISTFILE. + DISPLAY "LIST SAMPLE FILE" UPON CONSOLE. + OPEN INPUT TSTFILE + MOVE SPACES TO TSTFL-RECORD. + MOVE "PRE00000" TO CM-CUST-NUM. + START TSTFILE KEY GREATER THAN OR EQUAL TO TS-CUST-NUM + READ TSTFILE NEXT RECORD + READ TSTFILE NEXT RECORD + CLOSE TSTFILE. + + MOVE ZERO TO REC-NUM + OPEN INPUT TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "ERROR " CUST-STAT " OPENING INPUT FILE" + UPON CONSOLE + STOP RUN + END-IF. + MOVE SPACES TO TSPFL-RECORD. + MOVE "PRE00000" TO CM-CUST-NUM. + START TSPFILE KEY GREATER THAN OR EQUAL TO CM-CUST-NUM + READ TSPFILE NEXT RECORD + READ TSPFILE NEXT RECORD + + MOVE SPACES TO TSPFL-RECORD. + MOVE "DEL00000" TO CM-CUST-NUM. + START TSPFILE KEY GREATER THAN CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM + IF CUST-STAT = "99" + DISPLAY "Hit End of File" UPON CONSOLE + END-IF. + + DISPLAY "LIST SAMPLE FILE DESCENDING" UPON CONSOLE. + MOVE ZERO TO REC-NUM + START TSPFILE KEY LESS THAN CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE PREVIOUS RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE PREVIOUS RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + + CLOSE TSPFILE. + + OPEN I-O TSPFILE. + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE 'X' TO CM-CUST-NUM (5:1). + READ TSPFILE KEY IS CM-CUST-NUM + IF CUST-STAT NOT = "23" + DISPLAY "Error " CUST-STAT " instead of 23." + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE DATA-COMPANY (2) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on primary read ." + UPON CONSOLE + ELSE + DISPLAY "Got: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + END-IF. + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on next read" + UPON CONSOLE + ELSE + DISPLAY "Nxt: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + END-IF. + MOVE DATA-TELEPHONE (7) TO CM-TELEPHONE. + MOVE DATA-MACHINE (7) TO CM-MACHINE. + READ TSPFILE KEY IS CM-TELEPHONE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 23" + UPON CONSOLE + ELSE + DISPLAY "Ky2: " CM-CUST-NUM " is " CM-COMPANY + " Mach=" CM-MACHINE "." + UPON CONSOLE + END-IF. + WRITE TSPFL-RECORD + IF CUST-STAT NOT = "22" + DISPLAY "Error " CUST-STAT " instead of 22" + UPON CONSOLE + ELSE + DISPLAY " Write: " CM-CUST-NUM " got 22 as expected" + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (3) TO CM-CUST-NUM. + MOVE DATA-COMPANY (3) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + DISPLAY " Read: " CM-CUST-NUM " got " + CUST-STAT " as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE. + ADD 5 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 02" + UPON CONSOLE + ELSE + DISPLAY "ReWrite: " CM-CUST-NUM " got " + "00/02 as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (2) TO CM-CUST-NUM. + MOVE DATA-COMPANY (2) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + DISPLAY " Read: " CM-CUST-NUM " got " + CUST-STAT " as expected " + CM-NO-TERMINALS " terminals" + UPON CONSOLE. + MOVE DATA-CUST-NUM (3) TO CM-CUST-NUM. + MOVE DATA-COMPANY (3) TO CM-COMPANY. + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 02" + UPON CONSOLE + ELSE + DISPLAY "ReWrite: " CM-CUST-NUM " got " + "00/02 as expected" + UPON CONSOLE + END-IF. + MOVE DATA-CUST-NUM (6) TO CM-CUST-NUM. + MOVE DATA-COMPANY (6) TO CM-COMPANY. + READ TSPFILE KEY IS CM-CUST-NUM + MOVE DATA-TELEPHONE (7) TO CM-TELEPHONE. + MOVE DATA-MACHINE (7) TO CM-MACHINE. + REWRITE TSPFL-RECORD + IF CUST-STAT NOT = "02" + AND CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " instead of 02" + UPON CONSOLE + ELSE + DISPLAY "ReWrite: " CM-CUST-NUM " got " + "00/02 as expected" + UPON CONSOLE + END-IF. + DELETE TSPFILE. + CLOSE TSPFILE. + + LOADFLAT. + OPEN OUTPUT FLATFILE. + PERFORM FLAT-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB + OR SUB > 5. + CLOSE FLATFILE. + OPEN INPUT FLATFILE. + MOVE 3 TO REC-NUM + READ FLATFILE + MOVE 999 TO REC-NUM + READ FLATFILE + CLOSE FLATFILE. + + FLAT-RECORD. + + MOVE SPACES TO TSP2-RECORD. + MOVE SUB TO REC-NUM. + MOVE DATA-CUST-NUM (SUB) TO C2-CUST-NUM. + MOVE DATA-COMPANY (SUB) TO C2-COMPANY. + MOVE DATA-NO-TERMINALS (SUB) TO C2-NO-TERMINALS. + MOVE 20070319 TO C2-PK-DATE. + IF ODD-RECORD + MOVE "8417" TO C2-DISK + ELSE + MOVE "8470" TO C2-DISK. + WRITE TSP2-RECORD. +_ATEOF + + +cat >cmod.c <<'_ATEOF' + +#include +#include + +static char *txtOpCode(int opCode); + +/********************************************************* + * TSTFH - External File Handler entry point. +*********************************************************/ + +COB_EXT_EXPORT int +TSTFH (unsigned char *opCodep, FCD3 *fcd) +{ + unsigned int opCode; + + if (*opCodep == 0xfa) + opCode = 0xfa00 + opCodep[1]; + else + opCode = opCodep[1]; + + if (fcd->fileOrg == ORG_LINE_SEQ + || fcd->fileOrg == ORG_SEQ + || fcd->fileOrg == ORG_INDEXED + || fcd->fileOrg == ORG_RELATIVE) { + switch (opCode) { + case OP_OPEN_OUTPUT: + case OP_OPEN_IO: + case OP_OPEN_EXTEND: + case OP_OPEN_OUTPUT_NOREWIND: + return EXTFH(opCodep, fcd); + break; + + case OP_OPEN_INPUT: + case OP_OPEN_INPUT_NOREWIND: + case OP_OPEN_INPUT_REVERSED: + return EXTFH(opCodep, fcd); + break; + + default: + break; + } + + } + + if (opCode == OP_CLOSE + && (fcd->openMode & OPEN_NOT_OPEN) ) { + return 0; + } + + return EXTFH(opCodep, fcd); +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8181: \$COMPILE -fcallfh=TSTFH prog.cob cmod.c" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=TSTFH prog.cob cmod.c" "run_file.at:8181" +( $at_check_trace; $COMPILE -fcallfh=TSTFH prog.cob cmod.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_file.at:8181" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8183: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:8183" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK: Operations on empty file +Loading sample data file. +Sample data file load complete. +LIST SAMPLE FILE +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +LIST SAMPLE FILE DESCENDING +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=8470 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=8470 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=8417 . +Got: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Nxt: DEL00000 is DELTA LUGGAGE REPAIRS Disk=8470 . +Ky2: GIB00000 is GIBRALTER LIFE INSURANCE Mach=UNI-80/6. + Write: GIB00000 got 22 as expected + Read: GAM00000 got 00 as expected 00075 terminals +ReWrite: GAM00000 got 00/02 as expected 00080 terminals + Read: BET00000 got 00 as expected 00034 terminals +ReWrite: GAM00000 got 00/02 as expected +ReWrite: FOR00000 got 00/02 as expected +Expected ERROR 39 opening TSTFILE, Record size different +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:8183" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_948 +#AT_START_949 +at_fn_group_banner 949 'run_file.at:8226' \ + "EXTFH: Indexed with FH--FCD" " " 4 +at_xfail=no +( + printf "%s\n" "949. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:8229" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:8229" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + $set fcdreg + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TSPFILE + ASSIGN TO "mytstisam" + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS PRIME-KEY + SOURCE IS CM-CUST-NUM + + ALTERNATE RECORD KEY IS SPLIT-KEY2 + SOURCE IS CM-TELEPHONE,CM-MACHINE + * WITH DUPLICATES + + ALTERNATE RECORD KEY IS SPLIT-KEY3 + SOURCE IS CM-DISK,CM-TAPE + * WITH DUPLICATES + * SUPPRESS WHEN ALL "*" + FILE STATUS IS CUST-STAT + . + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM. + 15 CM-CUST-PRE PICTURE X(3). + 15 CM-CUST-NNN PICTURE X(5). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + WORKING-STORAGE SECTION. + 01 CUST-STAT. + 05 STAT-1 PICTURE 9(4) COMP SYNC. + 05 FILLER REDEFINES STAT-1. + 10 STAT-X1 PIC X COMP-X. + 10 STAT-X2 PIC X COMP-X. + 77 BYTE-1 PICTURE 9(3). + 77 BYTE-2 PICTURE 9(3). + 78 MAX-SUB VALUE 16. + 77 IDX PICTURE 9. + 77 IDX2 PICTURE 9. + 77 OUT-FILE-NAME PICTURE X(9) + VALUE "myextisam". + + 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 "GAM00000". + 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 "GIB00000". + 05 FILLER PIC X(8) VALUE "H&J00000". + 05 FILLER PIC X(8) VALUE "INC00000". + 05 FILLER PIC X(8) VALUE "JOH00000". + 05 FILLER PIC X(8) VALUE "KON00000". + 05 FILLER PIC X(8) VALUE "LEW00000". + 05 FILLER PIC X(8) VALUE "MOR00000". + 05 FILLER PIC X(8) VALUE "NEW00000". + 05 FILLER PIC X(8) VALUE "OLD00000". + 05 FILLER PIC X(8) VALUE "PRE00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 "GIBRALTER LIFE INSURANCE ". + 05 FILLER PIC X(25) VALUE "H & J PLUMBING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "INCREMENTAL BACKUP CORP. ". + 05 FILLER PIC X(25) VALUE "JOHNSON BOATING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "KONFLAB PLASTIC PRODUCTS.". + 05 FILLER PIC X(25) VALUE "LEWISTON GRAPHICS LTD. ". + 05 FILLER PIC X(25) VALUE "MORNINGSIDE CARPENTRY. ". + 05 FILLER PIC X(25) VALUE "NEW WAVE SURF SHOPS INC. ". + 05 FILLER PIC X(25) VALUE "OLD TYME PIZZA MFG. CO. ". + 05 FILLER PIC X(25) VALUE "PRESTIGE OFFICE FURNITURE". + + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-1-TBL. + + 05 FILLER PIC X(25) VALUE "123 MAIN STREET ". + 05 FILLER PIC X(25) VALUE "1090 2ND AVE. WEST ". + 05 FILLER PIC X(25) VALUE "1401 JEFFERSON BLVD. ". + 05 FILLER PIC X(25) VALUE "1620 ARIZONA WAY ". + 05 FILLER PIC X(25) VALUE "1184 EAST FIRST STREET ". + 05 FILLER PIC X(25) VALUE "114 JOHN F. KENNEDY AVE. ". + 05 FILLER PIC X(25) VALUE "650 LIBERTY CRESCENT ". + 05 FILLER PIC X(25) VALUE "77 SUNSET BLVD. ". + 05 FILLER PIC X(25) VALUE "10908 SANTA MONICA BLVD. ". + 05 FILLER PIC X(25) VALUE "1134 PARIS ROAD ". + 05 FILLER PIC X(25) VALUE "808 NORTHWEST MAIN ST. ". + 05 FILLER PIC X(25) VALUE "9904 QUEEN STREET ". + 05 FILLER PIC X(25) VALUE "1709 DUNDAS CRESCENT W. ". + 05 FILLER PIC X(25) VALUE "3240 MARIS AVENUE ". + 05 FILLER PIC X(25) VALUE "1705 WISCONSIN ROAD ". + 05 FILLER PIC X(25) VALUE "114A MAPLE GROVE ". + + 02 DATA-ADDRESS-1 REDEFINES DATA-ADDRESS-1-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "SAN DIEGO ". + 05 FILLER PIC X(10) VALUE "LOS RIOS ". + 05 FILLER PIC X(10) VALUE "MADISON ". + 05 FILLER PIC X(10) VALUE "WILBUR ". + 05 FILLER PIC X(10) VALUE "TOPEKA ". + 05 FILLER PIC X(10) VALUE "SEATTLE ". + 05 FILLER PIC X(10) VALUE "NEW JERSEY". + 05 FILLER PIC X(10) VALUE "FORT WAYNE". + 05 FILLER PIC X(10) VALUE "COLUMBUS ". + 05 FILLER PIC X(10) VALUE "RICHMOND ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS-2 REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-ADDRESS-3-TBL. + + 05 FILLER PIC X(10) VALUE "N.Y. ". + 05 FILLER PIC X(10) VALUE "GEORGIA ". + 05 FILLER PIC X(10) VALUE "D.C. ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CALIFORNIA". + 05 FILLER PIC X(10) VALUE "NEW MEXICO". + 05 FILLER PIC X(10) VALUE "WISCONSIN ". + 05 FILLER PIC X(10) VALUE "DELAWARE ". + 05 FILLER PIC X(10) VALUE "KANSAS ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "N.J. ". + 05 FILLER PIC X(10) VALUE "COLORADO ". + 05 FILLER PIC X(10) VALUE "OHIO ". + 05 FILLER PIC X(10) VALUE "VIRGINIA ". + 05 FILLER PIC X(10) VALUE "N.Y. ". + + 02 DATA-ADDRESS-3 REDEFINES DATA-ADDRESS-3-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-TELEPHONE-TBL. + + 05 FILLER PIC 9(10) VALUE 3131234432. + 05 FILLER PIC 9(10) VALUE 4082938498. + 05 FILLER PIC 9(10) VALUE 8372487274. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 5292398745. + 05 FILLER PIC 9(10) VALUE 8009329492. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 6546456333. + 05 FILLER PIC 9(10) VALUE 3455445444. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 7456434355. + 05 FILLER PIC 9(10) VALUE 6554456433. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 7534587453. + 05 FILLER PIC 9(10) VALUE 8787458374. + 05 FILLER PIC 9(10) VALUE 4169898509. + + 02 DATA-TELEPHONE REDEFINES DATA-TELEPHONE-TBL + PIC 9(10) OCCURS MAX-SUB. + 02 DATA-DP-MGR-TBL. + + 05 FILLER PIC X(20) VALUE "MR. DAVE HARRIS ". + 05 FILLER PIC X(20) VALUE "MS. JANICE SILCOX ". + 05 FILLER PIC X(20) VALUE "MR. ALLAN JONES ". + 05 FILLER PIC X(20) VALUE "MR. PETER MACKAY ". + 05 FILLER PIC X(20) VALUE "MRS. DONNA BREWER ". + 05 FILLER PIC X(20) VALUE "MR. MICHAEL SMYTHE ". + 05 FILLER PIC X(20) VALUE "MR. D.A. MORRISON ". + 05 FILLER PIC X(20) VALUE "MR. BRIAN PATTERSON ". + 05 FILLER PIC X(20) VALUE "MR. DARRYL TOWNSEND ". + 05 FILLER PIC X(20) VALUE "MS. VALERIE HARPER ". + 05 FILLER PIC X(20) VALUE "MR. FRED MILLER ". + 05 FILLER PIC X(20) VALUE "MR. DONALD FISCHER ". + 05 FILLER PIC X(20) VALUE "MR. STEVEN YOURDIN ". + 05 FILLER PIC X(20) VALUE "MS. Goldie Hawn ". + 05 FILLER PIC X(20) VALUE "MS. ALICE WINSTON ". + 05 FILLER PIC X(20) VALUE "MR. THOMAS JEFFERSON". + + 02 DATA-DP-MGR REDEFINES DATA-DP-MGR-TBL + PIC X(20) OCCURS MAX-SUB. + 02 DATA-MACHINE-TBL. + + 05 FILLER PIC X(8) VALUE "UNI-9030". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-80/3". + 05 FILLER PIC X(8) VALUE "UNI-80/5". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-9040". + + 02 DATA-MACHINE REDEFINES DATA-MACHINE-TBL + PIC X(8) OCCURS MAX-SUB. + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(3) COMP-3 VALUE 85. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 75. + 05 FILLER PIC 9(3) COMP-3 VALUE 45. + 05 FILLER PIC 9(3) COMP-3 VALUE 90. + 05 FILLER PIC 9(3) COMP-3 VALUE 107. + 05 FILLER PIC 9(3) COMP-3 VALUE 67. + 05 FILLER PIC 9(3) COMP-3 VALUE 32. + 05 FILLER PIC 9(3) COMP-3 VALUE 16. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 128. + 05 FILLER PIC 9(3) COMP-3 VALUE 64. + 05 FILLER PIC 9(3) COMP-3 VALUE 110. + 05 FILLER PIC 9(3) COMP-3 VALUE 324. + 05 FILLER PIC 9(3) COMP-3 VALUE 124. + 05 FILLER PIC 9(3) COMP-3 VALUE 86. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) COMP-3 OCCURS MAX-SUB. + + 01 WORK-AREA. + 05 REC-NUM PICTURE 9(2) VALUE 0. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5 7 9 10 11. + 88 NULL-KEY VALUE 4 5 8 12 14. + + 05 TSPFL-KEY PICTURE X(8). + 05 KC-PTR USAGE POINTER. + + LINKAGE SECTION. + + 01 TSP-FCD. + COPY "xfhfcd.cpy". + + 01 key-def. + 03 kdb-len pic 9(4) comp-x. + 03 filler pic x(4). + 03 key-nkeys pic 9(4) comp-x. + 03 filler pic x(6). + 03 key-defs occurs 1 to 8 times depending on key-nkeys. + 05 key-count pic 9(3) comp-x. + 05 key-offset pic 9(3) comp-x. + 05 key-flags pic X comp-x. + 05 key-compression pic X comp-x. + 05 key-sparse pic x. + 05 filler pic x(9). + + 01 key-comp. + 03 kc-desc pic X comp-x. + 03 kc-type pic X comp-x. + 03 kc-pos pic 9(9) comp-x. + 03 kc-len pic 9(9) comp-x. + + 01 TSP-FILENAME PIC X(256). + PROCEDURE DIVISION. + + MAINFILE. + SET ADDRESS OF TSP-FCD TO ADDRESS OF FH--FCD OF TSPFILE. + SET ADDRESS OF KEY-DEF TO ADDRESS OF FH--KEYDEF OF TSPFILE. + DISPLAY "Other Flags " FCD-OTHER-FLAGS "." + DISPLAY "File has " key-nkeys " keys." + DISPLAY "Key def " kdb-len " bytes." + SET ADDRESS OF TSP-FILENAME TO FCD-FILENAME-ADDRESS. + DISPLAY "File assigned is '" + TSP-FILENAME (1:FCD-NAME-LENGTH) "'". + SET FCD-FILENAME-ADDRESS TO ADDRESS OF OUT-FILE-NAME. + MOVE LENGTH OF OUT-FILE-NAME TO FCD-NAME-LENGTH. + DISPLAY "*** Dump FCD before changes" + PERFORM DUMP-FCD. + MOVE 64 TO KEY-FLAGS (2) + MOVE 66 TO KEY-FLAGS (3) + MOVE '*' TO KEY-SPARSE (3) + DISPLAY "*** Dump FCD after changes" + PERFORM DUMP-FCD. + PERFORM LOADFILE. + PERFORM LISTFILE. + STOP RUN. + + DUMP-FCD. + PERFORM VARYING IDX FROM 1 BY 1 + UNTIL IDX > key-nkeys + IF key-sparse (idx) < ' ' + MOVE ' ' TO key-sparse (idx) + END-IF + DISPLAY "Key" IDX " has " key-count (idx) " parts," + " Offset " key-offset (idx) + " Flags " key-flags (idx) + " Comp " key-compression (idx) + " Sparse " key-sparse (idx) "." + SET KC-PTR TO ADDRESS OF KEY-DEF + SET KC-PTR UP BY key-offset (idx) + PERFORM VARYING IDX2 FROM 1 BY 1 + UNTIL IDX2 > key-count (idx) + SET ADDRESS OF KEY-COMP TO KC-PTR + DISPLAY " Pos " kc-pos " Len " kc-len + SET KC-PTR UP BY LENGTH OF KEY-COMP + END-PERFORM + END-PERFORM. + + LOADFILE. + OPEN OUTPUT TSPFILE + SET ADDRESS OF TSP-FILENAME TO FCD-FILENAME-ADDRESS. + DISPLAY "Loading sample file '" + TSP-FILENAME (1:FCD-NAME-LENGTH) "'" + UPON CONSOLE. + + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "05" + DISPLAY "Error " CUST-STAT " opening '" + TSP-FILENAME (1:FCD-NAME-LENGTH) "' file" + UPON CONSOLE + STOP RUN + END-IF. + + PERFORM 1000-LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + DISPLAY "Sample data file load complete." + UPON CONSOLE. + CLOSE TSPFILE. + + *---------------------------------------------------------------* + * LOAD A RECORD FROM DATA TABLES * + *---------------------------------------------------------------* + + 1000-LOAD-RECORD. + + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (SUB) TO CM-CUST-NUM. + MOVE CM-CUST-NUM TO TSPFL-KEY. + MOVE DATA-COMPANY (SUB) TO CM-COMPANY. + MOVE DATA-ADDRESS-1 (SUB) TO CM-ADDRESS-1. + MOVE DATA-ADDRESS-2 (SUB) TO CM-ADDRESS-2. + MOVE DATA-ADDRESS-3 (SUB) TO CM-ADDRESS-3. + MOVE DATA-TELEPHONE (SUB) TO CM-TELEPHONE. + MOVE DATA-DP-MGR (SUB) TO CM-DP-MGR. + MOVE DATA-MACHINE (SUB) TO CM-MACHINE. + MOVE DATA-NO-TERMINALS (SUB) TO CM-NO-TERMINALS. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + MOVE "1600 BPI" TO CM-TAPE + MOVE "1MEG" TO CM-MEMORY + ELSE + MOVE "8470" TO CM-DISK + MOVE "6250 BPI" TO CM-TAPE + MOVE "3MEG" TO CM-MEMORY. + IF NULL-KEY + MOVE ALL "*" TO CM-DISK + MOVE ALL "*" TO CM-TAPE. + IF SUB = 1 OR 6 + MOVE "2417" TO CM-DISK + MOVE "549 mmm" TO CM-TAPE. + + WRITE TSPFL-RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "WRITE: " TSPFL-KEY ", Status: " + CUST-STAT UPON CONSOLE + END-IF. + + LISTFILE. + MOVE ZERO TO REC-NUM + OPEN INPUT TSPFILE + SET ADDRESS OF TSP-FILENAME TO FCD-FILENAME-ADDRESS. + DISPLAY "List sample file '" + TSP-FILENAME (1:FCD-NAME-LENGTH) "'" + UPON CONSOLE. + IF CUST-STAT NOT = "00" + DISPLAY "ERROR " CUST-STAT " OPENING INPUT FILE" + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + MOVE SPACES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN PRIME-KEY + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + IF CUST-STAT (1:1) = "9" + DISPLAY "Sub Error " STAT-X2 UPON CONSOLE + END-IF + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > MAX-SUB + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM + IF CUST-STAT = "99" + DISPLAY "Hit End of File after " REC-NUM UPON CONSOLE + END-IF. + + DISPLAY "LIST SAMPLE FILE DESCENDING" UPON CONSOLE. + MOVE ZERO TO REC-NUM + MOVE ALL 'Z' TO TSPFL-RECORD. + START TSPFILE KEY LESS THAN PRIME-KEY + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE PREVIOUS RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > MAX-SUB + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE PREVIOUS RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + IF CUST-STAT = "99" + DISPLAY "Hit End of File after " REC-NUM UPON CONSOLE + END-IF. + + DISPLAY "LIST SAMPLE FILE BY KEY3" UPON CONSOLE. + MOVE ZERO TO REC-NUM + MOVE SPACES TO TSPFL-RECORD. + START TSPFILE KEY GREATER THAN OR EQUAL TO SPLIT-KEY3 + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " starting file" + UPON CONSOLE + STOP RUN + END-IF. + READ TSPFILE NEXT RECORD WITH NO LOCK + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " on 1st read of file" + UPON CONSOLE + STOP RUN + END-IF. + PERFORM UNTIL (CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02") + OR REC-NUM > MAX-SUB + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK "." + UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + IF CUST-STAT = "99" + DISPLAY "Hit End of File after " REC-NUM UPON CONSOLE + END-IF. + CLOSE TSPFILE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8744: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:8744" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8744" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8748: \$COBCRUN_DIRECT ./prog 1>prog.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 1>prog.out" "run_file.at:8748" +( $at_check_trace; $COBCRUN_DIRECT ./prog 1>prog.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:8748" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +cat >reference <<'_ATEOF' +Other Flags 32. +File has 0003 keys. +Key def 0112 bytes. +File assigned is 'mytstisam' +*** Dump FCD before changes +Key1 has 001 parts, Offset 062 Flags 00 Comp 00 Sparse . + Pos 000000000 Len 000000008 +Key2 has 002 parts, Offset 072 Flags 00 Comp 00 Sparse . + Pos 000000109 Len 000000010 + Pos 000000144 Len 000000008 +Key3 has 002 parts, Offset 092 Flags 00 Comp 00 Sparse . + Pos 000000156 Len 000000008 + Pos 000000164 Len 000000008 +*** Dump FCD after changes +Key1 has 001 parts, Offset 062 Flags 00 Comp 00 Sparse . + Pos 000000000 Len 000000008 +Key2 has 002 parts, Offset 072 Flags 64 Comp 00 Sparse . + Pos 000000109 Len 000000010 + Pos 000000144 Len 000000008 +Key3 has 002 parts, Offset 092 Flags 66 Comp 00 Sparse *. + Pos 000000156 Len 000000008 + Pos 000000164 Len 000000008 +Loading sample file 'myextisam' +Sample data file load complete. +List sample file 'myextisam' +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=2417 . +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Key: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********. +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=********. +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=2417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=********. +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=********. +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=********. +Key: OLD00000 is OLD TYME PIZZA MFG. CO. Disk=8470 . +Key: PRE00000 is PRESTIGE OFFICE FURNITURE Disk=8470 . +Hit End of File after 16 +LIST SAMPLE FILE DESCENDING +Key: PRE00000 is PRESTIGE OFFICE FURNITURE Disk=8470 . +Key: OLD00000 is OLD TYME PIZZA MFG. CO. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=********. +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=********. +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=********. +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=2417 . +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=********. +Key: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********. +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=2417 . +Hit End of File after 16 +LIST SAMPLE FILE BY KEY3 +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=2417 . +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=2417 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: OLD00000 is OLD TYME PIZZA MFG. CO. Disk=8470 . +Key: PRE00000 is PRESTIGE OFFICE FURNITURE Disk=8470 . +Hit End of File after 11 +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8825: diff reference prog.out" +at_fn_check_prepare_trace "run_file.at:8825" +( $at_check_trace; diff reference prog.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:8825" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +# verify that all of this works with wrapping to EXTFH calls +# and that those don't trash the FH--FCD allocated memory + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8830: \$COMPILE -fcallfh=EXTFH -o extfh prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=EXTFH -o extfh prog.cob" "run_file.at:8830" +( $at_check_trace; $COMPILE -fcallfh=EXTFH -o extfh prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:8830" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8831: \$COBCRUN_DIRECT ./extfh 1>prog.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./extfh 1>prog.out" "run_file.at:8831" +( $at_check_trace; $COBCRUN_DIRECT ./extfh 1>prog.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:8831" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:8833: diff reference prog.out" +at_fn_check_prepare_trace "run_file.at:8833" +( $at_check_trace; diff reference prog.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:8833" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_949 +#AT_START_950 +at_fn_group_banner 950 'run_file.at:8839' \ + "EXTFH: SEQUENTIAL files" " " 4 +at_xfail=no +( + printf "%s\n" "950. $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 SEQFIX + ORGANIZATION SEQUENTIAL + 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) COMP-4. + 10 CM-PK-DATE PICTURE S9(14) COMP-3. + 10 CM-TRAILER PICTURE X(8). + + WORKING-STORAGE SECTION. + + 78 MAX-SUB VALUE 6. + 77 CUST-STAT PICTURE X(2). + + 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 "GAM00000". + 05 FILLER PIC X(8) VALUE "DEL00000". + 05 FILLER PIC X(8) VALUE "EPS00000". + 05 FILLER PIC X(8) VALUE "FOR00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 ". + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + + 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 MAX-SUB. + 01 WORK-AREA. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5. + + + PROCEDURE DIVISION. + + OPEN INPUT FLATFILE. + DISPLAY "Open Input when no file Sts:" CUST-STAT + OPEN EXTEND FLATFILE. + DISPLAY "Open Extend when no file Sts:" CUST-STAT + CLOSE FLATFILE. + DISPLAY "Close when no open file Sts:" CUST-STAT + OPEN OUTPUT FLATFILE. + CLOSE FLATFILE. + OPEN EXTEND FLATFILE. + DISPLAY "Open Extend when empty file Sts:" CUST-STAT + CLOSE FLATFILE. + + PERFORM LOADFILE. + OPEN INPUT FLATFILE. + DISPLAY "Open Sts:" CUST-STAT + READ FLATFILE + DISPLAY "Read " CM-CUST-NUM " Sts:" CUST-STAT. + READ FLATFILE + DISPLAY "Read " CM-CUST-NUM " Sts:" CUST-STAT. + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + READ FLATFILE + DISPLAY "Read " CM-CUST-NUM " Sts:" CUST-STAT. + ADD 1 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" CM-NO-TERMINALS. + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + READ FLATFILE + DISPLAY "Read " CM-CUST-NUM " Sts:" CUST-STAT. + ADD 1 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" CM-NO-TERMINALS. + READ FLATFILE WITH LOCK + DISPLAY "Read " CM-CUST-NUM + * DELETE FLATFILE + * DISPLAY "DELETE " CM-CUST-NUM " Sts " CUST-STAT. + CLOSE FLATFILE. + OPEN INPUT FLATFILE. + DISPLAY "Re-list File Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + OPEN EXTEND FLATFILE. + MOVE 2 TO SUB + PERFORM LOAD-RECORD + CLOSE FLATFILE. + OPEN INPUT FLATFILE. + DISPLAY "List File afer EXTEND Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + STOP RUN RETURNING 0. + + READ-RECORD. + MOVE SPACES TO TSPFL-RECORD. + READ FLATFILE + IF CUST-STAT NOT = "00" + DISPLAY "Read Status: " CUST-STAT + ELSE + DISPLAY "Read " CM-CUST-NUM + " Trms:" CM-NO-TERMINALS + END-IF. + + LOADFILE. + DISPLAY "Loading sample data file.". + + OPEN OUTPUT FLATFILE. + + PERFORM LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + DISPLAY "Sample data file load complete.". + 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. + MOVE 20070319 TO CM-PK-DATE. + IF SUB = 1 OR 4 OR 6 + MOVE -20070319 TO CM-PK-DATE. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + ELSE + MOVE "8470" TO CM-DISK. + WRITE TSPFL-RECORD. +_ATEOF + + +cat >cmod.c <<'_ATEOF' + +#include +#include + +static char *txtOpCode(int opCode); + +static int +doOpenFile( + unsigned char *opCodep, + FCD3 *fcd, + char *opmsg) +{ + int sts; + + sts = EXTFH( opCodep, fcd ); + printf("EXFTH did %s; Status=%c%c; File now %s\n", + opmsg, fcd->fileStatus[0], fcd->fileStatus[1], + (fcd->openMode & OPEN_NOT_OPEN) ? "Closed" : "Open"); + fflush(stdout); + return sts; +} + +/********************************************************* + * TSTFH - External File Handler entry point. +*********************************************************/ + +COB_EXT_EXPORT int +TSTFH (unsigned char *opCodep, FCD3 *fcd) +{ + unsigned int opCode; + int sts; + + if (*opCodep == 0xfa) + opCode = 0xfa00 + opCodep[1]; + else + opCode = opCodep[1]; + + if (fcd->fileOrg == ORG_LINE_SEQ + || fcd->fileOrg == ORG_SEQ + || fcd->fileOrg == ORG_INDEXED + || fcd->fileOrg == ORG_RELATIVE) { + switch (opCode) { + case OP_OPEN_OUTPUT: + case OP_OPEN_IO: + case OP_OPEN_EXTEND: + case OP_OPEN_OUTPUT_NOREWIND: + return doOpenFile( opCodep, fcd, txtOpCode(opCode)); + break; + + case OP_OPEN_INPUT: + case OP_OPEN_INPUT_NOREWIND: + case OP_OPEN_INPUT_REVERSED: + return doOpenFile( opCodep, fcd, txtOpCode(opCode)); + break; + + case OP_CLOSE: + return doOpenFile( opCodep, fcd, txtOpCode(opCode)); + break; + + default: + break; + } + + } + + if (opCode == OP_CLOSE + && (fcd->openMode & OPEN_NOT_OPEN) ) { + return 0; + } + + sts = EXTFH(opCodep, fcd); + printf("EXFTH did %s; Status=%c%c\n", txtOpCode(opCode), + fcd->fileStatus[0], fcd->fileStatus[1]); + fflush(stdout); + return sts; +} + +static char * /* Return Text name of function */ +txtOpCode(int opCode) +{ + static char tmp[32]; + switch (opCode) { + case OP_OPEN_INPUT: return "OPEN_IN"; + case OP_OPEN_OUTPUT: return "OPEN_OUT"; + case OP_OPEN_IO: return "OPEN_IO"; + case OP_OPEN_EXTEND: return "OPEN_EXT"; + case OP_OPEN_INPUT_NOREWIND: return "OPEN_IN_NOREW"; + case OP_OPEN_OUTPUT_NOREWIND: return "OPEN_OUT_NOREW"; + case OP_OPEN_INPUT_REVERSED: return "OPEN_IN_REV"; + case OP_CLOSE: return "CLOSE"; + case OP_CLOSE_LOCK: return "CLOSE_LOCK"; + case OP_CLOSE_NOREWIND: return "CLOSE_NORED"; + case OP_CLOSE_REEL: return "CLOSE_REEL"; + case OP_CLOSE_REMOVE: return "CLOSE_REMOVE"; + case OP_CLOSE_NO_REWIND: return "CLOSE_NO_REW"; + case OP_START_EQ: return "START_EQ"; + case OP_START_EQ_ANY: return "START_EQ_ANY"; + case OP_START_GT: return "START_GT"; + case OP_START_GE: return "START_GE"; + case OP_START_LT: return "START_LT"; + case OP_START_LE: return "START_LE"; + case OP_READ_SEQ_NO_LOCK: return "READ_SEQ_NO_LK"; + case OP_READ_SEQ: return "READ_SEQ"; + case OP_READ_SEQ_LOCK: return "READ_SEQ_LK"; + case OP_READ_SEQ_KEPT_LOCK: return "READ_SEQ_KEPT_LK"; + case OP_READ_PREV_NO_LOCK: return "READ_PREV_NO_LK"; + case OP_READ_PREV: return "READ_PREV"; + case OP_READ_PREV_LOCK: return "READ_PREV_LK"; + case OP_READ_PREV_KEPT_LOCK: return "READ_PREV_KEPT_LK"; + case OP_READ_RAN: return "READ_RAN"; + case OP_READ_RAN_NO_LOCK: return "READ_RAN_NO_LK"; + case OP_READ_RAN_KEPT_LOCK: return "READ_RAN_KEPT_LK"; + case OP_READ_RAN_LOCK: return "READ_RAN_LK"; + case OP_READ_DIR: return "READ_DIR"; + case OP_READ_DIR_NO_LOCK: return "READ_DIR_NO_LK"; + case OP_READ_DIR_KEPT_LOCK: return "READ_DIR_KEPT_LK"; + case OP_READ_DIR_LOCK: return "READ_DIR_LK"; + case OP_READ_POSITION: return "READ_POSITION"; + case OP_WRITE: return "WRITE"; + case OP_REWRITE: return "REWRITE"; + case OP_DELETE: return "DELETE"; + case OP_DELETE_FILE: return "DELETE_FILE"; + case OP_UNLOCK: return "UNLOCK"; + case OP_ROLLBACK: return "ROLLBACK"; + case OP_COMMIT: return "COMMIT"; + case OP_WRITE_BEFORE: return "WRITE_BEFORE"; + case OP_WRITE_BEFORE_TAB: return "WRITE_BEFORE_TAB"; + case OP_WRITE_BEFORE_PAGE: return "WRITE_BEFORE_PAGE"; + case OP_WRITE_AFTER: return "WRITE_AFTER"; + case OP_WRITE_AFTER_TAB: return "WRITE_AFTER_TAB"; + case OP_WRITE_AFTER_PAGE: return "WRITE_AFTER_PAGE"; + } + sprintf(tmp, "Func 0x%02X:", opCode); + return tmp; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9162: \$COMPILE -fcallfh=TSTFH prog.cob cmod.c" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=TSTFH prog.cob cmod.c" "run_file.at:9162" +( $at_check_trace; $COMPILE -fcallfh=TSTFH prog.cob cmod.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_file.at:9162" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9164: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:9164" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "EXFTH did OPEN_IN; Status=35; File now Closed +Open Input when no file Sts:35 +EXFTH did OPEN_EXT; Status=35; File now Closed +Open Extend when no file Sts:35 +EXFTH did CLOSE; Status=42; File now Closed +Close when no open file Sts:42 +EXFTH did OPEN_OUT; Status=00; File now Open +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_EXT; Status=00; File now Open +Open Extend when empty file Sts:00 +EXFTH did CLOSE; Status=00; File now Closed +Loading sample data file. +EXFTH did OPEN_OUT; Status=00; File now Open +EXFTH did WRITE; Status=00 +EXFTH did WRITE; Status=00 +EXFTH did WRITE; Status=00 +EXFTH did WRITE; Status=00 +EXFTH did WRITE; Status=00 +EXFTH did WRITE; Status=00 +Sample data file load complete. +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_IN; Status=00; File now Open +Open Sts:00 +EXFTH did READ_SEQ; Status=00 +Read ALP00000 Sts:00 +EXFTH did READ_SEQ; Status=00 +Read BET00000 Sts:00 +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_IO; Status=00; File now Open +EXFTH did READ_SEQ; Status=00 +Read ALP00000 Sts:00 +EXFTH did REWRITE; Status=00 +REWRITE ALP00000 Sts 00 Trms:0011 +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_IO; Status=00; File now Open +EXFTH did READ_SEQ; Status=00 +Read ALP00000 Sts:00 +EXFTH did REWRITE; Status=00 +REWRITE ALP00000 Sts 00 Trms:0012 +EXFTH did READ_SEQ; Status=00 +Read BET00000 +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_IN; Status=00; File now Open +Re-list File Open Sts:00 +EXFTH did READ_SEQ; Status=00 +Read ALP00000 Trms:0012 +EXFTH did READ_SEQ; Status=00 +Read BET00000 Trms:0013 +EXFTH did READ_SEQ; Status=00 +Read GAM00000 Trms:0075 +EXFTH did READ_SEQ; Status=00 +Read DEL00000 Trms:0010 +EXFTH did READ_SEQ; Status=00 +Read EPS00000 Trms:0090 +EXFTH did READ_SEQ; Status=00 +Read FOR00000 Trms:0254 +EXFTH did READ_SEQ; Status=10 +Read Status: 10 +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_EXT; Status=00; File now Open +EXFTH did WRITE; Status=00 +EXFTH did CLOSE; Status=00; File now Closed +EXFTH did OPEN_IN; Status=00; File now Open +List File afer EXTEND Open Sts:00 +EXFTH did READ_SEQ; Status=00 +Read ALP00000 Trms:0012 +EXFTH did READ_SEQ; Status=00 +Read BET00000 Trms:0013 +EXFTH did READ_SEQ; Status=00 +Read GAM00000 Trms:0075 +EXFTH did READ_SEQ; Status=00 +Read DEL00000 Trms:0010 +EXFTH did READ_SEQ; Status=00 +Read EPS00000 Trms:0090 +EXFTH did READ_SEQ; Status=00 +Read FOR00000 Trms:0254 +EXFTH did READ_SEQ; Status=00 +Read BET00000 Trms:0013 +EXFTH did READ_SEQ; Status=10 +Read Status: 10 +EXFTH did CLOSE; Status=00; File now Closed +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:9164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_950 +#AT_START_951 +at_fn_group_banner 951 'run_file.at:9251' \ + "EXTFH: LINE SEQUENTIAL files, direct EXTFH" " " 4 +at_xfail=no +( + printf "%s\n" "951. $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. + DATA DIVISION. + FILE SECTION. + WORKING-STORAGE SECTION. + + 01 I PIC XX COMP-X. + + 01 WS-FCD-DDNAME PIC X(8) VALUE SPACES. + 01 WS-FCD-PTR POINTER VALUE NULL. + + 01 WS-FCD-SIZE PIC 9(04) VALUE 0 COMP-5. + 01 WS-FCD-FLAGS PIC 9(04) VALUE 0 COMP-5. + + 01 DISPLAY-BYTE. + 05 DISPLAY-XXX PIC X(03). + 05 DISPLAY-ZZ9 REDEFINES DISPLAY-XXX + PIC ZZ9. + 01 ACTION-CODE pic x(2). + 78 OP-OPEN-INPUT value x"fa00". + 78 OP-OPEN-OUTPUT value x"fa01". + 78 OP-OPEN-I-O value x"fa02". + 78 OP-WRITE value x"faf3". + 78 OP-RELEASE value x"faf3". + 78 OP-REWRITE value x"faf4". + 78 OP-READ-NEXT value x"faf5". + 78 OP-START-EQUAL value x"fae9". + 78 OP-CLOSE value x"fa80". + 78 OP-QUERY-FILE value x"0006". + + 01 DISPLAY-A1-XXX PIC X(03). + 01 DISPLAY-A1-ZZ9 REDEFINES DISPLAY-A1-XXX + PIC ZZ9. + 01 DISPLAY-A2-XXX PIC X(03). + 01 DISPLAY-A2-ZZ9 REDEFINES DISPLAY-A2-XXX + PIC ZZ9. + + 01 FCD-FILENAME PIC X(80) value "test.out". + 01 FCD-RECORD PIC X(512) value spaces. + + LINKAGE SECTION. + + 01 FCD-MAP. + copy 'xfhfcd3.cpy'. + + *================================================================* + PROCEDURE DIVISION. + *----------------------------------------------------------------* + 000-MAIN. + + PERFORM 100-OPEN. + + PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10 + MOVE I TO DISPLAY-A1-ZZ9 + MOVE DISPLAY-A1-ZZ9 TO FCD-RECORD + PERFORM 300-WRITE + END-PERFORM. + + PERFORM 400-CLOSE. + STOP RUN. + + *----------------------------------------------------------------* + * Process the open request + * + 100-OPEN. + + MOVE "TESTOUT" TO WS-FCD-DDNAME + + MOVE LENGTH OF FCD-MAP TO WS-FCD-SIZE + DISPLAY "FCD SIZE " WS-FCD-SIZE. + + IF WS-FCD-PTR EQUAL NULL + ALLOCATE ws-fcd-size characters + returning WS-FCD-PTR + + SET ADDRESS OF FCD-MAP TO WS-FCD-PTR + MOVE LOW-VALUES TO FCD-MAP + MOVE WS-FCD-SIZE TO FCD-LENGTH + move fcd--version-number TO FCD-VERSION + MOVE "00" TO FCD-FILE-STATUS + move fcd--status-defined to FCD-ACCESS-MODE + move fcd--open-closed to FCD-OPEN-MODE + move fcd--external-name to FCD-OTHER-FLAGS + SET FCD-HANDLE TO NULL + MOVE 8 TO FCD-NAME-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS + OF WS-FCD-DDNAME + SET FCD-KEY-DEF-ADDRESS TO NULL + move fcd--allow-readers to FCD-LOCKTYPES + ELSE + SET ADDRESS OF FCD-MAP TO WS-FCD-PTR + IF FCD-OPEN-MODE NOT = fcd--open-closed + DISPLAY "ERRROR - FILE ALREADY OPEN" + STOP RUN + END-IF + END-IF + + move fcd--line-sequential-org to FCD-ORGANIZATION + move fcd--recmode-fixed to FCD-RECORDING-MODE + move 10 to FCD-MIN-REC-LENGTH, FCD-MAX-REC-LENGTH + SET FCD-RECORD-ADDRESS TO ADDRESS OF FCD-RECORD + + * Move fcd--cr-delimiter for CR LF after each record + * move fcd--cr-delimiter to FCD-STATUS-TYPE + + move op-open-output to action-code + + PERFORM 800-CALL-EXTFH + . + + *----------------------------------------------------------------* + * Process the write request + * + 300-WRITE. + + move 10 to FCD-CURRENT-REC-LEN + move op-write to action-code + PERFORM 800-CALL-EXTFH + . + *----------------------------------------------------------------* + * Process the close request + * + 400-CLOSE. + MOVE "00" TO FCD-FILE-STATUS + move op-close to action-code + PERFORM 800-CALL-EXTFH + . + *----------------------------------------------------------------* + * External file handler interface -- all I/O goes through here + * + 800-CALL-EXTFH. + + CALL "EXTFH" USING ACTION-CODE, FCD-MAP + + IF FCD-STATUS-KEY-1 = "9" AND FCD-BINARY = 199 + MOVE "10" TO FCD-FILE-STATUS + END-IF + . +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9400: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:9400" +( $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_file.at:9400" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9402: TESTOUT=TEST-OUT \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "TESTOUT=TEST-OUT $COBCRUN_DIRECT ./prog" "run_file.at:9402" +( $at_check_trace; TESTOUT=TEST-OUT $COBCRUN_DIRECT ./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"; printf "%s\n" "FCD SIZE 00216 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:9402" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +# note: currently with the same behaviour as MF +# (ignoring minimal record length for line-sequential) +# this may change in the future... +cat >reference <<'_ATEOF' + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9425: diff reference TEST-OUT" +at_fn_check_prepare_trace "run_file.at:9425" +( $at_check_trace; diff reference TEST-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:9425" +$at_failed && at_fn_log_failure \ +"TEST-OUT" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_951 +#AT_START_952 +at_fn_group_banner 952 'run_file.at:9430' \ + "EXTFH: LINE SEQUENTIAL files (2)" " " 4 +at_xfail=no +( + printf "%s\n" "952. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 PROGRAM-NAME VALUE 'SEQEXTFH'. + 01 FCDOPCODE. + 02 FILLER PIC X VALUE X'FA'. + 02 EXTFH-OPCODE PIC X. + * STANDARD OPERATION CODES + 88 EXTFH-OPCODE-ISOPENINPUT VALUE X'00'. + 88 EXTFH-OPCODE-ISOPENOUTPUT VALUE X'01'. + 88 EXTFH-OPCODE-ISREADSEQUENTIAL VALUE X'8D'. + 88 EXTFH-OPCODE-ISCLOSE VALUE X'80'. + 88 EXTFH-OPCODE-ISWRITE VALUE X'F3'. + 01 FCD-PARAMETER-BLOCK. + copy xfhfcd3. + 01 LSEQ-FILENAME PIC X(44) + VALUE 'FCDLS'. + 01 LSEQ-RECORDAREA PIC X(255). + 01 LSEQ-RECORDS. + 02 LSEQ-COUNT PIC X COMP-X VALUE 3. + 02 LSEQ-RECORD1. + 03 LSEQ-1LENGTH PIC X COMP-X VALUE 22. + 03 LSEQ-1DATA PIC X(80) + VALUE 'THERE IS LITTLE LAMB'. + 02 LSEQ-RECORD2. + 03 LSEQ-2LENGTH PIC X COMP-X VALUE 33. + 03 LSEQ-2DATA PIC X(80) + VALUE 'THE LAMB WAS GRAND AND A GRANDMA'. + 02 LSEQ-RECORD3. + 03 LSEQ-3LENGTH PIC X COMP-X VALUE 22. + 03 LSEQ-3DATA PIC X(80) + VALUE 'THE OLD EWE CHORTLED'. + 01 LSEQ-RECORDTABLE + REDEFINES LSEQ-RECORDS. + 02 LSEQ-TCOUNT PIC X COMP-X. + 02 LSEQ-TENTRY OCCURS 3 TIMES + INDEXED BY LSEQ-TX. + 03 LSEQ-TEST-LEN PIC X COMP-X. + 03 LSEQ-TESTDATA PIC X(80). + PROCEDURE DIVISION. + DISPLAY PROGRAM-NAME ': STARTING.' + DISPLAY PROGRAM-NAME ': CREATING LINE SEQUENTIAL FILE.' + SET EXTFH-OPCODE-ISOPENOUTPUT TO TRUE + MOVE LENGTH OF FCD-PARAMETER-BLOCK TO FCD-LENGTH + MOVE fcd--version-number TO FCD-VERSION + MOVE fcd--open-closed TO FCD-OPEN-MODE + MOVE LENGTH OF LSEQ-FILENAME TO FCD-NAME-LENGTH + MOVE fcd--exclusive-bit TO FCD-LOCK-MODE + MOVE fcd--format-cobol2 TO FCD-FILE-FORMAT + MOVE LENGTH OF LSEQ-RECORDAREA TO FCD-MAX-REC-LENGTH + MOVE fcd--recmode-variable TO FCD-RECORDING-MODE + MOVE 0 TO FCD-MIN-REC-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS OF LSEQ-FILENAME + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME + ': LINE SEQUENTIAL FILE IS OPEN OUTPUT.' + PERFORM WITH TEST AFTER VARYING LSEQ-TX FROM 1 BY 1 + UNTIL LSEQ-TX = LSEQ-TCOUNT OR FCD-FILE-STATUS <> '00' + SET EXTFH-OPCODE-ISWRITE TO TRUE + MOVE LSEQ-TEST-LEN (LSEQ-TX) TO FCD-CURRENT-REC-LEN + MOVE 1 TO FCD-LINE-COUNT + SET FCD-RECORD-ADDRESS TO + ADDRESS OF LSEQ-TESTDATA (LSEQ-TX) + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + END-PERFORM + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': LINE SEQUENTIAL WRITES COMPLETE.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CREATE LINE SEQUENTIAL FILE.' + END-IF + SET EXTFH-OPCODE-ISCLOSE TO TRUE + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': LINE SEQUENTIAL FILE IS CLOSED.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CLOSE LINE SEQUENTIAL FILE.' + END-IF + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO OPEN LINE SEQUENTIAL FILE AS OUTPUT.' + STOP RUN + END-IF + DISPLAY PROGRAM-NAME ': READING LINE SEQUENTIAL FILE.' + SET EXTFH-OPCODE-ISOPENINPUT TO TRUE + MOVE fcd--open-closed TO FCD-OPEN-MODE + MOVE LENGTH OF LSEQ-FILENAME TO FCD-NAME-LENGTH + MOVE fcd--exclusive-bit TO FCD-LOCK-MODE + MOVE LENGTH OF LSEQ-RECORDAREA TO FCD-MAX-REC-LENGTH + MOVE 0 TO FCD-MIN-REC-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS OF LSEQ-FILENAME + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + SET FCD-RECORD-ADDRESS + TO ADDRESS OF LSEQ-RECORDAREA + DISPLAY PROGRAM-NAME + ': LINE SEQUENTIAL FILE IS OPEN INPUT.' + PERFORM WITH TEST AFTER UNTIL FCD-FILE-STATUS <> '00' + SET EXTFH-OPCODE-ISREADSEQUENTIAL TO TRUE + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME + ': RECORD = ' LSEQ-RECORDAREA + (1:FCD-CURRENT-REC-LEN) + END-IF + END-PERFORM + IF FCD-FILE-STATUS = '00' OR '10' + DISPLAY PROGRAM-NAME ': LINE SEQUENTIAL READS COMPLETE.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO READ LINE SEQUENTIAL FILE.' + END-IF + SET EXTFH-OPCODE-ISCLOSE TO TRUE + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': LSEQ FILE IS CLOSED.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CLOSE LINE SEQUENTIAL FILE.' + END-IF + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO OPEN LINE SEQUENTIAL FILE AS INPUT.' + STOP RUN + END-IF + DISPLAY PROGRAM-NAME ': ENDING.' + STOP RUN. + CALL-EXTFH. + CALL 'EXTFH' USING + FCDOPCODE + FCD-PARAMETER-BLOCK. + FCD-CHECK-STAT. + IF FCD-STATUS-KEY-1 = '9' + DISPLAY PROGRAM-NAME ': RUN-TIME ERROR 9/' FCD-BINARY + ELSE + IF FCD-FILE-STATUS <> '00' + DISPLAY PROGRAM-NAME ': FILE STATUS = ' FCD-FILE-STATUS + ELSE + CONTINUE + END-IF + END-IF. + SEQEXTFH-TERM. + EXIT. +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9589: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:9589" +( $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_file.at:9589" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9591: DD_FCDLS=./report.txt \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_file.at:9591" +( $at_check_trace; DD_FCDLS=./report.txt \ +$COBCRUN_DIRECT ./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"; printf "%s\n" "SEQEXTFH: STARTING. +SEQEXTFH: CREATING LINE SEQUENTIAL FILE. +SEQEXTFH: LINE SEQUENTIAL FILE IS OPEN OUTPUT. +SEQEXTFH: LINE SEQUENTIAL WRITES COMPLETE. +SEQEXTFH: LINE SEQUENTIAL FILE IS CLOSED. +SEQEXTFH: READING LINE SEQUENTIAL FILE. +SEQEXTFH: LINE SEQUENTIAL FILE IS OPEN INPUT. +SEQEXTFH: RECORD = THERE IS LITTLE LAMB +SEQEXTFH: RECORD = THE LAMB WAS GRAND AND A GRANDMA +SEQEXTFH: RECORD = THE OLD EWE CHORTLED +SEQEXTFH: FILE STATUS = 10 +SEQEXTFH: LINE SEQUENTIAL READS COMPLETE. +SEQEXTFH: LSEQ FILE IS CLOSED. +SEQEXTFH: ENDING. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:9591" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +THERE IS LITTLE LAMB +THE LAMB WAS GRAND AND A GRANDMA +THE OLD EWE CHORTLED +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9618: diff reference report.txt" +at_fn_check_prepare_trace "run_file.at:9618" +( $at_check_trace; diff reference report.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_file.at:9618" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_952 +#AT_START_953 +at_fn_group_banner 953 'run_file.at:9623' \ + "EXTFH: FIXED SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "953. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# CHECKME: Should it really be possible to change the length +# with a line-sequentia file this way? +# If yes: should there be an implied "WRITE FROM" - so +# that an intermediate record field, space padded, is +# internally used? + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ** TEST FIXED (BLOCK) LENGTH SEQUENTIAL RECORD EXTFH + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 PROGRAM-NAME VALUE 'FBSEXTFH'. + 01 FCDOPCODE. + 02 FILLER PIC X VALUE X'FA'. + 02 EXTFH-OPCODE PIC X. + * STANDARD OPERATION CODES + 88 EXTFH-OPCODE-ISOPENINPUT VALUE X'00'. + 88 EXTFH-OPCODE-ISOPENOUTPUT VALUE X'01'. + 88 EXTFH-OPCODE-ISREADSEQUENTIAL VALUE X'8D'. + 88 EXTFH-OPCODE-ISCLOSE VALUE X'80'. + 88 EXTFH-OPCODE-ISWRITE VALUE X'F3'. + * + 01 FCD-PARAMETER-BLOCK. + copy xfhfcd3. + 01 FIX-FILENAME PIC X(44) + VALUE 'FCDFB'. + 01 FIX-RECORDAREA PIC X(255). + 01 FIX-RECORDS. + 02 FIX-COUNT PIC X COMP-X VALUE 3. + 02 FIX-RECORD1. + 03 FIX-1LENGTH PIC X COMP-X VALUE 22. + 03 FIX-1DATA PIC X(80) + VALUE 'THERE IS LITTLE LAMB'. + 02 FIX-RECORD2. + 03 FIX-2LENGTH PIC X COMP-X VALUE 33. + 03 FIX-2DATA PIC X(80) + VALUE 'THE LAMB WAS GRAND AND A GRANDMA'. + 02 FIX-RECORD3. + 03 FIX-3LENGTH PIC X COMP-X VALUE 22. + 03 FIX-3DATA PIC X(80) + VALUE 'THE OLD EWE CHORTLED'. + 01 FIX-RECORDTABLE + REDEFINES FIX-RECORDS. + 02 FIX-TCOUNT PIC X COMP-X. + 02 FIX-TENTRY OCCURS 3 TIMES + INDEXED BY FIX-TX. + 03 FIX-TEST-LEN PIC X COMP-X. + 03 FIX-TESTDATA PIC X(80). + PROCEDURE DIVISION. + DISPLAY PROGRAM-NAME ': STARTING.' + DISPLAY PROGRAM-NAME ': CREATING FIXED SEQ FILE.' + SET EXTFH-OPCODE-ISOPENOUTPUT TO TRUE + MOVE LENGTH OF FCD-PARAMETER-BLOCK TO FCD-LENGTH + move fcd--version-number TO FCD-VERSION + MOVE fcd--sequential-org TO FCD-ORGANIZATION + MOVE fcd--open-closed TO FCD-OPEN-MODE + MOVE LENGTH OF FIX-FILENAME TO FCD-NAME-LENGTH + MOVE fcd--exclusive-bit TO FCD-LOCK-MODE + move fcd--format-cobol2 to FCD-FILE-FORMAT + MOVE LENGTH OF FIX-RECORDAREA TO FCD-MAX-REC-LENGTH + MOVE 0 TO FCD-MIN-REC-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FIX-FILENAME + MOVE 80 TO FCD-CURRENT-REC-LEN + MOVE 80 TO FCD-MAX-REC-LENGTH + MOVE 80 TO FCD-MIN-REC-LENGTH + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME + ': FIXED SEQ FILE IS OPEN OUTPUT.' + PERFORM WITH TEST AFTER VARYING FIX-TX FROM 1 BY 1 + UNTIL FIX-TX = FIX-TCOUNT OR FCD-FILE-STATUS <> '00' + SET EXTFH-OPCODE-ISWRITE TO TRUE + MOVE FIX-TEST-LEN (FIX-TX) TO FCD-CURRENT-REC-LEN + MOVE 1 TO FCD-LINE-COUNT + SET FCD-RECORD-ADDRESS TO + ADDRESS OF FIX-TESTDATA (FIX-TX) + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + END-PERFORM + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': FIXED SEQ WRITES COMPLETE.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CREATE FIXED SEQ FILE.' + END-IF + SET EXTFH-OPCODE-ISCLOSE TO TRUE + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': FIXED SEQ FILE IS CLOSED.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CLOSE FIXED SEQ FILE.' + END-IF + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO OPEN FIXED SEQ FILE AS OUTPUT.' + STOP RUN + END-IF + DISPLAY PROGRAM-NAME ': READING FIXED SEQ FILE.' + SET EXTFH-OPCODE-ISOPENINPUT TO TRUE + MOVE fcd--sequential-org TO FCD-ORGANIZATION + MOVE fcd--open-closed TO FCD-OPEN-MODE + MOVE LENGTH OF FIX-FILENAME TO FCD-NAME-LENGTH + MOVE fcd--exclusive-bit TO FCD-LOCK-MODE + move fcd--format-cobol2 to FCD-FILE-FORMAT + MOVE LENGTH OF FIX-RECORDAREA TO FCD-MAX-REC-LENGTH + MOVE 0 TO FCD-MIN-REC-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FIX-FILENAME + MOVE 80 TO FCD-CURRENT-REC-LEN + MOVE 80 TO FCD-MAX-REC-LENGTH + MOVE 80 TO FCD-MIN-REC-LENGTH + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME + ': FIXED SEQ FILE IS OPEN INPUT.' + PERFORM WITH TEST AFTER UNTIL FCD-FILE-STATUS <> '00' + SET EXTFH-OPCODE-ISREADSEQUENTIAL TO TRUE + SET FCD-RECORD-ADDRESS + TO ADDRESS OF FIX-RECORDAREA + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME + ': RECORD = ' FIX-RECORDAREA (1:40) '. ' + 'Size:' FCD-CURRENT-REC-LEN + END-IF + END-PERFORM + IF FCD-FILE-STATUS = '00' OR '10' + DISPLAY PROGRAM-NAME ': FIXED SEQ READS COMPLETE.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO READ FIXED SEQ FILE.' + END-IF + SET EXTFH-OPCODE-ISCLOSE TO TRUE + PERFORM CALL-EXTFH + PERFORM FCD-CHECK-STAT + IF FCD-FILE-STATUS = '00' + DISPLAY PROGRAM-NAME ': LSEQ FILE IS CLOSED.' + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO CLOSE FIXED SEQ FILE.' + END-IF + ELSE + DISPLAY PROGRAM-NAME + ': UNABLE TO OPEN FIXED SEQ FILE AS INPUT.' + STOP RUN + END-IF + DISPLAY PROGRAM-NAME ': ENDING.' + STOP RUN. + CALL-EXTFH. + CALL 'EXTFH' USING + FCDOPCODE + FCD-PARAMETER-BLOCK. + FCD-CHECK-STAT. + IF FCD-STATUS-KEY-1 = '9' + DISPLAY PROGRAM-NAME ': RUN-TIME ERROR 9/' FCD-BINARY + ELSE + IF FCD-FILE-STATUS <> '00' + DISPLAY PROGRAM-NAME ': FILE STATUS = ' FCD-FILE-STATUS + ELSE + CONTINUE + END-IF + END-IF. + SEQEXTFH-TERM. + EXIT. +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9798: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:9798" +( $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_file.at:9798" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9800: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:9800" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "FBSEXTFH: STARTING. +FBSEXTFH: CREATING FIXED SEQ FILE. +FBSEXTFH: FIXED SEQ FILE IS OPEN OUTPUT. +FBSEXTFH: FIXED SEQ WRITES COMPLETE. +FBSEXTFH: FIXED SEQ FILE IS CLOSED. +FBSEXTFH: READING FIXED SEQ FILE. +FBSEXTFH: FIXED SEQ FILE IS OPEN INPUT. +FBSEXTFH: RECORD = THERE IS LITTLE LAMB . Size:0000000080 +FBSEXTFH: RECORD = THE LAMB WAS GRAND AND A GRANDMA . Size:0000000080 +FBSEXTFH: RECORD = THE OLD EWE CHORTLED . Size:0000000080 +FBSEXTFH: FILE STATUS = 10 +FBSEXTFH: FIXED SEQ READS COMPLETE. +FBSEXTFH: LSEQ FILE IS CLOSED. +FBSEXTFH: ENDING. +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:9800" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_953 +#AT_START_954 +at_fn_group_banner 954 'run_file.at:9820' \ + "EXTFH: operation OP_GETINFO / QUERY-FILE" " " 4 +at_xfail=no +( + printf "%s\n" "954. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: BDB has no way to get definition until 4.x (filename.dd) +printf "%s\n" "run_file.at:9824" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "db") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:9824" + +# TODO: duplicate with line sequential, likely needs update to fileio first +printf "%s\n" "run_file.at:9827" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:9827" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL TSPFILE + ASSIGN TO FCD-FILENAME + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS CM-CUST-NUM + ALTERNATE RECORD KEY IS CM-TELEPHONE WITH DUPLICATES + ALTERNATE RECORD KEY IS SPLIT-KEY3 + SOURCE IS CM-DISK,CM-DP-MGR,CM-MACHINE WITH DUPLICATES + SUPPRESS WHEN ALL "*" + FILE STATUS IS CUST-STAT . + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM. + 15 CM-CUST-PRE PICTURE X(3). + 15 CM-CUST-NNN PICTURE X(5). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + WORKING-STORAGE SECTION. + + 01 I PIC 99. + 01 K PIC 99. + + 01 CUST-STAT PIC X(2) VALUE SPACES. + 01 WS-FCD-DDNAME PIC X(8) VALUE SPACES. + 01 WS-FCD-PTR POINTER VALUE NULL. + + 01 ACTION-CODE PIC X(2). + 78 OP-OPEN-INPUT VALUE x"fa00". + 78 OP-OPEN-OUTPUT VALUE x"fa01". + 78 OP-OPEN-I-O VALUE x"fa02". + 78 OP-WRITE VALUE x"faf3". + 78 OP-RELEASE VALUE x"faf3". + 78 OP-REWRITE VALUE x"faf4". + 78 OP-READ-NEXT VALUE x"faf5". + 78 OP-START-EQUAL VALUE x"fae9". + 78 OP-CLOSE VALUE x"fa80". + 78 OP-QUERY-FILE VALUE x"0006". + + 01 FCD-FILENAME PIC X(80) value "testisam". + 01 FCD-RECORD PIC X(512) VALUE SPACES. + + 01 FCD-MAP. + COPY 'xfhfcd3.cpy'. + + 01 KEY-DEF. + 03 KDB-LEN PIC 9(4) COMP-X. + 03 FILLER PIC X(4). + 03 KEY-NKEYS PIC 9(4) COMP-X. + 03 FILLER PIC X(6). + 03 KEY-DEFS OCCURS 16 TIMES. + 05 KEY-COUNT PIC XX COMP-X. + 05 KEY-OFFSET PIC XX COMP-X. + 05 KEY-FLAGS PIC X COMP-X. + 05 KEY-COMPRESSION PIC X COMP-X. + 05 KEY-SPARSE PIC X COMP-X. + 05 FILLER PIC X(9). + 03 FILLER PIC X(128). + + LINKAGE SECTION. + 01 KEY-INF. + 03 KEY-DESC PIC X COMP-X. + 03 KEY-TYPE PIC X COMP-X. + 03 KEY-POS PIC X(4) COMP-X. + 03 KEY-LEN PIC X(4) COMP-X. + *================================================================* + PROCEDURE DIVISION. + *----------------------------------------------------------------* + 000-MAIN. + + DELETE FILE TSPFILE. + OPEN OUTPUT TSPFILE. + WRITE TSPFL-RECORD. + CLOSE TSPFILE. + + SET FCD-KEY-DEF-ADDRESS TO ADDRESS OF KEY-DEF. + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FCD-FILENAME. + MOVE 64 TO FCD-NAME-LENGTH + MOVE LENGTH OF KEY-DEF TO KDB-LEN. + SET FCD-RECORD-ADDRESS TO ADDRESS OF FCD-RECORD. + MOVE 512 TO FCD-CURRENT-REC-LEN + MOVE 512 TO FCD-MIN-REC-LENGTH + MOVE 512 TO FCD-MAX-REC-LENGTH + MOVE 1 TO FCD-VERSION + MOVE 255 TO FCD-ORGANIZATION + MOVE OP-QUERY-FILE TO ACTION-CODE + PERFORM 800-CALL-EXTFH. + DISPLAY "Status: " FCD-FILE-STATUS + " File: " FCD-FILENAME (1:20) "." + DISPLAY " Nkeys: " key-nkeys + " Recsz: " FCD-MAX-REC-LENGTH. + DISPLAY "kdblen: " kdb-len. + PERFORM VARYING I FROM 1 UNTIL I > KEY-NKEYS + DISPLAY " Index: " i + " Parts: " key-count (i) + " Offset: " key-offset (i) + " Flags: " key-flags (i) + " Comp: " key-compression (i) + " Sparse: " key-sparse (i) + SET WS-FCD-PTR TO ADDRESS OF key-def + SET WS-FCD-PTR UP BY key-offset (i) + SET ADDRESS OF key-inf TO WS-FCD-PTR + PERFORM VARYING K FROM 1 UNTIL K > KEY-count (i) + DISPLAY " Pos: " key-pos + " Len: " key-len + " Desc: " key-desc + " Type: " key-type + SET WS-FCD-PTR UP BY LENGTH OF key-inf + SET ADDRESS OF key-inf TO WS-FCD-PTR + END-PERFORM + END-PERFORM. + + STOP RUN. + + *----------------------------------------------------------------* + * External file handler interface -- all I/O goes through here + * + 800-CALL-EXTFH. + + CALL "EXTFH" USING ACTION-CODE, FCD-MAP + + IF FCD-STATUS-KEY-1 = "9" AND FCD-BINARY = 199 + MOVE "10" TO FCD-FILE-STATUS + END-IF + . +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9979: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:9979" +( $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_file.at:9979" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:9981: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:9981" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Status: 00 File: testisam . + Nkeys: 0003 Recsz: 0000000177 +kdblen: 0398 + Index: 01 Parts: 00001 Offset: 00062 Flags: 000 Comp: 000 Sparse: 000 + Pos: 0000000000 Len: 0000000008 Desc: 000 Type: 000 + Index: 02 Parts: 00001 Offset: 00072 Flags: 064 Comp: 000 Sparse: 000 + Pos: 0000000109 Len: 0000000010 Desc: 032 Type: 032 + Index: 03 Parts: 00003 Offset: 00082 Flags: 066 Comp: 000 Sparse: 042 + Pos: 0000000156 Len: 0000000008 Desc: 000 Type: 000 + Pos: 0000000119 Len: 0000000025 Desc: 000 Type: 000 + Pos: 0000000144 Len: 0000000008 Desc: 000 Type: 000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:9981" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_954 +#AT_START_955 +at_fn_group_banner 955 'run_file.at:10002' \ + "EXTFH: changing record address" " " 4 +at_xfail=no +( + printf "%s\n" "955. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# TODO: replace INDEXED with line sequential (or duplicate) +printf "%s\n" "run_file.at:10006" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:10006" + +cat >progl.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OUTFILE + ASSIGN "TEST1EXTFH" + ORGANIZATION INDEXED + RECORD KEY IS PRIME-KEY + ACCESS IS SEQUENTIAL + FILE STATUS IS OUT-STAT. + + DATA DIVISION. + FILE SECTION. + FD OUTFILE + BLOCK CONTAINS 5 RECORDS. + + 01 OUT-REC. + 05 PRIME-KEY PIC X(25). + 05 IN-DATA PIC X(10). + + WORKING-STORAGE SECTION. + 01 OUT-STAT PIC XX VALUE '00'. + 01 OUT-RECNUM PIC 9 VALUE 0. + + PROCEDURE DIVISION. + MAIN-100. + OPEN OUTPUT OUTFILE. + IF OUT-STAT NOT = '00' + DISPLAY 'ERROR ' OUT-STAT ' OPENING OUTPUT FILE' + STOP RUN + END-IF. + INITIALIZE OUT-REC. + + GET-NEXT-100. + ADD 1 TO OUT-RECNUM. + MOVE "RECORD-X" TO PRIME-KEY. + MOVE OUT-RECNUM TO PRIME-KEY (8:1). + WRITE OUT-REC. + IF OUT-STAT NOT = '00' + AND OUT-STAT NOT = '02' + DISPLAY 'ERROR ' OUT-STAT ' WRITING OUTPUT' + GO TO END-PROG-100 + END-IF. + IF OUT-RECNUM < 5 + GO TO GET-NEXT-100. + + END-PROG-100. + DISPLAY OUT-RECNUM ' records written'. + CLOSE OUTFILE. + STOP RUN. +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + * + PROGRAM-ID. prog. + DATA DIVISION. + + WORKING-STORAGE SECTION. + + 77 I PIC 9(04) COMP-5. + 77 J PIC 9(04) COMP-5. + 77 K PIC 9(04) COMP-5. + 77 L PIC 9(04) COMP-5. + 77 M PIC 9(04) COMP-5. + 01 OP-N PIC X COMP-X. + 01 OP-X REDEFINES OP-N PIC X. + + 01 ACTION-CODE. + 05 ACTION-TYPE PIC X(01). + 78 COBOL-TYPE VALUE X'FA'. + 78 SPECIAL-TYPE VALUE X'00'. + 05 COBOL-OP PIC X(01). + 78 OPEN-INPUT VALUE X'00'. + 78 OPEN-OUTPUT VALUE X'01'. + 78 OPEN-I-O VALUE X'02'. + 78 OPEN-EXTEND VALUE X'03'. + 78 OPEN-INPUT-NO-REWIND VALUE X'04'. + 78 OPEN-OUTPUT-NO-REWIND VALUE X'05'. + 78 OPEN-INPUT-REVERSED VALUE X'08'. + 78 CLOSE-FILE VALUE X'80'. + 78 CLOSE-LOCK VALUE X'81'. + 78 CLOSE-NO-REWIND VALUE X'82'. + 78 CLOSE-REEL-UNIT VALUE X'84'. + 78 CLOSE-REEL-UNIT-FOR-REMOVAL VALUE X'85'. + 78 CLOSE-REEL-UNIT-NO-REWIND VALUE X'86'. + 78 READ-SEQ-NO-LOCK VALUE X'8D'. + 78 READ-SEQ-LOCK VALUE X'D8'. + 78 READ-SEQ-KEPT-LOCK VALUE X'D9'. + 78 READ-SEQ VALUE X'F5'. + 78 READ-PREVIOUS-NO-LOCK VALUE X'8C'. + 78 READ-PREVIOUS-LOCK VALUE X'DE'. + 78 READ-PREVIOUS-KEPT-LOCK VALUE X'DF'. + 78 READ-PREVIOUS VALUE X'F9'. + 78 READ-RANDOM-NO-LOCK VALUE X'8E'. + 78 READ-RANDOM-LOCK VALUE X'DA'. + 78 READ-RANDOM-KEPT-LOCK VALUE X'DB'. + 78 READ-RANDOM VALUE X'F6'. + 78 READ-DIRECT-NO-LOCK VALUE X'8F'. + 78 READ-DIRECT-LOCK VALUE X'D6'. + 78 READ-DIRECT-KEPT-LOCK VALUE X'D7'. + 78 READ-DIRECT VALUE X'C9'. + 78 READ-POSITION VALUE X'F1'. + 78 WRITE-BEFORE VALUE X'E1'. + 78 WRITE-AFTER VALUE X'E2'. + 78 WRITE-BEFORE-TAB VALUE X'E3'. + 78 WRITE-AFTER-TAB VALUE X'E4'. + 78 WRITE-BEFORE-PAGE VALUE X'E5'. + 78 WRITE-AFTER-PAGE VALUE X'E6'. + 78 WRITE-RECORD VALUE X'F3'. + 78 REWRITE-RECORD VALUE X'F4'. + 78 START-EQUAL-PRIME-KEY VALUE X'E8'. + 78 START-EQUAL-KEY VALUE X'E9'. + 78 START-GREATER VALUE X'EA'. + 78 START-NOT-LESS VALUE X'EB'. + 78 START-LESS VALUE X'FE'. + 78 START-LESS-OR-EQUAL VALUE X'FF'. + 78 STEP-NEXT-NO-LOCK VALUE X'90'. + 78 STEP-NEXT-LOCK VALUE X'D4'. + 78 STEP-NEXT-KEPT-LOCK VALUE X'D5'. + 78 STEP-NEXT VALUE X'CA'. + 78 STEP-FIRST-NO-LOCK VALUE X'92'. + 78 STEP-FIRST-LOCK VALUE X'D0'. + 78 STEP-FIRST-KEPT-LOCK VALUE X'D1'. + 78 STEP-FIRST VALUE X'CC'. + 78 DELETE-RECORD VALUE X'F7'. + 78 DELETE-FILE VALUE X'F8'. + 78 UNLOCK-CURRENT VALUE X'0E'. + 78 COMMIT-ALL VALUE X'DC'. + 78 ROLLBACK-ALL VALUE X'DD'. + 78 GET-FILE-INFO VALUE X'06'. + 78 OPEN-NEW-INDEX VALUE X'07'. + 78 GET-NEXT-RECORD VALUE X'08'. + 78 ADD-KEY-VALUE VALUE X'09'. + 78 UNLOCK-RECORD VALUE X'0F'. + + 01 FCD-AREA. + COPY xfhfcd. + + 01 FILE-NAME PIC X(64). + 01 FILE-NAME-LEN PIC 9(04) COMP-X. + + 01 RECORD-AREA. + 05 PRIME-KEY PIC X(25). + 05 DATA-AREA PIC X(10). + + 01 RECORD-AREA2. + 05 PRIME-KEY2 PIC X(25). + 05 DATA-AREA2 PIC X(10). + + 01 KEY-DEF-AREA. + 05 GLOBAL-INFORMATION-AREA. + 10 LENGTH-OF-KEY-DEF-AREA PIC 9(04) COMP-X. + 10 FILLER PIC X(04). + 10 NUMBER-OF-KEYS PIC 9(04) COMP-X. + 10 FILLER PIC X(06). + 05 KEY-DEF-AREA-PARAM-BLOCK. + 10 COMPONENT-COUNT PIC 9(04) COMP-X. + 10 OFFSET-TO-COMPONENT PIC 9(04) COMP-X. + 10 KEY-FLAGS PIC 9(02) COMP-X. + 10 KEY-COMPRESSION PIC 9(02) COMP-X. + 10 SPARSE-CHARACTER PIC X(01). + 10 FILLER PIC X(09). + 05 COMPONENT-DEF-AREA. + 10 FILLER PIC X(02). + 10 OFFSET-TO-COMPONENT-DEF PIC 9(09) COMP-X. + 10 COMPONENT-LENGTH PIC 9(09) COMP-X. + + + ************************************************************** + PROCEDURE DIVISION. + ************************************************************** + 0000-MAIN. + PERFORM 1000-OPEN-FILE. + PERFORM 2000-READ-RECORD. + DISPLAY 'AFTER READ ------> ' RECORD-AREA '.'. + MOVE '1234567890' TO DATA-AREA. + PERFORM 3000-REWRITE-RECORD. + PERFORM 2000-READ-RECORD. + DISPLAY 'AFTER WRITE -----> ' RECORD-AREA '.'. + MOVE SPACES TO DATA-AREA. + PERFORM 3000-REWRITE-RECORD. + PERFORM 5000-CLOSE-FILE. + PERFORM 1000-OPEN-FILE. + PERFORM 6000-START. + PERFORM 7000-READ-PREVIOUS. + DISPLAY 'AFTER READ PREV -> ' RECORD-AREA2 '.'. + PERFORM 5000-CLOSE-FILE. + + STOP RUN. + * + *--------------------------------* + 1000-Open-File. + *--------------------------------* + * + MOVE 'TEST1EXTFH' TO FILE-NAME + MOVE 10 TO FILE-NAME-LEN + + * MOVE LOW-VALUES TO FCD-AREA + MOVE FCD--VERSION-NUMBER TO FCD-VERSION + + MOVE FCD--INDEXED-ORG TO FCD-ORGANIZATION + MOVE FILE-NAME-LEN TO FCD-NAME-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FILE-NAME + SET FCD-KEY-DEF-ADDRESS TO ADDRESS OF KEY-DEF-AREA + MOVE 16 TO FCD-FS-FLAGS + MOVE LENGTH OF RECORD-AREA TO FCD-CURRENT-REC-LEN + MOVE 1 TO NUMBER-OF-KEYS + MOVE LENGTH OF PRIME-KEY TO COMPONENT-LENGTH + MOVE 8 TO FCD-ACCESS-MODE + MOVE 0 TO FCD-LOCK-MODE + MOVE 128 TO FCD-OPEN-MODE + + MOVE COBOL-TYPE TO ACTION-TYPE + MOVE OPEN-I-O TO COBOL-OP + PERFORM 1100-CALL-EXTFH. + + * + *--------------------------------* + 1100-Call-Extfh. + *--------------------------------* + * + CALL 'EXTFH' USING ACTION-CODE + FCD-AREA + IF FCD-FILE-STATUS NOT = '00' + MOVE COBOL-OP TO OP-X + IF FCD-STATUS-KEY-1 = '9' + DISPLAY "FILE ERROR, STATUS: 9/" FCD-BINARY + " OPCODE: " OP-N + ELSE + DISPLAY "FILE ERROR, STATUS: " FCD-FILE-STATUS + " OPCODE: " OP-N + END-IF + IF FCD-FILE-STATUS = '23' + DISPLAY "Record: " RECORD-AREA "." + END-IF + STOP RUN + END-IF. + * + *--------------------------------* + 2000-Read-Record. + *--------------------------------* + * + INITIALIZE RECORD-AREA. + + MOVE 'RECORD-3' TO PRIME-KEY. + + MOVE READ-RANDOM-LOCK TO COBOL-OP. + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA. + PERFORM 1100-CALL-EXTFH. + * + *--------------------------------* + 3000-Rewrite-Record. + *--------------------------------* + * + MOVE COBOL-TYPE TO ACTION-TYPE. + MOVE REWRITE-RECORD TO COBOL-OP. + + PERFORM 1100-CALL-EXTFH. + * + *--------------------------------* + 5000-Close-File. + *--------------------------------* + * + MOVE COBOL-TYPE TO ACTION-TYPE. + MOVE CLOSE-FILE TO COBOL-OP. + + PERFORM 1100-CALL-EXTFH. + * + *--------------------------------* + 6000-Start. + *--------------------------------* + * + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA. + MOVE 25 TO FCD-KEY-LENGTH. + MOVE HIGH-VALUES TO PRIME-KEY. + + MOVE COBOL-TYPE TO ACTION-TYPE. + MOVE START-LESS TO COBOL-OP. + + PERFORM 1100-CALL-EXTFH. + * + *--------------------------------* + 7000-Read-Previous. + *--------------------------------* + * + MOVE COBOL-TYPE TO ACTION-TYPE. + MOVE READ-PREVIOUS TO COBOL-OP. + INITIALIZE RECORD-AREA2. + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA2. + + PERFORM 1100-CALL-EXTFH. +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10307: \$COMPILE -fnotrunc progl.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc progl.cob" "run_file.at:10307" +( $at_check_trace; $COMPILE -fnotrunc progl.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10307" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10308: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:10308" +( $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_file.at:10308" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10310: \$COBCRUN_DIRECT ./progl" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progl" "run_file.at:10310" +( $at_check_trace; $COBCRUN_DIRECT ./progl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "5 records written +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:10310" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10314: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:10314" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "AFTER READ ------> RECORD-3 . +AFTER WRITE -----> RECORD-3 1234567890. +AFTER READ PREV -> RECORD-5 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:10314" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_955 +#AT_START_956 +at_fn_group_banner 956 'run_file.at:10323' \ + "EXTFH: INDEXED with multiple keys" " " 4 +at_xfail=no +( + printf "%s\n" "956. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:10326" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:10326" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + DATA DIVISION. + FILE SECTION. + WORKING-STORAGE SECTION. + 77 CKEYS PIC 9(04) COMP-5. + 77 NKEYS PIC 9(04) COMP-5. + 77 CURR-OFF PIC 9(04) COMP-5. + 77 I PIC 9(04) COMP-5. + 01 FH-ACTION PIC X(02). + 01 FILLER REDEFINES FH-ACTION. + 05 PIC X COMP-X. + 05 FH-ACTION2 PIC X COMP-X. + 77 FILE-NAME PIC X(64). + 77 INDEX-NAME PIC X(64). + 77 FILE-NAME-LEN PIC 9(04) COMP-X. + 01 ACB-KEY-GROUP. + 05 ACB-CNT PIC 9(02). + 05 ACB-KEY-TABLE OCCURS 32 TIMES. + 10 ACB-KEY-LEN PIC 9(04) COMP-4. + 10 ACB-KEY-POS PIC 9(04) COMP-4. + 10 ACB-KEY-DUPE PIC 9(02) COMP-X. + *COPY EXTFHOPS. + 01 ACTION-CODE. + 05 ACTION-TYPE PIC X(01). + 78 COBOL-TYPE VALUE X'FA'. + 78 SPECIAL-TYPE VALUE X'00'. + 05 COBOL-OP PIC X(01). + 78 OPEN-INPUT VALUE X'00'. + 78 OPEN-OUTPUT VALUE X'01'. + 78 OPEN-I-O VALUE X'02'. + 78 OPEN-EXTEND VALUE X'03'. + 78 OPEN-INPUT-NO-REWIND VALUE X'04'. + 78 OPEN-OUTPUT-NO-REWIND VALUE X'05'. + 78 OPEN-INPUT-REVERSED VALUE X'08'. + 78 CLOSE-FILE VALUE X'80'. + 78 CLOSE-LOCK VALUE X'81'. + 78 CLOSE-NO-REWIND VALUE X'82'. + 78 CLOSE-REEL-UNIT VALUE X'84'. + 78 CLOSE-REEL-UNIT-FOR-REMOVAL VALUE X'85'. + 78 CLOSE-REEL-UNIT-NO-REWIND VALUE X'86'. + 78 READ-SEQ-NO-LOCK VALUE X'8D'. + 78 READ-SEQ-LOCK VALUE X'D8'. + 78 READ-SEQ-KEPT-LOCK VALUE X'D9'. + 78 READ-SEQ VALUE X'F5'. + 78 READ-PREVIOUS-NO-LOCK VALUE X'8C'. + 78 READ-PREVIOUS-LOCK VALUE X'DE'. + 78 READ-PREVIOUS-KEPT-LOCK VALUE X'DF'. + 78 READ-PREVIOUS VALUE X'F9'. + 78 READ-RANDOM-NO-LOCK VALUE X'8E'. + 78 READ-RANDOM-LOCK VALUE X'DA'. + 78 READ-RANDOM-KEPT-LOCK VALUE X'DB'. + 78 READ-RANDOM VALUE X'F6'. + 78 READ-DIRECT-NO-LOCK VALUE X'8F'. + 78 READ-DIRECT-LOCK VALUE X'D6'. + 78 READ-DIRECT-KEPT-LOCK VALUE X'D7'. + 78 READ-DIRECT VALUE X'C9'. + 78 READ-POSITION VALUE X'F1'. + 78 WRITE-BEFORE VALUE X'E1'. + 78 WRITE-AFTER VALUE X'E2'. + 78 WRITE-BEFORE-TAB VALUE X'E3'. + 78 WRITE-AFTER-TAB VALUE X'E4'. + 78 WRITE-BEFORE-PAGE VALUE X'E5'. + 78 WRITE-AFTER-PAGE VALUE X'E6'. + 78 WRITE-RECORD VALUE X'F3'. + 78 REWRITE-RECORD VALUE X'F4'. + 78 START-EQUAL-PRIME-KEY VALUE X'E8'. + 78 START-EQUAL-KEY VALUE X'E9'. + 78 START-GREATER VALUE X'EA'. + 78 START-NOT-LESS VALUE X'EB'. + 78 START-LESS VALUE X'FE'. + 78 START-LESS-OR-EQUAL VALUE X'FF'. + 78 STEP-NEXT-NO-LOCK VALUE X'90'. + 78 STEP-NEXT-LOCK VALUE X'D4'. + 78 STEP-NEXT-KEPT-LOCK VALUE X'D5'. + 78 STEP-NEXT VALUE X'CA'. + 78 STEP-FIRST-NO-LOCK VALUE X'92'. + 78 STEP-FIRST-LOCK VALUE X'D0'. + 78 STEP-FIRST-KEPT-LOCK VALUE X'D1'. + 78 STEP-FIRST VALUE X'CC'. + 78 DELETE-RECORD VALUE X'F7'. + 78 DELETE-FILE VALUE X'F8'. + 78 UNLOCK-CURRENT VALUE X'0E'. + 78 COMMIT-ALL VALUE X'DC'. + 78 ROLLBACK-ALL VALUE X'DD'. + 78 GET-FILE-INFO VALUE X'06'. + 78 OPEN-NEW-INDEX VALUE X'07'. + 78 GET-NEXT-RECORD VALUE X'08'. + 78 ADD-KEY-VALUE VALUE X'09'. + 78 UNLOCK-RECORD VALUE X'0F'. + 01 FCD-AREA. + COPY xfhfcd. + + 01 RECORD-AREA. + 05 PRIME-KEY PIC X(20). + 05 DATA-AREA1 PIC 9(10). + 05 DATA-AREA2 PIC 9(15). + 05 DATA-AREA PIC X(355). + 01 KEY-DEF-AREA PIC X(512). + PROCEDURE DIVISION. + A-000-MAIN. + PERFORM A-100-OPEN-FILE. + PERFORM A-300-READ-RECORD. + DISPLAY 'READ ------> ' RECORD-AREA (1:55) '.' + MOVE '1234567890' TO RECORD-AREA (46:10) + PERFORM A-400-REWRITE-RECORD. + PERFORM A-300-READ-RECORD. + DISPLAY 'WRITE -----> ' RECORD-AREA (1:55) '.' + MOVE SPACES TO DATA-AREA. + PERFORM A-400-REWRITE-RECORD. + PERFORM A-700-START. + PERFORM A-800-READ-PREVIOUS. + DISPLAY 'READ PREV -> ' RECORD-AREA (1:55) '.' + PERFORM A-600-CLOSE-FILE. + STOP RUN. + A-100-Open-File. + MOVE LOW-VALUES TO FCD-AREA + MOVE LOW-VALUES TO ACB-KEY-GROUP + MOVE fcd--version-number TO FCD-VERSION + ** MAKE 3 KEYS + MOVE 3 TO ACB-CNT + MOVE 0 TO ACB-KEY-POS (1) + MOVE 20 TO ACB-KEY-LEN (1) + MOVE 0 TO ACB-KEY-DUPE (1) + MOVE 20 TO ACB-KEY-POS (2) + MOVE 10 TO ACB-KEY-LEN (2) + MOVE 1 TO ACB-KEY-DUPE (2) + MOVE 30 TO ACB-KEY-POS (3) + MOVE 15 TO ACB-KEY-LEN (3) + MOVE 1 TO ACB-KEY-DUPE (3) + ** MAKE MF KEY-DEF + CALL "EXFHKEYS" USING + ACB-KEY-GROUP + KEY-DEF-AREA + MOVE X'FA01' TO FH-ACTION + SET FCD-KEY-DEF-ADDRESS TO ADDRESS OF KEY-DEF-AREA + MOVE 'TESTISAM2' TO FILE-NAME + MOVE 9 TO FILE-NAME-LEN + MOVE FILE-NAME-LEN TO FCD-NAME-LENGTH + MOVE 0 TO FCD-ACCESS-MODE + MOVE 2 TO FCD-ORGANIZATION + MOVE 128 TO FCD-OPEN-MODE + ** FIXED OR VARIABLE + MOVE 1 TO FCD-RECORDING-MODE + MOVE 0 TO FCD-RECORDING-MODE + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FILE-NAME + MOVE 400 TO FCD-MIN-REC-LENGTH + MOVE 400 TO FCD-MAX-REC-LENGTH + PERFORM A-200-CALL-EXTFH. + PERFORM A-600-CLOSE-FILE. + * Write test data to file + MOVE X'FA02' TO FH-ACTION + MOVE 8 TO FCD-ACCESS-MODE + PERFORM A-200-CALL-EXTFH. + MOVE SPACES TO RECORD-AREA + MOVE 0 TO DATA-AREA1 + MOVE 0 TO DATA-AREA2 + PERFORM 7 TIMES + ADD 1 TO DATA-AREA1 + ADD 1 TO DATA-AREA2 + MOVE 'RECORD-1' TO PRIME-KEY + MOVE DATA-AREA1 (10:1) TO PRIME-KEY (8:1) + MOVE X'FAF3' TO FH-ACTION + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA + PERFORM A-200-CALL-EXTFH + END-PERFORM. + A-110-EXIT. + EXIT. + A-200-Call-Extfh. + CALL 'EXTFH' USING FH-ACTION + FCD-AREA + IF FCD-FILE-STATUS NOT = '00' AND NOT = '02' + IF FCD-STATUS-KEY-1 = '9' + DISPLAY "Operation: " FH-ACTION2 + " FILE ERROR, STATUS: 9/" FCD-BINARY + ELSE + DISPLAY "Operation: " FH-ACTION2 + " FILE ERROR, STATUS: " FCD-FILE-STATUS + END-IF + STOP RUN + END-IF. + A-300-READ-RECORD. + INITIALIZE RECORD-AREA. + MOVE 'RECORD-3' TO PRIME-KEY. + MOVE X'FA8E' TO FH-ACTION + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA. + PERFORM A-200-CALL-EXTFH. + A-400-REWRITE-RECORD. + MOVE X'FAF4' TO FH-ACTION + MOVE REWRITE-RECORD TO COBOL-OP. + PERFORM A-200-CALL-EXTFH. + A-600-CLOSE-FILE. + MOVE X'FA80' TO FH-ACTION. + PERFORM A-200-CALL-EXTFH. + A-700-START. + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA. + MOVE 20 TO FCD-KEY-LENGTH. + MOVE HIGH-VALUES TO PRIME-KEY. + MOVE X'FAFE' TO FH-ACTION + PERFORM A-200-CALL-EXTFH. + A-800-READ-PREVIOUS. + MOVE X'FAF9' TO FH-ACTION + PERFORM A-200-CALL-EXTFH. + +_ATEOF + + +cat >progs.cob <<'_ATEOF' + + $SET ODOSLIDE + ** CREATE KEY-DEF-AREA FROM ACB ARRAY + IDENTIFICATION DIVISION. + PROGRAM-ID. EXFHKEYS. + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 ZX1 PIC X(04). + 77 ZX2 PIC X(04). + 77 ZX4 PIC X(08). + 77 Z91 PIC 9(04) COMP-5. + 77 Z92 PIC 9(04) COMP-5. + 77 Z93 PIC 9(08) COMP-5. + 77 Z94 PIC 9(08) COMP-5. + 77 E4 PIC X(08) VALUE 'E4'. + 77 E6 PIC X(08) VALUE 'E6'. + 77 OFF1 PIC X(4) COMP-X. + 77 OFF2 PIC X(2) COMP-X. + 01 PROGRAM-DATA. + 05 I PIC 9(4) COMP. + 05 J PIC 9(4) COMP. + 05 K PIC 9(4) COMP. + 05 L PIC 9(4) COMP. + 05 X PIC 9(4) COMP. + 05 Y PIC 9(4) COMP. + 05 Z PIC 9(4) COMP. + 01 KEY-DEF-AREA. + 05 GLOBAL-INFORMATION-AREA. + 10 KEY-DEF-LEN PIC 9(04) COMP-X. + 10 FILLER PIC X(04). + 10 NUMBER-OF-KEYS PIC 9(04) COMP-X. + 10 FILLER PIC X(06). + 05 KEY-DEFINITION-PARAMETER-BLOCK + OCCURS 1 TO 15 TIMES DEPENDING ON NUMBER-OF-KEYS. + 10 COMPONENT-COUNT PIC 9(4) COMP-X. + 10 OFFSET-TO-COMPONENT PIC 9(4) COMP-X. + 10 KEY-FLAGS PIC 9(2) COMP-X. + 10 KEY-COMPRESSION PIC 9(2) COMP-X. + 10 SPARSE-CHARACTER PIC X. + 10 FILLER PIC X(9). + 05 COMPONENT-DEFINITION-AREA + OCCURS 1 TO 15 TIMES DEPENDING ON NUMBER-OF-KEYS. + 10 FILLER PIC X(2). + 10 OFFSET-TO-COMPONENT-DEF PIC 9(9) COMP-X. + 10 COMPONENT-LENGTH PIC 9(9) COMP-X. + LINKAGE SECTION. + 01 ACB-KEY-GROUP. + 05 ACB-CNT PIC 9(02). + 05 ACB-KEY-TABLE OCCURS 32 TIMES. + 10 ACB-KEY-LEN PIC 9(04) COMP-4. + 10 ACB-KEY-LENX REDEFINES ACB-KEY-LEN PIC X(02). + 10 ACB-KEY-POS PIC 9(04) COMP-4. + 10 ACB-KEY-POSX REDEFINES ACB-KEY-POS PIC X(02). + 10 ACB-KEY-DUP PIC 9(02) COMP-X. + 10 ACB-KEY-DUPX REDEFINES ACB-KEY-DUP PIC X(01). + 01 KEY-DEFS PIC X(512). + PROCEDURE DIVISION USING + ACB-KEY-GROUP + KEY-DEFS. + A-010-MAINLINE. + MOVE LOW-VALUES TO KEY-DEFS + MOVE LOW-VALUES TO KEY-DEF-AREA + ** POPULATE THE GLOBAL AREA + MOVE ACB-CNT TO NUMBER-OF-KEYS + COMPUTE KEY-DEF-LEN = (ACB-CNT * 16) + (ACB-CNT * 10) + 14 + ** POPULATE KEY-DEFINITION-PARAMETER-BLOCK & COMPONENT DEFEINTION + PERFORM A-020-MAKE-KEY-DEF THRU A-020-EXIT + MOVE KEY-DEF-AREA (1:KEY-DEF-LEN) TO KEY-DEFS (1:KEY-DEF-LEN) + GOBACK. + A-010-EXIT. + EXIT. + A-020-MAKE-KEY-DEF. + ** DO THE PRIMARY KEY + MOVE 1 TO I + MOVE 1 TO COMPONENT-COUNT (I) + MOVE 16 TO KEY-FLAGS (I) + COMPUTE OFF2 = (ACB-CNT * 16) + ((I - 1) * 10) + 14 + MOVE OFF2 TO OFFSET-TO-COMPONENT (I) + MOVE ACB-KEY-POS (I) TO OFFSET-TO-COMPONENT-DEF (I) + MOVE 10 TO COMPONENT-LENGTH (I) + ** IF THERE ARE NO ALTERNATE KEYS EXIT - KEY DEF IS BUILT + IF ACB-CNT < 2 + GO TO A-020-EXIT + END-IF + ** DO ALTERNATE INDEX(S) + PERFORM VARYING I FROM 2 BY 1 UNTIL I > ACB-CNT + MOVE 1 TO COMPONENT-COUNT (I) + COMPUTE OFF2 = (ACB-CNT * 16) + ((I - 1) * 10) + 14 + MOVE OFF2 TO OFFSET-TO-COMPONENT (I) + IF ACB-KEY-DUP (I) = 1 + MOVE 64 TO KEY-FLAGS (I) + ELSE + MOVE 16 TO KEY-FLAGS (I) + MOVE 0 TO KEY-FLAGS (I) + END-IF + MOVE ACB-KEY-POS (I) TO OFFSET-TO-COMPONENT-DEF (I) + MOVE ACB-KEY-LEN (I) TO COMPONENT-LENGTH (I) + END-PERFORM. + A-020-EXIT. + EXIT. +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10643: \$COMPILE -fnotrunc -fodoslide prog.cob progs.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc -fodoslide prog.cob progs.cob" "run_file.at:10643" +( $at_check_trace; $COMPILE -fnotrunc -fodoslide prog.cob progs.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10643" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10645: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:10645" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "READ ------> RECORD-3 0000000003000000000000003 . +WRITE -----> RECORD-3 00000000030000000000000031234567890. +READ PREV -> RECORD-7 0000000007000000000000007 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:10645" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_956 +#AT_START_957 +at_fn_group_banner 957 'run_file.at:10654' \ + "EXTFH: RELATIVE files" " " 4 +at_xfail=no +( + printf "%s\n" "957. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + DATA DIVISION. + FILE SECTION. + WORKING-STORAGE SECTION. + 77 I PIC 9(04) COMP-5. + 77 FILE-NAME PIC X(64). + 77 FILE-NAME-LEN PIC 9(04) COMP-X. + 01 FH-ACTION PIC X(02). + 01 FILLER REDEFINES FH-ACTION. + 05 PIC X COMP-X. + 05 FH-ACTION2 PIC X COMP-X. + 01 ACTION-CODE REDEFINES FH-ACTION. + 05 ACTION-TYPE PIC X(01). + 78 COBOL-TYPE VALUE X'FA'. + 78 SPECIAL-TYPE VALUE X'00'. + 05 COBOL-OP PIC X(01). + 78 OPEN-INPUT VALUE X'00'. + 78 OPEN-OUTPUT VALUE X'01'. + 78 OPEN-I-O VALUE X'02'. + 78 OPEN-EXTEND VALUE X'03'. + 78 OPEN-INPUT-NO-REWIND VALUE X'04'. + 78 OPEN-OUTPUT-NO-REWIND VALUE X'05'. + 78 OPEN-INPUT-REVERSED VALUE X'08'. + 78 CLOSE-FILE VALUE X'80'. + 78 CLOSE-LOCK VALUE X'81'. + 78 CLOSE-NO-REWIND VALUE X'82'. + 78 CLOSE-REEL-UNIT VALUE X'84'. + 78 CLOSE-REEL-UNIT-FOR-REMOVAL VALUE X'85'. + 78 CLOSE-REEL-UNIT-NO-REWIND VALUE X'86'. + 78 READ-SEQ-NO-LOCK VALUE X'8D'. + 78 READ-SEQ-LOCK VALUE X'D8'. + 78 READ-SEQ-KEPT-LOCK VALUE X'D9'. + 78 READ-SEQ VALUE X'F5'. + 78 READ-PREVIOUS-NO-LOCK VALUE X'8C'. + 78 READ-PREVIOUS-LOCK VALUE X'DE'. + 78 READ-PREVIOUS-KEPT-LOCK VALUE X'DF'. + 78 READ-PREVIOUS VALUE X'F9'. + 78 READ-RANDOM-NO-LOCK VALUE X'8E'. + 78 READ-RANDOM-LOCK VALUE X'DA'. + 78 READ-RANDOM-KEPT-LOCK VALUE X'DB'. + 78 READ-RANDOM VALUE X'F6'. + 78 READ-DIRECT-NO-LOCK VALUE X'8F'. + 78 READ-DIRECT-LOCK VALUE X'D6'. + 78 READ-DIRECT-KEPT-LOCK VALUE X'D7'. + 78 READ-DIRECT VALUE X'C9'. + 78 READ-POSITION VALUE X'F1'. + 78 WRITE-BEFORE VALUE X'E1'. + 78 WRITE-AFTER VALUE X'E2'. + 78 WRITE-BEFORE-TAB VALUE X'E3'. + 78 WRITE-AFTER-TAB VALUE X'E4'. + 78 WRITE-BEFORE-PAGE VALUE X'E5'. + 78 WRITE-AFTER-PAGE VALUE X'E6'. + 78 WRITE-RECORD VALUE X'F3'. + 78 REWRITE-RECORD VALUE X'F4'. + 78 START-EQUAL-PRIME-KEY VALUE X'E8'. + 78 START-EQUAL-KEY VALUE X'E9'. + 78 START-GREATER VALUE X'EA'. + 78 START-NOT-LESS VALUE X'EB'. + 78 START-LESS VALUE X'FE'. + 78 START-LESS-OR-EQUAL VALUE X'FF'. + 78 STEP-NEXT-NO-LOCK VALUE X'90'. + 78 STEP-NEXT-LOCK VALUE X'D4'. + 78 STEP-NEXT-KEPT-LOCK VALUE X'D5'. + 78 STEP-NEXT VALUE X'CA'. + 78 STEP-FIRST-NO-LOCK VALUE X'92'. + 78 STEP-FIRST-LOCK VALUE X'D0'. + 78 STEP-FIRST-KEPT-LOCK VALUE X'D1'. + 78 STEP-FIRST VALUE X'CC'. + 78 DELETE-RECORD VALUE X'F7'. + 78 DELETE-FILE VALUE X'F8'. + 78 UNLOCK-CURRENT VALUE X'0E'. + 78 COMMIT-ALL VALUE X'DC'. + 78 ROLLBACK-ALL VALUE X'DD'. + 78 GET-FILE-INFO VALUE X'06'. + 78 OPEN-NEW-INDEX VALUE X'07'. + 78 GET-NEXT-RECORD VALUE X'08'. + 78 ADD-KEY-VALUE VALUE X'09'. + 78 UNLOCK-RECORD VALUE X'0F'. + + 01 FCD-AREA. + COPY xfhfcd. + + 01 RECORD-AREA. + 05 PRIME-KEY PIC X(20). + 05 DATA-AREA1 PIC 9(10). + 05 RECORD-GROWTH PIC X(50). + + PROCEDURE DIVISION. + A-000-MAIN. + MOVE X'FA01' TO FH-ACTION + PERFORM A-100-OPEN-FILE. + MOVE SPACES TO RECORD-AREA + MOVE 0 TO DATA-AREA1 + PERFORM 7 TIMES + ADD 1 TO DATA-AREA1 + MOVE DATA-AREA1 TO FCD-RELATIVE-KEY + MOVE 'RECORD-1' TO PRIME-KEY + MOVE DATA-AREA1 (10:1) TO PRIME-KEY (8:1) + MOVE X'FAF3' TO FH-ACTION + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA + PERFORM A-200-CALL-EXTFH + END-PERFORM. + PERFORM A-600-CLOSE-FILE. + + MOVE X'FA02' TO FH-ACTION + PERFORM A-100-OPEN-FILE. + MOVE 3 TO FCD-RELATIVE-KEY + PERFORM A-700-UPDATE. + MOVE 6 TO FCD-RELATIVE-KEY + PERFORM A-700-UPDATE. + PERFORM A-600-CLOSE-FILE. + STOP RUN. + + A-100-Open-File. + MOVE LOW-VALUES TO FCD-AREA + MOVE FCD--VERSION-NUMBER TO FCD-VERSION + MOVE 'TESTREL.DAT' TO FILE-NAME + MOVE 11 TO FILE-NAME-LEN + MOVE FILE-NAME-LEN TO FCD-NAME-LENGTH + ** ACCESS SEQ(0) RANDOM(4) DYNAMIC(8) + MOVE 8 TO FCD-ACCESS-MODE + ** ISAM(2) RELATIVE(3) LSEQ(0) SEQ(1) + MOVE 3 TO FCD-ORGANIZATION + ** CLOSED(128) INPUT(0) OUTPUT(1) I-O(2) EXTEND(3) + MOVE 128 TO FCD-OPEN-MODE + ** FIXED(0) OR VARIABLE(1) + MOVE 0 TO FCD-RECORDING-MODE + SET FCD-FILENAME-ADDRESS TO ADDRESS OF FILE-NAME + MOVE LENGTH OF RECORD-AREA TO FCD-MIN-REC-LENGTH + MOVE LENGTH OF RECORD-AREA TO FCD-MAX-REC-LENGTH + MOVE LENGTH OF RECORD-AREA TO FCD-CURRENT-REC-LEN + PERFORM A-200-CALL-EXTFH. + + A-200-Call-Extfh. + CALL 'EXTFH' USING FH-ACTION + FCD-AREA + IF FCD-FILE-STATUS NOT = '00' AND NOT = '02' + IF FCD-STATUS-KEY-1 = '9' + DISPLAY "Operation: " FH-ACTION2 + " FILE ERROR, STATUS: 9/" FCD-BINARY + ELSE + DISPLAY "Operation: " FH-ACTION2 + " FILE ERROR, STATUS: " FCD-FILE-STATUS + END-IF + STOP RUN + END-IF. + A-300-READ-RECORD. + INITIALIZE RECORD-AREA. + MOVE READ-RANDOM-LOCK TO COBOL-OP. + SET FCD-RECORD-ADDRESS TO ADDRESS OF RECORD-AREA. + PERFORM A-200-CALL-EXTFH. + MOVE FCD-RELATIVE-KEY TO I. + A-400-REWRITE-RECORD. + MOVE COBOL-TYPE TO ACTION-TYPE. + MOVE REWRITE-RECORD TO COBOL-OP. + PERFORM A-200-CALL-EXTFH. + A-600-CLOSE-FILE. + MOVE X'FA80' TO FH-ACTION. + PERFORM A-200-CALL-EXTFH. + A-700-UPDATE. + PERFORM A-300-READ-RECORD. + DISPLAY 'READ ' I ': ' RECORD-AREA (1:41) '.'. + MOVE '1234567890' TO RECORD-GROWTH. + PERFORM A-400-REWRITE-RECORD. + PERFORM A-300-READ-RECORD. + DISPLAY 'REWRITE ' I ': ' RECORD-AREA (1:41) '.'. +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10831: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:10831" +( $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_file.at:10831" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10833: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:10833" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "READ 00003: RECORD-3 0000000003 . +REWRITE 00003: RECORD-3 00000000031234567890 . +READ 00006: RECORD-6 0000000006 . +REWRITE 00006: RECORD-6 00000000061234567890 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:10833" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_957 +#AT_START_958 +at_fn_group_banner 958 'run_file.at:10843' \ + "EXTFH: reading two files with one FCD" " " 4 +at_xfail=no +( + printf "%s\n" "958. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + **************************************************************** + PROGRAM-ID. prog. + *AUTHOR. TOKYO-SYSTEM-HOUSE. + *DATE-WRITTEN. 2023/02/28. + **************************************************************** + ENVIRONMENT DIVISION. + **************************************************************** + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT F-SEQ-FILE ASSIGN TO "F-SEQ" + ORGANIZATION IS SEQUENTIAL + FILE STATUS IS F-SEQ-STATUS. + SELECT F-TXT-FILE ASSIGN TO "F-TXT" + ORGANIZATION IS LINE SEQUENTIAL + FILE STATUS IS F-TXT-STATUS. + **************************************************************** + DATA DIVISION. + **************************************************************** + FILE SECTION. + FD F-SEQ-FILE. + 01 F-SEQ-RECORD. + 03 F-SEQ-DATA PIC X(5). + FD F-TXT-FILE. + 01 F-TXT-RECORD. + 03 F-TXT-DATA PIC X(10). + WORKING-STORAGE SECTION. + 01 F-SEQ-STATUS PIC X(2). + 01 F-TXT-STATUS PIC X(2). + + 01 OPCODE PIC X(2). + 78 OP-QUERY-FILE VALUE X"0006". + 78 OP-OPEN-INPUT VALUE X"fa00". + 78 OP-OPEN-OUTPUT VALUE X"fa01". + 78 OP-OPEN-I-O VALUE X"fa02". + 78 OP-WRITE VALUE X"faf3". + 78 OP-RELEASE VALUE X"faf3". + 78 OP-REWRITE VALUE X"faf4". + 78 OP-READ-NEXT VALUE X"faf5". + 78 OP-START-EQUAL VALUE X"fae9". + 78 OP-CLOSE VALUE X"fa80". + + 01 FCD. + COPY "xfhfcd3.cpy". + 01 EX-FILENAME PIC X(260). + 01 EX-RECORD-BUFFER PIC X(32767). + **************************************************************** + PROCEDURE DIVISION. + **************************************************************** + MAIN-RTN. + * CREATE FILE + OPEN OUTPUT F-SEQ-FILE. + MOVE "SEQ01" TO F-SEQ-DATA. + WRITE F-SEQ-RECORD. + MOVE "SEQ02" TO F-SEQ-DATA. + WRITE F-SEQ-RECORD. + MOVE "SEQ03" TO F-SEQ-DATA. + WRITE F-SEQ-RECORD. + MOVE "SEQ04" TO F-SEQ-DATA. + WRITE F-SEQ-RECORD. + MOVE "SEQ05" TO F-SEQ-DATA. + WRITE F-SEQ-RECORD. + CLOSE F-SEQ-FILE. + OPEN OUTPUT F-TXT-FILE. + MOVE "TXTA123456" TO F-TXT-DATA. + WRITE F-TXT-RECORD. + MOVE "TXTB123456" TO F-TXT-DATA. + WRITE F-TXT-RECORD. + MOVE "TXTC123456" TO F-TXT-DATA. + WRITE F-TXT-RECORD. + MOVE "TXTD123456" TO F-TXT-DATA. + WRITE F-TXT-RECORD. + CLOSE F-TXT-FILE. + + * SET FCD + MOVE LOW-VALUES TO FCD. + MOVE FCD--VERSION-NUMBER TO FCD-VERSION. + SET FCD-FILENAME-ADDRESS TO ADDRESS OF EX-FILENAME. + MOVE 80 TO FCD-NAME-LENGTH. + SET FCD-RECORD-ADDRESS TO ADDRESS OF EX-RECORD-BUFFER. + + * OPEN first file + MOVE fcd--sequential-org TO FCD-ORGANIZATION. + MOVE "F-SEQ" TO EX-FILENAME. + MOVE OP-OPEN-INPUT TO OPCODE. + MOVE FCD--DYNAMIC-ACCESS TO FCD-ACCESS-MODE. + MOVE 5 TO FCD-CURRENT-REC-LEN. + MOVE 5 TO FCD-MIN-REC-LENGTH. + MOVE 5 TO FCD-MAX-REC-LENGTH. + CALL "EXTFH" USING OPCODE, FCD. + DISPLAY "OPEN STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY. + + * READ RECORD + MOVE OP-READ-NEXT TO OPCODE. + MOVE "00" TO FCD-FILE-STATUS. + PERFORM UNTIL FCD-STATUS-KEY-1 NOT = "0" + MOVE SPACE TO EX-RECORD-BUFFER + CALL "EXTFH" USING OPCODE, FCD + DISPLAY "READ NEXT STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY + DISPLAY "DATA:" EX-RECORD-BUFFER(1:10) '-' + END-PERFORM. + + * CLOSE FILE + MOVE OP-CLOSE TO OPCODE. + CALL "EXTFH" USING OPCODE, FCD. + DISPLAY "CLOSE STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY. + + * OPEN second file + MOVE fcd--line-sequential-org TO FCD-ORGANIZATION. + MOVE "F-TXT" TO EX-FILENAME. + MOVE OP-OPEN-INPUT TO OPCODE. + MOVE FCD--DYNAMIC-ACCESS TO FCD-ACCESS-MODE. + MOVE 10 TO FCD-CURRENT-REC-LEN. + MOVE 10 TO FCD-MIN-REC-LENGTH. + MOVE 10 TO FCD-MAX-REC-LENGTH. + CALL "EXTFH" USING OPCODE, FCD. + DISPLAY "OPEN STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY. + + * READ RECORD + MOVE OP-READ-NEXT TO OPCODE. + MOVE "00" TO FCD-FILE-STATUS. + PERFORM UNTIL FCD-STATUS-KEY-1 NOT = "0" + MOVE SPACE TO EX-RECORD-BUFFER + CALL "EXTFH" USING OPCODE, FCD + DISPLAY "READ NEXT STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY + DISPLAY "DATA:" EX-RECORD-BUFFER(1:10) '-' + END-PERFORM. + + * CLOSE FILE + MOVE OP-CLOSE TO OPCODE. + CALL "EXTFH" USING OPCODE, FCD. + DISPLAY "CLOSE STATUS:" + FCD-STATUS-KEY-1 "/" FCD-BINARY. + + MAIN-EXT. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10990: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:10990" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:10990" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:10992: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:10992" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OPEN STATUS:0/48 +READ NEXT STATUS:0/48 +DATA:SEQ01 - +READ NEXT STATUS:0/48 +DATA:SEQ02 - +READ NEXT STATUS:0/48 +DATA:SEQ03 - +READ NEXT STATUS:0/48 +DATA:SEQ04 - +READ NEXT STATUS:0/48 +DATA:SEQ05 - +READ NEXT STATUS:1/48 +DATA: - +CLOSE STATUS:0/48 +OPEN STATUS:0/48 +READ NEXT STATUS:0/48 +DATA:TXTA123456- +READ NEXT STATUS:0/48 +DATA:TXTB123456- +READ NEXT STATUS:0/48 +DATA:TXTC123456- +READ NEXT STATUS:0/48 +DATA:TXTD123456- +READ NEXT STATUS:1/48 +DATA: - +CLOSE STATUS:0/48 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:10992" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_958 +#AT_START_959 +at_fn_group_banner 959 'run_file.at:11024' \ + "EXTFH: auto-conversion FCD2 <-> FCD3 on 32bit" " " 4 +at_xfail=no +( + printf "%s\n" "959. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# FIXME: check for missing record / file pointer address should be +# moved to general EXTFH test + +printf "%s\n" "run_file.at:11029" >"$at_check_line_file" +(test "$COB_HAS_64_BIT_POINTER" = "yes") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:11029" + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + DATA DIVISION. + FILE SECTION. + WORKING-STORAGE SECTION. + + 01 I PIC XX COMP-X. + + 01 WS-FCD-DDNAME PIC X(10) VALUE SPACES. + 01 WS-FCD-PTR POINTER VALUE NULL. + + 01 WS-FCD-SIZE PIC 9(04) VALUE 0 COMP-5. + 01 WS-FCD-FLAGS PIC 9(04) VALUE 0 COMP-5. + + 01 DISPLAY-BYTE. + 05 DISPLAY-XXX PIC X(03). + 05 DISPLAY-ZZ9 REDEFINES DISPLAY-XXX + PIC ZZ9. + 01 ACTION-CODE pic x(2). + 78 OP-OPEN-INPUT value x"fa00". + 78 OP-OPEN-OUTPUT value x"fa01". + 78 OP-OPEN-I-O value x"fa02". + 78 OP-WRITE value x"faf3". + 78 OP-RELEASE value x"faf3". + 78 OP-REWRITE value x"faf4". + 78 OP-READ-NEXT value x"faf5". + 78 OP-START-EQUAL value x"fae9". + 78 OP-CLOSE value x"fa80". + 78 OP-QUERY-FILE value x"0006". + + 01 DISPLAY-A1-XXX PIC X(03). + 01 DISPLAY-A1-ZZ9 REDEFINES DISPLAY-A1-XXX + PIC ZZ9. + 01 DISPLAY-A2-XXX PIC X(03). + 01 DISPLAY-A2-ZZ9 REDEFINES DISPLAY-A2-XXX + PIC ZZ9. + + 01 FCD-FILENAME PIC X(80) value "test.out". + 01 FCD-RECORD PIC X(512) value spaces. + + LINKAGE SECTION. + + 01 FCD-MAP. + ********************************************* + * FCD2 definition for Callable File Handler * + ********************************************* + 05 FCD-FILE-STATUS. + 10 FCD-STATUS-KEY-1 PIC X. + 10 FCD-STATUS-KEY-2 PIC X. + 10 FCD-BINARY REDEFINES FCD-STATUS-KEY-2 + PIC X COMP-X. + 05 FCD-LENGTH PIC XX COMP-X. + 05 FCD-VERSION PIC X COMP-X. + 78 FCD-VERSION-NUMBER VALUE 0. + + 05 FCD-ORGANIZATION PIC 9(2) COMP-X. + 78 fcd--line-sequential-org value 0. + 78 fcd--sequential-org value 1. + 78 fcd--indexed-org value 2. + 78 fcd--relative-org value 3. + 78 fcd--determine-org value 255. *> see opcode 0006 + 05 FCD-ACCESS-MODE PIC 9(2) COMP-X. + 78 fcd--sequential-access value 0. + 78 fcd--dup-prime-access value 1. + 78 fcd--random-access value 4. + 78 fcd--dynamic-access value 8. + 78 fcd--status-defined value h"80". + 05 FCD-OPEN-MODE PIC 9(2) COMP-X. + 78 fcd--open-input value 0. + 78 fcd--open-output value 1. + 78 fcd--open-i-o value 2. + 78 fcd--open-extend value 3. + 78 fcd--open-max value 3. + 78 fcd--open-closed value 128. + 05 FILLER PIC X(2). + 05 FCD-BLOCK-SIZE PIC 9(2) COMP-X. + 05 FCD-NAME-LENGTH PIC 9(4) COMP-X. + 05 FCD-RELADDR-BIG PIC X(8) COMP-X. + 05 FILLER PIC X. + 05 FCD-TRANS-LOG PIC 9(2) COMP-X. + 05 FILLER PIC X(1). + 05 FCD-LOCK-MODE PIC 9(2) COMP-X. + 78 fcd--multilock-bit value h"80". + 78 fcd--writelock-bit value h"40". + 78 fcd--retry-open-bit value h"20". + 78 fcd--skip-lock-bit value h"10". + 78 fcd--retry-lock-bit value h"08". + 78 fcd--manual-lock-bit value h"04". + 78 fcd--auto-lock-bit value h"02". + 78 fcd--exclusive-bit value h"01". + 78 fcd--sharing-bits + value fcd--manual-lock-bit + fcd--auto-lock-bit. + 05 FCD-OTHER-FLAGS PIC 9(2) COMP-X. + 78 fcd--optional-file value h"80". + 78 fcd--nodetectlock-input value h"40". + 78 fcd--not-optional value h"20". + 78 fcd--external-name value h"10". + 78 fcd--get-info value h"08". + 78 fcd--nodetectlock value h"04". + 78 fcd--multiple-reel value h"02". + 78 fcd--line-advancing value h"01". + 78 fcd--special-sequential + value fcd--optional-file + + fcd--multiple-reel + fcd--line-advancing. + 05 FILLER PIC X(2). + 05 FCD-HANDLE USAGE POINTER. + 05 FCD-PERCENT PIC 9(2) COMP-X. + 05 FCD-REC-COUNT-SET REDEFINES FCD-PERCENT + PIC 9(2) COMP-X. + 05 FCD-STATUS-TYPE PIC 9(2) COMP-X. + 05 FCD-FILE-FORMAT PIC 9(2) COMP-X. + 05 FILLER PIC X(3). + 05 FCD-MAX-REC-LENGTH PIC XX COMP-X. + 05 FILLER PIC X(2). + 05 FCD-MVS-FLAGS PIC 9(2) COMP-X. + 05 FCD-RELATIVE-KEY PIC 9(9) COMP-X. + 05 FCD-RECORDING-MODE PIC 9(2) COMP-X. + 78 fcd--recmode-fixed value 0. + 78 fcd--recmode-variable value 1. + 05 FCD-CURRENT-REC-LEN PIC XX COMP-X. + 05 FCD-MIN-REC-LENGTH PIC XX COMP-X. + 05 FCD-KEY-ID PIC 9(4) COMP-X. + 05 FCD-LINE-COUNT REDEFINES FCD-KEY-ID + PIC 9(4) COMP-X. + 05 REDEFINES FCD-KEY-ID. + 10 FCD-USE-FILES PIC X COMP-X. + 10 FCD-GIVE-FILES PIC X COMP-X. + 05 FCD-KEY-LENGTH PIC 9(4) COMP-X. + 05 FCD-RECORD-ADDRESS USAGE POINTER. + 05 FCD-FILENAME-ADDRESS USAGE POINTER. + 05 FCD-KEY-DEF-ADDRESS USAGE POINTER. + 05 FCD-COL-SEQ-ADDRESS USAGE POINTER. + 05 FCD-RELADDR-OFFSET PIC 9(9) COMP-X. + 05 FCD-RELADDR REDEFINES FCD-RELADDR-OFFSET + PIC 9(9) COMP-X. + 05 FCD-FILDEF-ADDRESS REDEFINES FCD-RELADDR-OFFSET + USAGE POINTER. + 05 FCD-NLS-ID PIC 9(4) COMP-X. + 05 FCD-DATA-COMPRESS PIC 9(2) COMP-X. + 05 FCD-SESSION-ID PIC 9(9) COMP-X. + 05 FCD-FS-FILE-ID PIC 9(4) COMP-X. + 05 FCD-MAX-REL-KEY PIC 9(9) COMP-X. + 05 FCD-FLAGS-1 PIC 99 COMP-X. + 05 FCD-BLOCKING PIC 99 COMP-X. + 05 FCD-ADDITIONAL-STATUS REDEFINES FCD-BLOCKING + PIC X COMP-X. + 05 FCD-LOCKTYPES PIC 99 COMP-X. + 78 fcd--interlang-locking value h"80". + 78 fcd--allow-readers value h"40". + 78 fcd--separate-lock-file value h"20". + 78 fcd--single-open value h"10". + 78 fcd--nfs-file-lock value h"08". + 78 fcd--nfs-file-lock-hp value h"04". + 78 fcd--nfs-file-locks + value fcd--nfs-file-lock + fcd--nfs-file-lock-hp. + 05 FCD-FS-FLAGS PIC 99 COMP-X. + 05 FCD-CONFIG-FLAGS PIC 99 COMP-X. + 05 FCD-MISC-FLAGS PIC 99 COMP-X. + 05 FCD-CONFIG-FLAGS2 PIC 99 COMP-X. + 05 FCD-IDXCACHE-SIZE PIC 99 COMP-X. + 05 FCD-IDXCACHE-BUFFS PIC 99 COMP-X. + 05 FCD-INTERNAL-FLAGS-1 PIC X COMP-X. + 05 FCD-INTERNAL-FLAGS-2 PIC X COMP-X. + + *================================================================* + PROCEDURE DIVISION. + *----------------------------------------------------------------* + 000-MAIN. + + PERFORM 100-OPEN. + + PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10 + MOVE I TO DISPLAY-A1-ZZ9 + MOVE DISPLAY-A1-ZZ9 TO FCD-RECORD + MOVE 10 TO FCD-CURRENT-REC-LEN + IF I = 3 OR 5 + MOVE "Have a great day" TO FCD-RECORD (5:20) + MOVE 25 TO FCD-CURRENT-REC-LEN + END-IF + IF I = 8 + MOVE "Enjoy the show" TO FCD-RECORD (5:20) + MOVE 19 TO FCD-CURRENT-REC-LEN + END-IF + PERFORM 300-WRITE + END-PERFORM. + + PERFORM 400-CLOSE. + + MOVE OP-OPEN-INPUT TO ACTION-CODE + PERFORM 800-CALL-EXTFH + DISPLAY "Listing " WS-FCD-DDNAME '.'. + PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10 + PERFORM 350-READ + DISPLAY FCD-CURRENT-REC-LEN ": " + FCD-RECORD (1:FCD-CURRENT-REC-LEN) " :" + END-PERFORM. + PERFORM 400-CLOSE. + STOP RUN. + + *----------------------------------------------------------------* + * Process the open request + * + 100-OPEN. + + MOVE "TESTOUT" TO WS-FCD-DDNAME + + MOVE LENGTH OF FCD-MAP TO WS-FCD-SIZE + DISPLAY "FCD SIZE " WS-FCD-SIZE '.'. + DISPLAY "Writing " WS-FCD-DDNAME '.'. + + IF WS-FCD-PTR EQUAL NULL + ALLOCATE ws-fcd-size CHARACTERS + returning WS-FCD-PTR + + SET ADDRESS OF FCD-MAP TO WS-FCD-PTR + MOVE LOW-VALUES TO FCD-MAP + MOVE WS-FCD-SIZE TO FCD-LENGTH + MOVE FCD-VERSION-NUMBER TO FCD-VERSION + MOVE "00" TO FCD-FILE-STATUS + MOVE FCD--STATUS-DEFINED TO FCD-ACCESS-MODE + MOVE FCD--OPEN-CLOSED TO FCD-OPEN-MODE + MOVE FCD--EXTERNAL-NAME TO FCD-OTHER-FLAGS + SET FCD-HANDLE TO NULL + MOVE 8 TO FCD-NAME-LENGTH + SET FCD-FILENAME-ADDRESS TO ADDRESS + OF WS-FCD-DDNAME + SET FCD-KEY-DEF-ADDRESS TO NULL + MOVE FCD--ALLOW-READERS TO FCD-LOCKTYPES + ELSE + SET ADDRESS OF FCD-MAP TO WS-FCD-PTR + IF FCD-OPEN-MODE NOT = fcd--open-closed + DISPLAY "ERRROR - FILE ALREADY OPEN" + STOP RUN + END-IF + END-IF + + MOVE FCD--LINE-SEQUENTIAL-ORG TO FCD-ORGANIZATION + MOVE FCD--RECMODE-FIXED TO FCD-RECORDING-MODE + MOVE 10 TO FCD-MIN-REC-LENGTH + MOVE 50 TO FCD-MAX-REC-LENGTH + + * Check for missing record address + * MOVE OP-OPEN-OUTPUT TO ACTION-CODE + * PERFORM 800-CALL-EXTFH + + SET FCD-RECORD-ADDRESS TO ADDRESS OF FCD-RECORD + SET FCD-FILENAME-ADDRESS TO NULL + * Check for missing filename address + MOVE OP-OPEN-OUTPUT TO ACTION-CODE + PERFORM 800-CALL-EXTFH + + * Now set record address + SET FCD-RECORD-ADDRESS TO ADDRESS OF FCD-RECORD + SET FCD-FILENAME-ADDRESS TO ADDRESS OF WS-FCD-DDNAME + MOVE OP-OPEN-OUTPUT TO ACTION-CODE + PERFORM 800-CALL-EXTFH + . + + *----------------------------------------------------------------* + * Process the write request + *----------------------------------------------------------------* + 300-WRITE. + MOVE OP-WRITE TO ACTION-CODE + PERFORM 800-CALL-EXTFH + . + + *----------------------------------------------------------------* + * Process the read request + *----------------------------------------------------------------* + 350-READ. + MOVE OP-READ-NEXT TO ACTION-CODE + PERFORM 800-CALL-EXTFH + . + + *----------------------------------------------------------------* + * Process the close request + *----------------------------------------------------------------* + 400-CLOSE. + MOVE OP-CLOSE TO ACTION-CODE + PERFORM 800-CALL-EXTFH + . + *----------------------------------------------------------------* + * External file handler interface -- all I/O goes through here + * + 800-CALL-EXTFH. + + MOVE "00" TO FCD-FILE-STATUS + CALL "EXTFH" USING ACTION-CODE, FCD-MAP + + IF FCD-STATUS-KEY-1 NOT = "0" + IF FCD-STATUS-KEY-1 = "9" + IF FCD-BINARY = 161 + DISPLAY "EXTFH Status: 9/" FCD-BINARY + DISPLAY "FCD2 is not accepted!" + STOP RUN + END-IF + DISPLAY "EXTFH Status: 9/" FCD-BINARY + IF FCD-BINARY = 141 + DISPLAY "FCD2 is missing value(s)!" + END-IF + ELSE + DISPLAY "EXTFH Status: " FCD-FILE-STATUS + END-IF + END-IF + IF FCD-STATUS-KEY-1 = "9" AND FCD-BINARY = 199 + MOVE "10" TO FCD-FILE-STATUS + END-IF + . +_ATEOF + + +# FIXME: by default comp-x should not be truncated (see trunk) +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:11348: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_file.at:11348" +( $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_file.at:11348" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:11350: TESTOUT=TEST-OUT \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "TESTOUT=TEST-OUT $COBCRUN_DIRECT ./prog" "run_file.at:11350" +( $at_check_trace; TESTOUT=TEST-OUT $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:293: warning: ERROR: EXTFH called with no filename pointer +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "FCD SIZE 00100. +Writing TESTOUT . +EXTFH Status: 9/141 +FCD2 is missing value(s)! +Listing TESTOUT . +00003: 1 : +00003: 2 : +00020: 3 Have a great day : +00003: 4 : +00020: 5 Have a great day : +00003: 6 : +00003: 7 : +00018: 8 Enjoy the show : +00003: 9 : +00003: 10 : +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:11350" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + 1 + 2 + 3 Have a great day + 4 + 5 Have a great day + 6 + 7 + 8 Enjoy the show + 9 + 10 +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:11385: diff reference TEST-OUT" +at_fn_check_prepare_trace "run_file.at:11385" +( $at_check_trace; diff reference TEST-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:11385" +$at_failed && at_fn_log_failure \ +"TEST-OUT" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_959 +#AT_START_960 +at_fn_group_banner 960 'run_file.at:11390' \ + "RELATIVE Multi-Record" " " 4 +at_xfail=no +( + printf "%s\n" "960. $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 RELVAR + ORGANIZATION RELATIVE + ACCESS IS SEQUENTIAL + 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-TYPE PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-DISK PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(4) COMP-4. + 10 CM-PK-DATE PICTURE S9(14) COMP-3. + 10 CM-TRAILER PICTURE X(251). + + 01 TSP2-RECORD. + 10 C2-CUST-NUM PICTURE X(8). + 10 C2-TYPE PICTURE X. + 10 C2-COMPANY PICTURE X(25). + 10 C2-ADDRESS PICTURE X(25). + 10 C2-DISK PICTURE X(8). + 10 C2-NO-TERMINALS PICTURE 9(4) COMP-4. + 10 C2-PK-DATE PICTURE S9(14) COMP-3. + + + WORKING-STORAGE SECTION. + + 78 MAX-SUB VALUE 6. + 77 CUST-STAT PICTURE X(2). + 77 REC-NUM VALUE 1 BINARY-SHORT UNSIGNED. + + 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 "GAM00000". + 05 FILLER PIC X(8) VALUE "DEL00000". + 05 FILLER PIC X(8) VALUE "EPS00000". + 05 FILLER PIC X(8) VALUE "FOR00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 ". + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + + 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 MAX-SUB. + 01 WORK-AREA. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5. + + + PROCEDURE DIVISION. + + PERFORM LOADFILE. + OPEN INPUT FLATFILE. + DISPLAY "Initial Re-Read Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + IF CUST-STAT = "30" + CLOSE FLATFILE + STOP RUN + END-IF + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + DISPLAY "For Rewrite Open I-O Sts:" CUST-STAT + PERFORM READ-RECORD + ADD 1 TO C2-NO-TERMINALS + REWRITE TSP2-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" C2-NO-TERMINALS. + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + DISPLAY "For Rewrite/Delete Open I-O Sts:" CUST-STAT + PERFORM READ-RECORD + ADD 1 TO C2-NO-TERMINALS + REWRITE TSP2-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" C2-NO-TERMINALS. + PERFORM READ-RECORD + DELETE FLATFILE + DISPLAY "DELETE " CM-CUST-NUM " Sts " CUST-STAT. + CLOSE FLATFILE. + + OPEN INPUT FLATFILE. + DISPLAY "Re-list Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + + OPEN EXTEND FLATFILE. + PERFORM LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > 2. + CLOSE FLATFILE. + + OPEN INPUT FLATFILE. + DISPLAY "Re-list afer Extend Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + STOP RUN RETURNING 0. + + 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. + + READ-RECORD. + MOVE SPACES TO TSPFL-RECORD. + MOVE SPACES TO TSP2-RECORD. + READ FLATFILE + IF CUST-STAT NOT = "00" + DISPLAY "Read Status: " CUST-STAT + ELSE + IF CM-TYPE = SPACES + DISPLAY "Read " CM-CUST-NUM " #:" REC-NUM + " Trms:" CM-NO-TERMINALS + ELSE + DISPLAY "Read2 " C2-CUST-NUM " #:" REC-NUM + " Trms:" C2-NO-TERMINALS + END-IF. + * + LOAD-RECORD. + MOVE SPACES TO TSPFL-RECORD. + MOVE SPACES TO TSP2-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. + MOVE 20070319 TO CM-PK-DATE. + IF SUB = 1 OR 4 OR 6 + MOVE -20070319 TO CM-PK-DATE. + * + IF ODD-RECORD + MOVE "8417" TO C2-DISK + * MOVE CM-CUST-NUM TO C2-CUST-NUM + MOVE '2' TO C2-TYPE + * MOVE CM-COMPANY TO C2-COMPANY + MOVE CM-PK-DATE TO C2-PK-DATE + MOVE CM-NO-TERMINALS TO C2-NO-TERMINALS + MOVE DATA-ADDRESS (SUB) TO C2-ADDRESS + WRITE TSP2-RECORD + ELSE + MOVE "8470" TO CM-DISK + MOVE ' ' TO CM-TYPE + WRITE TSPFL-RECORD. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:11598: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:11598" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:11598" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:11600: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:11600" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Loading sample program data file. +Sample program data file load complete. +Initial Re-Read Open Sts:00 +Read2 ALP00000 #:00001 Trms:0010 +Read BET00000 #:00002 Trms:0013 +Read2 GAM00000 #:00003 Trms:0075 +Read DEL00000 #:00004 Trms:0010 +Read2 EPS00000 #:00005 Trms:0090 +Read FOR00000 #:00006 Trms:0254 +Read Status: 10 +For Rewrite Open I-O Sts:00 +Read2 ALP00000 #:00001 Trms:0010 +REWRITE ALP00000 Sts 00 Trms:0011 +For Rewrite/Delete Open I-O Sts:00 +Read2 ALP00000 #:00001 Trms:0011 +REWRITE ALP00000 Sts 00 Trms:0012 +Read BET00000 #:00002 Trms:0013 +DELETE BET00000 Sts 00 +Re-list Open Sts:00 +Read2 ALP00000 #:00001 Trms:0012 +Read2 GAM00000 #:00003 Trms:0075 +Read DEL00000 #:00004 Trms:0010 +Read2 EPS00000 #:00005 Trms:0090 +Read FOR00000 #:00006 Trms:0254 +Read Status: 10 +Re-list afer Extend Open Sts:00 +Read2 ALP00000 #:00001 Trms:0012 +Read2 GAM00000 #:00003 Trms:0075 +Read DEL00000 #:00004 Trms:0010 +Read2 EPS00000 #:00005 Trms:0090 +Read FOR00000 #:00006 Trms:0254 +Read2 ALP00000 #:00007 Trms:0010 +Read BET00000 #:00008 Trms:0013 +Read Status: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:11600" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_960 +#AT_START_961 +at_fn_group_banner 961 'run_file.at:11640' \ + "INDEXED File READ/DELETE/READ" " " 4 +at_xfail=no +( + printf "%s\n" "961. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:11643" >"$at_check_line_file" +(test "$COB_HAS_ISAM" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:11643" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT TSPFILE + ASSIGN TO EXTERNAL TSPFILE + ORGANIZATION INDEXED ACCESS DYNAMIC + RECORD KEY IS CM-CUST-NUM + + ALTERNATE RECORD KEY IS SPLIT-KEY2 + SOURCE IS CM-TELEPHONE WITH DUPLICATES + + ALTERNATE RECORD KEY IS SPLIT-KEY3 + SOURCE IS CM-DISK,CM-TAPE WITH DUPLICATES + * SUPPRESS WHEN ALL "*" + FILE STATUS IS CUST-STAT + . + + DATA DIVISION. + FILE SECTION. + FD TSPFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSPFL-RECORD. + 05 TSPFL-REC. + 10 CM-CUST-NUM. + 15 CM-CUST-PRE PICTURE X(3). + 15 CM-CUST-NNN PICTURE X(5). + 10 CM-STATUS PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-ADDRESS-1 PICTURE X(25). + 10 CM-ADDRESS-2 PICTURE X(25). + 10 CM-ADDRESS-3 PICTURE X(25). + 10 CM-TELEPHONE PICTURE 9(10). + 10 CM-DP-MGR PICTURE X(25). + 10 CM-MACHINE PICTURE X(8). + 10 CM-MEMORY PICTURE X(4). + 10 CM-DISK PICTURE X(8). + 10 CM-TAPE PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(5). + + WORKING-STORAGE SECTION. + + 01 CUST-STAT. + 05 STAT-1 PICTURE 9(4) COMP SYNC. + 05 FILLER REDEFINES STAT-1. + 10 STAT-X1 PIC X COMP-X. + 10 STAT-X2 PIC X COMP-X. + 77 DATA-STAT PICTURE XX. + 77 ISAM-STAT PICTURE XX. + 77 BYTE-1 PICTURE 9(3). + 77 BYTE-2 PICTURE 9(3). + 78 MAX-SUB VALUE 16. + 77 SAV-KEY PIC X(8). + + 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 "GAM00000". + 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 "GIB00000". + 05 FILLER PIC X(8) VALUE "H&J00000". + 05 FILLER PIC X(8) VALUE "INC00000". + 05 FILLER PIC X(8) VALUE "JOH00000". + 05 FILLER PIC X(8) VALUE "KON00000". + 05 FILLER PIC X(8) VALUE "LEW00000". + 05 FILLER PIC X(8) VALUE "MOR00000". + 05 FILLER PIC X(8) VALUE "NEW00000". + 05 FILLER PIC X(8) VALUE "OLD00000". + 05 FILLER PIC X(8) VALUE "PRE00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 "GIBRALTER LIFE INSURANCE ". + 05 FILLER PIC X(25) VALUE "H & J PLUMBING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "INCREMENTAL BACKUP CORP. ". + 05 FILLER PIC X(25) VALUE "JOHNSON BOATING SUPPLIES ". + 05 FILLER PIC X(25) VALUE "KONFLAB PLASTIC PRODUCTS.". + 05 FILLER PIC X(25) VALUE "LEWISTON GRAPHICS LTD. ". + 05 FILLER PIC X(25) VALUE "MORNINGSIDE CARPENTRY. ". + 05 FILLER PIC X(25) VALUE "NEW WAVE SURF SHOPS INC. ". + 05 FILLER PIC X(25) VALUE "OLD TYME PIZZA MFG. CO. ". + 05 FILLER PIC X(25) VALUE "PRESTIGE OFFICE FURNITURE". + + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-1-TBL. + + 05 FILLER PIC X(25) VALUE "123 MAIN STREET ". + 05 FILLER PIC X(25) VALUE "1090 2ND AVE. WEST ". + 05 FILLER PIC X(25) VALUE "1401 JEFFERSON BLVD. ". + 05 FILLER PIC X(25) VALUE "1620 ARIZONA WAY ". + 05 FILLER PIC X(25) VALUE "1184 EAST FIRST STREET ". + 05 FILLER PIC X(25) VALUE "114 JOHN F. KENNEDY AVE. ". + 05 FILLER PIC X(25) VALUE "650 LIBERTY CRESCENT ". + 05 FILLER PIC X(25) VALUE "77 SUNSET BLVD. ". + 05 FILLER PIC X(25) VALUE "10908 SANTA MONICA BLVD. ". + 05 FILLER PIC X(25) VALUE "1134 PARIS ROAD ". + 05 FILLER PIC X(25) VALUE "808 NORTHWEST MAIN ST. ". + 05 FILLER PIC X(25) VALUE "9904 QUEEN STREET ". + 05 FILLER PIC X(25) VALUE "1709 DUNDAS CRESCENT W. ". + 05 FILLER PIC X(25) VALUE "3240 MARIS AVENUE ". + 05 FILLER PIC X(25) VALUE "1705 WISCONSIN ROAD ". + 05 FILLER PIC X(25) VALUE "114A MAPLE GROVE ". + + 02 DATA-ADDRESS-1 REDEFINES DATA-ADDRESS-1-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "SAN DIEGO ". + 05 FILLER PIC X(10) VALUE "LOS RIOS ". + 05 FILLER PIC X(10) VALUE "MADISON ". + 05 FILLER PIC X(10) VALUE "WILBUR ". + 05 FILLER PIC X(10) VALUE "TOPEKA ". + 05 FILLER PIC X(10) VALUE "SEATTLE ". + 05 FILLER PIC X(10) VALUE "NEW JERSEY". + 05 FILLER PIC X(10) VALUE "FORT WAYNE". + 05 FILLER PIC X(10) VALUE "COLUMBUS ". + 05 FILLER PIC X(10) VALUE "RICHMOND ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS-2 REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-ADDRESS-3-TBL. + + 05 FILLER PIC X(10) VALUE "N.Y. ". + 05 FILLER PIC X(10) VALUE "GEORGIA ". + 05 FILLER PIC X(10) VALUE "D.C. ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CANADA ". + 05 FILLER PIC X(10) VALUE "CALIFORNIA". + 05 FILLER PIC X(10) VALUE "NEW MEXICO". + 05 FILLER PIC X(10) VALUE "WISCONSIN ". + 05 FILLER PIC X(10) VALUE "DELAWARE ". + 05 FILLER PIC X(10) VALUE "KANSAS ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "N.J. ". + 05 FILLER PIC X(10) VALUE "COLORADO ". + 05 FILLER PIC X(10) VALUE "OHIO ". + 05 FILLER PIC X(10) VALUE "VIRGINIA ". + 05 FILLER PIC X(10) VALUE "N.Y. ". + + 02 DATA-ADDRESS-3 REDEFINES DATA-ADDRESS-3-TBL + PIC X(10) OCCURS MAX-SUB. + 02 DATA-TELEPHONE-TBL. + + 05 FILLER PIC 9(10) VALUE 3131234432. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 8372487274. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 5292398745. + 05 FILLER PIC 9(10) VALUE 8009329492. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 6546456333. + 05 FILLER PIC 9(10) VALUE 3455445444. + 05 FILLER PIC 9(10) VALUE 6456445643. + 05 FILLER PIC 9(10) VALUE 7456434355. + 05 FILLER PIC 9(10) VALUE 6554456433. + 05 FILLER PIC 9(10) VALUE 4169898509. + 05 FILLER PIC 9(10) VALUE 7534587453. + 05 FILLER PIC 9(10) VALUE 8787458374. + 05 FILLER PIC 9(10) VALUE 4169898509. + + 02 DATA-TELEPHONE REDEFINES DATA-TELEPHONE-TBL + PIC 9(10) OCCURS MAX-SUB. + 02 DATA-DP-MGR-TBL. + + 05 FILLER PIC X(20) VALUE "MR. DAVE HARRIS ". + 05 FILLER PIC X(20) VALUE "MS. JANICE SILCOX ". + 05 FILLER PIC X(20) VALUE "MR. ALLAN JONES ". + 05 FILLER PIC X(20) VALUE "MR. PETER MACKAY ". + 05 FILLER PIC X(20) VALUE "MRS. DONNA BREWER ". + 05 FILLER PIC X(20) VALUE "MR. MICHAEL SMYTHE ". + 05 FILLER PIC X(20) VALUE "MR. D.A. MORRISON ". + 05 FILLER PIC X(20) VALUE "MR. BRIAN PATTERSON ". + 05 FILLER PIC X(20) VALUE "MR. DARRYL TOWNSEND ". + 05 FILLER PIC X(20) VALUE "MS. VALERIE HARPER ". + 05 FILLER PIC X(20) VALUE "MR. FRED MILLER ". + 05 FILLER PIC X(20) VALUE "MR. DONALD FISCHER ". + 05 FILLER PIC X(20) VALUE "MR. STEVEN YOURDIN ". + 05 FILLER PIC X(20) VALUE "MS. Goldie Hawn ". + 05 FILLER PIC X(20) VALUE "MS. ALICE WINSTON ". + 05 FILLER PIC X(20) VALUE "MR. THOMAS JEFFERSON". + + 02 DATA-DP-MGR REDEFINES DATA-DP-MGR-TBL + PIC X(20) OCCURS MAX-SUB. + 02 DATA-MACHINE-TBL. + + 05 FILLER PIC X(8) VALUE "UNI-9030". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-80/3". + 05 FILLER PIC X(8) VALUE "UNI-80/5". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/6". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-80/8". + 05 FILLER PIC X(8) VALUE "UNI-9040". + 05 FILLER PIC X(8) VALUE "UNI-9040". + + 02 DATA-MACHINE REDEFINES DATA-MACHINE-TBL + PIC X(8) OCCURS MAX-SUB. + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(3) COMP-3 VALUE 85. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 75. + 05 FILLER PIC 9(3) COMP-3 VALUE 45. + 05 FILLER PIC 9(3) COMP-3 VALUE 90. + 05 FILLER PIC 9(3) COMP-3 VALUE 107. + 05 FILLER PIC 9(3) COMP-3 VALUE 67. + 05 FILLER PIC 9(3) COMP-3 VALUE 32. + 05 FILLER PIC 9(3) COMP-3 VALUE 16. + 05 FILLER PIC 9(3) COMP-3 VALUE 34. + 05 FILLER PIC 9(3) COMP-3 VALUE 128. + 05 FILLER PIC 9(3) COMP-3 VALUE 64. + 05 FILLER PIC 9(3) COMP-3 VALUE 110. + 05 FILLER PIC 9(3) COMP-3 VALUE 324. + 05 FILLER PIC 9(3) COMP-3 VALUE 124. + 05 FILLER PIC 9(3) COMP-3 VALUE 86. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) COMP-3 OCCURS MAX-SUB. + + 78 REC-MAX VALUE MAX-SUB. + 01 WORK-AREA. + 05 REC-NUM BINARY-SHORT UNSIGNED VALUE 0. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5 7 9 10 11. + 88 NULL-KEY VALUE 4 5 8 12 14. + + 05 TSPFL-KEY PICTURE X(8). + + PROCEDURE DIVISION. + + MAINFILE. + DISPLAY "Loading sample data file." + UPON CONSOLE. + PERFORM LOADFILE. + DISPLAY "Sample data file load complete." + UPON CONSOLE. + PERFORM LIST-FILE. + PERFORM LIST-PHONE. + PERFORM DELSEQ-FILE. + PERFORM LIST-PHONE. + PERFORM LOADFILE. + PERFORM LIST-PHONE. + PERFORM DELPRV-FILE. + PERFORM LIST-PHONE. + * PERFORM DEL-FILE. + STOP RUN. + + LOADFILE. + OPEN OUTPUT TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "05" + DIVIDE STAT-1 BY 256 GIVING BYTE-1 REMAINDER BYTE-2 + DISPLAY "Error " CUST-STAT " " BYTE-1 " " BYTE-2 + " opening 'testisam' file" + UPON CONSOLE + STOP RUN + END-IF. + + PERFORM 1000-LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB. + + CLOSE TSPFILE. + + DEL-FILE. + DISPLAY "Rewrite sample data file: " CUST-STAT + UPON CONSOLE. + + OPEN I-O TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "05" + DIVIDE STAT-1 BY 256 GIVING BYTE-1 REMAINDER BYTE-2 + DISPLAY "Error " CUST-STAT " " BYTE-1 " " BYTE-2 + " opening 'testisam' file" + UPON CONSOLE + STOP RUN + END-IF. + MOVE "DEL00000" TO CM-CUST-NUM + READ TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read lock " CM-CUST-NUM + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + END-IF + MOVE "INC00000" TO CM-CUST-NUM + READ TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read lock " CM-CUST-NUM + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + END-IF + + DISPLAY "Sample data file rewrite complete." + UPON CONSOLE. + CLOSE TSPFILE. + + DELSEQ-FILE. + DISPLAY "Test Read/Delete" UPON CONSOLE. + MOVE "00" TO CUST-STAT. + OPEN I-O TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "05" + DIVIDE STAT-1 BY 256 GIVING BYTE-1 REMAINDER BYTE-2 + DISPLAY "Error " CUST-STAT " " BYTE-1 " " BYTE-2 + " opening 'testisam' file" + UPON CONSOLE + STOP RUN + END-IF. + MOVE "INC00000" TO CM-CUST-NUM + READ TSPFILE + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " random" + END-IF + MOVE "ALP00000" TO CM-CUST-NUM + READ TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " random" + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + ELSE + DISPLAY " Read: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + MOVE "PRE00000" TO CM-CUST-NUM + READ TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " random" + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Expected " CUST-STAT + " after delete " CM-CUST-NUM + ELSE + DISPLAY " Read: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + + MOVE SPACES TO TSPFL-RECORD + MOVE '4169898509' TO CM-TELEPHONE + START TSPFILE KEY GREATER THAN OR EQUAL TO SPLIT-KEY2 + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + PERFORM 4 TIMES + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " start " CM-CUST-NUM + ELSE + DISPLAY "Initial: " CM-CUST-NUM " " CM-TELEPHONE + IF CM-TELEPHONE = '4169898509' + MOVE CM-CUST-NUM TO SAV-KEY + END-IF + END-IF + END-PERFORM + MOVE SPACES TO TSPFL-RECORD + MOVE '4169898509' TO CM-TELEPHONE + START TSPFILE KEY GREATER THAN OR EQUAL TO SPLIT-KEY2 + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " start " CM-CUST-NUM + ELSE + DISPLAY " Start: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + ELSE + DISPLAY " Next: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " sequential" + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + ELSE + DISPLAY " Next: " CM-CUST-NUM " " CM-TELEPHONE + IF CM-CUST-NUM NOT = SAV-KEY + DISPLAY "Problem! Expected:" SAV-KEY + END-IF + END-IF + READ TSPFILE NEXT RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + ELSE + DISPLAY " Next: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " sequential" + END-IF + + CLOSE TSPFILE. + + DELPRV-FILE. + DISPLAY "Read Prev/Delete" UPON CONSOLE. + MOVE "00" TO CUST-STAT. + OPEN I-O TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "05" + DIVIDE STAT-1 BY 256 GIVING BYTE-1 REMAINDER BYTE-2 + DISPLAY "Error " CUST-STAT " " BYTE-1 " " BYTE-2 + " opening 'testisam' file" + UPON CONSOLE + STOP RUN + END-IF. + + MOVE SPACES TO TSPFL-RECORD + MOVE '5292398745' TO CM-TELEPHONE + START TSPFILE KEY LESS THAN SPLIT-KEY2 + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + PERFORM VARYING REC-NUM FROM 1 BY 1 + UNTIL REC-NUM > 4 + READ TSPFILE PREVIOUS RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " start " CM-CUST-NUM + ELSE + DISPLAY REC-NUM " Initial: " CM-CUST-NUM + " " CM-TELEPHONE + IF REC-NUM = 3 + MOVE CM-CUST-NUM TO SAV-KEY + END-IF + END-IF + END-PERFORM + MOVE SPACES TO TSPFL-RECORD + MOVE '5292398745' TO CM-TELEPHONE + START TSPFILE KEY LESS THAN SPLIT-KEY2 + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + READ TSPFILE PREVIOUS RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " start " CM-CUST-NUM + ELSE + DISPLAY " Start: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + READ TSPFILE PREVIOUS RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + ELSE + DISPLAY " Prev: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " sequential" + END-IF + READ TSPFILE PREVIOUS RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read prev " CM-CUST-NUM + CLOSE TSPFILE + STOP RUN + ELSE + DISPLAY " Prev: " CM-CUST-NUM " " CM-TELEPHONE + IF CM-CUST-NUM NOT = SAV-KEY + DISPLAY "Problem! Expected:" SAV-KEY + CLOSE TSPFILE + STOP RUN + END-IF + END-IF + READ TSPFILE PREVIOUS RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read prev " CM-CUST-NUM + ELSE + DISPLAY " Prev: " CM-CUST-NUM " " CM-TELEPHONE + END-IF + DELETE TSPFILE + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " delete " CM-CUST-NUM + ELSE + DISPLAY " Delete: " CM-CUST-NUM " sequential" + END-IF + + CLOSE TSPFILE. + + LIST-FILE. + DISPLAY "List sample data file" + UPON CONSOLE. + MOVE "00" TO CUST-STAT. + MOVE 0 TO REC-NUM. + OPEN I-O TSPFILE + MOVE " " TO CM-CUST-NUM + START TSPFILE KEY GREATER THAN OR EQUAL TO CM-CUST-NUM + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ. + IF CUST-STAT NOT = "00" + DISPLAY "Error " CUST-STAT " first read " CM-CUST-NUM + END-IF + PERFORM UNTIL CUST-STAT NOT = "00" + OR REC-NUM > REC-MAX + DISPLAY "Key: " CM-CUST-NUM " is " CM-COMPANY + " Disk=" CM-DISK + "." UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + IF CUST-STAT = "99" + DISPLAY "Hit End of File" UPON CONSOLE + END-IF. + CLOSE TSPFILE. + + LIST-PHONE. + DISPLAY "List sample data file by Phone" + UPON CONSOLE. + MOVE "00" TO CUST-STAT. + MOVE 0 TO REC-NUM. + OPEN I-O TSPFILE + MOVE SPACES TO TSPFL-RECORD + START TSPFILE KEY GREATER THAN OR EQUAL TO SPLIT-KEY2 + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " read " CM-CUST-NUM + END-IF + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ. + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Error " CUST-STAT " first read " CM-CUST-NUM + END-IF + PERFORM UNTIL CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "Ph=" CM-TELEPHONE + " Key: " CM-CUST-NUM " is " CM-COMPANY + "." UPON CONSOLE + READ TSPFILE NEXT RECORD + AT END + MOVE "99" TO CUST-STAT + END-READ + ADD 1 TO REC-NUM + END-PERFORM. + IF CUST-STAT = "99" + DISPLAY "Hit End of File" UPON CONSOLE + END-IF. + CLOSE TSPFILE. + + *---------------------------------------------------------------* + * LOAD A RECORD FROM DATA TABLES * + *---------------------------------------------------------------* + + 1000-LOAD-RECORD. + + MOVE SPACES TO TSPFL-RECORD. + MOVE DATA-CUST-NUM (SUB) TO CM-CUST-NUM. + MOVE CM-CUST-NUM TO TSPFL-KEY. + MOVE DATA-COMPANY (SUB) TO CM-COMPANY. + MOVE DATA-ADDRESS-1 (SUB) TO CM-ADDRESS-1. + MOVE DATA-ADDRESS-2 (SUB) TO CM-ADDRESS-2. + MOVE DATA-ADDRESS-3 (SUB) TO CM-ADDRESS-3. + MOVE DATA-TELEPHONE (SUB) TO CM-TELEPHONE. + MOVE DATA-DP-MGR (SUB) TO CM-DP-MGR. + MOVE DATA-MACHINE (SUB) TO CM-MACHINE. + MOVE DATA-NO-TERMINALS (SUB) TO CM-NO-TERMINALS. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + MOVE "1600 BPI" TO CM-TAPE + MOVE "1MEG" TO CM-MEMORY + ELSE + MOVE "8470" TO CM-DISK + MOVE "6250 BPI" TO CM-TAPE + MOVE "3MEG" TO CM-MEMORY. + IF NULL-KEY + MOVE ALL "*" TO CM-DISK + MOVE ALL "*" TO CM-TAPE. + + WRITE TSPFL-RECORD + IF CUST-STAT NOT = "00" + AND CUST-STAT NOT = "02" + DISPLAY "WRITE: " TSPFL-KEY ", Status: " + CUST-STAT UPON CONSOLE + END-IF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12316: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:12316" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12316" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12320: \$COBCRUN_DIRECT ./prog 1>prog.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 1>prog.out" "run_file.at:12320" +( $at_check_trace; $COBCRUN_DIRECT ./prog 1>prog.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:12320" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +cat >reference <<'_ATEOF' +Loading sample data file. +Sample data file load complete. +List sample data file +Key: ALP00000 is ALPHA ELECTRICAL CO. LTD. Disk=8417 . +Key: BET00000 is BETA SHOE MFG. INC. Disk=8470 . +Key: DEL00000 is DELTA LUGGAGE REPAIRS Disk=********. +Key: EPS00000 is EPSILON EQUIPMENT SUPPLY Disk=********. +Key: FOR00000 is FORTUNE COOKIE COMPANY Disk=8470 . +Key: GAM00000 is GAMMA X-RAY TECHNOLOGY Disk=8417 . +Key: GIB00000 is GIBRALTER LIFE INSURANCE Disk=8417 . +Key: H&J00000 is H & J PLUMBING SUPPLIES Disk=********. +Key: INC00000 is INCREMENTAL BACKUP CORP. Disk=8417 . +Key: JOH00000 is JOHNSON BOATING SUPPLIES Disk=8417 . +Key: KON00000 is KONFLAB PLASTIC PRODUCTS. Disk=8417 . +Key: LEW00000 is LEWISTON GRAPHICS LTD. Disk=********. +Key: MOR00000 is MORNINGSIDE CARPENTRY. Disk=8470 . +Key: NEW00000 is NEW WAVE SURF SHOPS INC. Disk=********. +Key: OLD00000 is OLD TYME PIZZA MFG. CO. Disk=8470 . +Key: PRE00000 is PRESTIGE OFFICE FURNITURE Disk=8470 . +Hit End of File +List sample data file by Phone +Ph=3131234432 Key: ALP00000 is ALPHA ELECTRICAL CO. LTD.. +Ph=3455445444 Key: INC00000 is INCREMENTAL BACKUP CORP. . +Ph=4169898509 Key: BET00000 is BETA SHOE MFG. INC. . +Ph=4169898509 Key: DEL00000 is DELTA LUGGAGE REPAIRS . +Ph=4169898509 Key: MOR00000 is MORNINGSIDE CARPENTRY. . +Ph=4169898509 Key: PRE00000 is PRESTIGE OFFICE FURNITURE. +Ph=5292398745 Key: EPS00000 is EPSILON EQUIPMENT SUPPLY . +Ph=6456445643 Key: GIB00000 is GIBRALTER LIFE INSURANCE . +Ph=6456445643 Key: JOH00000 is JOHNSON BOATING SUPPLIES . +Ph=6546456333 Key: H&J00000 is H & J PLUMBING SUPPLIES . +Ph=6554456433 Key: LEW00000 is LEWISTON GRAPHICS LTD. . +Ph=7456434355 Key: KON00000 is KONFLAB PLASTIC PRODUCTS.. +Ph=7534587453 Key: NEW00000 is NEW WAVE SURF SHOPS INC. . +Ph=8009329492 Key: FOR00000 is FORTUNE COOKIE COMPANY . +Ph=8372487274 Key: GAM00000 is GAMMA X-RAY TECHNOLOGY . +Ph=8787458374 Key: OLD00000 is OLD TYME PIZZA MFG. CO. . +Hit End of File +Test Read/Delete + Delete: INC00000 random + Delete: ALP00000 random + Read: BET00000 4169898509 + Delete: PRE00000 random +Expected 10 after delete PRE00000 +Initial: BET00000 4169898509 +Initial: DEL00000 4169898509 +Initial: MOR00000 4169898509 +Initial: EPS00000 5292398745 + Start: BET00000 4169898509 + Next: DEL00000 4169898509 + Delete: DEL00000 sequential + Next: MOR00000 4169898509 + Next: EPS00000 5292398745 + Delete: EPS00000 sequential +List sample data file by Phone +Ph=4169898509 Key: BET00000 is BETA SHOE MFG. INC. . +Ph=4169898509 Key: MOR00000 is MORNINGSIDE CARPENTRY. . +Ph=6456445643 Key: GIB00000 is GIBRALTER LIFE INSURANCE . +Ph=6456445643 Key: JOH00000 is JOHNSON BOATING SUPPLIES . +Ph=6546456333 Key: H&J00000 is H & J PLUMBING SUPPLIES . +Ph=6554456433 Key: LEW00000 is LEWISTON GRAPHICS LTD. . +Ph=7456434355 Key: KON00000 is KONFLAB PLASTIC PRODUCTS.. +Ph=7534587453 Key: NEW00000 is NEW WAVE SURF SHOPS INC. . +Ph=8009329492 Key: FOR00000 is FORTUNE COOKIE COMPANY . +Ph=8372487274 Key: GAM00000 is GAMMA X-RAY TECHNOLOGY . +Ph=8787458374 Key: OLD00000 is OLD TYME PIZZA MFG. CO. . +Hit End of File +List sample data file by Phone +Ph=3131234432 Key: ALP00000 is ALPHA ELECTRICAL CO. LTD.. +Ph=3455445444 Key: INC00000 is INCREMENTAL BACKUP CORP. . +Ph=4169898509 Key: BET00000 is BETA SHOE MFG. INC. . +Ph=4169898509 Key: DEL00000 is DELTA LUGGAGE REPAIRS . +Ph=4169898509 Key: MOR00000 is MORNINGSIDE CARPENTRY. . +Ph=4169898509 Key: PRE00000 is PRESTIGE OFFICE FURNITURE. +Ph=5292398745 Key: EPS00000 is EPSILON EQUIPMENT SUPPLY . +Ph=6456445643 Key: GIB00000 is GIBRALTER LIFE INSURANCE . +Ph=6456445643 Key: JOH00000 is JOHNSON BOATING SUPPLIES . +Ph=6546456333 Key: H&J00000 is H & J PLUMBING SUPPLIES . +Ph=6554456433 Key: LEW00000 is LEWISTON GRAPHICS LTD. . +Ph=7456434355 Key: KON00000 is KONFLAB PLASTIC PRODUCTS.. +Ph=7534587453 Key: NEW00000 is NEW WAVE SURF SHOPS INC. . +Ph=8009329492 Key: FOR00000 is FORTUNE COOKIE COMPANY . +Ph=8372487274 Key: GAM00000 is GAMMA X-RAY TECHNOLOGY . +Ph=8787458374 Key: OLD00000 is OLD TYME PIZZA MFG. CO. . +Hit End of File +Read Prev/Delete +00001 Initial: PRE00000 4169898509 +00002 Initial: MOR00000 4169898509 +00003 Initial: DEL00000 4169898509 +00004 Initial: BET00000 4169898509 + Start: PRE00000 4169898509 + Prev: MOR00000 4169898509 + Delete: MOR00000 sequential + Prev: DEL00000 4169898509 + Prev: BET00000 4169898509 + Delete: BET00000 sequential +List sample data file by Phone +Ph=3131234432 Key: ALP00000 is ALPHA ELECTRICAL CO. LTD.. +Ph=3455445444 Key: INC00000 is INCREMENTAL BACKUP CORP. . +Ph=4169898509 Key: DEL00000 is DELTA LUGGAGE REPAIRS . +Ph=4169898509 Key: PRE00000 is PRESTIGE OFFICE FURNITURE. +Ph=5292398745 Key: EPS00000 is EPSILON EQUIPMENT SUPPLY . +Ph=6456445643 Key: GIB00000 is GIBRALTER LIFE INSURANCE . +Ph=6456445643 Key: JOH00000 is JOHNSON BOATING SUPPLIES . +Ph=6546456333 Key: H&J00000 is H & J PLUMBING SUPPLIES . +Ph=6554456433 Key: LEW00000 is LEWISTON GRAPHICS LTD. . +Ph=7456434355 Key: KON00000 is KONFLAB PLASTIC PRODUCTS.. +Ph=7534587453 Key: NEW00000 is NEW WAVE SURF SHOPS INC. . +Ph=8009329492 Key: FOR00000 is FORTUNE COOKIE COMPANY . +Ph=8372487274 Key: GAM00000 is GAMMA X-RAY TECHNOLOGY . +Ph=8787458374 Key: OLD00000 is OLD TYME PIZZA MFG. CO. . +Hit End of File +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12436: diff reference prog.out" +at_fn_check_prepare_trace "run_file.at:12436" +( $at_check_trace; diff reference prog.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:12436" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12438: \$COMPILE -fcallfh=EXTFH -o extfh prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=EXTFH -o extfh prog.cob" "run_file.at:12438" +( $at_check_trace; $COMPILE -fcallfh=EXTFH -o extfh prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12438" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12439: \$COBCRUN_DIRECT ./extfh 1>prog.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./extfh 1>prog.out" "run_file.at:12439" +( $at_check_trace; $COBCRUN_DIRECT ./extfh 1>prog.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:12439" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12441: diff reference prog.out" +at_fn_check_prepare_trace "run_file.at:12441" +( $at_check_trace; diff reference prog.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:12441" +$at_failed && at_fn_log_failure \ +"prog.out" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_961 +#AT_START_962 +at_fn_group_banner 962 'run_file.at:12447' \ + "INDEXED files under ASCII/EBCDIC collation" " " 4 +at_xfail=no +( + printf "%s\n" "962. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_file.at:12450" >"$at_check_line_file" +(test "$COB_HAS_ISAM" != "db") \ + && at_fn_check_skip 77 "$at_srcdir/run_file.at:12450" + +cat >prog.cpy <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + + CONFIGURATION SECTION. + OBJECT-COMPUTER. + PROGRAM COLLATING SEQUENCE IS DISORDERED. + SPECIAL-NAMES. + ALPHABET DISORDERED IS "WVUTSRJIHGFEDCB". + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT MY-FILE ASSIGN TO "testfile" + ORGANIZATION IS INDEXED + ACCESS IS DYNAMIC + FILE-COLSEQ + KEY-COLSEQ + RECORD KEY IS MY-PKEY + ALTERNATE RECORD KEY IS MY-AKEY1 WITH DUPLICATES + ALTERNATE RECORD KEY IS MY-AKEY2 WITH DUPLICATES. + + DATA DIVISION. + + FILE SECTION. + FD MY-FILE. + 01 MY-REC. + 05 MY-PKEY PIC X(3). + 05 MY-AKEY1 PIC X(3). + 05 MY-AKEY2 BINARY-LONG. + 05 MY-DATA PIC 9. + + WORKING-STORAGE SECTION. + 01 DONE-READING PIC 9. + + PROCEDURE DIVISION. + + OPEN OUTPUT MY-FILE + + DISPLAY "WRITING DATA" + + MOVE "CCC" TO MY-PKEY + MOVE "888" TO MY-AKEY1 + MOVE 43 TO MY-AKEY2 + MOVE 1 TO MY-DATA + WRITE MY-REC + + MOVE "ZZZ" TO MY-PKEY + MOVE "AAA" TO MY-AKEY1 + MOVE 40 TO MY-AKEY2 + MOVE 2 TO MY-DATA + WRITE MY-REC + + MOVE "DDD" TO MY-PKEY + MOVE "777" TO MY-AKEY1 + MOVE 42 TO MY-AKEY2 + MOVE 3 TO MY-DATA + WRITE MY-REC + + MOVE "XXX" TO MY-PKEY + MOVE "VVV" TO MY-AKEY1 + MOVE 42 TO MY-AKEY2 + MOVE 4 TO MY-DATA + WRITE MY-REC + + MOVE "666" TO MY-PKEY + MOVE "AAA" TO MY-AKEY1 + MOVE 41 TO MY-AKEY2 + MOVE 5 TO MY-DATA + WRITE MY-REC + + MOVE "222" TO MY-PKEY + MOVE "555" TO MY-AKEY1 + MOVE 44 TO MY-AKEY2 + MOVE 6 TO MY-DATA + WRITE MY-REC + + CLOSE MY-FILE + + + OPEN I-O MY-FILE + + DISPLAY "DELETING DATA" + + MOVE "ZZZ" TO MY-PKEY + DELETE MY-FILE + + MOVE "XXX" TO MY-PKEY + DELETE MY-FILE + + CLOSE MY-FILE + + + OPEN INPUT MY-FILE + + DISPLAY "READING BY PKEY" + + MOVE 0 TO DONE-READING + MOVE SPACES TO MY-PKEY + START MY-FILE KEY >= MY-PKEY + + PERFORM UNTIL NOT DONE-READING = 0 + READ MY-FILE NEXT + AT END MOVE 1 TO DONE-READING + END-READ + IF DONE-READING = 0 + DISPLAY MY-PKEY " " MY-AKEY1 + " " MY-AKEY2 " " MY-DATA + END-IF + END-PERFORM + + DISPLAY "READING BY AKEY1" + + MOVE 0 TO DONE-READING + MOVE SPACES TO MY-AKEY1 + START MY-FILE KEY >= MY-AKEY1 + + PERFORM UNTIL NOT DONE-READING = 0 + READ MY-FILE NEXT + AT END MOVE 1 TO DONE-READING + END-READ + IF DONE-READING = 0 + DISPLAY MY-PKEY " " MY-AKEY1 + " " MY-AKEY2 " " MY-DATA + END-IF + END-PERFORM + + DISPLAY "READING BY AKEY2" + + MOVE 0 TO DONE-READING + MOVE ZERO TO MY-AKEY2 + START MY-FILE KEY >= MY-AKEY2 + + PERFORM UNTIL NOT DONE-READING = 0 + READ MY-FILE NEXT + AT END MOVE 1 TO DONE-READING + END-READ + IF DONE-READING = 0 + DISPLAY MY-PKEY " " MY-AKEY1 + " " MY-AKEY2 " " MY-DATA + END-IF + END-PERFORM + + CLOSE MY-FILE + + + DISPLAY "DONE" + + STOP RUN. +_ATEOF + + +cat >reference_ascii <<'_ATEOF' +WRITING DATA +DELETING DATA +READING BY PKEY +222 555 +0000000044 6 +666 AAA +0000000041 5 +CCC 888 +0000000043 1 +DDD 777 +0000000042 3 +READING BY AKEY1 +222 555 +0000000044 6 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +666 AAA +0000000041 5 +READING BY AKEY2 +666 AAA +0000000041 5 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +222 555 +0000000044 6 +DONE +_ATEOF + + +cat >reference_ascii_ebcdic <<'_ATEOF' +WRITING DATA +DELETING DATA +READING BY PKEY +222 555 +0000000044 6 +666 AAA +0000000041 5 +CCC 888 +0000000043 1 +DDD 777 +0000000042 3 +READING BY AKEY1 +666 AAA +0000000041 5 +222 555 +0000000044 6 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +READING BY AKEY2 +666 AAA +0000000041 5 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +222 555 +0000000044 6 +DONE +_ATEOF + + +cat >reference_ebcdic <<'_ATEOF' +WRITING DATA +DELETING DATA +READING BY PKEY +CCC 888 +0000000043 1 +DDD 777 +0000000042 3 +222 555 +0000000044 6 +666 AAA +0000000041 5 +READING BY AKEY1 +666 AAA +0000000041 5 +222 555 +0000000044 6 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +READING BY AKEY2 +666 AAA +0000000041 5 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +222 555 +0000000044 6 +DONE +_ATEOF + + +cat >reference_ebcdic_ascii <<'_ATEOF' +WRITING DATA +DELETING DATA +READING BY PKEY +CCC 888 +0000000043 1 +DDD 777 +0000000042 3 +222 555 +0000000044 6 +666 AAA +0000000041 5 +READING BY AKEY1 +222 555 +0000000044 6 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +666 AAA +0000000041 5 +READING BY AKEY2 +666 AAA +0000000041 5 +DDD 777 +0000000042 3 +CCC 888 +0000000043 1 +222 555 +0000000044 6 +DONE +_ATEOF + + +# Testing ASCII file collating sequence using clause +cat >prog1.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==COLLATING SEQUENCE IS ASCII== + ==KEY-COLSEQ== BY ====. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12694: \$COMPILE -Wno-unfinished prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog1.cob" "run_file.at:12694" +( $at_check_trace; $COMPILE -Wno-unfinished 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_file.at:12694" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12695: \$COBCRUN_DIRECT ./prog1 1>prog1.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1 1>prog1.out" "run_file.at:12695" +( $at_check_trace; $COBCRUN_DIRECT ./prog1 1>prog1.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:12695" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12696: diff reference_ascii prog1.out" +at_fn_check_prepare_trace "run_file.at:12696" +( $at_check_trace; diff reference_ascii prog1.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:12696" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing ASCII file collating sequence using flag +cat >prog2.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==== + ==KEY-COLSEQ== BY ====. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12704: \$COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII prog2.cob" "run_file.at:12704" +( $at_check_trace; $COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII 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:12704" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12705: \$COBCRUN_DIRECT ./prog2 1>prog2.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2 1>prog2.out" "run_file.at:12705" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 1>prog2.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:12705" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12706: diff reference_ascii prog2.out" +at_fn_check_prepare_trace "run_file.at:12706" +( $at_check_trace; diff reference_ascii prog2.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:12706" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Testing ASCII file collating sequence + EBCDIC key collating sequence using clauses +cat >prog3.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==COLLATING SEQUENCE IS ASCII== + ==KEY-COLSEQ== BY ==COLLATING SEQUENCE OF MY-AKEY1 IS EBCDIC==. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12715: \$COMPILE -Wno-unfinished prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog3.cob" "run_file.at:12715" +( $at_check_trace; $COMPILE -Wno-unfinished 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:12715" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12716: \$COBCRUN_DIRECT ./prog3 1>prog3.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3 1>prog3.out" "run_file.at:12716" +( $at_check_trace; $COBCRUN_DIRECT ./prog3 1>prog3.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:12716" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12717: diff reference_ascii_ebcdic prog3.out" +at_fn_check_prepare_trace "run_file.at:12717" +( $at_check_trace; diff reference_ascii_ebcdic prog3.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:12717" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing ASCII file collating sequence using flag + EBCDIC key collating sequence using clause +cat >prog4.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==== + ==KEY-COLSEQ== BY ==COLLATING SEQUENCE OF MY-AKEY1 IS EBCDIC==. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12725: \$COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII prog4.cob" "run_file.at:12725" +( $at_check_trace; $COMPILE -Wno-unfinished -fdefault-file-colseq=ASCII 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_file.at:12725" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12726: \$COBCRUN_DIRECT ./prog4 1>prog4.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog4 1>prog4.out" "run_file.at:12726" +( $at_check_trace; $COBCRUN_DIRECT ./prog4 1>prog4.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:12726" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12727: diff reference_ascii_ebcdic prog4.out" +at_fn_check_prepare_trace "run_file.at:12727" +( $at_check_trace; diff reference_ascii_ebcdic prog4.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:12727" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing EBCDIC file collating sequence using clause +cat >prog5.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==COLLATING SEQUENCE IS EBCDIC== + ==KEY-COLSEQ== BY ==COLLATING SEQUENCE OF MY-AKEY1 IS EBCDIC==. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12735: \$COMPILE -Wno-unfinished prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog5.cob" "run_file.at:12735" +( $at_check_trace; $COMPILE -Wno-unfinished 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_file.at:12735" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12736: \$COBCRUN_DIRECT ./prog5 1>prog5.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog5 1>prog5.out" "run_file.at:12736" +( $at_check_trace; $COBCRUN_DIRECT ./prog5 1>prog5.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:12736" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12737: diff reference_ebcdic prog5.out" +at_fn_check_prepare_trace "run_file.at:12737" +( $at_check_trace; diff reference_ebcdic prog5.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:12737" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing EBCDIC file collating sequence using flag +cat >prog6.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==== + ==KEY-COLSEQ== BY ====. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12745: \$COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC prog6.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC prog6.cob" "run_file.at:12745" +( $at_check_trace; $COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC prog6.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12745" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12746: \$COBCRUN_DIRECT ./prog6 1>prog6.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog6 1>prog6.out" "run_file.at:12746" +( $at_check_trace; $COBCRUN_DIRECT ./prog6 1>prog6.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:12746" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12747: diff reference_ebcdic prog6.out" +at_fn_check_prepare_trace "run_file.at:12747" +( $at_check_trace; diff reference_ebcdic prog6.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:12747" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing EBCDIC file collating sequence + ASCII key collating sequence using clauses +cat >prog7.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==COLLATING SEQUENCE IS EBCDIC== + ==KEY-COLSEQ== BY ==COLLATING SEQUENCE OF MY-AKEY1 IS ASCII==. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12755: \$COMPILE -Wno-unfinished prog7.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog7.cob" "run_file.at:12755" +( $at_check_trace; $COMPILE -Wno-unfinished prog7.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12755" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12756: \$COBCRUN_DIRECT ./prog7 1>prog7.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog7 1>prog7.out" "run_file.at:12756" +( $at_check_trace; $COBCRUN_DIRECT ./prog7 1>prog7.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:12756" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12757: diff reference_ebcdic_ascii prog7.out" +at_fn_check_prepare_trace "run_file.at:12757" +( $at_check_trace; diff reference_ebcdic_ascii prog7.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:12757" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Testing EBCDIC file collating sequence using flag + ASCII key collating sequence using clause +cat >prog8.cob <<'_ATEOF' + + COPY "prog.cpy" REPLACING + ==FILE-COLSEQ== BY ==== + ==KEY-COLSEQ== BY ==COLLATING SEQUENCE OF MY-AKEY1 IS ASCII==. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12765: \$COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC prog8.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC prog8.cob" "run_file.at:12765" +( $at_check_trace; $COMPILE -Wno-unfinished -fdefault-file-colseq=EBCDIC 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/run_file.at:12765" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12766: \$COBCRUN_DIRECT ./prog8 1>prog8.out" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog8 1>prog8.out" "run_file.at:12766" +( $at_check_trace; $COBCRUN_DIRECT ./prog8 1>prog8.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:12766" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12767: diff reference_ebcdic_ascii prog8.out" +at_fn_check_prepare_trace "run_file.at:12767" +( $at_check_trace; diff reference_ebcdic_ascii prog8.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:12767" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_962 +#AT_START_963 +at_fn_group_banner 963 'run_file.at:12772' \ + "INDEXED file numeric keys ordering" " " 4 +at_xfail=yes +( + printf "%s\n" "963. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# BUG: non-display numeric keys are currently ordered lexicographically +# with respect to their binary representation, which is incorrect. +# Could be fixed with a custom comparison function (BDB) +# or using key types other than CHARTYPE (ISAM). + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT MY-FILE ASSIGN TO "testfile" + ORGANIZATION IS INDEXED + ACCESS IS DYNAMIC + RECORD KEY IS MY-PKEY. + + DATA DIVISION. + FILE SECTION. + FD MY-FILE. + 01 MY-REC. + 05 MY-PKEY BINARY-LONG. + 05 MY-DATA PIC 9. + + WORKING-STORAGE SECTION. + 01 DONE-READING PIC 9. + + PROCEDURE DIVISION. + + OPEN OUTPUT MY-FILE + + DISPLAY "WRITING DATA" + + MOVE 255 TO MY-PKEY + MOVE 1 TO MY-DATA + WRITE MY-REC + + MOVE 256 TO MY-PKEY + MOVE 2 TO MY-DATA + WRITE MY-REC + + MOVE 65535 TO MY-PKEY + MOVE 3 TO MY-DATA + WRITE MY-REC + + MOVE 65536 TO MY-PKEY + MOVE 4 TO MY-DATA + WRITE MY-REC + + CLOSE MY-FILE + + + OPEN INPUT MY-FILE + + DISPLAY "READING BY PKEY" + + MOVE 0 TO DONE-READING + MOVE 0 TO MY-PKEY + START MY-FILE KEY >= MY-PKEY + + PERFORM UNTIL NOT DONE-READING = 0 + READ MY-FILE NEXT + AT END MOVE 1 TO DONE-READING + END-READ + IF DONE-READING = 0 + DISPLAY MY-PKEY " " MY-DATA + END-IF + END-PERFORM + + CLOSE MY-FILE + + DISPLAY "DONE" WITH NO ADVANCING + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12852: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:12852" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12852" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12853: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:12853" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "WRITING DATA +READING BY PKEY ++0000000255 1 ++0000000256 2 ++0000065535 3 ++0000065536 4 +DONE" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:12853" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_963 +#AT_START_964 +at_fn_group_banner 964 'run_file.at:12865' \ + "TURN EC-I-O" " " 4 +at_xfail=yes +( + printf "%s\n" "964. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +# FIXME: FUNCTION EXCEPTION-STATUS should be empty when an EC occurs but has been +# >>TURN'd off. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT OPTIONAL f ASSIGN "out.txt" + SEQUENTIAL + FILE STATUS f-status. + + SELECT g ASSIGN "out.txt" + SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD f. + 01 f-rec PIC X. + + FD g. + 01 g-rec PIC X. + + WORKING-STORAGE SECTION. + 01 f-status PIC XX. + + PROCEDURE DIVISION. + OPEN OUTPUT f + WRITE f-rec FROM "a" + CLOSE f + + SET LAST EXCEPTION TO OFF + >>TURN EC-I-O CHECKING ON + *> Read f too many times without libcob error + OPEN INPUT f + PERFORM 2 TIMES + READ f + DISPLAY f-rec + END-PERFORM + + DISPLAY f-status + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + SET LAST EXCEPTION TO OFF + + CLOSE f + + >>TURN EC-I-O g CHECKING ON + + *> Read f too many times without libcob error + OPEN INPUT f + PERFORM 2 TIMES + READ f + DISPLAY f-rec + END-PERFORM + + DISPLAY f-status + DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + SET LAST EXCEPTION TO OFF + + CLOSE f + + *> Read g too many times with libcob error + OPEN INPUT g + PERFORM 2 TIMES + READ g + DISPLAY g-rec + END-PERFORM + + CLOSE g + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12943: \$COMPILE prog.cob " +at_fn_check_prepare_dynamic "$COMPILE prog.cob " "run_file.at:12943" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:12943" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:12944: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:12944" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:61: error: end of file (status = 10) for file g ('out.txt') on READ +libcob: prog.cob:61: warning: implicit CLOSE of g ('out.txt') +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "a +a +10 + +a +a +10 + +a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:12944" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_964 +#AT_START_965 +at_fn_group_banner 965 'run_file.at:12962' \ + "LINE SEQUENTIAL REWRITE" " " 4 +at_xfail=no +( + printf "%s\n" "965. $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 SEQFIX + ORGANIZATION LINE SEQUENTIAL + 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(5). + 10 CM-PK-DATE PICTURE S9(14). + 10 CM-TRAILER PICTURE X(52). + + WORKING-STORAGE SECTION. + + 78 MAX-SUB VALUE 6. + 77 CUST-STAT PICTURE X(2). + + 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 "GAM00000". + 05 FILLER PIC X(8) VALUE "DEL00000". + 05 FILLER PIC X(8) VALUE "EPS00000". + 05 FILLER PIC X(8) VALUE "FOR00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 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 "GAMMA X-RAY TECHNOLOGY ". + 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 ". + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 05 FILLER PIC X(10) VALUE "CALGARY ". + 05 FILLER PIC X(10) VALUE "WHITEPLAIN". + + 02 DATA-ADDRESS REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + + 02 DATA-NO-TERMINALS-TBL. + + 05 FILLER PIC 9(5) VALUE 8240. + 05 FILLER PIC 9(5) VALUE 10. + 05 FILLER PIC 9(5) VALUE 13. + 05 FILLER PIC 9(5) VALUE 65535. + 05 FILLER PIC 9(5) VALUE 10. + 05 FILLER PIC 9(5) VALUE 254. + + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(5) OCCURS MAX-SUB. + 01 WORK-AREA. + 05 SUB USAGE BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5. + + + PROCEDURE DIVISION. + + PERFORM LOADFILE. + OPEN INPUT FLATFILE. + DISPLAY "Open Sts:" CUST-STAT + PERFORM READ-RECORD + PERFORM READ-RECORD + PERFORM READ-RECORD + PERFORM READ-RECORD + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + PERFORM READ-RECORD + MOVE 10 TO CM-NO-TERMINALS + MOVE "STUFF" TO CM-TRAILER + REWRITE TSPFL-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" CM-NO-TERMINALS. + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + PERFORM READ-RECORD + PERFORM READ-RECORD + ADD 1 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" CM-NO-TERMINALS. + PERFORM READ-RECORD + CLOSE FLATFILE. + + OPEN I-O FLATFILE. + READ FLATFILE + READ FLATFILE + READ FLATFILE + READ FLATFILE + READ FLATFILE + DISPLAY "Read " CM-CUST-NUM " Sts:" CUST-STAT. + MOVE 8240 TO CM-NO-TERMINALS + REWRITE TSPFL-RECORD + DISPLAY "REWRITE " CM-CUST-NUM " Sts " CUST-STAT + " Trms:" CM-NO-TERMINALS. + CLOSE FLATFILE. + + OPEN INPUT FLATFILE. + DISPLAY "List back Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + + OPEN EXTEND FLATFILE. + PERFORM LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > 2 + CLOSE FLATFILE. + + OPEN INPUT FLATFILE. + DISPLAY "List after extend Open Sts:" CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + STOP RUN RETURNING 0. + + READ-RECORD. + MOVE SPACES TO TSPFL-RECORD. + READ FLATFILE + IF CUST-STAT NOT = "00" + DISPLAY "Read Status: " CUST-STAT + ELSE + DISPLAY "Read " CM-CUST-NUM + " Trms:" CM-NO-TERMINALS + END-IF. + + 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. + MOVE 20070319 TO CM-PK-DATE. + IF SUB = 5 + MOVE "Freddy Kruger" TO CM-TRAILER. + IF SUB = 1 OR 4 OR 6 + MOVE -20070319 TO CM-PK-DATE. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + ELSE + MOVE "8470" TO CM-DISK. + WRITE TSPFL-RECORD. + IF CUST-STAT NOT = "00" + DISPLAY "Write Error " CUST-STAT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13156: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13156" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13156" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13158: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13158" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Loading sample program data file. +Sample program data file load complete. +Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read ALP00000 Trms:08240 +REWRITE ALP00000 Sts 44 Trms:00010 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +REWRITE BET00000 Sts 00 Trms:00011 +Read GAM00000 Trms:00013 +Read EPS00000 Sts:00 +REWRITE EPS00000 Sts 00 Trms:08240 +List back Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00011 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read EPS00000 Trms:08240 +Read FOR00000 Trms:00254 +Read Status: 10 +List after extend Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00011 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read EPS00000 Trms:08240 +Read FOR00000 Trms:00254 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +Read Status: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13158" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# recheck with COB_SYNC to cover additional code paths +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13195: COB_SYNC=Y \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SYNC=Y $COBCRUN_DIRECT ./prog" "run_file.at:13195" +( $at_check_trace; COB_SYNC=Y $COBCRUN_DIRECT ./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"; printf "%s\n" "Loading sample program data file. +Sample program data file load complete. +Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read ALP00000 Trms:08240 +REWRITE ALP00000 Sts 44 Trms:00010 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +REWRITE BET00000 Sts 00 Trms:00011 +Read GAM00000 Trms:00013 +Read EPS00000 Sts:00 +REWRITE EPS00000 Sts 00 Trms:08240 +List back Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00011 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read EPS00000 Trms:08240 +Read FOR00000 Trms:00254 +Read Status: 10 +List after extend Open Sts:00 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00011 +Read GAM00000 Trms:00013 +Read DEL00000 Trms:65535 +Read EPS00000 Trms:08240 +Read FOR00000 Trms:00254 +Read ALP00000 Trms:08240 +Read BET00000 Trms:00010 +Read Status: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13195" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_965 +#AT_START_966 +at_fn_group_banner 966 'run_file.at:13234' \ + "LINE SEQUENTIAL data" " " 4 +at_xfail=no +( + printf "%s\n" "966. $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 "LS-TEST" + ORGANIZATION LINE SEQUENTIAL + 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-TYPE PICTURE X. + 10 CM-COMPANY PICTURE X(25). + 10 CM-DISK PICTURE X(8). + 10 CM-NO-TERMINALS PICTURE 9(2) COMP-4. + 10 CM-NO-TERMINALS2 PICTURE 9(2) COMP-4. + 10 CM-PK-DATE PICTURE S9(9) COMP-3. + + WORKING-STORAGE SECTION. + + 78 MAX-SUB VALUE 5. + 77 CUST-STAT PICTURE X(2). + + 01 TEST-DATA. + + 02 DATA-CUST-NUM-TBL. + 05 FILLER PIC X(8) VALUE " 00000". + 05 FILLER PIC X(8) VALUE "ALP00000". + 05 FILLER PIC X(8) VALUE "BET00000". + 05 FILLER PIC X(8) VALUE "GAM00000". + 05 FILLER PIC X(8) VALUE "DEL00000". + + 02 DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL + PIC X(8) OCCURS MAX-SUB. + 02 DATA-COMPANY-TBL. + 05 FILLER PIC X(25) VALUE "SPACE COMPANY ". + 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 "GAMMA X-RAY TECHNOLOGY ". + 05 FILLER PIC X(25) VALUE "DELTA LUGGAGE REPAIRS ". + 02 DATA-COMPANY REDEFINES DATA-COMPANY-TBL + PIC X(25) OCCURS MAX-SUB. + 02 DATA-ADDRESS-2-TBL. + 05 FILLER PIC X(10) VALUE "EARTH ". + 05 FILLER PIC X(10) VALUE "NEW YORK ". + 05 FILLER PIC X(10) VALUE "ATLANTA ". + 05 FILLER PIC X(10) VALUE "WASHINGTON". + 05 FILLER PIC X(10) VALUE "TORONTO ". + 02 DATA-ADDRESS REDEFINES DATA-ADDRESS-2-TBL + PIC X(10) OCCURS MAX-SUB. + + 02 DATA-NO-TERMINALS-TBL. + 05 FILLER PIC 9(3) VALUE 9. + 05 FILLER PIC 9(3) VALUE 9. + 05 FILLER PIC 9(3) VALUE 9. + 05 FILLER PIC 9(3) VALUE 9. + 05 FILLER PIC 9(3) VALUE 9. + 02 DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL + PIC 9(3) OCCURS MAX-SUB. + 02 DATA-NO-TERMINALS-TBL2. + 05 FILLER PIC 9(3) VALUE 50. + 05 FILLER PIC 9(3) VALUE 10. + 05 FILLER PIC 9(3) VALUE 13. + 05 FILLER PIC 9(3) VALUE 3. + 05 FILLER PIC 9(3) VALUE 254. + 02 DATA-NO-TERMINALS2 REDEFINES DATA-NO-TERMINALS-TBL2 + PIC 9(3) OCCURS MAX-SUB. + 01 WORK-AREA. + 05 SUB BINARY-SHORT UNSIGNED. + 88 ODD-RECORD VALUE 1 3 5. + + PROCEDURE DIVISION. + * Load file using MF rules + SET ENVIRONMENT "COB_LS_VALIDATE" TO "FALSE" + SET ENVIRONMENT "COB_LS_NULLS" TO "TRUE" + DISPLAY "MF Load data" + PERFORM LOADFILE. + + * Read file using MF rules + OPEN INPUT FLATFILE. + DISPLAY "MF Open Sts: " CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + + * Read file using Std rules + SET ENVIRONMENT "COB_LS_VALIDATE" TO "true" + SET ENVIRONMENT "COB_LS_NULLS" TO "false" + OPEN INPUT FLATFILE. + DISPLAY "Std Open Sts: " CUST-STAT + PERFORM UNTIL CUST-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + + * Load file using Std rules + DISPLAY "Std Load data" + PERFORM LOADFILE. + + STOP RUN RETURNING 0. + + READ-RECORD. + * MOVE SPACES TO TSPFL-RECORD. + READ FLATFILE + IF CUST-STAT NOT = "00" + DISPLAY "Read Status: " CUST-STAT + * ignore truncation and skip next record (not portable to EBCDIC) + IF CUST-STAT = "06" + PERFORM SHOW-RECORD + READ FLATFILE + MOVE "00" TO CUST-STAT + END-IF + ELSE + PERFORM SHOW-RECORD + END-IF. + + + SHOW-RECORD. + DISPLAY "Read " CM-CUST-NUM + " Trms:" CM-NO-TERMINALS + "-" CM-NO-TERMINALS2. + + LOADFILE. + OPEN OUTPUT FLATFILE. + PERFORM LOAD-RECORD + VARYING SUB FROM 1 BY 1 + UNTIL SUB > MAX-SUB + OR CUST-STAT NOT = "00". + 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. + MOVE DATA-NO-TERMINALS2 (SUB) TO CM-NO-TERMINALS2. + IF SUB = 1 + MOVE 505050505 TO CM-PK-DATE + ELSE IF SUB = 4 OR 6 + MOVE -20070319 TO CM-PK-DATE + ELSE + MOVE 20070319 TO CM-PK-DATE. + + IF ODD-RECORD + MOVE "8417" TO CM-DISK + ELSE + MOVE "8470" TO CM-DISK. + WRITE TSPFL-RECORD. + IF CUST-STAT NOT = "00" + DISPLAY "Error status " CUST-STAT " writing record " + DATA-CUST-NUM (SUB). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13400: \$COMPILE -fno-trunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-trunc prog.cob" "run_file.at:13400" +( $at_check_trace; $COMPILE -fno-trunc prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13400" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13402: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13402" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "MF Load data +MF Open Sts: 00 +Read 00000 Trms:009-050 +Read ALP00000 Trms:009-010 +Read BET00000 Trms:009-013 +Read GAM00000 Trms:009-003 +Read DEL00000 Trms:009-254 +Read Status: 10 +Std Open Sts: 00 +Read Status: 06 +Read 00000 Trms:000-009 +Read Status: 09 +Std Load data +Error status 71 writing record ALP00000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13402" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_966 +#AT_START_967 +at_fn_group_banner 967 'run_file.at:13422' \ + "Concatenated Files" " " 4 +at_xfail=no +( + printf "%s\n" "967. $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 TO THE-FILE-NAME + ORGANIZATION LINE SEQUENTIAL + FILE STATUS IS FLAT-STAT. + + DATA DIVISION. + FILE SECTION. + FD FLATFILE. + 01 FLAT-RECORD. + 10 FILE-NAME PICTURE X(8). + 10 FLAT-MARK PICTURE X(6). + 10 FLAT-RECNUM PICTURE X(6). + 10 FLAT-NUM PICTURE Z9. + 10 FLAT-FILLER PICTURE X(2). + + WORKING-STORAGE SECTION. + 77 REC-NUM VALUE 0 BINARY-SHORT UNSIGNED. + 78 MAX-REC VALUE 3. + 77 FLAT-STAT PICTURE X(2). + 77 THE-FILE-NAME PICTURE X(48). + + PROCEDURE DIVISION. + MOVE "file1" TO THE-FILE-NAME + PERFORM LOADFILE. + + MOVE "file2" TO THE-FILE-NAME + PERFORM LOADFILE. + + MOVE "file3" TO THE-FILE-NAME + PERFORM LOADFILE. + + MOVE "file1+file2+file3" TO THE-FILE-NAME + PERFORM UPDTFILE. + + SET ENVIRONMENT "COB_SEQ_CONCAT_SEP" TO "&" + MOVE "file1&file2&file3" TO THE-FILE-NAME + PERFORM LISTFILE. + STOP RUN RETURNING 0. + + LISTFILE. + OPEN INPUT FLATFILE. + IF FLAT-STAT NOT = "00" + DISPLAY "OPEN INPUT: " THE-FILE-NAME " Sts:" FLAT-STAT + END-IF. + PERFORM UNTIL FLAT-STAT NOT = "00" + PERFORM READ-RECORD + END-PERFORM. + CLOSE FLATFILE. + + UPDTFILE. + OPEN I-O FLATFILE. + IF FLAT-STAT NOT = "00" + DISPLAY "OPEN I-O: " THE-FILE-NAME " Sts:" FLAT-STAT + END-IF. + PERFORM VARYING REC-NUM FROM 1 BY 1 + UNTIL FLAT-STAT NOT = "00" + MOVE SPACES TO FLAT-RECORD + READ FLATFILE + IF REC-NUM = 5 + MOVE "Hello" TO FLAT-MARK + REWRITE FLAT-RECORD + IF FLAT-STAT NOT = "00" + DISPLAY "REWRITE5: " THE-FILE-NAME "Sts:" FLAT-STAT + END-IF + END-IF + IF REC-NUM = 7 + MOVE "$$" TO FLAT-FILLER + REWRITE FLAT-RECORD + IF FLAT-STAT NOT = "44" + * Cannot change size of LINE SEQ record + DISPLAY "REWRITE7: " THE-FILE-NAME "Sts:" FLAT-STAT + END-IF + END-IF + END-PERFORM. + CLOSE FLATFILE. + + READ-RECORD. + * MOVE SPACES TO FLAT-RECORD. + READ FLATFILE + IF FLAT-STAT NOT = "00" + IF FLAT-STAT NOT = "10" + DISPLAY "Read Status: " FLAT-STAT + END-IF + ELSE + DISPLAY FLAT-RECORD "." + END-IF. + + LOADFILE. + OPEN OUTPUT FLATFILE. + IF FLAT-STAT NOT = "00" + DISPLAY "OPEN OUTPUT: " THE-FILE-NAME " Sts:" FLAT-STAT + END-IF. + PERFORM LOAD-RECORD VARYING REC-NUM FROM 1 BY 1 + UNTIL REC-NUM > MAX-REC. + CLOSE FLATFILE. + + LOAD-RECORD. + MOVE SPACES TO FLAT-RECORD. + MOVE "Record" TO FLAT-RECNUM. + MOVE THE-FILE-NAME TO FILE-NAME. + MOVE REC-NUM TO FLAT-NUM. + WRITE FLAT-RECORD. + IF FLAT-STAT NOT = "00" + DISPLAY "Write: " FILE-NAME " Rec#" REC-NUM + " Sts:" FLAT-STAT + END-IF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13540: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13540" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13540" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13542: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13542" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OPEN I-O: file1+file2+file3 Sts:35 +OPEN INPUT: file1&file2&file3 Sts:35 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13542" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13547: COB_SEQ_CONCAT_NAME=true \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "COB_SEQ_CONCAT_NAME=true $COBCRUN_DIRECT ./prog" "run_file.at:13547" +( $at_check_trace; COB_SEQ_CONCAT_NAME=true $COBCRUN_DIRECT ./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"; printf "%s\n" "file1 Record 1 . +file1 Record 2 . +file1 Record 3 . +file2 Record 1 . +file2 Hello Record 2 . +file2 Record 3 . +file3 Record 1 . +file3 Record 2 . +file3 Record 3 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13547" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_967 +#AT_START_968 +at_fn_group_banner 968 'run_file.at:13566' \ + "File SORT, SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "968. $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 +printf "%s\n" "$at_srcdir/run_file.at:13609: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13609" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13609" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13610: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13610" +( $at_check_trace; $COBCRUN_DIRECT ./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:13610" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13611: cat result.txt" +at_fn_check_prepare_trace "run_file.at:13611" +( $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"; printf "%s\n" " hello world " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13611" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_968 +#AT_START_969 +at_fn_group_banner 969 'run_file.at:13616' \ + "File SORT, SEQUENTIAL variable records" " " 4 +at_xfail=no +( + printf "%s\n" "969. $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 file1 ORGANIZATION SEQUENTIAL + ASSIGN "./file1". + SELECT file2 ORGANIZATION SEQUENTIAL + ASSIGN "./file2". + SELECT file3 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1 RECORD VARYING FROM 3 TO 12 DEPENDING rsz. + 1 file1-rec pic x(12). + FD file2 RECORD VARYING FROM 3 TO 12 DEPENDING rsz. + 1 file2-rec pic x(12). + SD file3 RECORD VARYING FROM 3 TO 12 DEPENDING rsz. + 1 file3-rec. + 2 file3-key1 pic x. + 2 file3-key2 pic 9. + 2 filler pic x(10). + WORKING-STORAGE SECTION. + 77 rsz pic 99. + 1 1-data. + 2 filler pic x(14) VALUE "03A4X". + 2 filler pic x(14) VALUE "04A3XX". + 2 filler pic x(14) VALUE "05A2XXX". + 2 filler pic x(14) VALUE "06A1XXXX". + 2 filler pic x(14) VALUE "07A0XXXXX". + 2 filler pic x(14) VALUE "08B2XXXXXX". + 2 filler pic x(14) VALUE "09B1XXXXXXX". + 2 filler pic x(14) VALUE "10C2XXXXXXXX". + 2 filler pic x(14) VALUE "11C1XXXXXXXXX". + 2 filler pic x(14) VALUE "12Z9XXXXXXXXXX". + * + 1 filler redefines 1-data. + 2 filler occurs 10 times indexed by ix-1. + 3 1-rsz pic 99. + 3 1-rec pic x(12). + + PROCEDURE DIVISION. + OPEN OUTPUT file1. + PERFORM VARYING ix-1 FROM 1 BY 2 UNTIL ix-1 > 10 + MOVE 1-rsz(ix-1) TO rsz + MOVE 1-rec(ix-1) TO file1-rec + WRITE file1-rec + END-PERFORM. + PERFORM VARYING ix-1 FROM 2 BY 2 UNTIL ix-1 > 10 + MOVE 1-rsz(ix-1) TO rsz + MOVE 1-rec(ix-1) TO file1-rec + WRITE file1-rec + END-PERFORM. + CLOSE file1. + SORT file3 ON ASCENDING file3-key1 + DESCENDING file3-key2 + USING file1 + GIVING file2. + OPEN INPUT file2. + PERFORM VARYING ix-1 FROM 1 BY 1 UNTIL ix-1 > 10 + READ file2 + *>> fileio-sort currently returns constant length records + MOVE 1-rsz(ix-1) TO rsz + *>> END-OF-DETOUR + IF (1-rsz(ix-1) <> rsz) + DISPLAY "FAILED Test " ix-1 ": " + 1-rsz(ix-1) " <> " rsz + END-IF + IF (1-rec(ix-1) <> file2-rec) + DISPLAY "FAILED Test " ix-1 ": " + 1-rec(ix-1) " <> " file2-rec + END-IF + END-PERFORM. + CLOSE file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13696: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13696" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13696" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13697: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13697" +( $at_check_trace; $COBCRUN_DIRECT ./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:13697" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_969 +#AT_START_970 +at_fn_group_banner 970 'run_file.at:13702' \ + "File SORT, LINE SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "970. $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 +printf "%s\n" "$at_srcdir/run_file.at:13747: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13747" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13747" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13748: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13748" +( $at_check_trace; $COBCRUN_DIRECT ./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:13748" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13749: cat result.txt" +at_fn_check_prepare_trace "run_file.at:13749" +( $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"; printf "%s\n" " + + + + +hello +world +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13749" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_970 +#AT_START_971 +at_fn_group_banner 971 'run_file.at:13761' \ + "File SORT, LINE SEQUENTIAL same file" " " 4 +at_xfail=no +( + printf "%s\n" "971. $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. + SORT SORT-WRK + ASCENDING sort-entry + USING SORT-IN + GIVING SORT-IN. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13795: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13795" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13795" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13796: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13796" +( $at_check_trace; $COBCRUN_DIRECT ./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:13796" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13797: cat test.txt" +at_fn_check_prepare_trace "run_file.at:13797" +( $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"; printf "%s\n" " + +bla +blubb +hello +world +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13797" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_971 +#AT_START_972 +at_fn_group_banner 972 'run_file.at:13808' \ + "File SORT, LINE SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "972. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >file1 <<'_ATEOF' +A1XXXX +A2XXX +A3XX +Z9XXXXXXXXXX +A4X +B1XXXXXXX +B2XXXXXX +A0XXXXX +C1XXXXXXXXX +C2XXXXXXXX +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file1". + SELECT file2 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file2". + SELECT file3 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x(12). + FD file2. + 1 file2-rec pic x(12). + SD file3. + 1 file3-rec. + 2 file3-key1 pic x. + 2 file3-key2 pic 9. + 2 filler pic x(10). + PROCEDURE DIVISION. + SORT file3 ON ASCENDING file3-key1 + DESCENDING file3-key2 + USING file1 + GIVING file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13854: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:13854" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13854" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13855: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13855" +( $at_check_trace; $COBCRUN_DIRECT ./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:13855" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13856: cat file2" +at_fn_check_prepare_trace "run_file.at:13856" +( $at_check_trace; cat file2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "A4X +A3XX +A2XXX +A1XXXX +A0XXXXX +B2XXXXXX +B1XXXXXXX +C2XXXXXXXX +C1XXXXXXXXX +Z9XXXXXXXXXX +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13856" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_972 +#AT_START_973 +at_fn_group_banner 973 'run_file.at:13872' \ + "EXTFH: File SORT, LINE SEQUENTIAL" " " 4 +at_xfail=no +( + printf "%s\n" "973. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# same test as above, but this time using an external file handler +# which in this case is the internal EXTFH handler + +cat >file1 <<'_ATEOF' +A1XXXX +A2XXX +A3XX +Z9XXXXXXXXXX +A4X +B1XXXXXXX +B2XXXXXX +A0XXXXX +C1XXXXXXXXX +C2XXXXXXXX +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file1". + SELECT file2 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file2". + SELECT file3 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x(12). + FD file2. + 1 file2-rec pic x(12). + SD file3. + 1 file3-rec. + 2 file3-key1 pic x. + 2 file3-key2 pic 9. + 2 filler pic x(10). + PROCEDURE DIVISION. + SORT file3 ON ASCENDING file3-key1 + DESCENDING file3-key2 + USING file1 + GIVING file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13921: \$COMPILE -fcallfh=EXTFH prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcallfh=EXTFH prog.cob" "run_file.at:13921" +( $at_check_trace; $COMPILE -fcallfh=EXTFH prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:13921" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13922: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:13922" +( $at_check_trace; $COBCRUN_DIRECT ./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:13922" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:13923: cat file2" +at_fn_check_prepare_trace "run_file.at:13923" +( $at_check_trace; cat file2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "A4X +A3XX +A2XXX +A1XXXX +A0XXXXX +B2XXXXXX +B1XXXXXXX +C2XXXXXXXX +C1XXXXXXXXX +Z9XXXXXXXXXX +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:13923" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_973 +#AT_START_974 +at_fn_group_banner 974 'run_file.at:13939' \ + "File MERGE, LINE SEQUENTIAL variable records" " " 4 +at_xfail=no +( + printf "%s\n" "974. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >file1 <<'_ATEOF' +A1XXXX +A2XXX +A3XX +Z9XXXXXXXXXX +A4X +B1XXXXXXX +B2XXXXXX +A0XXXXX +C1XXXXXXXXX +C2XXXXXXXX +_ATEOF + + +cat >file2 <<'_ATEOF' +A1**** +A2*** +A3** +Z9********** +A4* +B1******* +B2****** +A0***** +C1********* +C2******** +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file1". + SELECT file2 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file2". + SELECT file3 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file3". + SELECT file4 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic x(12). + FD file2. + 1 file2-rec pic x(12). + FD file3. + 1 file3-rec pic x(12). + SD file4. + 1 file4-rec. + 2 file4-key1 pic x. + 2 file4-key2 pic 9. + 2 filler pic x(10). + PROCEDURE DIVISION. + MERGE file4 ON ASCENDING file4-key1 + DESCENDING file4-key2 + USING file1 file2 + GIVING file3. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14002: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:14002" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14002" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14003: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:14003" +( $at_check_trace; $COBCRUN_DIRECT ./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:14003" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14004: cat file3" +at_fn_check_prepare_trace "run_file.at:14004" +( $at_check_trace; cat file3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "A4X +A4* +A3XX +A3** +A2XXX +A2*** +A1XXXX +A1**** +A0XXXXX +A0***** +B2XXXXXX +B2****** +B1XXXXXXX +B1******* +C2XXXXXXXX +C2******** +C1XXXXXXXXX +C1********* +Z9XXXXXXXXXX +Z9********** +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:14004" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_974 +#AT_START_975 +at_fn_group_banner 975 'run_file.at:14030' \ + "SORT nonexistent file" " " 4 +at_xfail=no +( + printf "%s\n" "975. $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 +printf "%s\n" "$at_srcdir/run_file.at:14058: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:14058" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14058" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14059: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:14059" +( $at_check_trace; $COBCRUN_DIRECT ./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:14059" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14060: cat SORT-OUT" +at_fn_check_prepare_trace "run_file.at:14060" +( $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:14060" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_975 +#AT_START_976 +at_fn_group_banner 976 'run_file.at:14065' \ + "SORT with INPUT/OUTPUT PROCEDUREs" " " 4 +at_xfail=no +( + printf "%s\n" "976. $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 file1 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + SD file1. + 1 file1-rec. + 2 file1-key pic 9(4). + 2 file1-data pic x(10). + WORKING-STORAGE SECTION. + 77 w-eof pic 9 value 0. + 1 1-values. + 2 filler pic x(14) value "0001A--------A". + 2 filler pic x(14) value "0002B--------B". + 2 filler pic x(14) value "0003C--------C". + 2 filler pic x(14) value "0004D--------D". + 2 filler pic x(14) value "0005E--------E". + 2 filler pic x(14) value "0006F--------F". + 2 filler pic x(14) value "0007G--------G". + 2 filler pic x(14) value "0008H--------H". + 2 filler pic x(14) value "0009I--------I". + 2 filler pic x(14) value "0010J--------J". + 2 filler pic x(14) value "0011K--------K". + 2 filler pic x(14) value "0012L--------L". + 2 filler pic x(14) value "0013M--------M". + 2 filler pic x(14) value "0014N--------N". + 2 filler pic x(14) value "0015O--------O". + 2 filler pic x(14) value "0016P--------P". + 2 filler pic x(14) value "0017Q--------Q". + 2 filler pic x(14) value "0018R--------R". + 2 filler pic x(14) value "0019S--------S". + 2 filler pic x(14) value "0020T--------T". + 2 filler pic x(14) value "0021U--------U". + 2 filler pic x(14) value "0022V--------V". + 2 filler pic x(14) value "0023W--------W". + 2 filler pic x(14) value "0024X--------X". + 2 filler pic x(14) value "0025Y--------Y". + 2 filler pic x(14) value "0026Z--------Z". + 1 filler redefines 1-values. + 2 1-record occurs 26 times indexed by ix-1. + 3 1-key pic 9(4). + 3 1-data pic x(10). + PROCEDURE DIVISION. + a01-main. + SORT file1 ON ASCENDING file1-key + INPUT PROCEDURE a02-release-to-sort + OUTPUT PROCEDURE a03-return-from-sort. + STOP RUN. + * + a02-release-to-sort. + PERFORM VARYING ix-1 FROM 1 BY 2 UNTIL ix-1 > 26 + RELEASE file1-rec from 1-record(ix-1) + END-PERFORM. + PERFORM VARYING ix-1 FROM 2 BY 2 UNTIL ix-1 > 26 + RELEASE file1-rec from 1-record(ix-1) + END-PERFORM. + * + a03-return-from-sort. + PERFORM VARYING ix-1 FROM 1 BY 1 + UNTIL (ix-1 > 26) OR (w-eof = 1) + RETURN file1 RECORD + AT END MOVE 1 TO w-eof + END-RETURN + IF (file1-rec <> 1-record(ix-1)) + MOVE 1 TO w-eof + END-IF + END-PERFORM. + IF (w-eof = 1) + DISPLAY "FAILED: unexpected eof" + ELSE + RETURN file1 RECORD + AT END CONTINUE + NOT AT END DISPLAY "FAILED: expected eof" + END-RETURN + END-IF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14149: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:14149" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14149" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14150: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:14150" +( $at_check_trace; $COBCRUN_DIRECT ./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:14150" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_976 +#AT_START_977 +at_fn_group_banner 977 'run_file.at:14155' \ + "SORT with key1 ASCENDING, key2 DESCENDING" " " 4 +at_xfail=no +( + printf "%s\n" "977. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >file1 <<'_ATEOF' +A1 +A2 +A3 +Z9 +A4 +B1 +B2 +A0 +C1 +C2 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT file1 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file1". + SELECT file2 ORGANIZATION LINE SEQUENTIAL + ASSIGN "./file2". + SELECT file3 ASSIGN DISK. + DATA DIVISION. + FILE SECTION. + FD file1. + 1 file1-rec pic xxx. + FD file2. + 1 file2-rec pic xxx. + SD file3. + 1 file3-rec. + 2 file3-key1 pic x. + 2 file3-key2 pic 9. + 2 file3-dot pic x. + PROCEDURE DIVISION. + SORT file3 ON ASCENDING file3-key1 + DESCENDING file3-key2 + USING file1 + GIVING file2. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14201: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:14201" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14201" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14202: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:14202" +( $at_check_trace; $COBCRUN_DIRECT ./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:14202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14203: cat file2" +at_fn_check_prepare_trace "run_file.at:14203" +( $at_check_trace; cat file2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "A4 +A3 +A2 +A1 +A0 +B2 +B1 +C2 +C1 +Z9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:14203" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_977 +#AT_START_978 +at_fn_group_banner 978 'run_file.at:14222' \ + "Scope of FD GLOBAL in nested programs" " " 4 +at_xfail=no +( + printf "%s\n" "978. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-FILES. + PROCEDURE DIVISION. + CALL "NESTED-PROGRAM-1". + CALL "NESTED-PROGRAM-2". + STOP RUN. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE-EXT ASSIGN "./TEST-FILE" FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-EXT GLOBAL. + 01 FILE-EXT-REC PIC X(5). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + DECLARATIVES. + P01 SECTION. + USE AFTER ERROR PROCEDURE ON FILE-EXT. + P0101. + DISPLAY "ERROR ON FILE-EXT". + P02 SECTION. + USE AFTER ERROR PROCEDURE ON OUTPUT. + P0201. + DISPLAY "ERROR ON OUTPUT". + END DECLARATIVES. + MAIN SECTION. + OPEN OUTPUT FILE-EXT. + CALL "NESTED-PROGRAM-1-1". + * The next line triggers a SILENT error in NESTED-PROGRAM-1-2 + CLOSE FILE-EXT. + CALL "NESTED-PROGRAM-1-2". + GOBACK. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1-1. + PROCEDURE DIVISION. + NESTED-PROGRAM . + WRITE FILE-EXT-REC FROM "Hello". + DISPLAY "1-1 TRIED TO WRITE". + GOBACK. + END PROGRAM NESTED-PROGRAM-1-1. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1-2. + PROCEDURE DIVISION. + NESTED-PROGRAM . + WRITE FILE-EXT-REC FROM "Hello". + DISPLAY "1-2 TRIED TO WRITE". + GOBACK. + END PROGRAM NESTED-PROGRAM-1-2. + + END PROGRAM NESTED-PROGRAM-1. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-2. + PROCEDURE DIVISION. + GOBACK. + END PROGRAM NESTED-PROGRAM-2. + + END PROGRAM NESTED-FILES. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14291: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:14291" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:14291" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14292: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_file.at:14292" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1-1 TRIED TO WRITE +1-2 TRIED TO WRITE +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:14292" +$at_failed && at_fn_log_failure +$at_traceon; } + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-FILES. + PROCEDURE DIVISION. + CALL "NESTED-PROGRAM-1". + CALL "NESTED-PROGRAM-2". + STOP RUN. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE-EXT ASSIGN "./TEST-FILE" FILE STATUS IS WSFS. + DATA DIVISION. + FILE SECTION. + FD FILE-EXT GLOBAL. + 01 FILE-EXT-REC PIC X(5). + WORKING-STORAGE SECTION. + 01 WSFS PIC X(2). + PROCEDURE DIVISION. + DECLARATIVES. + P01 SECTION. + * This one is GLOBAL and should be called from within nested programs + USE GLOBAL AFTER ERROR PROCEDURE ON FILE-EXT. + P0101. + DISPLAY "ERROR ON FILE-EXT". + P02 SECTION. + USE AFTER ERROR PROCEDURE ON OUTPUT. + P0201. + DISPLAY "ERROR ON OUTPUT". + END DECLARATIVES. + MAIN SECTION. + OPEN OUTPUT FILE-EXT. + CALL "NESTED-PROGRAM-1-1". + DISPLAY "CLOSING FILE DESCRIPTOR". + CLOSE FILE-EXT. + CALL "NESTED-PROGRAM-1-2". + GOBACK. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1-1. + PROCEDURE DIVISION. + NESTED-PROGRAM . + DISPLAY "ENTERING NESTED-PROGRAM-1-1". + DISPLAY "TRYING TO WRITE". + WRITE FILE-EXT-REC FROM "Hello". + DISPLAY "EXITING NESTED-PROGRAM-1-1". + GOBACK. + END PROGRAM NESTED-PROGRAM-1-1. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-1-2. + PROCEDURE DIVISION. + NESTED-PROGRAM . + DISPLAY "ENTERING NESTED-PROGRAM-1-2". + DISPLAY "TRYING TO WRITE". + WRITE FILE-EXT-REC FROM "Hello". + DISPLAY "EXITING NESTED-PROGRAM-1-2". + GOBACK. + END PROGRAM NESTED-PROGRAM-1-2. + + END PROGRAM NESTED-PROGRAM-1. + + IDENTIFICATION DIVISION. + PROGRAM-ID. NESTED-PROGRAM-2. + PROCEDURE DIVISION. + GOBACK. + END PROGRAM NESTED-PROGRAM-2. + + END PROGRAM NESTED-FILES. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14367: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:14367" +( $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:14367" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14368: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_file.at:14368" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "ENTERING NESTED-PROGRAM-1-1 +TRYING TO WRITE +EXITING NESTED-PROGRAM-1-1 +CLOSING FILE DESCRIPTOR +ENTERING NESTED-PROGRAM-1-2 +TRYING TO WRITE +ERROR ON FILE-EXT +EXITING NESTED-PROGRAM-1-2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:14368" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_978 +#AT_START_979 +at_fn_group_banner 979 'run_file.at:14379' \ + "OPEN / CLOSE with multiple filenames" " " 4 +at_xfail=no +( + printf "%s\n" "979. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog1.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DOUBLE-OPEN. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE1 ASSIGN TO "./file1.txt" + FILE STATUS STAT-FILE1. + SELECT FILE2 ASSIGN TO "./file2.txt" + FILE STATUS STAT-FILE2. + DATA DIVISION. + FILE SECTION. + FD FILE1. + 01 FS-FILE1 PIC X(10). + FD FILE2. + 01 FS-FILE2 PIC X(10). + WORKING-STORAGE SECTION. + 01 STAT-FILE1 PIC XX. + 01 STAT-FILE2 PIC XX. + PROCEDURE DIVISION. + DECLARATIVES. + F-FILE1 SECTION. USE AFTER ERROR PROCEDURE ON FILE1. + DEB-FILE1. + DISPLAY "ERROR ON FILE1". + DISPLAY " STAT-FILE1: " STAT-FILE1. + DISPLAY " STAT-FILE2: " STAT-FILE2. + F-FILE2 SECTION. USE AFTER ERROR PROCEDURE ON FILE2. + DEB-FILE2. + DISPLAY "ERROR ON FILE2". + DISPLAY " STAT-FILE1: " STAT-FILE1. + DISPLAY " STAT-FILE2: " STAT-FILE2. + END DECLARATIVES. + PROGRAMME SECTION. + MAIN. + OPEN INPUT FILE1 + OPEN INPUT FILE2. + DISPLAY "READ FILE1". + READ FILE1. + DISPLAY "READ FILE2". + READ FILE2. + DISPLAY "CLOSE FILES". + CLOSE FILE1. + CLOSE FILE2. + DISPLAY "DELETE FILES". + DELETE FILE FILE1. + DELETE FILE FILE2. + STOP RUN. +_ATEOF + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DOUBLE-OPEN. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT FILE1 ASSIGN TO "./file1.txt" + FILE STATUS STAT-FILE1. + SELECT FILE2 ASSIGN TO "./file2.txt" + FILE STATUS STAT-FILE2. + DATA DIVISION. + FILE SECTION. + FD FILE1. + 01 FS-FILE1 PIC X(10). + FD FILE2. + 01 FS-FILE2 PIC X(10). + WORKING-STORAGE SECTION. + 01 STAT-FILE1 PIC XX. + 01 STAT-FILE2 PIC XX. + PROCEDURE DIVISION. + DECLARATIVES. + F-FILE1 SECTION. USE AFTER ERROR PROCEDURE ON FILE1. + DEB-FILE1. + DISPLAY "ERROR ON FILE1". + DISPLAY " STAT-FILE1: " STAT-FILE1. + DISPLAY " STAT-FILE2: " STAT-FILE2. + F-FILE2 SECTION. USE AFTER ERROR PROCEDURE ON FILE2. + DEB-FILE2. + DISPLAY "ERROR ON FILE2". + DISPLAY " STAT-FILE1: " STAT-FILE1. + DISPLAY " STAT-FILE2: " STAT-FILE2. + END DECLARATIVES. + PROGRAMME SECTION. + MAIN. + OPEN INPUT FILE1 + FILE2. + DISPLAY "READ FILE1". + READ FILE1. + DISPLAY "READ FILE2". + READ FILE2. + DISPLAY "CLOSE FILES". + CLOSE FILE1 + FILE2. + DISPLAY "DELETE FILES". + DELETE FILE FILE1 + FILE2. + STOP RUN. +_ATEOF + + +cat >expected.txt <<'_ATEOF' +ERROR ON FILE2 + STAT-FILE1: 00 + STAT-FILE2: 35 +READ FILE1 +ERROR ON FILE1 + STAT-FILE1: 10 + STAT-FILE2: 35 +READ FILE2 +ERROR ON FILE2 + STAT-FILE1: 10 + STAT-FILE2: 47 +CLOSE FILES +ERROR ON FILE2 + STAT-FILE1: 00 + STAT-FILE2: 42 +DELETE FILES +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14498: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_file.at:14498" +( $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_file.at:14498" +$at_failed && at_fn_log_failure +$at_traceon; } + +: >file1.txt +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14500: \$COBCRUN_DIRECT ./prog1 > prog1.txt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1 > prog1.txt" "run_file.at:14500" +( $at_check_trace; $COBCRUN_DIRECT ./prog1 > prog1.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_file.at:14500" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14501: diff expected.txt prog1.txt" +at_fn_check_prepare_trace "run_file.at:14501" +( $at_check_trace; diff expected.txt prog1.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_file.at:14501" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14503: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:14503" +( $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:14503" +$at_failed && at_fn_log_failure +$at_traceon; } + +: >file1.txt +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14505: \$COBCRUN_DIRECT ./prog2 > prog2.txt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2 > prog2.txt" "run_file.at:14505" +( $at_check_trace; $COBCRUN_DIRECT ./prog2 > prog2.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_file.at:14505" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_file.at:14506: diff expected.txt prog2.txt" +at_fn_check_prepare_trace "run_file.at:14506" +( $at_check_trace; diff expected.txt prog2.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_file.at:14506" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_979 +#AT_START_980 +at_fn_group_banner 980 'run_reportwriter.at:23' \ + "Report Line Order" " " 4 +at_xfail=no +( + printf "%s\n" "980. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *>**************************************************************** + *> 11NOV2013 BUG 001 - RWCS Presents RF before it presents the ** + *> last PF ** + *>**************************************************************** + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT REPORT-FILE ASSIGN TO EXTERNAL PRINTOUT + LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD REPORT-FILE + REPORT IS RWCS-Report. + WORKING-STORAGE SECTION. + REPORT SECTION. + RD RWCS-Report + PAGE LIMIT 12 + HEADING 1 + FIRST DETAIL 4 + LAST DETAIL 7. + + 01 TYPE REPORT HEADING LINE 1. + 05 COL 1 VALUE 'RH'. + + 01 TYPE PAGE HEADING LINE PLUS 1. + 05 COL 1 VALUE 'PH'. + + 01 Detail-Line TYPE DETAIL LINE PLUS 1. + 05 COL 1 VALUE 'DE'. + + 01 TYPE PAGE FOOTING LINE NUMBER 10. + 05 COL 1 VALUE 'PF'. + + 01 TYPE REPORT FOOTING LINE NUMBER PLUS 1. + 05 COL 1 VALUE 'RF'. + + PROCEDURE DIVISION. + 010-Main SECTION. + 1. OPEN OUTPUT REPORT-FILE + INITIATE RWCS-Report + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + GENERATE Detail-Line + TERMINATE RWCS-Report + CLOSE REPORT-FILE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:82: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:82" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:84: DD_PRINTOUT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:84" +( $at_check_trace; DD_PRINTOUT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +RH +PH + +DE +DE +DE +DE + + +PF + +PH + + +DE +DE +DE +DE + + + +PF + +RF +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:115: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:115" +( $at_check_trace; diff reference report.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_reportwriter.at:115" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_980 +#AT_START_981 +at_fn_group_banner 981 'run_reportwriter.at:120' \ + "REPORT COL PLUS" " " 4 +at_xfail=no +( + printf "%s\n" "981. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *>**************************************************************** + *> 11NOV2013 BUG 002 - RWCS Treats "COL PLUS n" the same as ** + *> "COL n". ** + *>**************************************************************** + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT REPORT-FILE ASSIGN TO EXTERNAL PRINTOUT + LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD REPORT-FILE + REPORT IS RWCS-Report. + WORKING-STORAGE SECTION. + REPORT SECTION. + RD RWCS-Report + PAGE LIMIT 12 + HEADING 1 + FIRST DETAIL 4 + LAST DETAIL 7. + + 01 Detail-Line TYPE DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COL 1 PIC X(20) VALUE '12345678901234567890'. + 10 COL PLUS 3 PIC X(4) VALUE 'ABCD'. + 10 COL 30 PIC X(1) VALUE '!'. + + PROCEDURE DIVISION. + 010-Main SECTION. + 1. OPEN OUTPUT REPORT-FILE + INITIATE RWCS-Report + GENERATE Detail-Line + TERMINATE RWCS-Report + CLOSE REPORT-FILE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:163: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:163" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:163" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:165: DD_PRINTOUT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:165" +( $at_check_trace; DD_PRINTOUT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + + + +12345678901234567890 ABCD ! + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:184: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:184" +( $at_check_trace; diff reference report.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_reportwriter.at:184" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_981 +#AT_START_982 +at_fn_group_banner 982 'run_reportwriter.at:189' \ + "Report Overlapping Fields" " " 4 +at_xfail=no +( + printf "%s\n" "982. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *>**************************************************************** + *> 11NOV2013 BUG 003 - RWCS causes "Abort trap 6" if an attempt ** + *> is made to overwrite previous field on ** + *> a line ** + *>**************************************************************** + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT REPORT-FILE ASSIGN TO EXTERNAL PRINTOUT + LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD REPORT-FILE + REPORT IS RWCS-Report. + WORKING-STORAGE SECTION. + REPORT SECTION. + RD RWCS-Report + PAGE LIMIT 12 + HEADING 1 + FIRST DETAIL 4 + LAST DETAIL 7. + + 01 Detail-Line TYPE DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COL 1 PIC X(20) VALUE '12345678901234567890'. + 10 COL 10 PIC X(4) VALUE 'ABCD'. + + PROCEDURE DIVISION. + 010-Main SECTION. + 1. OPEN OUTPUT REPORT-FILE + INITIATE RWCS-Report + GENERATE Detail-Line + TERMINATE RWCS-Report + CLOSE REPORT-FILE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:232: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:232" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:232" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:234: DD_PRINTOUT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:234" +( $at_check_trace; DD_PRINTOUT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:234" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + + + +123456789ABCD4567890 + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:253: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:253" +( $at_check_trace; diff reference report.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_reportwriter.at:253" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_982 +#AT_START_983 +at_fn_group_banner 983 'run_reportwriter.at:258' \ + "EMPTY REPORT" " " 4 +at_xfail=no +( + printf "%s\n" "983. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *>**************************************************************** + *> 11NOV2013 BUG 004 - RWCS INITIATE TERMINATE W/O GENERATE ** + *> IS NOT SUPPOSED TO PRODUCE ANY OUTPUT ** + *>**************************************************************** + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT REPORT-FILE ASSIGN TO EXTERNAL PRINTOUT + LINE SEQUENTIAL. + DATA DIVISION. + FILE SECTION. + FD REPORT-FILE + REPORT IS RWCS-Report. + WORKING-STORAGE SECTION. + REPORT SECTION. + RD RWCS-Report + PAGE LIMIT 12 + HEADING 1 + FIRST DETAIL 4 + LAST DETAIL 7 + CONTROL IS FINAL. + + 01 TYPE REPORT HEADING LINE 1. + 05 COL 1 VALUE 'RH'. + + 01 TYPE PAGE HEADING LINE PLUS 1. + 05 COL 1 VALUE 'PH'. + + 01 Detail-Line TYPE DETAIL LINE PLUS 1. + 05 COL 1 VALUE 'DE'. + + 01 TYPE CONTROL FOOTING FINAL. + 05 COL 1 VALUE 'CFF'. + + 01 TYPE PAGE FOOTING LINE NUMBER 10. + 05 COL 1 VALUE 'PF'. + + 01 TYPE REPORT FOOTING LINE NUMBER 1. + 05 COL 1 VALUE 'RF'. + + PROCEDURE DIVISION. + 010-Main SECTION. + 1. OPEN OUTPUT REPORT-FILE + INITIATE RWCS-Report + TERMINATE RWCS-Report + CLOSE REPORT-FILE + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:313: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.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_reportwriter.at:313" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:315: DD_PRINTOUT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:315" +( $at_check_trace; DD_PRINTOUT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:315" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +: >reference + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:322: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:322" +( $at_check_trace; diff reference report.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_reportwriter.at:322" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_983 +#AT_START_984 +at_fn_group_banner 984 'run_reportwriter.at:327' \ + "PAGE LIMIT REPORT" " " 4 +at_xfail=no +( + printf "%s\n" "984. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + 01 hedpos PIC 99 VALUE 10. + + REPORT SECTION. + RD rp PAGE LIMIT 3. + + 01 rp-detail TYPE DE. + 02 LINE + 1. + 03 COL 1; SOURCE foo, PIC X(30). + 03 COL + 2 PIC X(6) VALUE "<--->". + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + INITIATE rp. + + MOVE "hello" TO foo. + GENERATE rp-detail. + + MOVE "goodbye" TO foo. + GENERATE rp-detail. + + TERMINATE rp. + CLOSE report-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:371: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:371" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:371" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:373: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:373" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./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_reportwriter.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +hello <---> +goodbye <---> + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:383: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:383" +( $at_check_trace; diff reference report.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_reportwriter.at:383" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_984 +#AT_START_985 +at_fn_group_banner 985 'run_reportwriter.at:388' \ + "PAGE LIMIT REPORT 2" " " 4 +at_xfail=no +( + printf "%s\n" "985. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + + REPORT SECTION. + RD rp PAGE LIMIT 3 LINES. + + 01 rp-detail TYPE DE. + 02 LINE + 1. + 03 SOURCE foo, PIC X(30). + 03 COL + 2 PIC X(6) VALUE "<--->". + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + INITIATE rp. + + MOVE "hello" TO foo. + GENERATE rp-detail. + + MOVE "world" TO foo. + GENERATE rp-detail. + + MOVE "from" TO foo. + GENERATE rp-detail. + + MOVE "REPORT WRITER" TO foo. + GENERATE rp-detail. + + MOVE "goodbye" TO foo. + GENERATE rp-detail. + + TERMINATE rp + CLOSE report-file. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:440: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:440" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:440" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:442: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:442" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./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_reportwriter.at:442" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +hello <---> +world <---> +from <---> +REPORT WRITER <---> +goodbye <---> + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:455: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:455" +( $at_check_trace; diff reference report.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_reportwriter.at:455" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_985 +#AT_START_986 +at_fn_group_banner 986 'run_reportwriter.at:460' \ + "Sample Customer Report" " " 4 +at_xfail=no +( + printf "%s\n" "986. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +0152 J. LANGDON 87653 02475 +0152 J. LANGDON 64025 00945 +0152 J. LANGDON 41915 01370 +0152 J. LANGDON 17410 00251 +2468 L. MORRISEY 18520 00375 +2468 L. MORRISEY 20012 00420 +2468 L. MORRISEY 31572 01015 +2468 L. MORRISEY 48792 03750 +2468 L. MORRISEY 50407 01515 +2468 L. MORRISEY 61575 02010 +2468 L. MORRISEY 79204 05170 +2468 L. MORRISEY 85075 03784 +2468 L. MORRISEY 98476 08794 +3451 M. JACKSON 37847 02790 +3451 M. JACKSON 58492 06850 +3451 M. JACKSON 60010 02040 +3451 M. JACKSON 85260 07852 +3451 M. JACKSON 90520 02752 +4512 S. LEVITT 24680 03050 +4512 S. LEVITT 56784 05253 +4512 S. LEVITT 60410 01215 +4512 S. LEVITT 78952 08925 +4512 S. LEVITT 85278 04975 +4512 S. LEVITT 87492 06425 +4512 S. LEVITT 97204 08475 +5417 K. CONKLIN 13579 03572 +5417 K. CONKLIN 24615 01875 +5417 K. CONKLIN 34928 03745 +5417 K. CONKLIN 48527 08750 +5417 K. CONKLIN 50150 01895 +5417 K. CONKLIN 54652 03892 +5417 K. CONKLIN 59765 09895 +5417 K. CONKLIN 71572 01895 +5417 K. CONKLIN 85175 08010 +5417 K. CONKLIN 90275 00460 +5417 K. CONKLIN 91572 01857 +5417 K. CONKLIN 97576 08495 +6213 Z. HAMPTON 15792 06425 +6213 Z. HAMPTON 19975 09875 +6213 Z. HAMPTON 34576 05115 +6213 Z. HAMPTON 49512 08520 +7545 M. LARSON 14676 03845 +7545 M. LARSON 18592 08251 +7545 M. LARSON 19994 09898 +7545 M. LARSON 21214 01515 +7545 M. LARSON 37515 08212 +7545 M. LARSON 38592 09615 +7545 M. LARSON 48485 08714 +7545 M. LARSON 52762 03792 +7545 M. LARSON 57684 08015 +7545 M. LARSON 79015 09625 +7545 M. LARSON 80123 00560 +7545 M. LARSON 82462 02015 +7545 M. LARSON 91520 01815 +7545 M. LARSON 93715 04015 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + * ************************************************************* * + * REPORT WRITER EXAMPLE #1. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD TRANSACTION-DATA. + + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + + FD REPORT-FILE + REPORT IS CUSTOMER-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + REPORT SECTION. + RD CUSTOMER-REPORT + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'C U S T O M E R C H A R G E R E P O R T'. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + + PROCEDURE DIVISION. + + 000-INITIATE. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-TRANSACTION-DATA. + GENERATE CHARGE-DETAIL. + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + 199-EXIT. + EXIT. + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:630: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:630" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:630" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:632: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:632" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:632" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + C U S T O M E R C H A R G E R E P O R T + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST + + 152 J. LANGDON 8 87653 $24.75 + 152 J. LANGDON 6 64025 $9.45 + 152 J. LANGDON 4 41915 $13.70 + 152 J. LANGDON 1 17410 $2.51 + 2468 L. MORRISEY 1 18520 $3.75 + 2468 L. MORRISEY 2 20012 $4.20 + 2468 L. MORRISEY 3 31572 $10.15 + 2468 L. MORRISEY 4 48792 $37.50 + 2468 L. MORRISEY 5 50407 $15.15 + 2468 L. MORRISEY 6 61575 $20.10 + 2468 L. MORRISEY 7 79204 $51.70 + 2468 L. MORRISEY 8 85075 $37.84 + 2468 L. MORRISEY 9 98476 $87.94 + 3451 M. JACKSON 3 37847 $27.90 + 3451 M. JACKSON 5 58492 $68.50 + 3451 M. JACKSON 6 60010 $20.40 + 3451 M. JACKSON 8 85260 $78.52 + 3451 M. JACKSON 9 90520 $27.52 + 4512 S. LEVITT 2 24680 $30.50 + 4512 S. LEVITT 5 56784 $52.53 + 4512 S. LEVITT 6 60410 $12.15 + 4512 S. LEVITT 7 78952 $89.25 + 4512 S. LEVITT 8 85278 $49.75 + 4512 S. LEVITT 8 87492 $64.25 + 4512 S. LEVITT 9 97204 $84.75 + 5417 K. CONKLIN 1 13579 $35.72 + 5417 K. CONKLIN 2 24615 $18.75 + 5417 K. CONKLIN 3 34928 $37.45 + 5417 K. CONKLIN 4 48527 $87.50 + 5417 K. CONKLIN 5 50150 $18.95 + 5417 K. CONKLIN 5 54652 $38.92 + 5417 K. CONKLIN 5 59765 $98.95 + 5417 K. CONKLIN 7 71572 $18.95 + 5417 K. CONKLIN 8 85175 $80.10 + 5417 K. CONKLIN 9 90275 $4.60 + 5417 K. CONKLIN 9 91572 $18.57 + 5417 K. CONKLIN 9 97576 $84.95 + 6213 Z. HAMPTON 1 15792 $64.25 + 6213 Z. HAMPTON 1 19975 $98.75 + 6213 Z. HAMPTON 3 34576 $51.15 + 6213 Z. HAMPTON 4 49512 $85.20 + 7545 M. LARSON 1 14676 $38.45 + 7545 M. LARSON 1 18592 $82.51 + 7545 M. LARSON 1 19994 $98.98 + 7545 M. LARSON 2 21214 $15.15 + 7545 M. LARSON 3 37515 $82.12 + 7545 M. LARSON 3 38592 $96.15 + 7545 M. LARSON 4 48485 $87.14 + 7545 M. LARSON 5 52762 $37.92 + 7545 M. LARSON 5 57684 $80.15 + 7545 M. LARSON 7 79015 $96.25 + 7545 M. LARSON 8 80123 $5.60 + 7545 M. LARSON 8 82462 $20.15 + 7545 M. LARSON 9 91520 $18.15 + + + + + + + + C U S T O M E R C H A R G E R E P O R T + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST + + 7545 M. LARSON 9 93715 $40.15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:770: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:770" +( $at_check_trace; diff reference report.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_reportwriter.at:770" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_986 +#AT_START_987 +at_fn_group_banner 987 'run_reportwriter.at:775' \ + "Sample Charge Report" " " 4 +at_xfail=no +( + printf "%s\n" "987. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +0152 J. LANGDON 87653 02475 +0152 J. LANGDON 64025 00945 +0152 J. LANGDON 41915 01370 +0152 J. LANGDON 17410 00251 +2468 L. MORRISEY 18520 00375 +2468 L. MORRISEY 20012 00420 +2468 L. MORRISEY 31572 01015 +2468 L. MORRISEY 48792 03750 +2468 L. MORRISEY 50407 01515 +2468 L. MORRISEY 61575 02010 +2468 L. MORRISEY 79204 05170 +2468 L. MORRISEY 85075 03784 +2468 L. MORRISEY 98476 08794 +3451 M. JACKSON 37847 02790 +3451 M. JACKSON 58492 06850 +3451 M. JACKSON 60010 02040 +3451 M. JACKSON 85260 07852 +3451 M. JACKSON 90520 02752 +4512 S. LEVITT 24680 03050 +4512 S. LEVITT 56784 05253 +4512 S. LEVITT 60410 01215 +4512 S. LEVITT 78952 08925 +4512 S. LEVITT 85278 04975 +4512 S. LEVITT 87492 06425 +4512 S. LEVITT 97204 08475 +5417 K. CONKLIN 13579 03572 +5417 K. CONKLIN 24615 01875 +5417 K. CONKLIN 34928 03745 +5417 K. CONKLIN 48527 08750 +5417 K. CONKLIN 50150 01895 +5417 K. CONKLIN 54652 03892 +5417 K. CONKLIN 59765 09895 +5417 K. CONKLIN 71572 01895 +5417 K. CONKLIN 85175 08010 +5417 K. CONKLIN 90275 00460 +5417 K. CONKLIN 91572 01857 +5417 K. CONKLIN 97576 08495 +6213 Z. HAMPTON 15792 06425 +6213 Z. HAMPTON 19975 09875 +6213 Z. HAMPTON 34576 05115 +6213 Z. HAMPTON 49512 08520 +7545 M. LARSON 14676 03845 +7545 M. LARSON 18592 08251 +7545 M. LARSON 19994 09898 +7545 M. LARSON 21214 01515 +7545 M. LARSON 37515 08212 +7545 M. LARSON 38592 09615 +7545 M. LARSON 48485 08714 +7545 M. LARSON 52762 03792 +7545 M. LARSON 57684 08015 +7545 M. LARSON 79015 09625 +7545 M. LARSON 80123 00560 +7545 M. LARSON 82462 02015 +7545 M. LARSON 91520 01815 +7545 M. LARSON 93715 04015 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + * ************************************************************* * + * REPORT WRITER EXAMPLE #2. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD TRANSACTION-DATA. + + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + + FD REPORT-FILE + REPORT IS CUSTOMER-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + 01 DISCOUNT-TABLE. + 02 FILLER PIC 99 VALUE 05. + 02 FILLER PIC 99 VALUE 07. + 02 FILLER PIC 99 VALUE 10. + 02 FILLER PIC 99 VALUE 15. + 02 FILLER PIC 99 VALUE 06. + 02 FILLER PIC 99 VALUE 22. + 02 FILLER PIC 99 VALUE 12. + 02 FILLER PIC 99 VALUE 09. + 02 FILLER PIC 99 VALUE 20. + 01 FILLER REDEFINES DISCOUNT-TABLE. + 02 DISCOUNT OCCURS 9 TIMES + INDEXED BY DISCOUNT-IX + PIC V99. + + 01 CALCULATED-FIELDS. + 03 WS-DISCOUNT-AMT PIC 9(3)V99. + 03 WS-CHARGE-AMT PIC 9(3)V99. + + REPORT SECTION. + RD CUSTOMER-REPORT + CONTROL IS TR-CUSTOMER-NUMBER + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'C U S T O M E R C H A R G E R E P O R T'. + 03 COLUMN 90 PIC X(04) VALUE 'PAGE'. + 03 COLUMN 95 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + 03 COLUMN 64 PIC X(08) VALUE 'DISCT. %'. + 03 COLUMN 76 PIC X(11) VALUE 'DISCT. AMT.'. + 03 COLUMN 91 PIC X(06) VALUE 'CHARGE'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + 03 COLUMN 67 PIC V99 SOURCE DISCOUNT (DISCOUNT-IX). + 03 COLUMN 69 PIC X(01) VALUE '%'. + 03 COLUMN 78 PIC $$$$.99 SOURCE WS-DISCOUNT-AMT. + 03 COLUMN 93 PIC $$$$.99 SOURCE WS-CHARGE-AMT. + + 01 CUSTOMER-TOTAL TYPE CONTROL FOOTING TR-CUSTOMER-NUMBER + NEXT GROUP IS PLUS 2. + 02 LINE PLUS 1. + 03 COLUMN 92 PIC $$$$$.99 SUM WS-CHARGE-AMT. + 03 COLUMN 101 PIC X VALUE '*'. + + PROCEDURE DIVISION. + + 000-INITIATE. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-TRANSACTION-DATA. + SET DISCOUNT-IX TO TR-ITEM-DEPARTMENT. + COMPUTE WS-DISCOUNT-AMT ROUNDED = + TR-ITEM-COST * DISCOUNT (DISCOUNT-IX). + COMPUTE WS-CHARGE-AMT = + TR-ITEM-COST - WS-DISCOUNT-AMT. + GENERATE CHARGE-DETAIL. + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + 199-EXIT. + EXIT. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:983: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:983" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:983" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:985: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:985" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:985" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + C U S T O M E R C H A R G E R E P O R T PAGE 1 + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST DISCT. % DISCT. AMT. CHARGE + + 152 J. LANGDON 8 87653 $24.75 09% $2.23 $22.52 + 152 J. LANGDON 6 64025 $9.45 22% $2.08 $7.37 + 152 J. LANGDON 4 41915 $13.70 15% $2.06 $11.64 + 152 J. LANGDON 1 17410 $2.51 05% $.13 $2.38 + $43.91 * + + + 2468 L. MORRISEY 1 18520 $3.75 05% $.19 $3.56 + 2468 L. MORRISEY 2 20012 $4.20 07% $.29 $3.91 + 2468 L. MORRISEY 3 31572 $10.15 10% $1.02 $9.13 + 2468 L. MORRISEY 4 48792 $37.50 15% $5.63 $31.87 + 2468 L. MORRISEY 5 50407 $15.15 06% $.91 $14.24 + 2468 L. MORRISEY 6 61575 $20.10 22% $4.42 $15.68 + 2468 L. MORRISEY 7 79204 $51.70 12% $6.20 $45.50 + 2468 L. MORRISEY 8 85075 $37.84 09% $3.41 $34.43 + 2468 L. MORRISEY 9 98476 $87.94 20% $17.59 $70.35 + $228.67 * + + + 3451 M. JACKSON 3 37847 $27.90 10% $2.79 $25.11 + 3451 M. JACKSON 5 58492 $68.50 06% $4.11 $64.39 + 3451 M. JACKSON 6 60010 $20.40 22% $4.49 $15.91 + 3451 M. JACKSON 8 85260 $78.52 09% $7.07 $71.45 + 3451 M. JACKSON 9 90520 $27.52 20% $5.50 $22.02 + $198.88 * + + + 4512 S. LEVITT 2 24680 $30.50 07% $2.14 $28.36 + 4512 S. LEVITT 5 56784 $52.53 06% $3.15 $49.38 + 4512 S. LEVITT 6 60410 $12.15 22% $2.67 $9.48 + 4512 S. LEVITT 7 78952 $89.25 12% $10.71 $78.54 + 4512 S. LEVITT 8 85278 $49.75 09% $4.48 $45.27 + 4512 S. LEVITT 8 87492 $64.25 09% $5.78 $58.47 + 4512 S. LEVITT 9 97204 $84.75 20% $16.95 $67.80 + $337.30 * + + + 5417 K. CONKLIN 1 13579 $35.72 05% $1.79 $33.93 + 5417 K. CONKLIN 2 24615 $18.75 07% $1.31 $17.44 + 5417 K. CONKLIN 3 34928 $37.45 10% $3.75 $33.70 + 5417 K. CONKLIN 4 48527 $87.50 15% $13.13 $74.37 + 5417 K. CONKLIN 5 50150 $18.95 06% $1.14 $17.81 + 5417 K. CONKLIN 5 54652 $38.92 06% $2.34 $36.58 + 5417 K. CONKLIN 5 59765 $98.95 06% $5.94 $93.01 + 5417 K. CONKLIN 7 71572 $18.95 12% $2.27 $16.68 + 5417 K. CONKLIN 8 85175 $80.10 09% $7.21 $72.89 + 5417 K. CONKLIN 9 90275 $4.60 20% $.92 $3.68 + 5417 K. CONKLIN 9 91572 $18.57 20% $3.71 $14.86 + 5417 K. CONKLIN 9 97576 $84.95 20% $16.99 $67.96 + $482.91 * + + + 6213 Z. HAMPTON 1 15792 $64.25 05% $3.21 $61.04 + 6213 Z. HAMPTON 1 19975 $98.75 05% $4.94 $93.81 + + + + + + + + C U S T O M E R C H A R G E R E P O R T PAGE 2 + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST DISCT. % DISCT. AMT. CHARGE + + 6213 Z. HAMPTON 3 34576 $51.15 10% $5.12 $46.03 + 6213 Z. HAMPTON 4 49512 $85.20 15% $12.78 $72.42 + $273.30 * + + + 7545 M. LARSON 1 14676 $38.45 05% $1.92 $36.53 + 7545 M. LARSON 1 18592 $82.51 05% $4.13 $78.38 + 7545 M. LARSON 1 19994 $98.98 05% $4.95 $94.03 + 7545 M. LARSON 2 21214 $15.15 07% $1.06 $14.09 + 7545 M. LARSON 3 37515 $82.12 10% $8.21 $73.91 + 7545 M. LARSON 3 38592 $96.15 10% $9.62 $86.53 + 7545 M. LARSON 4 48485 $87.14 15% $13.07 $74.07 + 7545 M. LARSON 5 52762 $37.92 06% $2.28 $35.64 + 7545 M. LARSON 5 57684 $80.15 06% $4.81 $75.34 + 7545 M. LARSON 7 79015 $96.25 12% $11.55 $84.70 + 7545 M. LARSON 8 80123 $5.60 09% $.50 $5.10 + 7545 M. LARSON 8 82462 $20.15 09% $1.81 $18.34 + 7545 M. LARSON 9 91520 $18.15 20% $3.63 $14.52 + 7545 M. LARSON 9 93715 $40.15 20% $8.03 $32.12 + $723.30 * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1123: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:1123" +( $at_check_trace; diff reference report.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_reportwriter.at:1123" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_987 +#AT_START_988 +at_fn_group_banner 988 'run_reportwriter.at:1128' \ + "Sample Charge Report 2" " " 4 +at_xfail=no +( + printf "%s\n" "988. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +0152 J. LANGDON 87653 02475 +0152 J. LANGDON 64025 00945 +0152 J. LANGDON 41915 01370 +0152 J. LANGDON 17410 00251 +2468 L. MORRISEY 18520 00375 +2468 L. MORRISEY 20012 00420 +2468 L. MORRISEY 31572 01015 +2468 L. MORRISEY 48792 03750 +2468 L. MORRISEY 50407 01515 +2468 L. MORRISEY 61575 02010 +2468 L. MORRISEY 79204 05170 +2468 L. MORRISEY 85075 03784 +2468 L. MORRISEY 98476 08794 +3451 M. JACKSON 37847 02790 +3451 M. JACKSON 58492 06850 +3451 M. JACKSON 60010 02040 +3451 M. JACKSON 85260 07852 +3451 M. JACKSON 90520 02752 +4512 S. LEVITT 24680 03050 +4512 S. LEVITT 56784 05253 +4512 S. LEVITT 60410 01215 +4512 S. LEVITT 78952 08925 +4512 S. LEVITT 85278 04975 +4512 S. LEVITT 87492 06425 +4512 S. LEVITT 97204 08475 +5417 K. CONKLIN 13579 03572 +5417 K. CONKLIN 24615 01875 +5417 K. CONKLIN 34928 03745 +5417 K. CONKLIN 48527 08750 +5417 K. CONKLIN 50150 01895 +5417 K. CONKLIN 54652 03892 +5417 K. CONKLIN 59765 09895 +5417 K. CONKLIN 71572 01895 +5417 K. CONKLIN 85175 08010 +5417 K. CONKLIN 90275 00460 +5417 K. CONKLIN 91572 01857 +5417 K. CONKLIN 97576 08495 +6213 Z. HAMPTON 15792 06425 +6213 Z. HAMPTON 19975 09875 +6213 Z. HAMPTON 34576 05115 +6213 Z. HAMPTON 49512 08520 +7545 M. LARSON 14676 03845 +7545 M. LARSON 18592 08251 +7545 M. LARSON 19994 09898 +7545 M. LARSON 21214 01515 +7545 M. LARSON 37515 08212 +7545 M. LARSON 38592 09615 +7545 M. LARSON 48485 08714 +7545 M. LARSON 52762 03792 +7545 M. LARSON 57684 08015 +7545 M. LARSON 79015 09625 +7545 M. LARSON 80123 00560 +7545 M. LARSON 82462 02015 +7545 M. LARSON 91520 01815 +7545 M. LARSON 93715 04015 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + * ************************************************************* * + * REPORT WRITER EXAMPLE #3. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD TRANSACTION-DATA. + + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER-NUMBER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-CUSTOMER-NAME PIC X(16). + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + + FD REPORT-FILE + REPORT IS CUSTOMER-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + 01 DISCOUNT-TABLE. + 02 FILLER PIC 99 VALUE 05. + 02 FILLER PIC 99 VALUE 07. + 02 FILLER PIC 99 VALUE 10. + 02 FILLER PIC 99 VALUE 15. + 02 FILLER PIC 99 VALUE 06. + 02 FILLER PIC 99 VALUE 22. + 02 FILLER PIC 99 VALUE 12. + 02 FILLER PIC 99 VALUE 09. + 02 FILLER PIC 99 VALUE 20. + 01 FILLER REDEFINES DISCOUNT-TABLE. + 02 DISCOUNT OCCURS 9 TIMES + INDEXED BY DISCOUNT-IX + PIC V99. + + 01 CALCULATED-FIELDS. + 03 WS-DISCOUNT-AMT PIC 9(3)V99. + 03 WS-CHARGE-AMT PIC 9(3)V99. + + REPORT SECTION. + RD CUSTOMER-REPORT + CONTROLS ARE FINAL, TR-CUSTOMER-NUMBER + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'C U S T O M E R C H A R G E R E P O R T'. + 03 COLUMN 90 PIC X(04) VALUE 'PAGE'. + 03 COLUMN 95 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 30 PIC X(05) VALUE 'DEPT.'. + 03 COLUMN 39 PIC X(08) VALUE 'ITEM NO.'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + 03 COLUMN 64 PIC X(08) VALUE 'DISCT. %'. + 03 COLUMN 76 PIC X(11) VALUE 'DISCT. AMT.'. + 03 COLUMN 91 PIC X(06) VALUE 'CHARGE'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER + GROUP INDICATE. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME + GROUP INDICATE. + 03 COLUMN 32 PIC 9(01) SOURCE TR-ITEM-DEPARTMENT. + 03 COLUMN 40 PIC 9(05) SOURCE TR-ITEM-NUMBER. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + 03 COLUMN 67 PIC V99 SOURCE DISCOUNT (DISCOUNT-IX). + 03 COLUMN 69 PIC X(01) VALUE '%'. + 03 COLUMN 78 PIC $$$$.99 SOURCE WS-DISCOUNT-AMT. + 03 COLUMN 93 PIC $$$$.99 SOURCE WS-CHARGE-AMT. + + 01 CUSTOMER-TOTAL TYPE CONTROL FOOTING TR-CUSTOMER-NUMBER + NEXT GROUP IS PLUS 2. + 02 LINE PLUS 1. + 03 COLUMN 50 PIC $$$$$.99 SUM TR-ITEM-COST. + 03 COLUMN 59 PIC X VALUE '*'. + 03 COLUMN 77 PIC $$$$$.99 SUM WS-DISCOUNT-AMT. + 03 COLUMN 86 PIC X VALUE '*'. + 03 COLUMN 92 PIC $$$$$.99 SUM WS-CHARGE-AMT. + 03 COLUMN 101 PIC X VALUE '*'. + + 01 FINAL-TOTAL TYPE CONTROL FOOTING FINAL. + 02 LINE PLUS 1. + 03 COLUMN 10 PIC X(12) VALUE 'GRAND TOTALS'. + 03 COLUMN 48 PIC $$$,$$$.99 SUM TR-ITEM-COST. + 03 COLUMN 59 PIC XX VALUE '**'. + 03 COLUMN 75 PIC $$$,$$$.99 SUM WS-DISCOUNT-AMT. + 03 COLUMN 86 PIC XX VALUE '**'. + 03 COLUMN 90 PIC $$$,$$$.99 SUM WS-CHARGE-AMT. + 03 COLUMN 101 PIC XX VALUE '**'. + + PROCEDURE DIVISION. + + 000-INITIATE. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-TRANSACTION-DATA. + SET DISCOUNT-IX TO TR-ITEM-DEPARTMENT. + COMPUTE WS-DISCOUNT-AMT ROUNDED = + TR-ITEM-COST * DISCOUNT (DISCOUNT-IX). + COMPUTE WS-CHARGE-AMT = + TR-ITEM-COST - WS-DISCOUNT-AMT. + GENERATE CHARGE-DETAIL. + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + 199-EXIT. + EXIT. + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1353: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:1353" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:1353" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1355: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:1355" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:1355" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + C U S T O M E R C H A R G E R E P O R T PAGE 1 + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST DISCT. % DISCT. AMT. CHARGE + + 152 J. LANGDON 8 87653 $24.75 09% $2.23 $22.52 + 6 64025 $9.45 22% $2.08 $7.37 + 4 41915 $13.70 15% $2.06 $11.64 + 1 17410 $2.51 05% $.13 $2.38 + $50.41 * $6.50 * $43.91 * + + + 2468 L. MORRISEY 1 18520 $3.75 05% $.19 $3.56 + 2 20012 $4.20 07% $.29 $3.91 + 3 31572 $10.15 10% $1.02 $9.13 + 4 48792 $37.50 15% $5.63 $31.87 + 5 50407 $15.15 06% $.91 $14.24 + 6 61575 $20.10 22% $4.42 $15.68 + 7 79204 $51.70 12% $6.20 $45.50 + 8 85075 $37.84 09% $3.41 $34.43 + 9 98476 $87.94 20% $17.59 $70.35 + $268.33 * $39.66 * $228.67 * + + + 3451 M. JACKSON 3 37847 $27.90 10% $2.79 $25.11 + 5 58492 $68.50 06% $4.11 $64.39 + 6 60010 $20.40 22% $4.49 $15.91 + 8 85260 $78.52 09% $7.07 $71.45 + 9 90520 $27.52 20% $5.50 $22.02 + $222.84 * $23.96 * $198.88 * + + + 4512 S. LEVITT 2 24680 $30.50 07% $2.14 $28.36 + 5 56784 $52.53 06% $3.15 $49.38 + 6 60410 $12.15 22% $2.67 $9.48 + 7 78952 $89.25 12% $10.71 $78.54 + 8 85278 $49.75 09% $4.48 $45.27 + 8 87492 $64.25 09% $5.78 $58.47 + 9 97204 $84.75 20% $16.95 $67.80 + $383.18 * $45.88 * $337.30 * + + + 5417 K. CONKLIN 1 13579 $35.72 05% $1.79 $33.93 + 2 24615 $18.75 07% $1.31 $17.44 + 3 34928 $37.45 10% $3.75 $33.70 + 4 48527 $87.50 15% $13.13 $74.37 + 5 50150 $18.95 06% $1.14 $17.81 + 5 54652 $38.92 06% $2.34 $36.58 + 5 59765 $98.95 06% $5.94 $93.01 + 7 71572 $18.95 12% $2.27 $16.68 + 8 85175 $80.10 09% $7.21 $72.89 + 9 90275 $4.60 20% $.92 $3.68 + 9 91572 $18.57 20% $3.71 $14.86 + 9 97576 $84.95 20% $16.99 $67.96 + $543.41 * $60.50 * $482.91 * + + + 6213 Z. HAMPTON 1 15792 $64.25 05% $3.21 $61.04 + 1 19975 $98.75 05% $4.94 $93.81 + + + + + + + + C U S T O M E R C H A R G E R E P O R T PAGE 2 + +CUST. NO. CUST. NAME DEPT. ITEM NO. ITEM COST DISCT. % DISCT. AMT. CHARGE + + 6213 Z. HAMPTON 3 34576 $51.15 10% $5.12 $46.03 + 4 49512 $85.20 15% $12.78 $72.42 + $299.35 * $26.05 * $273.30 * + + + 7545 M. LARSON 1 14676 $38.45 05% $1.92 $36.53 + 1 18592 $82.51 05% $4.13 $78.38 + 1 19994 $98.98 05% $4.95 $94.03 + 2 21214 $15.15 07% $1.06 $14.09 + 3 37515 $82.12 10% $8.21 $73.91 + 3 38592 $96.15 10% $9.62 $86.53 + 4 48485 $87.14 15% $13.07 $74.07 + 5 52762 $37.92 06% $2.28 $35.64 + 5 57684 $80.15 06% $4.81 $75.34 + 7 79015 $96.25 12% $11.55 $84.70 + 8 80123 $5.60 09% $.50 $5.10 + 8 82462 $20.15 09% $1.81 $18.34 + 9 91520 $18.15 20% $3.63 $14.52 + 9 93715 $40.15 20% $8.03 $32.12 + $798.87 * $75.57 * $723.30 * + GRAND TOTALS $2,566.39 ** $278.12 ** $2,288.27 ** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1493: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:1493" +( $at_check_trace; diff reference report.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_reportwriter.at:1493" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_988 +#AT_START_989 +at_fn_group_banner 989 'run_reportwriter.at:1498' \ + "Sample Charge Report 3" " " 4 +at_xfail=no +( + printf "%s\n" "989. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +0152 J. LANGDON 87653 02475 +0152 J. LANGDON 64025 00945 +0152 J. LANGDON 41915 01370 +0152 J. LANGDON 17410 00251 +2468 L. MORRISEY 18520 00375 +2468 L. MORRISEY 20012 00420 +2468 L. MORRISEY 31572 01015 +2468 L. MORRISEY 48792 03750 +2468 L. MORRISEY 50407 01515 +2468 L. MORRISEY 61575 02010 +2468 L. MORRISEY 79204 05170 +2468 L. MORRISEY 85075 03784 +2468 L. MORRISEY 98476 08794 +3451 M. JACKSON 37847 02790 +3451 M. JACKSON 58492 06850 +3451 M. JACKSON 60010 02040 +3451 M. JACKSON 85260 07852 +3451 M. JACKSON 90520 02752 +4512 S. LEVITT 24680 03050 +4512 S. LEVITT 56784 05253 +4512 S. LEVITT 60410 01215 +4512 S. LEVITT 78952 08925 +4512 S. LEVITT 85278 04975 +4512 S. LEVITT 87492 06425 +4512 S. LEVITT 97204 08475 +5417 K. CONKLIN 13579 03572 +5417 K. CONKLIN 24615 01875 +5417 K. CONKLIN 34928 03745 +5417 K. CONKLIN 48527 08750 +5417 K. CONKLIN 50150 01895 +5417 K. CONKLIN 54652 03892 +5417 K. CONKLIN 59765 09895 +5417 K. CONKLIN 71572 01895 +5417 K. CONKLIN 85175 08010 +5417 K. CONKLIN 90275 00460 +5417 K. CONKLIN 91572 01857 +5417 K. CONKLIN 97576 08495 +6213 Z. HAMPTON 15792 06425 +6213 Z. HAMPTON 19975 09875 +6213 Z. HAMPTON 34576 05115 +6213 Z. HAMPTON 49512 08520 +7545 M. LARSON 14676 03845 +7545 M. LARSON 18592 08251 +7545 M. LARSON 19994 09898 +7545 M. LARSON 21214 01515 +7545 M. LARSON 37515 08212 +7545 M. LARSON 38592 09615 +7545 M. LARSON 48485 08714 +7545 M. LARSON 52762 03792 +7545 M. LARSON 57684 08015 +7545 M. LARSON 79015 09625 +7545 M. LARSON 80123 00560 +7545 M. LARSON 82462 02015 +7545 M. LARSON 91520 01815 +7545 M. LARSON 93715 04015 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + * ************************************************************* * + * * MODIFICATIONS: * + * * ADDED GROUP ITEM TO INPUT RECORD DEFINITION AND CHANGED * 20110227 + * * REPORT SECTION REFERENCES TO ELEMENTS UNDER GROUP TO FIX * 20110227 + * * MISMATCHED CUSTOMER NAME/NUMBER ON REPORT. * 20110227 + * ************************************************************* * + + * ************************************************************* * + * REPORT WRITER EXAMPLE #4. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT TRANSACTION-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD TRANSACTION-DATA. + + 01 TRANSACTION-RECORD. + 03 TR-CUSTOMER. 20110227 + 05 TR-CUSTOMER-NUMBER PIC 9(04). 20110227 + 05 FILLER PIC X(01). 20110227 + 05 TR-CUSTOMER-NAME PIC X(16). 20110227 + 03 FILLER PIC X(01). + 03 TR-ITEM-NUMBER PIC 9(05). + 03 FILLER REDEFINES TR-ITEM-NUMBER. + 05 TR-ITEM-DEPARTMENT PIC 9(01). + 05 FILLER PIC 9(04). + 03 FILLER PIC X(01). + 03 TR-ITEM-COST PIC 9(03)V99. + 03 FILLER PIC X(47). + + FD REPORT-FILE + REPORT IS CUSTOMER-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + 01 DISCOUNT-TABLE. + 02 FILLER PIC 99 VALUE 05. + 02 FILLER PIC 99 VALUE 07. + 02 FILLER PIC 99 VALUE 10. + 02 FILLER PIC 99 VALUE 15. + 02 FILLER PIC 99 VALUE 06. + 02 FILLER PIC 99 VALUE 22. + 02 FILLER PIC 99 VALUE 12. + 02 FILLER PIC 99 VALUE 09. + 02 FILLER PIC 99 VALUE 20. + 01 FILLER REDEFINES DISCOUNT-TABLE. + 02 DISCOUNT OCCURS 9 TIMES + INDEXED BY DISCOUNT-IX + PIC V99. + + 01 CALCULATED-FIELDS. + 03 WS-DISCOUNT-AMT PIC 9(3)V99. + 03 WS-CHARGE-AMT PIC 9(3)V99. + + REPORT SECTION. + RD CUSTOMER-REPORT + CONTROLS ARE FINAL, TR-CUSTOMER + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'C U S T O M E R C H A R G E R E P O R T'. + 03 COLUMN 90 PIC X(04) VALUE 'PAGE'. + 03 COLUMN + 2 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE PLUS 2. + 03 COLUMN 01 PIC X(09) VALUE 'CUST. NO.'. + 03 COLUMN 15 PIC X(10) VALUE 'CUST. NAME'. + 03 COLUMN 51 PIC X(09) VALUE 'ITEM COST'. + 03 COLUMN 76 PIC X(11) VALUE 'DISCT. AMT.'. + 03 COLUMN 91 PIC X(06) VALUE 'CHARGE'. + + 01 CHARGE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 51 PIC $$$$.99 SOURCE TR-ITEM-COST. + 03 COLUMN 78 PIC $$$$.99 SOURCE WS-DISCOUNT-AMT. + 03 COLUMN 93 PIC $$$$.99 SOURCE WS-CHARGE-AMT. + + 01 CUSTOMER-TOTAL TYPE CONTROL FOOTING TR-CUSTOMER 20110227 + NEXT GROUP IS PLUS 2. + 02 LINE PLUS 1. + 03 COLUMN 03 PIC Z(04) SOURCE TR-CUSTOMER-NUMBER. + 03 COLUMN 10 PIC X(16) SOURCE TR-CUSTOMER-NAME. + 03 COLUMN 50 PIC $$$$$.99 SUM TR-ITEM-COST. + 03 COLUMN 77 PIC $$$$$.99 SUM WS-DISCOUNT-AMT. + 03 COLUMN 92 PIC $$$$$.99 SUM WS-CHARGE-AMT. + + 01 FINAL-TOTAL TYPE CONTROL FOOTING FINAL. + 02 LINE PLUS 1. + 03 COLUMN 10 PIC X(12) VALUE 'GRAND TOTALS'. + 03 COLUMN 48 PIC $$$,$$$.99 SUM TR-ITEM-COST. + 03 COLUMN 59 PIC X VALUE '*'. + 03 COLUMN 75 PIC $$$,$$$.99 SUM WS-DISCOUNT-AMT. + 03 COLUMN 86 PIC X VALUE '*'. + 03 COLUMN 90 PIC $$$,$$$.99 SUM WS-CHARGE-AMT. + 03 COLUMN 101 PIC X VALUE '*'. + + PROCEDURE DIVISION. + + 000-INITIATE. + + OPEN INPUT TRANSACTION-DATA, + OUTPUT REPORT-FILE. + + INITIATE CUSTOMER-REPORT. + + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + PERFORM 100-PROCESS-TRANSACTION-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE CUSTOMER-REPORT. + + CLOSE TRANSACTION-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-TRANSACTION-DATA. + SET DISCOUNT-IX TO TR-ITEM-DEPARTMENT. + COMPUTE WS-DISCOUNT-AMT ROUNDED = + TR-ITEM-COST * DISCOUNT (DISCOUNT-IX). + COMPUTE WS-CHARGE-AMT = + TR-ITEM-COST - WS-DISCOUNT-AMT. + GENERATE CUSTOMER-REPORT. + READ TRANSACTION-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + * END-READ. + + 199-EXIT. + EXIT. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1718: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:1718" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:1718" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1720: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:1720" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:1720" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + C U S T O M E R C H A R G E R E P O R T PAGE 1 + +CUST. NO. CUST. NAME ITEM COST DISCT. AMT. CHARGE + + 152 J. LANGDON $50.41 $6.50 $43.91 + + + 2468 L. MORRISEY $268.33 $39.66 $228.67 + + + 3451 M. JACKSON $222.84 $23.96 $198.88 + + + 4512 S. LEVITT $383.18 $45.88 $337.30 + + + 5417 K. CONKLIN $543.41 $60.50 $482.91 + + + 6213 Z. HAMPTON $299.35 $26.05 $273.30 + + + 7545 M. LARSON $798.87 $75.57 $723.30 + GRAND TOTALS $2,566.39 * $278.12 * $2,288.27 * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:1793: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:1793" +( $at_check_trace; diff reference report.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_reportwriter.at:1793" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_989 +#AT_START_990 +at_fn_group_banner 990 'run_reportwriter.at:1798' \ + "Sample Charge Report 4" " " 4 +at_xfail=no +( + printf "%s\n" "990. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +05 A 007328 +05 A 090620 +05 A 034602 +05 A 017837 +13 A 005035 +13 A 049851 +13 A 012139 +22 A 077572 +29 A 013491 +33 A 050628 +33 A 044987 +33 A 050162 +39 A 068745 +39 A 058384 +39 A 053005 +44 A 085669 +44 A 057891 +49 A 065134 +03 B 032035 +03 B 054694 +03 B 069591 +03 B 046023 +03 B 025725 +19 B 045550 +19 B 099371 +19 B 049703 +25 B 047000 +25 B 087106 +31 B 049157 +34 B 005994 +09 C 007980 +14 C 092224 +14 C 062942 +23 C 002974 +28 C 042394 +28 C 014745 +34 C 053467 +34 C 054332 +42 C 089295 +42 C 073826 +04 D 029685 +04 D 060676 +06 D 013230 +06 D 042290 +15 D 013076 +15 D 024104 +15 D 013078 +38 D 078771 +38 D 085871 +11 E 099350 +17 E 066301 +27 E 038144 +27 E 097807 +27 E 008055 +08 F 073201 +09 F 008278 +09 F 040898 +09 F 039688 +16 F 019308 +16 F 015173 +16 F 022865 +16 F 003568 +36 F 029276 +40 F 078631 +40 F 010249 +40 F 059583 +48 F 043877 +48 F 006755 +01 G 018347 +20 G 098123 +21 G 077346 +22 G 025953 +26 G 009587 +41 G 083126 +41 G 073046 +32 H 038823 +32 H 009989 +32 H 065838 +32 H 024994 +32 H 016065 +32 H 097042 +43 H 077895 +45 H 038692 +46 H 088151 +46 H 069538 +09 J 039764 +18 J 088890 +18 J 039421 +37 J 044560 +45 J 018770 +45 J 032993 +45 J 089631 +45 J 072659 +02 K 075925 +02 K 072909 +02 K 040544 +12 K 002138 +12 K 029239 +35 K 065936 +35 K 093046 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + * ************************************************************* * + * REPORT WRITER EXAMPLE #5. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT SALES-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD SALES-DATA. + + 01 SALES-RECORD. + 03 SR-SALESMAN-NUMBER PIC 9(02). + 03 FILLER PIC X(01). + 03 SR-DISTRICT-CODE PIC X(01). + 03 FILLER PIC X(01). + 03 SR-SALE-AMOUNT PIC 9(04)V99. + 03 FILLER PIC X(69). + + FD REPORT-FILE + REPORT IS DISTRICT-SALES-REPORT. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + + 01 COMMISSION-TABLE. + 02 FILLER PIC X(03) VALUE 'A20'. + 02 FILLER PIC X(03) VALUE 'B18'. + 02 FILLER PIC X(03) VALUE 'C15'. + 02 FILLER PIC X(03) VALUE 'D12'. + 02 FILLER PIC X(03) VALUE 'E10'. + 02 FILLER PIC X(03) VALUE 'F12'. + 02 FILLER PIC X(03) VALUE 'G10'. + 02 FILLER PIC X(03) VALUE 'H08'. + 02 FILLER PIC X(03) VALUE 'J05'. + 02 FILLER PIC X(03) VALUE 'K07'. + 01 FILLER REDEFINES COMMISSION-TABLE. + 02 COMMISSION-ENTRY OCCURS 10 TIMES + INDEXED BY COMMISSION-IX. + 03 CE-DISTRICT PIC X(01). + 03 CE-RATE PIC V99. + + 01 CALCULATED-FIELDS. + 03 WS-COMMISSION PIC 9(5)V99. + + REPORT SECTION. + RD DISTRICT-SALES-REPORT + CONTROLS ARE FINAL, SR-DISTRICT-CODE, SR-SALESMAN-NUMBER + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 58. + + 01 PAGE-HEAD-GROUP TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 27 PIC X(41) VALUE + 'D I S T R I C T S A L E S R E P O R T'. + 03 COLUMN 90 PIC X(04) VALUE 'PAGE'. + 03 COLUMN 95 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE 3. + 03 COLUMN 20 PIC X(26) VALUE + '-------- SALESMAN --------'. + 03 COLUMN 54 PIC X(15) VALUE + '-- DISTRICT --'. + 02 LINE 4. + 03 COLUMN 20 PIC X(03) VALUE 'NO.'. + 03 COLUMN 28 PIC X(05) VALUE 'SALES'. + 03 COLUMN 37 PIC X(10) VALUE 'COMMISSION'. + 03 COLUMN 54 PIC X(03) VALUE 'NO.'. + 03 COLUMN 61 PIC X(05) VALUE 'SALES'. + + 01 SALE-DETAIL TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 01 PIC 99 SOURCE SR-SALESMAN-NUMBER. + 03 COLUMN 04 PIC X SOURCE SR-DISTRICT-CODE. + 03 COLUMN 06 PIC 9999.99 SOURCE SR-SALE-AMOUNT. + + 01 SALESMAN-TOTAL TYPE CONTROL FOOTING SR-SALESMAN-NUMBER. + 02 LINE PLUS 1. + 03 COLUMN 20 PIC 99 SOURCE SR-SALESMAN-NUMBER. + 03 ST-SALES-AMT COLUMN 24 PIC $$$,$$9.99 SUM + SR-SALE-AMOUNT. + 03 COLUMN 37 PIC $$$,$$9.99 SOURCE WS-COMMISSION. + + 01 DISTRICT-TOTAL TYPE CONTROL FOOTING SR-DISTRICT-CODE + NEXT GROUP PLUS 2. + 02 LINE PLUS 1. + 03 COLUMN 54 PIC X SOURCE SR-DISTRICT-CODE. + 03 COLUMN 58 PIC $$$,$$9.99 SUM ST-SALES-AMT. + + 01 FINAL-TOTAL TYPE CONTROL FOOTING FINAL. + 02 LINE PLUS 2. + 03 COLUMN 15 PIC X(19) VALUE + 'MONTHLY TOTAL SALES'. + 03 COLUMN 57 PIC $$$$,$$9.99 SUM ST-SALES-AMT. + 03 COLUMN 69 PIC XX VALUE '**'. + + PROCEDURE DIVISION. + + DECLARATIVES. + USE-SALESMAN-TOTAL SECTION. USE BEFORE REPORTING SALESMAN-TOTAL. + USE-SALESMAN-TOTAL-PROC. + SET COMMISSION-IX TO 1. + SEARCH COMMISSION-ENTRY + AT END + MOVE 0.00 TO WS-COMMISSION + WHEN CE-DISTRICT (COMMISSION-IX) = SR-DISTRICT-CODE + COMPUTE WS-COMMISSION ROUNDED = + CE-RATE (COMMISSION-IX) * ST-SALES-AMT. + + USE-SALESMAN-TOTAL-EXIT. + EXIT. + + END DECLARATIVES. + + 000-INITIATE. + + OPEN INPUT SALES-DATA, + OUTPUT REPORT-FILE. + + INITIATE DISTRICT-SALES-REPORT. + + READ SALES-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + PERFORM 100-PROCESS-SALES-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE DISTRICT-SALES-REPORT. + + CLOSE SALES-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-SALES-DATA. + GENERATE DISTRICT-SALES-REPORT. + READ SALES-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH + END-READ. + + 199-EXIT. + EXIT. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2069: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:2069" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:2069" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2071: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:2071" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:2071" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + D I S T R I C T S A L E S R E P O R T PAGE 1 + + -------- SALESMAN -------- -- DISTRICT -- + NO. SALES COMMISSION NO. SALES + 05 $1,503.87 $300.77 + 13 $670.25 $134.05 + 22 $775.72 $155.14 + 29 $134.91 $26.98 + 33 $1,457.77 $291.55 + 39 $1,801.34 $360.27 + 44 $1,435.60 $287.12 + 49 $651.34 $130.27 + A $8,430.80 + + + 03 $2,280.68 $410.52 + 19 $1,946.24 $350.32 + 25 $1,341.06 $241.39 + 31 $491.57 $88.48 + 34 $59.94 $10.79 + B $6,119.49 + + + 09 $79.80 $11.97 + 14 $1,551.66 $232.75 + 23 $29.74 $4.46 + 28 $571.39 $85.71 + 34 $1,077.99 $161.70 + 42 $1,631.21 $244.68 + C $4,941.79 + + + 04 $903.61 $108.43 + 06 $555.20 $66.62 + 15 $502.58 $60.31 + 38 $1,646.42 $197.57 + D $3,607.81 + + + 11 $993.50 $99.35 + 17 $663.01 $66.30 + 27 $1,440.06 $144.01 + E $3,096.57 + + + 08 $732.01 $87.84 + 09 $888.64 $106.64 + 16 $609.14 $73.10 + 36 $292.76 $35.13 + 40 $1,484.63 $178.16 + 48 $506.32 $60.76 + F $4,513.50 + + + 01 $183.47 $18.35 + 20 $981.23 $98.12 + 21 $773.46 $77.35 + 22 $259.53 $25.95 + + + + + + + + D I S T R I C T S A L E S R E P O R T PAGE 2 + + -------- SALESMAN -------- -- DISTRICT -- + NO. SALES COMMISSION NO. SALES + 26 $95.87 $9.59 + 41 $1,561.72 $156.17 + G $3,855.28 + + + 32 $2,527.51 $202.20 + 43 $778.95 $62.32 + 45 $386.92 $30.95 + 46 $1,576.89 $126.15 + H $5,270.27 + + + 09 $397.64 $19.88 + 18 $1,283.11 $64.16 + 37 $445.60 $22.28 + 45 $2,140.53 $107.03 + J $4,266.88 + + + 02 $1,893.78 $132.56 + 12 $313.77 $21.96 + 35 $1,589.82 $111.29 + K $3,797.37 + + MONTHLY TOTAL SALES $47,899.76 ** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2209: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:2209" +( $at_check_trace; diff reference report.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_reportwriter.at:2209" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_990 +#AT_START_991 +at_fn_group_banner 991 'run_reportwriter.at:2214' \ + "Sample Payroll Report" " " 4 +at_xfail=no +( + printf "%s\n" "991. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +01 6622 M GAVIN SHAFER 19740201 026000 01521 03362 00075 021042 +01 6622 M GAVIN SHAFER 19740215 026000 01521 03362 00175 020942 +01 6622 M GAVIN SHAFER 19740301 026000 01521 03362 00175 020942 +01 6622 M GAVIN SHAFER 19740315 026000 01521 03362 00050 021067 +01 7078 F VERA ALSTON 19740101 030000 01755 02304 00050 025891 +01 7078 F VERA ALSTON 19740115 030000 01755 02304 00100 025841 +01 7078 F VERA ALSTON 19740201 030000 01755 02304 00050 025891 +01 7078 F VERA ALSTON 19740215 030000 01755 02304 00000 025941 +01 7078 F VERA ALSTON 19740301 030000 01755 02304 00075 025866 +01 7078 F VERA ALSTON 19740315 030000 01755 02304 00100 025841 +01 8093 M GRADY KAISER 19740101 045000 02633 05819 00175 036374 +01 8093 M GRADY KAISER 19740115 045000 02633 05819 00100 036449 +01 8093 M GRADY KAISER 19740201 045000 02633 05819 00100 036449 +01 8093 M GRADY KAISER 19740215 047500 02779 03648 00100 040973 +01 8093 M GRADY KAISER 19740301 047500 02779 03648 00175 040898 +05 1720 F PAULINE WINSTON 19740101 013000 00761 20110 00050 010080 +05 1720 F PAULINE WINSTON 19740115 013000 00761 02110 00000 010130 +05 1720 F PAULINE WINSTON 19740201 014000 00819 02272 00075 010834 +05 1720 F PAULINE WINSTON 19740215 014000 00819 02272 00175 010734 +05 1720 F PAULINE WINSTON 19740301 014000 00819 02272 00050 010859 +05 2116 M HERMAN COX 19740101 010000 00585 01293 00175 007947 +05 2116 M HERMAN COX 19740115 010000 00585 01293 00175 007947 +05 2116 M HERMAN COX 19740201 010000 00585 01293 00100 008022 +05 2116 M HERMAN COX 19740215 010000 00585 01293 00100 008022 +05 2116 M HERMAN COX 19740301 010000 00585 01293 00075 008047 +05 2116 M HERMAN COX 19740315 011000 00644 01187 00100 009070 +05 6925 M ADOLF TRUJILLO 19740115 012500 00731 02379 00050 009340 +05 6925 M ADOLF TRUJILLO 19740201 012500 00731 02379 00100 009290 +05 6925 M ADOLF TRUJILLO 19740215 012500 00731 02379 00175 009215 +05 6925 M ADOLF TRUJILLO 19740301 012500 00731 02379 00075 009315 +05 6925 M ADOLF TRUJILLO 19740315 012500 00731 02379 00000 009390 +10 1504 F TIFFANY KEIR 19740101 029000 01697 03129 00050 024124 +10 1504 F TIFFANY KEIR 19740115 029000 01697 03129 00000 024174 +10 1504 F TIFFANY KEIR 19740201 029000 01697 03129 00075 024099 +10 1504 F TIFFANY KEIR 19740215 029000 01697 03129 00000 024174 +10 1504 F TIFFANY KEIR 19740301 029000 01697 03129 00000 024174 +10 1504 F TIFFANY KEIR 19740315 029000 01697 03129 00050 024124 +10 6640 M ALEXANDER CATHEY 19740101 032500 01901 06185 00000 024414 +10 6640 M ALEXANDER CATHEY 19740115 032500 01901 06185 00175 024239 +10 6640 M ALEXANDER CATHEY 19740201 032500 01901 06185 00175 024239 +10 6640 M ALEXANDER CATHEY 19740215 032500 01901 06185 00175 024239 +10 6640 M ALEXANDER CATHEY 19740301 032500 01901 06185 00100 024314 +10 6640 M ALEXANDER CATHEY 19740315 032500 01901 06185 00100 024314 +10 9465 M STEVE HUGHES 19740101 029500 01726 04788 00175 022811 +10 9465 M STEVE HUGHES 19740115 029500 01726 04788 00000 022986 +10 9465 M STEVE HUGHES 19740201 029500 01726 04788 00000 022986 +10 9465 M STEVE HUGHES 19740215 029500 01726 04788 00050 022936 +10 9465 M STEVE HUGHES 19740301 029500 01726 04788 00075 022911 +15 2903 F KAYLA VERBECK 19740101 014000 00819 02272 00050 010859 +15 2903 F KAYLA VERBECK 19740115 014000 00819 02272 00175 010734 +15 2903 F KAYLA VERBECK 19740201 014000 00819 02272 00050 010859 +15 2903 F KAYLA VERBECK 19740215 014000 00819 02272 00175 010734 +15 2903 F KAYLA VERBECK 19740301 014000 00819 02272 00000 010909 +15 2903 F KAYLA VERBECK 19740315 014000 00819 02272 00075 010834 +15 5196 F CLAIRE KELLAR 19740101 014500 00848 01114 00075 012463 +15 5196 F CLAIRE KELLAR 19740115 014500 00848 01114 00100 012438 +15 5196 F CLAIRE KELLAR 19740201 014500 00848 01114 00175 012363 +15 5196 F CLAIRE KELLAR 19740215 014500 00848 01114 00050 012488 +15 5196 F CLAIRE KELLAR 19740301 015300 00895 02912 00175 011318 +15 5196 F CLAIRE KELLAR 19740315 015300 00895 02912 00100 011393 +20 5190 F MARYANN GLAZENER 19740101 009000 00527 01164 00050 007260 +20 5190 F MARYANN GLAZENER 19740115 009000 00527 01164 00075 007235 +20 5190 F MARYANN GLAZENER 19740201 009000 00527 01164 00000 007310 +20 5190 F MARYANN GLAZENER 19740215 009000 00527 01164 00075 007235 +20 5190 F MARYANN GLAZENER 19740301 009000 00527 01164 00050 007260 +20 5190 F MARYANN GLAZENER 19740315 009000 00527 01164 00100 007210 +20 6580 F CAROLINE TROMBETTA 19740101 008000 00468 00863 00000 006669 +20 6580 F CAROLINE TROMBETTA 19740115 008000 00468 00863 00075 006594 +20 6580 F CAROLINE TROMBETTA 19740201 008000 00468 00863 00000 006569 +20 6580 F CAROLINE TROMBETTA 19740215 008000 00468 00863 00075 006594 +20 6580 F CAROLINE TROMBETTA 19740301 008000 00468 00863 00050 006619 +20 6580 F CAROLINE TROMBETTA 19740315 008000 00468 00863 00075 006594 +20 9507 F ADRIANA CHANGAZI 19740101 008300 00486 01347 00075 006392 +20 9507 F ADRIANA CHANGAZI 19740115 008300 00486 01347 00175 006292 +20 9507 F ADRIANA CHANGAZI 19740201 008300 00486 01347 00075 006392 +20 9507 F ADRIANA CHANGAZI 19740215 008300 00486 01347 00175 006292 +20 9507 F ADRIANA CHANGAZI 19740301 008300 00486 01347 00000 006467 +20 9507 F ADRIANA CHANGAZI 19740315 008300 00486 01347 00175 006292 +25 0428 M MELVIN BEHRENS 19740101 007800 00456 00842 00000 006502 +25 0428 M MELVIN BEHRENS 19740115 007800 00456 00842 00175 006327 +25 0428 M MELVIN BEHRENS 19740201 007800 00456 00842 00175 006327 +25 0428 M MELVIN BEHRENS 19740215 007800 00456 00842 00075 006427 +25 0428 M MELVIN BEHRENS 19740301 007800 00456 00842 00000 006502 +25 0428 M MELVIN BEHRENS 19740315 007800 00456 00842 00075 006427 +25 2003 M BALDWIN SIMONSEN 19740101 011000 00644 02093 00050 008213 +25 2003 M BALDWIN SIMONSEN 19740115 011000 00644 02093 00075 008188 +25 2003 M BALDWIN SIMONSEN 19740201 011000 00644 02093 00000 008263 +25 2003 M BALDWIN SIMONSEN 19740215 011000 00644 02093 00100 008163 +25 2003 M BALDWIN SIMONSEN 19740301 011500 00673 01487 00075 009265 +25 2003 M BALDWIN SIMONSEN 19740315 011500 00673 01487 00175 009165 +25 6491 M LEO TILLEY 19740101 010100 00591 00776 00050 008683 +25 6491 M LEO TILLEY 19740115 010100 00591 00776 00075 008658 +25 6491 M LEO TILLEY 19740201 010100 00591 00776 00050 008683 +25 6491 M LEO TILLEY 19740215 010100 00591 00776 00075 008658 +25 6491 M LEO TILLEY 19740301 010100 00591 00776 00100 008633 +25 6491 M LEO TILLEY 19740315 010100 00591 00776 00000 008733 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + * ************************************************************* * + * * MODIFICATIONS: * + * * CORRECT PARAGRAPH NAME AND GO TO CODING ERRORS. * + * ************************************************************* * + + * ************************************************************* * + * REPORT WRITER EXAMPLE #6. * + * ************************************************************* * + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT PAYROLL-REGISTER-DATA + ASSIGN TO EXTERNAL DATAIN + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL LINE ADVANCING SYSPRINT. + + DATA DIVISION. + FILE SECTION. + + FD PAYROLL-REGISTER-DATA. + + 01 PAYROLL-REGISTER-RECORD. + 03 PRR-DEPARTMENT-NUMBER PIC 9(02). + 03 FILLER PIC X(01). + 03 PRR-EMPLOYEE-KEY. + 05 PRR-EMPLOYEE-NO PIC 9(04). + 05 FILLER PIC X(01). + 05 PRR-GENDER PIC X(01). + 05 FILLER PIC X(01). + 05 PRR-EMPLOYEE-NAME PIC X(20). + 03 FILLER PIC X(01). + 03 PRR-PAY-DATE PIC 9(08). + 03 FILLER REDEFINES PRR-PAY-DATE. + 05 PRR-PAY-DATE-YEAR PIC 9(04). + 05 PRR-PAY-DATE-MONTH PIC 9(02). + 05 PRR-PAY-DATE-DAY PIC 9(02). + 03 FILLER PIC X(01). + 03 PRR-GROSS-PAY PIC 9(04)V99. + 03 FILLER PIC X(01). + 03 PRR-FICA-WH PIC 9(03)V99. + 03 FILLER PIC X(01). + 03 PRR-FED-WH PIC 9(03)V99. + 03 FILLER PIC X(01). + 03 PRR-MISC-DED PIC 9(03)V99. + 03 FILLER PIC X(01). + 03 PRR-NET-PAY PIC 9(04)V99. + 03 FILLER PIC X(09). + + FD REPORT-FILE + REPORT IS QUARTERLY-PAY-REGISTER. + + WORKING-STORAGE SECTION. + 77 END-OF-FILE-SWITCH PIC X(1) VALUE 'N'. + 88 END-OF-FILE VALUE 'Y'. + 77 PR-SW PIC X(1) VALUE 'N'. + 77 SUM-FED-WH PIC 9(04)V99 VALUE 0. + 77 HI-GROSS PIC 9(05) VALUE 2000. + + 01 WS-EMPLOYEE-KEY. + 03 WS-EMPLOYEE-NUMBER PIC 9(04). + 03 FILLER PIC X(03). + 03 WS-EMPLOYEE-NAME PIC X(20). + + 01 WS-PERCENTS-COMPUTED. + 03 WPC-DEPT OCCURS 6 TIMES + INDEXED BY WPCD-IX. + 05 WPC-PERCENT OCCURS 5 TIMES + INDEXED BY WPCC-IX + PIC 9(3)V99. + + 01 DEPARTMENT-TABLE. + 03 FILLER PIC X(17) VALUE '01MANAGEMENT '. + 03 FILLER PIC X(50) VALUE ZEROS. + 03 FILLER PIC X(17) VALUE '05ADMINISTRATIVE '. + 03 FILLER PIC X(50) VALUE ZEROS. + 03 FILLER PIC X(17) VALUE '10SKILLED NURSING'. + 03 FILLER PIC X(50) VALUE ZEROS. + 03 FILLER PIC X(17) VALUE '15PATIENT SUPPORT'. + 03 FILLER PIC X(50) VALUE ZEROS. + 03 FILLER PIC X(17) VALUE '20HOUSEKEEPING '. + 03 FILLER PIC X(50) VALUE ZEROS. + 03 FILLER PIC X(17) VALUE '25MAINTENANCE '. + 03 FILLER PIC X(50) VALUE ZEROS. + 01 FILLER REDEFINES DEPARTMENT-TABLE. + 03 DEPARTMENT-ENTRY OCCURS 6 TIMES + INDEXED BY DE-IX. + 05 DE-NUMBER PIC 9(02). + 05 DE-NAME PIC X(15). + 05 DE-GROSS PIC 9(08)V99. + 05 DE-FICA PIC 9(08)V99. + 05 DE-FWT PIC 9(08)V99. + 05 DE-MISC PIC 9(08)V99. + 05 DE-NET PIC 9(08)V99. + + REPORT SECTION. + RD QUARTERLY-PAY-REGISTER + CONTROLS ARE FINAL, PRR-DEPARTMENT-NUMBER, + PRR-EMPLOYEE-KEY + PAGE LIMIT IS 66 LINES + HEADING 1 + FIRST DETAIL 7 + LAST DETAIL 60. + + 01 TYPE PAGE HEADING. + 02 LINE 1. + 03 COLUMN 39 PIC X(13) VALUE 'C E N T U R Y'. + 03 COLUMN 55 PIC X(13) VALUE 'M E D I C A L'. + 03 COLUMN 71 PIC X(11) VALUE 'C E N T E R'. + 02 LINE 2. + 03 COLUMN 35 PIC X(17) VALUE 'Q U A R T E R L Y'. + 03 COLUMN 55 PIC X(13) VALUE 'P A Y R O L L'. + 03 COLUMN 71 PIC X(15) VALUE 'R E G I S T E R'. + 03 COLUMN 111 PIC X(04) VALUE 'PAGE'. + 03 COLUMN 116 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE 4. + 03 COLUMN 06 PIC X(9) VALUE ALL '-'. + 03 COLUMN 15 PIC X(28) VALUE + ' EMPLOYEE ---------'. + 03 COLUMN 40 PIC X(05) VALUE 'GROSS'. + 03 COLUMN 54 PIC X(04) VALUE 'FICA'. + 03 COLUMN 66 PIC X(07) VALUE 'FED W/H'. + 03 COLUMN 80 PIC X(05) VALUE 'MISC.'. + 03 COLUMN 95 PIC X(03) VALUE 'NET'. + 02 LINE 5. + 03 COLUMN 07 PIC X(02) VALUE 'NO'. + 03 COLUMN 22 PIC X(04) VALUE 'NAME'. + 03 COLUMN 41 PIC X(03) VALUE 'PAY'. + 03 COLUMN 55 PIC X(03) VALUE 'TAX'. + 03 COLUMN 68 PIC X(03) VALUE 'TAX'. + 03 COLUMN 79 PIC X(07) VALUE 'DEDUCT.'. + 03 COLUMN 95 PIC X(03) VALUE 'PAY'. + + 01 DEPT-HEAD TYPE CONTROL HEADING PRR-DEPARTMENT-NUMBER + NEXT GROUP + 1. + 02 LINE PLUS 1. + 03 COLUMN 01 PIC X(18) VALUE + 'DEPARTMENT NUMBER:'. + 03 COLUMN 21 PIC 9(02) SOURCE PRR-DEPARTMENT-NUMBER. + 03 COLUMN 24 PIC X(15) SOURCE DE-NAME (DE-IX). + + 01 EMPLOYEE-DETAIL TYPE DETAIL. + 02 LINE + 1. + 03 COLUMN 01 PIC X(27) SOURCE PRR-EMPLOYEE-KEY. + 03 COLUMN 30 PIC X(5) VALUE "Hello" + PRESENT AFTER NEW PRR-EMPLOYEE-KEY + OR PAGE. + 03 COLUMN 30 PIC X(5) VALUE " '' " + ABSENT AFTER NEW PRR-EMPLOYEE-KEY + OR PAGE. + 03 COLUMN 50 PIC 9(04).99 SOURCE PRR-GROSS-PAY. + 03 COLUMN 60 PIC 9(03).99 SOURCE PRR-FICA-WH. + 03 COLUMN 70 PIC 9(03).99 SOURCE PRR-FED-WH. + 03 COLUMN 80 PIC 9(03).99 SOURCE PRR-MISC-DED. + 03 COLUMN 90 PIC 9(04).99 SOURCE PRR-NET-PAY. + + 01 EMPL-FOOT TYPE CONTROL FOOTING PRR-EMPLOYEE-KEY. + 02 LINE PLUS 1 + PRESENT WHEN SUM-FED-WH > 80.00 + . + 03 COLUMN 06 PIC ZZZ9 SOURCE WS-EMPLOYEE-NUMBER. + 03 COLUMN 14 PIC X(20) SOURCE WS-EMPLOYEE-NAME. + 03 COLUMN 38 PIC $$,$$9.99 SUM PRR-GROSS-PAY. + 03 COLUMN 53 PIC $$$9.99 SUM PRR-FICA-WH. + 03 COLUMN 66 PIC $$$9.99 SUM PRR-FED-WH. + 03 COLUMN 79 PIC $$$9.99 SUM PRR-MISC-DED. + 03 COLUMN 92 PIC $$,$$9.99 SUM PRR-NET-PAY. + + 01 DEPT-FOOT TYPE CONTROL FOOTING PRR-DEPARTMENT-NUMBER + NEXT GROUP PLUS 2. + 02 LINE PLUS 2. + 03 COLUMN 14 PIC X(20) VALUE + 'DEPARTMENT TOTALS'. + 03 DEPT-FOOT-GROSS COLUMN 38 PIC $$,$$9.99 + SUM PRR-GROSS-PAY. + 03 COLUMN 48 PIC X VALUE '*'. + 03 DEPT-FOOT-FICA COLUMN 53 PIC $$$9.99 + SUM PRR-FICA-WH. + 03 COLUMN 61 PIC X VALUE '*'. + 03 DEPT-FOOT-FWT COLUMN 66 PIC $$$9.99 + SUM PRR-FED-WH. + 03 COLUMN 74 PIC X VALUE '*'. + 03 DEPT-FOOT-MISC COLUMN 79 PIC $$$9.99 + SUM PRR-MISC-DED. + 03 COLUMN 87 PIC X VALUE '*'. + 03 DEPT-FOOT-NET COLUMN 92 PIC $$,$$9.99 + SUM PRR-NET-PAY. + 03 COLUMN 102 PIC X VALUE '*'. + + 01 COMP-FOOT TYPE CONTROL FOOTING FINAL. + 02 LINE PLUS 2. + 03 COLUMN 14 PIC X(20) VALUE + 'COMPANY TOTALS'. + 03 CO-GROSS COLUMN 37 PIC $$$,$$9.99 + SUM PRR-GROSS-PAY. + 03 COLUMN 48 PIC XX VALUE '**'. + 03 CO-FICA COLUMN 51 PIC $$,$$9.99 + SUM PRR-FICA-WH. + 03 COLUMN 61 PIC XX VALUE '**'. + 03 CO-FWT COLUMN 64 PIC $$,$$9.99 + SUM PRR-FED-WH. + 03 COLUMN 74 PIC XX VALUE '**'. + 03 CO-MISC COLUMN 77 PIC $$,$$9.99 + SUM PRR-MISC-DED. + 03 COLUMN 87 PIC XX VALUE '**'. + 03 CO-NET COLUMN 91 PIC $$$,$$9.99 + SUM PRR-NET-PAY. + 03 COLUMN 102 PIC XX VALUE '**'. + + 01 REPORT-FOOT TYPE REPORT FOOTING. + 02 LINE 1. + 03 COLUMN 39 PIC X(13) VALUE 'C e n t u r y'. + 03 COLUMN 55 PIC X(13) VALUE 'M e d i c a l'. + 03 COLUMN 71 PIC X(11) VALUE 'C e n t e r'. + 02 LINE 2. + 03 COLUMN 35 PIC X(17) VALUE 'Q u a r t e r l y'. + 03 COLUMN 55 PIC X(13) VALUE 'P a y r o l l'. + 03 COLUMN 71 PIC X(15) VALUE 'R e g i s t e r'. + 03 COLUMN 111 PIC X(04) VALUE 'PAGE'. + 03 COLUMN 116 PIC ZZZZ9 SOURCE PAGE-COUNTER. + 02 LINE 4. + 03 COLUMN 40 PIC X(05) VALUE 'GROSS'. + 03 COLUMN 58 PIC X(04) VALUE 'FICA'. + 03 COLUMN 74 PIC X(07) VALUE 'FED W/H'. + 03 COLUMN 92 PIC X(05) VALUE 'MISC.'. + 03 COLUMN 111 PIC X(03) VALUE 'NET'. + 02 LINE 5. + 03 COLUMN 41 PIC X(03) VALUE 'PAY'. + 03 COLUMN 59 PIC X(03) VALUE 'TAX'. + 03 COLUMN 76 PIC X(03) VALUE 'TAX'. + 03 COLUMN 91 PIC X(07) VALUE 'DEDUCT.'. + 03 COLUMN 111 PIC X(03) VALUE 'PAY'. + + 02 LINE PLUS 2. + 03 COLUMN 05 PIC X(29) VALUE + '* * * DEPARTMENT TOTALS * * *'. + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (1). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (1). + 03 FILLER PRESENT WHEN DE-GROSS (1) > HI-GROSS. + 05 COLUMN 30 PIC X(4) VALUE "High". + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (1). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (1 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (1). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (1 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (1). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (1 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (1). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (1 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (1). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (1 5). + 03 COLUMN 121 PIC X VALUE '%'. + 03 FILLER PRESENT WHEN WPC-PERCENT (1 5) < 15 . + 05 COLUMN PLUS 2 PIC X(2) VALUE "Lo". + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (2). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (2). + 03 FILLER PRESENT WHEN DE-GROSS (2) > HI-GROSS. + 05 COLUMN 30 PIC X(4) VALUE "High". + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (2). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (2 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (2). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (2 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (2). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (2 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (2). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (2 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (2). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (2 5). + 03 COLUMN 121 PIC X VALUE '%'. + 03 FILLER PRESENT WHEN WPC-PERCENT (2 5) < 15 . + 05 COLUMN PLUS 2 PIC X(2) VALUE "Lo". + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (3). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (3). + 03 FILLER PRESENT WHEN DE-GROSS (3) > HI-GROSS. + 05 COLUMN 30 PIC X(4) VALUE "High". + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (3). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (3 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (3). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (3 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (3). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (3 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (3). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (3 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (3). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (3 5). + 03 COLUMN 121 PIC X VALUE '%'. + 03 FILLER PRESENT WHEN WPC-PERCENT (3 5) < 15 . + 05 COLUMN PLUS 2 PIC X(2) VALUE "Lo". + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (4). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (4). + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (4). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (4 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (4). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (4 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (4). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (4 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (4). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (4 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (4). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (4 5). + 03 COLUMN 121 PIC X VALUE '%'. + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (5). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (5). + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (5). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (5 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (5). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (5 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (5). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (5 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (5). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (5 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (5). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (5 5). + 03 COLUMN 121 PIC X VALUE '%'. + 02 LINE PLUS 2. + 03 COLUMN 05 PIC 9(02) SOURCE DE-NUMBER (6). + 03 COLUMN 08 PIC X(15) SOURCE DE-NAME (6). + 03 COLUMN 38 PIC $$,$$9.99 SOURCE DE-GROSS (6). + 03 COLUMN 48 PIC ZZ9 SOURCE WPC-PERCENT (6 1). + 03 COLUMN 51 PIC X VALUE '%'. + 03 COLUMN 57 PIC $$$9.99 SOURCE DE-FICA (6). + 03 COLUMN 65 PIC ZZ9 SOURCE WPC-PERCENT (6 2). + 03 COLUMN 68 PIC X VALUE '%'. + 03 COLUMN 74 PIC $$$9.99 SOURCE DE-FWT (6). + 03 COLUMN 82 PIC ZZ9 SOURCE WPC-PERCENT (6 3). + 03 COLUMN 85 PIC X VALUE '%'. + 03 COLUMN 91 PIC $$$9.99 SOURCE DE-MISC (6). + 03 COLUMN 99 PIC ZZ9 SOURCE WPC-PERCENT (6 4). + 03 COLUMN 102 PIC X VALUE '%'. + 03 COLUMN 108 PIC $$,$$9.99 SOURCE DE-NET (6). + 03 COLUMN 118 PIC ZZ9 SOURCE WPC-PERCENT (6 5). + 03 COLUMN 121 PIC X VALUE '%'. + 02 LINE PLUS 2. + 03 COLUMN 37 PIC $$$,$$9.99 SOURCE CO-GROSS. + 03 COLUMN 48 PIC X(5) VALUE '100%'. + 03 COLUMN 55 PIC $$,$$9.99 SOURCE CO-FICA. + 03 COLUMN 65 PIC X(5) VALUE '100%'. + 03 COLUMN 72 PIC $$,$$9.99 SOURCE CO-FWT. + 03 COLUMN 82 PIC X(5) VALUE '100%'. + 03 COLUMN 89 PIC $$,$$9.99 SOURCE CO-MISC. + 03 COLUMN 99 PIC X(5) VALUE '100%'. + 03 COLUMN 107 PIC $$$,$$9.99 SOURCE CO-NET. + 03 COLUMN 118 PIC X(5) VALUE '100%'. + + PROCEDURE DIVISION. + + DECLARATIVES. + + DEPT-HEAD-USE SECTION. USE BEFORE REPORTING DEPT-HEAD. + DEPT-HEAD-PROC. + SET DE-IX TO +1. + SEARCH DEPARTMENT-ENTRY + WHEN DE-NUMBER (DE-IX) = PRR-DEPARTMENT-NUMBER + MOVE ZEROS TO DE-GROSS (DE-IX), DE-FICA (DE-IX), + DE-FWT (DE-IX), DE-MISC (DE-IX), + DE-NET (DE-IX). + + DEPT-HEAD-EXIT. + EXIT. + + EMPL-FOOT-USE SECTION. USE BEFORE REPORTING EMPL-FOOT. + EMPL-FOOT-PROC. + MOVE PRR-EMPLOYEE-KEY TO WS-EMPLOYEE-KEY. + MOVE 'Y' TO PR-SW. + + EMPL-FOOT-EXIT. + EXIT. + + DEPT-FOOT-USE SECTION. USE BEFORE REPORTING DEPT-FOOT. + DEPT-FOOT-PROC. + MOVE DEPT-FOOT-GROSS TO DE-GROSS (DE-IX). + MOVE DEPT-FOOT-FICA TO DE-FICA (DE-IX). + MOVE DEPT-FOOT-FWT TO DE-FWT (DE-IX). + MOVE DEPT-FOOT-MISC TO DE-MISC (DE-IX). + MOVE DEPT-FOOT-NET TO DE-NET (DE-IX). + * SUPPRESS PRINTING. + + DEPT-FOOT-EXIT. + EXIT. + + COMP-FOOT-USE SECTION. USE BEFORE REPORTING COMP-FOOT. + COMP-FOOT-PROC. + PERFORM COMP-FOOT-CALC + VARYING WPCD-IX FROM +1 BY +1 + UNTIL WPCD-IX > +6. + GO TO COMP-FOOT-EXIT. + + COMP-FOOT-CALC. + SET DE-IX TO WPCD-IX. + SET WPCC-IX TO +1. + COMPUTE WPC-PERCENT (WPCD-IX WPCC-IX) ROUNDED = + ((DE-GROSS (DE-IX) / CO-GROSS) * 100) + .5. + SET WPCC-IX TO +2. + COMPUTE WPC-PERCENT (WPCD-IX WPCC-IX) ROUNDED = + ((DE-FICA (DE-IX) / CO-FICA) * 100) + .5. + SET WPCC-IX TO +3. + COMPUTE WPC-PERCENT (WPCD-IX WPCC-IX) ROUNDED = + ((DE-FWT (DE-IX) / CO-FWT) * 100) + .5. + SET WPCC-IX TO +4. + COMPUTE WPC-PERCENT (WPCD-IX WPCC-IX) ROUNDED = + ((DE-MISC (DE-IX) / CO-MISC) * 100) + .5. + SET WPCC-IX TO +5. + COMPUTE WPC-PERCENT (WPCD-IX WPCC-IX) ROUNDED = + ((DE-NET (DE-IX) / CO-NET) * 100) + .5. + + COMP-FOOT-EXIT. + EXIT. + + END DECLARATIVES. + + 000-INITIATE. + + OPEN INPUT PAYROLL-REGISTER-DATA, + OUTPUT REPORT-FILE. + + INITIATE QUARTERLY-PAY-REGISTER. + + READ PAYROLL-REGISTER-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + + PERFORM 100-PROCESS-PAYROLL-DATA THRU 199-EXIT + UNTIL END-OF-FILE. + + 000-TERMINATE. + TERMINATE QUARTERLY-PAY-REGISTER. + + CLOSE PAYROLL-REGISTER-DATA, + REPORT-FILE. + + STOP RUN. + + 100-PROCESS-PAYROLL-DATA. + ADD PRR-FED-WH TO SUM-FED-WH. + GENERATE QUARTERLY-PAY-REGISTER. + IF PR-SW = 'Y' + MOVE 'N' TO PR-SW + MOVE ZERO TO SUM-FED-WH. + READ PAYROLL-REGISTER-DATA + AT END + MOVE 'Y' TO END-OF-FILE-SWITCH. + + 199-EXIT. + EXIT. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2794: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:2794" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:2794" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2796: DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DATAIN=\"./inp_data\" DD_SYSPRINT=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:2796" +( $at_check_trace; DD_DATAIN="./inp_data" DD_SYSPRINT="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:2796" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + C E N T U R Y M E D I C A L C E N T E R + Q U A R T E R L Y P A Y R O L L R E G I S T E R PAGE 1 + + --------- EMPLOYEE --------- GROSS FICA FED W/H MISC. NET + NO NAME PAY TAX TAX DEDUCT. PAY + +DEPARTMENT NUMBER: 01 MANAGEMENT + + 6622 GAVIN SHAFER $1,040.00 $60.84 $134.48 $4.75 $839.93 + 7078 VERA ALSTON $1,800.00 $105.30 $138.24 $3.75 $1,552.71 + 8093 GRADY KAISER $2,300.00 $134.57 $247.53 $6.50 $1,911.43 + + DEPARTMENT TOTALS $5,140.00 * $300.71 * $520.25 * $15.00 * $4,304.07 * + + +DEPARTMENT NUMBER: 05 ADMINISTRATIVE + + 1720 PAULINE WINSTON $680.00 $39.79 $290.36 $3.50 $526.37 + 2116 HERMAN COX $610.00 $35.69 $76.52 $7.25 $490.55 + 6925 ADOLF TRUJILLO $625.00 $36.55 $118.95 $4.00 $465.50 + + DEPARTMENT TOTALS $1,915.00 * $112.03 * $485.83 * $14.75 * $1,482.42 * + + +DEPARTMENT NUMBER: 10 SKILLED NURSING + + 1504 TIFFANY KEIR $1,740.00 $101.82 $187.74 $1.75 $1,448.69 + 6640 ALEXANDER CATHEY $1,950.00 $114.06 $371.10 $7.25 $1,457.59 + 9465 STEVE HUGHES $1,475.00 $86.30 $239.40 $3.00 $1,146.30 + + DEPARTMENT TOTALS $5,165.00 * $302.18 * $798.24 * $12.00 * $4,052.58 * + + +DEPARTMENT NUMBER: 15 PATIENT SUPPORT + + 2903 KAYLA VERBECK $840.00 $49.14 $136.32 $5.25 $649.29 + 5196 CLAIRE KELLAR $886.00 $51.82 $102.80 $6.75 $724.63 + + DEPARTMENT TOTALS $1,726.00 * $100.96 * $239.12 * $12.00 * $1,373.92 * + + +DEPARTMENT NUMBER: 20 HOUSEKEEPING + + + DEPARTMENT TOTALS $1,518.00 * $88.86 * $202.44 * $13.00 * $1,212.76 * + + +DEPARTMENT NUMBER: 25 MAINTENANCE + + 2003 BALDWIN SIMONSEN $670.00 $39.22 $113.46 $4.75 $512.57 + + DEPARTMENT TOTALS $1,744.00 * $102.04 * $210.54 * $13.25 * $1,418.17 * + + COMPANY TOTALS $17,208.00 ** $1,006.78 ** $2,456.42 ** $80.00 ** $13,843.92 ** + + + + + + + + + + + + + C e n t u r y M e d i c a l C e n t e r + Q u a r t e r l y P a y r o l l R e g i s t e r PAGE 2 + + GROSS FICA FED W/H MISC. NET + PAY TAX TAX DEDUCT. PAY + + * * * DEPARTMENT TOTALS * * * + + 01 MANAGEMENT High $5,140.00 30% $300.71 30% $520.25 21% $15.00 19% $4,304.07 31% + + 05 ADMINISTRATIVE $1,915.00 11% $112.03 11% $485.83 20% $14.75 18% $1,482.42 11% Lo + + 10 SKILLED NURSING High $5,165.00 30% $302.18 30% $798.24 33% $12.00 15% $4,052.58 29% + + 15 PATIENT SUPPORT $1,726.00 10% $100.96 10% $239.12 10% $12.00 15% $1,373.92 10% + + 20 HOUSEKEEPING $1,518.00 9% $88.86 9% $202.44 8% $13.00 16% $1,212.76 9% + + 25 MAINTENANCE $1,744.00 10% $102.04 10% $210.54 9% $13.25 17% $1,418.17 10% + + $17,208.00 100% $1,006.78 100% $2,456.42 100% $80.00 100% $13,843.92 100% +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:2890: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:2890" +( $at_check_trace; diff reference report.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_reportwriter.at:2890" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_991 +#AT_START_992 +at_fn_group_banner 992 'run_reportwriter.at:2895' \ + "Sample REPORT with RIGHT/CENTER" " " 4 +at_xfail=no +( + printf "%s\n" "992. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +00099Dorken, Keith CS 000008 +00007Allinson, Sandy MA 000118 +00125Allinson, Nina MA 012308 +00126Allinson, Natalia MA 000008 +00127Allinson, Kristina MBA000008 +00131Norman, Nancy SC 000006 +00132Norman, Becky SC 000116 +00133Norman, Michelle SC 112306 +00134Norman, James AM 000006 +12345Norman, Ron CS 000008 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + + FILE-CONTROL. + SELECT INPUT-FILE ASSIGN TO EXTERNAL STUDENT + ORGANIZATION IS LINE SEQUENTIAL. + SELECT PRINT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT1. + + DATA DIVISION. + FILE SECTION. + FD INPUT-FILE. + 01 INPUT-REC. + 05 STUDENT-ID PIC 9(5). + 05 STUDENT-NAME PIC X(20). + 05 MAJOR PIC XXX. + 05 NUM-COURSES PIC 9(6). + + FD PRINT-FILE + BLOCK CONTAINS 0 RECORDS + RECORDING MODE IS F + RECORD CONTAINS 132 CHARACTERS + REPORT IS STUDENT-REPORT. + 01 RW-REC PIC X(90). + + WORKING-STORAGE SECTION. + 01 ARE-THERE-MORE-RECORDS PIC XXX VALUE "YES". + + REPORT SECTION. + RD STUDENT-REPORT + PAGE LIMIT 30 + HEADING 1 + FIRST DETAIL 5 + LAST DETAIL 25 + FOOTING 28 + LINE LIMIT 90 + . + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + " 1 2 3 4 5". + 05 COLUMN 51 PIC X(20) VALUE " 6 7". + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + "12345678901234567890123456789012345678901234567890". + 05 COLUMN 51 PIC X(20) VALUE "12345678901234567890". + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(2) VALUE "Ln". + 05 COLUMN 5 PIC X(6) VALUE "--ID--". + 05 COLUMN 16 PIC X(20) VALUE "--------Name--------". + 05 COLUMN 39 PIC X(5) VALUE "Major". + 05 COLUMN 45 PIC XXX VALUE "*-*". + 05 COLUMN 54 PIC X(5) VALUE "+Odd+". + 05 COLUMN 61 PIC X(6) VALUE "+Even+". + + 01 REPORT-LINE + TYPE DETAIL LINE PLUS 1. + 05 COLUMN PLUS 1 PIC Z9 + SOURCE LINE-COUNTER OF STUDENT-REPORT. + 05 COLUMN LEFT PLUS 3 PIC Z(5)9 SOURCE STUDENT-ID. + 05 COLUMN CENTER 25 PIC X(20) SOURCE STUDENT-NAME. + 05 COLUMN RIGHT 43 PIC X(5) SOURCE MAJOR. + 05 COLUMN 45 PIC XXX VALUE ":-:". + 05 COLUMN CENTER 56 PIC Z(4)9 SOURCE NUM-COURSES. + 05 COLUMN CENTER 63 PIC Z(5)9 SOURCE NUM-COURSES. + 05 COLUMN 68 PIC X VALUE ":". + + PROCEDURE DIVISION. + A000-MAINLINE. + OPEN INPUT INPUT-FILE + OUTPUT PRINT-FILE + PERFORM DO-INIT. + READ INPUT-FILE + AT END + MOVE "NO" TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL ARE-THERE-MORE-RECORDS = "NO ". + PERFORM DO-TERM. + CLOSE INPUT-FILE + PRINT-FILE. + STOP RUN. + + A001-LOOP. + GENERATE REPORT-LINE. + READ INPUT-FILE + AT END + MOVE "NO " TO ARE-THERE-MORE-RECORDS. + DO-INIT. + INITIATE STUDENT-REPORT. + + DO-TERM. + TERMINATE STUDENT-REPORT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3009: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:3009" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:62: warning: PLUS is ignored on first field of line +prog.cob:64: error: PLUS is not allowed with LEFT, RIGHT or CENTER +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_reportwriter.at:3009" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3014: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_reportwriter.at:3014" +( $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"; printf "%s\n" "prog.cob:62: warning: PLUS is ignored on first field of line +prog.cob:64: warning: PLUS is not recommended with LEFT, RIGHT or CENTER +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:3014" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3019: DD_STUDENT=./inp_data DD_REPORT1=./report.txt \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:3019" +( $at_check_trace; DD_STUDENT=./inp_data DD_REPORT1=./report.txt \ +$COBCRUN_DIRECT ./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_reportwriter.at:3019" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + 1 2 3 4 5 6 7 +1234567890123456789012345678901234567890123456789012345678901234567890 +Ln --ID-- --------Name-------- Major *-* +Odd+ +Even+ + + 5 99 Dorken, Keith CS :-: 8 8 : + 6 7 Allinson, Sandy MA :-: 118 118 : + 7 125 Allinson, Nina MA :-: 12308 12308 : + 8 126 Allinson, Natalia MA :-: 8 8 : + 9 127 Allinson, Kristina MBA :-: 8 8 : +10 131 Norman, Nancy SC :-: 6 6 : +11 132 Norman, Becky SC :-: 116 116 : +12 133 Norman, Michelle SC :-: 12306 112306 : +13 134 Norman, James AM :-: 6 6 : +14 12345 Norman, Ron CS :-: 8 8 : + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3058: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:3058" +( $at_check_trace; diff reference report.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_reportwriter.at:3058" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_992 +#AT_START_993 +at_fn_group_banner 993 'run_reportwriter.at:3063' \ + "STUDENT REPORT with INITIAL" " " 4 +at_xfail=no +( + printf "%s\n" "993. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +00123Dorken, Keith CS 08 +00124Allinson, Sandy MA 08 +00125Allinson, Nina MA 08 +00126Allinson, Natalia MA 08 +00127Allinson, Kristina MBA08 +00131Norman, Nancy SC 06 +00132Norman, Becky SC 06 +00133Norman, Michelle SC 06 +00134Norman, James AM 06 +12345Norman, Ron CS 08 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog INITIAL. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT INPUT-FILE ASSIGN TO EXTERNAL STUDENT + ORGANIZATION IS LINE SEQUENTIAL. + SELECT PRINT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT1. + + DATA DIVISION. + FILE SECTION. + FD INPUT-FILE. + 01 INPUT-REC. + 05 STUDENT-ID PIC 9(5). + 05 STUDENT-NAME PIC X(20). + 05 MAJOR PIC XXX. + 05 NUM-COURSES PIC 99. + + FD PRINT-FILE + REPORT IS STUDENT-REPORT STUDENT-REPORT2. + + WORKING-STORAGE SECTION. + 01 ARE-THERE-MORE-RECORDS PIC XXX VALUE "YES". + + REPORT SECTION. + RD STUDENT-REPORT + PAGE LIMIT 30 LINES + HEADING 2 + FIRST DETAIL 3 + LAST DETAIL 25 + FOOTING 28. + 01 REPORT-LINE + TYPE DETAIL + LINE PLUS 1. + 05 COLUMN 1 PIC 9(2) + SOURCE LINE-COUNTER OF STUDENT-REPORT. + 05 COLUMN 4 PIC 9(6) SOURCE STUDENT-ID. + 05 COLUMN 15 PIC X(20) SOURCE STUDENT-NAME. + 05 COLUMN 40 PIC XXX SOURCE MAJOR. + 05 COLUMN 45 PIC XXX VALUE "-*-". + 05 COLUMN 52 PIC 99 SOURCE NUM-COURSES. + + RD STUDENT-REPORT2 + PAGE LIMIT 60 LINES + HEADING 2 + FIRST DETAIL 5 + LAST DETAIL 55 + FOOTING 58. + 01 REPORT-LINE2 + TYPE DETAIL + LINE PLUS 1. + 05 COLUMN 4 PIC 9(6) SOURCE STUDENT-ID. + 05 COLUMN 15 PIC X(20) SOURCE STUDENT-NAME. + 05 COLUMN 40 PIC XXX SOURCE MAJOR. + 05 COLUMN 45 PIC 99 SOURCE NUM-COURSES. + 01 REPORT-LINE3 + TYPE DETAIL + LINE PLUS 2. + 05 COLUMN 4 PIC 9(6) SOURCE STUDENT-ID. + 05 COLUMN 15 PIC X(20) SOURCE STUDENT-NAME. + 05 COLUMN 40 PIC XXX SOURCE MAJOR. + + PROCEDURE DIVISION. + A000-MAINLINE. + OPEN INPUT INPUT-FILE + OUTPUT PRINT-FILE + PERFORM DO-INIT. + READ INPUT-FILE + AT END + MOVE "NO" TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL ARE-THERE-MORE-RECORDS = "NO ". + PERFORM DO-TERM. + CLOSE INPUT-FILE + PRINT-FILE. + STOP RUN. + + A001-LOOP. + GENERATE REPORT-LINE. + READ INPUT-FILE + AT END + MOVE "NO " TO ARE-THERE-MORE-RECORDS. + DO-INIT. + INITIATE STUDENT-REPORT. + + DO-TERM. + TERMINATE STUDENT-REPORT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3171: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:3171" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:3171" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3173: DD_STUDENT=\"./inp_data\" DD_REPORT1=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_STUDENT=\"./inp_data\" DD_REPORT1=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:3173" +( $at_check_trace; DD_STUDENT="./inp_data" DD_REPORT1="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:3173" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + + +03 000123 Dorken, Keith CS -*- 08 +04 000124 Allinson, Sandy MA -*- 08 +05 000125 Allinson, Nina MA -*- 08 +06 000126 Allinson, Natalia MA -*- 08 +07 000127 Allinson, Kristina MBA -*- 08 +08 000131 Norman, Nancy SC -*- 06 +09 000132 Norman, Becky SC -*- 06 +10 000133 Norman, Michelle SC -*- 06 +11 000134 Norman, James AM -*- 06 +12 012345 Norman, Ron CS -*- 08 + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3210: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:3210" +( $at_check_trace; diff reference report.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_reportwriter.at:3210" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_993 +#AT_START_994 +at_fn_group_banner 994 'run_reportwriter.at:3215' \ + "ORDER REPORT; Test substring" " " 4 +at_xfail=no +( + printf "%s\n" "994. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +10001090001012010590416 $ +10001090002013016950416 $ +10002090002023016950416 $ +10002090001022010590416 $ +10003090007023016950417 $ +10003090008032010590417 $ +10003090009023016950417 $ +10003090010032010590417 $ +10004090007023016950417 $ +10004090008032010590417 $ +10004090009023016950417 $ +10004090010032010590417 $ +10004090011032010590417 $ +10004090012032010590417 $ +10004090013032010590417 $ +10004090014032010590417 $ +10004090015032010590417 $ +10005090007023016950417 $ +10005090008032010590417 $ +10005090009023016950417 $ +10005090010032010590417 $ +10005090011032010590417 $ +10005090012032010590417 $ +10005090013032010590417 $ +10005090014032010590417 $ +10005090015032010590417 $ +10005090016032010590417 $ +10005090017032010590417 $ +10005090018032010590417 $ +10006090007023016950417 $ +10006090008032010590417 $ +10006090009023016950417 $ +10006090010032010590417 $ +10006090011032010590417 $ +10006090012032010590417 $ +10006090013032010590417 $ +10006090014032010590417 $ +10006090015032010590417 $ +10006090016032010590417 $ +10006090017032010590417 $ +10006090018032010590417 $ +10006090019032010590417 $ +10006090020032010590417 $ +10007090007023016950417 $ +10007090008032010590417 $ +10007090009023016950417 $ +10007090010032010590417 $ +10007090011032010590417 $ +10007090012032010590417 $ +10007090013032010590417 $ +10007090014032010590417 $ +10007090015032010590417 $ +10007090016032010590417 $ +10007090017032010590417 $ +10007090018032010590417 $ +10007090019032010590417 $ +10007090020032010590417 $ +10007090021032010590417 $ +10007090022032010590417 $ +10008090007023016950417 $ +10008090008032010590417 $ +10008090009023016950417 $ +10008090010032010590417 $ +10008090011032010590417 $ +10008090012032010590417 $ +10008090013032010590417 $ +10008090014032010590417 $ +10008090015032010590417 $ +10008090016032010590417 $ +10008090017032010590417 $ +10008090018032010590417 $ +10008090019032010590417 $ +10008090020032010590417 $ +10008090021032010590417 $ +10008090022032010590417 $ +10009090007023016950417 $ +10009090008032010590417 $ +10009090009023016950417 $ +10009090010032010590417 $ +10009090011032010590417 $ +10009090012032010590417 $ +10009090013032010590417 $ +10009090014032010590417 $ +10009090015032010590417 $ +10009090016032010590417 $ +10009090017032010590417 $ +10009090018032010590417 $ +10009090019032010590417 $ +10009090020032010590417 $ +10009090021032010590417 $ +10009090022032010590417 $ +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT CUST-ORDER-FILE ASSIGN TO EXTERNAL CUSTORD + ORGANIZATION IS LINE SEQUENTIAL. + SELECT CUST-PRINT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT2. + + DATA DIVISION. + FILE SECTION. + FD CUST-ORDER-FILE. + 01 CUST-ORDER-REC. + 05 CUST-NUM PIC 9(5). + 05 ITEM-NUM PIC 9(6). + 05 NUM-ORD PIC 999. + 05 PRICE PIC 999V99. + 05 SHIPPING PIC 99V99. + 05 FILLER PIC X(7). + + FD CUST-PRINT-FILE + REPORT IS ORDER-REPORT. + + WORKING-STORAGE SECTION. + 01 INDICATORS. + 05 ARE-THERE-MORE-RECORDS PIC XXX VALUE 'YES'. + 88 THERE-ARE-NO-MORE-RECORDS VALUE 'NO '. + 01 CONSTANTS. + 05 SALES-TAX PIC 9V99 VALUE 0.05. + 01 WORK-AREAS. + 05 AMT-TAX PIC 9999V99 VALUE 0. + 05 AMT-ORDER PIC 9(5)V99 VALUE 0. + 05 TOT-ORDER PIC 9(6)V99 VALUE 0. + 05 CURRENT-TIME PIC 9(8) VALUE 14301275. + + REPORT SECTION. + RD ORDER-REPORT + CONTROLS ARE FINAL + PAGE 55 LINES + FIRST DETAIL 6. + 01 TYPE REPORT HEADING + LINE 1. + 10 COLUMN 44 PIC X(21) + VALUE 'CUSTOMER ORDER REPORT'. + 01 TYPE PAGE HEADING. + 05 LINE 2. + 10 COLUMN 10 PIC X(8) VALUE " Time:". + 10 COLUMN 20 PIC 99 SOURCE CURRENT-TIME (1:2). + 10 COLUMN 22 PIC X VALUE ':'. + 10 COLUMN 23 PIC 99 SOURCE CURRENT-TIME (3:2). + 10 COLUMN 25 PIC X VALUE ':'. + 10 COLUMN 26 PIC 99 SOURCE CURRENT-TIME (5:2). + 10 COLUMN 94 PIC X(5) VALUE 'Page'. + 10 COLUMN 106 PIC ZZ9 + SOURCE PAGE-COUNTER. + 05 LINE 4. + 10 COLUMN 11 PIC X(8) VALUE 'CUST NUM'. + 10 COLUMN 26 PIC XXXX VALUE 'PART'. + 10 COLUMN 39 PIC X(7) VALUE '# ITEMS'. + 10 COLUMN 50 PIC X(5) VALUE 'PRICE'. + 10 COLUMN 66 PIC X(8) VALUE 'QUANTITY'. + 10 COLUMN 82 PIC XXX VALUE 'TAX'. + 10 COLUMN 91 PIC X(8) VALUE 'SHIPPING'. + 10 COLUMN 108 PIC X(5) VALUE 'TOTAL'. + + 01 DETAIL-LINE TYPE IS DETAIL + LINE PLUS 1. + 05 COLUMN 12 PIC 9(5) + SOURCE CUST-NUM. + 05 COLUMN 25 PIC 9(6) + SOURCE ITEM-NUM. + 05 COLUMN 41 PIC 999 + SOURCE NUM-ORD. + 05 COLUMN 49 PIC ZZZ.99 + SOURCE PRICE. + 05 COLUMN 64 PIC ZZ,ZZZ.99 + SOURCE AMT-ORDER. + 05 COLUMN 80 PIC Z,ZZZ.99 + SOURCE AMT-TAX. + 05 COLUMN 93 PIC ZZ.99 + SOURCE SHIPPING. + 05 COLUMN 104 PIC ZZZ,ZZZ.99 + SOURCE TOT-ORDER. + + + 01 TYPE CONTROL FOOTING FINAL + LINE PLUS 2. + 05 COLUMN 42 PIC X(12) + VALUE 'FINAL TOTALS'. + 05 COLUMN 63 PIC ZZZ,ZZZ.99 + SOURCE AMT-ORDER. + 05 COLUMN 79 PIC ZZ,ZZZ.99 + SUM AMT-TAX. + 05 COLUMN 92 PIC ZZZ.99 + SUM SHIPPING. + 05 COLUMN 102 PIC Z,ZZZ,ZZZ.99 + SUM TOT-ORDER. + + PROCEDURE DIVISION. + A000-MAINLINE. + * Use hard coded time value so test is repeatable + * ACCEPT CURRENT-TIME FROM TIME. + OPEN INPUT CUST-ORDER-FILE + OUTPUT CUST-PRINT-FILE. + INITIATE ORDER-REPORT. + READ CUST-ORDER-FILE + AT END + MOVE 'NO' TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL THERE-ARE-NO-MORE-RECORDS. + TERMINATE ORDER-REPORT. + CLOSE CUST-ORDER-FILE + CUST-PRINT-FILE. + STOP RUN. + A001-LOOP. + MULTIPLY NUM-ORD BY PRICE GIVING AMT-ORDER. + MULTIPLY AMT-ORDER BY SALES-TAX GIVING AMT-TAX. + ADD AMT-ORDER SHIPPING AMT-TAX GIVING TOT-ORDER. + GENERATE DETAIL-LINE. + READ CUST-ORDER-FILE + AT END + MOVE 'NO' TO ARE-THERE-MORE-RECORDS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3439: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:3439" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:3439" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3441: DD_CUSTORD=\"./inp_data\" DD_REPORT2=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_CUSTORD=\"./inp_data\" DD_REPORT2=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:3441" +( $at_check_trace; DD_CUSTORD="./inp_data" DD_REPORT2="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:3441" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + CUSTOMER ORDER REPORT + Time: 14:30:12 Page 1 + + CUST NUM PART # ITEMS PRICE QUANTITY TAX SHIPPING TOTAL + + 10001 090001 012 10.59 127.08 6.35 4.16 137.59 + 10001 090002 013 16.95 220.35 11.01 4.16 235.52 + 10002 090002 023 16.95 389.85 19.49 4.16 413.50 + 10002 090001 022 10.59 232.98 11.64 4.16 248.78 + 10003 090007 023 16.95 389.85 19.49 4.17 413.51 + 10003 090008 032 10.59 338.88 16.94 4.17 359.99 + 10003 090009 023 16.95 389.85 19.49 4.17 413.51 + 10003 090010 032 10.59 338.88 16.94 4.17 359.99 + 10004 090007 023 16.95 389.85 19.49 4.17 413.51 + 10004 090008 032 10.59 338.88 16.94 4.17 359.99 + 10004 090009 023 16.95 389.85 19.49 4.17 413.51 + 10004 090010 032 10.59 338.88 16.94 4.17 359.99 + 10004 090011 032 10.59 338.88 16.94 4.17 359.99 + 10004 090012 032 10.59 338.88 16.94 4.17 359.99 + 10004 090013 032 10.59 338.88 16.94 4.17 359.99 + 10004 090014 032 10.59 338.88 16.94 4.17 359.99 + 10004 090015 032 10.59 338.88 16.94 4.17 359.99 + 10005 090007 023 16.95 389.85 19.49 4.17 413.51 + 10005 090008 032 10.59 338.88 16.94 4.17 359.99 + 10005 090009 023 16.95 389.85 19.49 4.17 413.51 + 10005 090010 032 10.59 338.88 16.94 4.17 359.99 + 10005 090011 032 10.59 338.88 16.94 4.17 359.99 + 10005 090012 032 10.59 338.88 16.94 4.17 359.99 + 10005 090013 032 10.59 338.88 16.94 4.17 359.99 + 10005 090014 032 10.59 338.88 16.94 4.17 359.99 + 10005 090015 032 10.59 338.88 16.94 4.17 359.99 + 10005 090016 032 10.59 338.88 16.94 4.17 359.99 + 10005 090017 032 10.59 338.88 16.94 4.17 359.99 + 10005 090018 032 10.59 338.88 16.94 4.17 359.99 + 10006 090007 023 16.95 389.85 19.49 4.17 413.51 + 10006 090008 032 10.59 338.88 16.94 4.17 359.99 + 10006 090009 023 16.95 389.85 19.49 4.17 413.51 + 10006 090010 032 10.59 338.88 16.94 4.17 359.99 + 10006 090011 032 10.59 338.88 16.94 4.17 359.99 + 10006 090012 032 10.59 338.88 16.94 4.17 359.99 + 10006 090013 032 10.59 338.88 16.94 4.17 359.99 + 10006 090014 032 10.59 338.88 16.94 4.17 359.99 + 10006 090015 032 10.59 338.88 16.94 4.17 359.99 + 10006 090016 032 10.59 338.88 16.94 4.17 359.99 + 10006 090017 032 10.59 338.88 16.94 4.17 359.99 + 10006 090018 032 10.59 338.88 16.94 4.17 359.99 + 10006 090019 032 10.59 338.88 16.94 4.17 359.99 + 10006 090020 032 10.59 338.88 16.94 4.17 359.99 + 10007 090007 023 16.95 389.85 19.49 4.17 413.51 + 10007 090008 032 10.59 338.88 16.94 4.17 359.99 + 10007 090009 023 16.95 389.85 19.49 4.17 413.51 + 10007 090010 032 10.59 338.88 16.94 4.17 359.99 + 10007 090011 032 10.59 338.88 16.94 4.17 359.99 + 10007 090012 032 10.59 338.88 16.94 4.17 359.99 + 10007 090013 032 10.59 338.88 16.94 4.17 359.99 + + Time: 14:30:12 Page 2 + + CUST NUM PART # ITEMS PRICE QUANTITY TAX SHIPPING TOTAL + + 10007 090014 032 10.59 338.88 16.94 4.17 359.99 + 10007 090015 032 10.59 338.88 16.94 4.17 359.99 + 10007 090016 032 10.59 338.88 16.94 4.17 359.99 + 10007 090017 032 10.59 338.88 16.94 4.17 359.99 + 10007 090018 032 10.59 338.88 16.94 4.17 359.99 + 10007 090019 032 10.59 338.88 16.94 4.17 359.99 + 10007 090020 032 10.59 338.88 16.94 4.17 359.99 + 10007 090021 032 10.59 338.88 16.94 4.17 359.99 + 10007 090022 032 10.59 338.88 16.94 4.17 359.99 + 10008 090007 023 16.95 389.85 19.49 4.17 413.51 + 10008 090008 032 10.59 338.88 16.94 4.17 359.99 + 10008 090009 023 16.95 389.85 19.49 4.17 413.51 + 10008 090010 032 10.59 338.88 16.94 4.17 359.99 + 10008 090011 032 10.59 338.88 16.94 4.17 359.99 + 10008 090012 032 10.59 338.88 16.94 4.17 359.99 + 10008 090013 032 10.59 338.88 16.94 4.17 359.99 + 10008 090014 032 10.59 338.88 16.94 4.17 359.99 + 10008 090015 032 10.59 338.88 16.94 4.17 359.99 + 10008 090016 032 10.59 338.88 16.94 4.17 359.99 + 10008 090017 032 10.59 338.88 16.94 4.17 359.99 + 10008 090018 032 10.59 338.88 16.94 4.17 359.99 + 10008 090019 032 10.59 338.88 16.94 4.17 359.99 + 10008 090020 032 10.59 338.88 16.94 4.17 359.99 + 10008 090021 032 10.59 338.88 16.94 4.17 359.99 + 10008 090022 032 10.59 338.88 16.94 4.17 359.99 + 10009 090007 023 16.95 389.85 19.49 4.17 413.51 + 10009 090008 032 10.59 338.88 16.94 4.17 359.99 + 10009 090009 023 16.95 389.85 19.49 4.17 413.51 + 10009 090010 032 10.59 338.88 16.94 4.17 359.99 + 10009 090011 032 10.59 338.88 16.94 4.17 359.99 + 10009 090012 032 10.59 338.88 16.94 4.17 359.99 + 10009 090013 032 10.59 338.88 16.94 4.17 359.99 + 10009 090014 032 10.59 338.88 16.94 4.17 359.99 + 10009 090015 032 10.59 338.88 16.94 4.17 359.99 + 10009 090016 032 10.59 338.88 16.94 4.17 359.99 + 10009 090017 032 10.59 338.88 16.94 4.17 359.99 + 10009 090018 032 10.59 338.88 16.94 4.17 359.99 + 10009 090019 032 10.59 338.88 16.94 4.17 359.99 + 10009 090020 032 10.59 338.88 16.94 4.17 359.99 + 10009 090021 032 10.59 338.88 16.94 4.17 359.99 + 10009 090022 032 10.59 338.88 16.94 4.17 359.99 + + FINAL TOTALS 338.88 1,557.97 379.43 33,103.80 + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3558: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:3558" +( $at_check_trace; diff reference report.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_reportwriter.at:3558" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_994 +#AT_START_995 +at_fn_group_banner 995 'run_reportwriter.at:3563' \ + "Sample Control Break" " " 4 +at_xfail=no +( + printf "%s\n" "995. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +Norman, Ronald J 25CS Malcolm, Mike Waterloo +Dorken, Keith A 35CS Malcolm, Mike Waterloo +Norman, James J 25CS Manning, Eric Waterloo +Dorken, Kevin 35CS Manning, Eric Waterloo +Allinson, A R 25EC Manning, Eric Whistler +Norman, Michelle 27EC Manning, Donna Toronto +Dorken, Melissa 37EC Manning, Donna Toronto +Norseman, Ben01 27EC DiMetri, Gary Toronto +Norseman, Ben02 27EC DiMetri, Gary Toronto +Norseman, Ben03 27EC DiMetri, Gary Toronto +Norseman, Ben04 27EC DiMetri, Gary Toronto +Norseman, Ben05 27EC DiMetri, Gary Toronto +Norseman, Ben06 27EC DiMetri, Gary Toronto +Norseman, Ben07 27EC DiMetri, Gary Toronto +Norseman, Ben08 27EC DiMetri, Gary Toronto +Norseman, Ben09 27EC DiMetri, Gary Toronto +Norseman, Ben10 27EC DiMetri, Gary Toronto +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT STUDENT-FILE ASSIGN TO EXTERNAL STUDREC + ORGANIZATION IS LINE SEQUENTIAL. + SELECT PRINT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT3. + + DATA DIVISION. + FILE SECTION. + FD STUDENT-FILE. + 01 STUDENT-REC PIC X(60). + + FD PRINT-FILE + REPORT IS CONTROL-BREAK. + + WORKING-STORAGE SECTION. + 01 INDICATORS. + 05 ARE-THERE-MORE-RECORDS PIC XXX VALUE 'YES'. + 88 THERE-ARE-NO-MORE-RECORDS VALUE 'NO'. + + 01 CONSTANTS. + 05 NUM PIC 99 VALUE 1. + + 01 STUDENT-AREA. + 05 STUDENT-NAME PIC X(20). + 05 COURSE-PTS PIC 99. + 05 MAJOR PIC XXX. + 05 ADVISOR PIC X(20). + 05 CAMPUS PIC X(15). + + REPORT SECTION. + RD CONTROL-BREAK + CONTROLS ARE MAJOR ADVISOR + PAGE LIMIT 25 LINES + HEADING 1 + FIRST DETAIL 5 + FOOTING 23. + 01 TYPE IS PAGE HEADING. + 05 LINE 1. + 10 COLUMN 61 PIC X(4) VALUE 'PAGE'. + 10 COLUMN 66 PIC ZZZ9 SOURCE PAGE-COUNTER. + 05 LINE PLUS 2. + 10 COLUMN 26 PIC X(23) + VALUE 'STUDENT ADVISEMENT LIST'. + + 01 TYPE IS CONTROL HEADING MAJOR. + 05 LINE 5 ON NEXT PAGE . + 10 COLUMN 37 PIC X(5) VALUE 'MAJOR'. + 10 COLUMN 44 PIC X(20) SOURCE MAJOR. + + 05 LINE 7. + 10 COLUMN 4 PIC X(12) VALUE 'STUDENT NAME'. + 10 COLUMN 25 PIC XXX VALUE 'PTS'. + 10 COLUMN 34 PIC X(6) VALUE 'CAMPUS'. + 10 COLUMN 60 PIC X(8) VALUE 'ADVISOR'. + 05 LINE PLUS 1. + 10 COLUMN 4 PIC X(68) VALUE ALL '-'. + + 01 TRANS-LINE TYPE IS DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COLUMN 3 PIC X(20) SOURCE STUDENT-NAME. + 10 COLUMN 26 PIC 99 SOURCE COURSE-PTS. + 10 COLUMN 34 PIC X(15) SOURCE CAMPUS. + 10 COLUMN 51 PIC X(5) VALUE "Hello" + PRESENT AFTER PAGE OR ADVISOR. + 10 COLUMN 51 PIC X(5) VALUE ' " ' + ABSENT AFTER PAGE OR ADVISOR. + 10 COLUMN 60 PIC X(20) SOURCE ADVISOR + GROUP INDICATE. + + 01 TYPE IS CONTROL FOOTING ADVISOR. + 05 LINE PLUS 2. + 10 COLUMN 5 PIC X(8) VALUE 'ADVISOR'. + 10 COLUMN 13 PIC X(20) SOURCE ADVISOR. + 10 COLUMN 34 PIC X(6) VALUE 'TOTAL'. + 10 ADV-TOTAL + COLUMN 40 PIC ZZ9 SUM NUM. + 05 LINE PLUS 1. + 10 COLUMN 1 PIC X(8) VALUE ' '. + + 01 TYPE IS CONTROL FOOTING MAJOR. + 05 LINE PLUS 2. + 10 COLUMN 5 PIC X(11) VALUE 'MAJOR TOTAL'. + 10 MAJ-TOTAL + COLUMN 22 PIC ZZ9 SUM ADV-TOTAL. + + 01 TYPE IS CONTROL FOOTING FINAL. + 05 LINE PLUS 3. + 10 COLUMN 10 PIC X(11) VALUE 'FINAL TOTAL'. + 10 STU-TOTAL + COLUMN 21 PIC ZZZ9 SUM MAJ-TOTAL. + + PROCEDURE DIVISION. + A000-CREATE-REPORTS. + OPEN INPUT STUDENT-FILE + OUTPUT PRINT-FILE. + INITIATE CONTROL-BREAK. + READ STUDENT-FILE INTO STUDENT-AREA + AT END + MOVE 'NO ' TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL THERE-ARE-NO-MORE-RECORDS. + TERMINATE CONTROL-BREAK. + CLOSE STUDENT-FILE + PRINT-FILE. + STOP RUN. + + A001-LOOP. + GENERATE TRANS-LINE. + READ STUDENT-FILE INTO STUDENT-AREA + AT END + MOVE 'NO ' TO ARE-THERE-MORE-RECORDS. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3704: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:3704" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:3704" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3706: DD_STUDREC=\"./inp_data\" DD_REPORT3=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_STUDREC=\"./inp_data\" DD_REPORT3=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:3706" +( $at_check_trace; DD_STUDREC="./inp_data" DD_REPORT3="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:3706" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + PAGE 1 + + STUDENT ADVISEMENT LIST + + MAJOR CS + + STUDENT NAME PTS CAMPUS ADVISOR + -------------------------------------------------------------------- + Norman, Ronald J 25 Waterloo Hello Malcolm, Mike + Dorken, Keith A 35 Waterloo " + + ADVISOR Malcolm, Mike TOTAL 2 + + Norman, James J 25 Waterloo Hello Manning, Eric + Dorken, Kevin 35 Waterloo " + + ADVISOR Manning, Eric TOTAL 2 + + + MAJOR TOTAL 4 + + + + + + PAGE 2 + + STUDENT ADVISEMENT LIST + + MAJOR EC + + STUDENT NAME PTS CAMPUS ADVISOR + -------------------------------------------------------------------- + Allinson, A R 25 Whistler Hello Manning, Eric + + ADVISOR Manning, Eric TOTAL 1 + + Norman, Michelle 27 Toronto Hello Manning, Donna + Dorken, Melissa 37 Toronto " + + ADVISOR Manning, Donna TOTAL 2 + + Norseman, Ben01 27 Toronto Hello DiMetri, Gary + Norseman, Ben02 27 Toronto " + Norseman, Ben03 27 Toronto " + Norseman, Ben04 27 Toronto " + Norseman, Ben05 27 Toronto " + Norseman, Ben06 27 Toronto " + + PAGE 3 + + STUDENT ADVISEMENT LIST + + Norseman, Ben07 27 Toronto Hello DiMetri, Gary + Norseman, Ben08 27 Toronto " + Norseman, Ben09 27 Toronto " + Norseman, Ben10 27 Toronto " + + ADVISOR DiMetri, Gary TOTAL 10 + + + MAJOR TOTAL 13 + + + FINAL TOTAL 17 + + + + + + + + + +_ATEOF + +#" <- fix code highlighting +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3787: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:3787" +( $at_check_trace; diff reference report.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_reportwriter.at:3787" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_995 +#AT_START_996 +at_fn_group_banner 996 'run_reportwriter.at:3792' \ + "Sample Inventory Report" " " 4 +at_xfail=no +( + printf "%s\n" "996. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +01Data Processing 020005000123880 +02Cow Milking 020006000543980 +03Grass Cutting 030006000543970 +03Lawn mowing 030006000543970 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT INV-FILE ASSIGN TO EXTERNAL INVFILE + ORGANIZATION IS LINE SEQUENTIAL. + SELECT REPORT-FILE ASSIGN TO EXTERNAL + LINE ADVANCING REPORT4. + + DATA DIVISION. + FILE SECTION. + FD INV-FILE. + 01 INV-REC. + 05 DEPT-IN PIC 99. + 05 DEPT-NAM-IN PIC X(18). + 05 MONTH-IN PIC 99. + 05 ITEM-NO-IN PIC 9(5). + 05 INV-TOT-IN PIC 9(6)V99. + + FD REPORT-FILE + REPORT IS INV-REPORT. + + WORKING-STORAGE SECTION. + 01 INDICATORS. + 05 ARE-THERE-MORE-RECORDS PIC XXX VALUE 'YES'. + + REPORT SECTION. + RD INV-REPORT + CONTROLS ARE FINAL DEPT-IN MONTH-IN + PAGE LIMIT 25 LINES + HEADING 2 + FIRST DETAIL 5 + LAST DETAIL 18 + FOOTING 20. + 01 TYPE IS REPORT HEADING. + 05 LINE 2 COLUMN 50 PIC X(16) VALUE 'INVENTORY REPORT'. + 05 LINE 2 COLUMN 80 PIC X VALUE ' '. + + 01 TYPE IS CONTROL HEADING DEPT-IN + LINE NUMBER IS PLUS 2 + NEXT GROUP IS PLUS 2. + 05 COLUMN 2 PIC X(13) VALUE 'DEPARTMENT #:'. + 05 COLUMN 27 PIC 99 SOURCE DEPT-IN. + 05 COLUMN 31 PIC X(16) VALUE 'DEPARTMENT NAME:'. + 05 COLUMN 50 PIC X(18) SOURCE DEPT-NAM-IN. + + 01 INV-DETAIL TYPE IS DETAIL + LINE PLUS 2. + 05 COLUMN 10 PIC 99 SOURCE MONTH-IN GROUP INDICATE. + 05 COLUMN 25 PIC 9(5) SOURCE ITEM-NO-IN. + 05 COLUMN 40 PIC ZZZ,ZZZ.99 SOURCE IS INV-TOT-IN. + + 01 TYPE IS CONTROL FOOTING MONTH-IN + LINE PLUS 2. + 05 MONTH-TOTAL COLUMN 55 PIC Z,ZZZ,ZZZ.99 SUM INV-TOT-IN. + + 01 TYPE IS CONTROL FOOTING DEPT-IN + LINE PLUS 2. + 05 DEPT-TOTAL COLUMN 75 PIC ZZ,ZZZ,ZZZ.99 SUM MONTH-TOTAL. + + 01 TYPE IS CONTROL FOOTING FINAL + LINE PLUS 2. + 05 FINAL-TOTAL COLUMN 95 PIC ZZZ,ZZZ,ZZZ.99 SUM DEPT-TOTAL. + + 01 TYPE IS PAGE FOOTING LINE 24. + 05 COLUMN 30 PIC X(30) VALUE "-+* End of Page *+-". + 05 COLUMN 55 PIC X(12) VALUE "************". + 05 COLUMN 75 PIC X(13) VALUE "*************". + 05 COLUMN 95 PIC X(14) VALUE "**************". + + PROCEDURE DIVISION. + A000-MAINLINE. + OPEN INPUT INV-FILE + OUTPUT REPORT-FILE. + INITIATE INV-REPORT. + READ INV-FILE + AT END + MOVE 'NO ' TO ARE-THERE-MORE-RECORDS. + PERFORM A001-LOOP + UNTIL ARE-THERE-MORE-RECORDS = 'NO '. + TERMINATE INV-REPORT. + CLOSE INV-FILE + REPORT-FILE. + STOP RUN. + A001-LOOP. + GENERATE INV-DETAIL. + READ INV-FILE + AT END + MOVE 'NO ' TO ARE-THERE-MORE-RECORDS. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3897: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:3897" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:40: warning: duplicate LINE 2 ignored +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:3897" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3901: DD_INVFILE=\"./inp_data\" DD_REPORT4=\"./report.txt\" \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_INVFILE=\"./inp_data\" DD_REPORT4=\"./report.txt\" $COBCRUN_DIRECT ./prog" "run_reportwriter.at:3901" +( $at_check_trace; DD_INVFILE="./inp_data" DD_REPORT4="./report.txt" $COBCRUN_DIRECT ./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_reportwriter.at:3901" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + + INVENTORY REPORT + + + DEPARTMENT #: 01 DEPARTMENT NAME: Data Processing + + + + 02 00050 1,238.80 + + 1,238.80 + + 1,238.80 + + DEPARTMENT #: 02 DEPARTMENT NAME: Cow Milking + + + + + + + + + -+* End of Page *+- ************ ************* ************** + + + + + 02 00060 5,439.80 + + 5,439.80 + + 5,439.80 + + DEPARTMENT #: 03 DEPARTMENT NAME: Grass Cutting + + + + 03 00060 5,439.70 + + 00060 5,439.70 + + 10,879.40 + + + + + + -+* End of Page *+- ************ ************* ************** + + + + + 10,879.40 + + 17,558.00 + + + + + + + + + + + + + + + + + -+* End of Page *+- ************ ************* ************** +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:3981: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:3981" +( $at_check_trace; diff reference report.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_reportwriter.at:3981" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_996 +#AT_START_997 +at_fn_group_banner 997 'run_reportwriter.at:3986' \ + "Duplicate Detail Line" " " 4 +at_xfail=no +( + printf "%s\n" "997. $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 REPORT-FILE + LINE SEQUENTIAL + ASSIGN TO EXTERNAL DUPDTL. + DATA DIVISION. + FILE SECTION. + FD REPORT-FILE + REPORT IS MYREPORT. + WORKING-STORAGE SECTION. + 01 SAVE-ITEM PIC X. + + REPORT SECTION. + RD MYREPORT + CONTROLS ARE SAVE-ITEM + PAGE LIMIT IS 15 LINES + FIRST DETAIL 1 + LAST DETAIL 12. + + 01 TYPE IS CONTROL HEADING SAVE-ITEM. + 05 LINE NUMBER IS 1. + 10 COLUMN 1 PIC X(20) VALUE "HEADING SAVE-ITEM". + + 01 DETAIL-LINE TYPE IS DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COLUMN 1 PIC X SOURCE SAVE-ITEM. + 10 COLUMN 10 PIC X(15) VALUE "1st Detail". + + 01 SND-DETAIL-LINE TYPE IS DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COLUMN 1 PIC X SOURCE SAVE-ITEM. + 10 COLUMN 10 PIC X(15) VALUE "2nd Detail". + + 01 TRD-DETAIL-LINE TYPE IS DETAIL. + 05 LINE NUMBER PLUS 1. + 10 COLUMN 1 PIC X SOURCE SAVE-ITEM. + 10 COLUMN 10 PIC X(15) VALUE "3rd Detail 1". + 05 LINE NUMBER PLUS 1. + 10 COLUMN 1 PIC X SOURCE SAVE-ITEM. + 10 COLUMN 10 PIC X(15) VALUE "3rd Detail 2". + + 01 TYPE IS CONTROL FOOTING SAVE-ITEM. + 03 LINE NUMBER IS PLUS 1. + 05 COLUMN 07 PIC X(27) VALUE "FOOTING SAVE-ITEM". + + PROCEDURE DIVISION. + OPEN OUTPUT REPORT-FILE. + INITIATE MYREPORT. + MOVE "A" TO SAVE-ITEM. + GENERATE DETAIL-LINE. + MOVE "B" TO SAVE-ITEM. + GENERATE DETAIL-LINE. + GENERATE SND-DETAIL-LINE. + GENERATE TRD-DETAIL-LINE. + MOVE "C" TO SAVE-ITEM. + GENERATE TRD-DETAIL-LINE. + TERMINATE MYREPORT. + CLOSE REPORT-FILE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4055: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:4055" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4055" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4057: DD_DUPDTL=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_DUPDTL=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:4057" +( $at_check_trace; DD_DUPDTL=./report.txt $COBCRUN_DIRECT ./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_reportwriter.at:4057" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +HEADING SAVE-ITEM +A 1st Detail + FOOTING SAVE-ITEM + + + + + + + + + + + + +HEADING SAVE-ITEM +B 1st Detail +B 2nd Detail +B 3rd Detail 1 +B 3rd Detail 2 + FOOTING SAVE-ITEM + + + + + + + + + +HEADING SAVE-ITEM +C 3rd Detail 1 +C 3rd Detail 2 + FOOTING SAVE-ITEM + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4109: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4109" +( $at_check_trace; diff reference report.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_reportwriter.at:4109" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_997 +#AT_START_998 +at_fn_group_banner 998 'run_reportwriter.at:4114' \ + "Report with OCCURS" " " 4 +at_xfail=no +( + printf "%s\n" "998. $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 rp-file ASSIGN EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD rp-file REPORT rp. + + REPORT SECTION. + RD RP + PAGE LIMIT 10 LINES + HEADING 1 + FIRST DETAIL 4. + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + " 1 2 3 4 5". + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + "12345678901234567890123456789012345678901234567890". + + 01 RP-DTL1 TYPE DETAIL, LINE + 1. + 03 NUMS COLUMN 1 PIC 999 OCCURS 3 TIMES STEP 10. + 03 MARK COLUMN + 3 PIC X(4). + + 01 rp-dtl2 TYPE DETAIL, LINE + 1. + 03 grps COLUMN 1 OCCURS 3 TIMES. + 05 tag1 PIC X(5). + 05 FILLER PIC X. + 05 tag2 PIC X(5). + 05 FILLER PIC XX. + + 01 RP-DTL3 TYPE DETAIL, LINE + 1. + 03 NNNS COLUMN 1, 11, 21, 27 PIC 999. + 03 TAGP COLUMN PLUS 4 PIC X(4). + + 01 RP-DTL4 TYPE DETAIL, LINE + 1. + 03 NUM4A PIC 999. + 03 NUM4B COLUMN PLUS 8 PIC 999 OCCURS 3 STEP 10. + 03 MRK4 COLUMN + 3 PIC X(4). + + PROCEDURE DIVISION. + OPEN OUTPUT rp-file + INITIATE rp + + MOVE 100 TO NUMS (1), NUMS (2), NUMS (3) + MOVE "<1>" TO MARK. + GENERATE rp-dtl1 + + MOVE ALL '*' TO grps(1), grps(2), grps(3) + MOVE "Tag1" to tag1 (1), tag1 (2), tag1 (3) + MOVE "Tag2" to tag2 (1), tag2 (2), tag2 (3) + GENERATE rp-dtl2 + + MOVE 200 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE "<3>" TO TAGP. + GENERATE RP-DTL3. + + MOVE 400 TO NUM4A + MOVE 401 TO NUM4B (1) + MOVE 402 TO NUM4B (2) + MOVE 403 TO NUM4B (3) + MOVE "<4>" TO MRK4. + GENERATE RP-DTL4 + + TERMINATE rp + CLOSE rp-file + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4194: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:4194" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4194" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4196: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:4196" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./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_reportwriter.at:4196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + 1 2 3 4 5 +12345678901234567890123456789012345678901234567890 + +100 100 100 <1> +Tag1 *Tag2 **Tag1 *Tag2 **Tag1 *Tag2 ** +200 200 200 200 <3> +400 401 402 403 <4> + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4213: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4213" +( $at_check_trace; diff reference report.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_reportwriter.at:4213" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_998 +#AT_START_999 +at_fn_group_banner 999 'run_reportwriter.at:4218' \ + "Report CODE and LIMIT COLUMNS" " " 4 +at_xfail=no +( + printf "%s\n" "999. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >progv.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. progv. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT RP-FILE ASSIGN EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD RP-FILE REPORT RP. + + WORKING-STORAGE SECTION. + 01 MAXCOL PIC 99 VALUE 50. + 01 MYCODE PIC X(6) VALUE "Hi-Q:". + 01 DIGX PIC X(50) VALUE + "123456789b123456789c123456789d123456789e123456789f". + 01 FILLER REDEFINES DIGX. + 05 DIGS PIC X(10) OCCURS 5 TIMES. + + REPORT SECTION. + RD RP + CODE IS MYCODE *> variable + PAGE LIMIT 10 LINES + MAXCOL COLUMNS *> variable + HEADING 1 + FIRST DETAIL 4. + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + " 1 2 3 4 5". + 02 TYPE PAGE HEADING LINE PLUS 1. + * 05 COLUMN 1 PIC X(50) VALUE + * "12345678901234567890123456789012345678901234567890". + 05 COLUMN 1 OCCURS 5 TIMES + VARYING IDX1 FROM 1 BY 1. + 10 FILLER PIC X(10) SOURCE DIGS (IDX1). + + 01 RP-DTL1 TYPE DETAIL, LINE + 1. + 03 NUMS COLUMN 1 PIC 999 OCCURS 3 TIMES STEP 10. + 03 MARK COLUMN + 3 PIC X(4). + + 01 RP-DTL2 TYPE DETAIL, LINE + 1. + 03 GRPS COLUMN 1 OCCURS 3 TIMES. + 05 TAG1 PIC X(5). + 05 FILLER PIC X. + 05 TAG2 PIC X(5). + 05 FILLER PIC XX. + + 01 RP-DTL3 TYPE DETAIL, LINE + 1. + 03 NNNS COLUMN 1, 11, 21, 27 PIC 999. + 03 TAGP COLUMN PLUS 4 PIC X(4). + + 01 RP-DTL4 TYPE DETAIL, LINE + 1. + 03 NUM4A PIC 999. + 03 NUM4B COLUMN 11 PIC 999 OCCURS 3 STEP 10. + 03 MRK4 COLUMN + 3 PIC X(4). + + PROCEDURE DIVISION. + OPEN OUTPUT RP-FILE + INITIATE RP + + MOVE 100 TO NUMS (1), NUMS (2), NUMS (3) + MOVE "<1>" TO MARK. + GENERATE rp-dtl1 + + MOVE ALL '*' TO GRPS(1), GRPS(2), GRPS(3) + MOVE "Tag1" TO TAG1 (1), TAG1 (2), TAG1 (3) + MOVE "Tag2" TO TAG2 (1), TAG2 (2), TAG2 (3) + GENERATE RP-DTL2 + + MOVE 200 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE "<3>" TO TAGP. + GENERATE RP-DTL3. + + MOVE 400 TO NUM4A + MOVE 401 TO NUM4B (1) + MOVE 402 TO NUM4B (2) + MOVE 403 TO NUM4B (3) + MOVE "<4>" TO MRK4. + GENERATE RP-DTL4 + + TERMINATE rp + CLOSE RP-FILE + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4311: \$COMPILE -std=cobol2002 -fassign-ext-dyn=ok progv.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 -fassign-ext-dyn=ok progv.cob" "run_reportwriter.at:4311" +( $at_check_trace; $COMPILE -std=cobol2002 -fassign-ext-dyn=ok progv.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "progv.cob:38: warning: RW VARYING clause 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/run_reportwriter.at:4311" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4315: DD_PRINTOUT=./report_var.txt \\ +\$COBCRUN_DIRECT ./progv" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:4315" +( $at_check_trace; DD_PRINTOUT=./report_var.txt \ +$COBCRUN_DIRECT ./progv +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4315" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >progl.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. progl. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT RP-FILE ASSIGN EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD RP-FILE REPORT RP. + + WORKING-STORAGE SECTION. + 01 DIGX PIC X(50) VALUE + "123456789b123456789c123456789d123456789e123456789f". + 01 FILLER REDEFINES DIGX. + 05 DIGS PIC X(10) OCCURS 5 TIMES. + + REPORT SECTION. + RD RP + CODE IS "Hi-Q: " *> literal + PAGE LIMIT 10 LINES + 50 COLUMNS *> literal + HEADING 1 + FIRST DETAIL 4. + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + " 1 2 3 4 5". + 02 TYPE PAGE HEADING LINE PLUS 1. + * 05 COLUMN 1 PIC X(50) VALUE + * "12345678901234567890123456789012345678901234567890". + 05 COLUMN 1 OCCURS 5 TIMES + VARYING IDX1 FROM 1 BY 1. + 10 FILLER PIC X(10) SOURCE DIGS (IDX1). + + 01 RP-DTL1 TYPE DETAIL, LINE + 1. + 03 NUMS COLUMN 1 PIC 999 OCCURS 3 TIMES STEP 10. + 03 MARK COLUMN + 3 PIC X(4). + + 01 RP-DTL2 TYPE DETAIL, LINE + 1. + 03 GRPS COLUMN 1 OCCURS 3 TIMES. + 05 TAG1 PIC X(5). + 05 FILLER PIC X. + 05 TAG2 PIC X(5). + 05 FILLER PIC XX. + + 01 RP-DTL3 TYPE DETAIL, LINE + 1. + 03 NNNS COLUMN 1, 11, 21, 27 PIC 999. + 03 TAGP COLUMN PLUS 4 PIC X(4). + + 01 RP-DTL4 TYPE DETAIL, LINE + 1. + 03 NUM4A PIC 999. + 03 NUM4B COLUMN 11 PIC 999 OCCURS 3 STEP 10. + 03 MRK4 COLUMN + 3 PIC X(4). + + PROCEDURE DIVISION. + OPEN OUTPUT RP-FILE + INITIATE RP + + MOVE 100 TO NUMS (1), NUMS (2), NUMS (3) + MOVE "<1>" TO MARK. + GENERATE rp-dtl1 + + MOVE ALL '*' TO GRPS(1), GRPS(2), GRPS(3) + MOVE "Tag1" TO TAG1 (1), TAG1 (2), TAG1 (3) + MOVE "Tag2" TO TAG2 (1), TAG2 (2), TAG2 (3) + GENERATE RP-DTL2 + + MOVE 200 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE "<3>" TO TAGP. + GENERATE RP-DTL3. + + MOVE 400 TO NUM4A + MOVE 401 TO NUM4B (1) + MOVE 402 TO NUM4B (2) + MOVE 403 TO NUM4B (3) + MOVE "<4>" TO MRK4. + GENERATE RP-DTL4 + + TERMINATE rp + CLOSE RP-FILE + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4406: \$COMPILE -std=cobol2002 -fdump=all -fassign-ext-dyn=ok progl.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 -fdump=all -fassign-ext-dyn=ok progl.cob" "run_reportwriter.at:4406" +( $at_check_trace; $COMPILE -std=cobol2002 -fdump=all -fassign-ext-dyn=ok progl.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "progl.cob:36: warning: RW VARYING clause 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/run_reportwriter.at:4406" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4410: DD_PRINTOUT=./report_lit.txt \\ +\$COBCRUN_DIRECT ./progl" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:4410" +( $at_check_trace; DD_PRINTOUT=./report_lit.txt \ +$COBCRUN_DIRECT ./progl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4410" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +cat >reference <<'_ATEOF' +Hi-Q: 1 2 3 4 5 +Hi-Q: 1 2 3 4 5 +Hi-Q: +Hi-Q: 100 100 100 <1> +Hi-Q: Tag1 *Tag2 **Tag1 *Tag2 **Tag1 *Tag2 ** +Hi-Q: 200 200 200 200 <3> +Hi-Q: 400 401 402 403 <4> +Hi-Q: +Hi-Q: +Hi-Q: +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4430: diff reference report_var.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4430" +( $at_check_trace; diff reference report_var.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_reportwriter.at:4430" +$at_failed && at_fn_log_failure \ +"report_var.txt" \ +"report_lit.txt" +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4431: diff reference report_lit.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4431" +( $at_check_trace; diff reference report_lit.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_reportwriter.at:4431" +$at_failed && at_fn_log_failure \ +"report_var.txt" \ +"report_lit.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_999 +#AT_START_1000 +at_fn_group_banner 1000 'run_reportwriter.at:4436' \ + "Test Report dump DECLARATIVES" " " 4 +at_xfail=no +( + printf "%s\n" "1000. $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 RP-FILE ASSIGN EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD RP-FILE REPORT RP. + + WORKING-STORAGE SECTION. + 01 DIGX PIC X(50) VALUE + "123456789b123456789c123456789d123456789e123456789f". + 01 FILLER REDEFINES DIGX. + 05 DIGS PIC X(10) OCCURS 5 TIMES. + + 01 error-messages. + 05 bad-ending pic x(50) value + "Should have exactly 3 digits !". + 05 bad-param pic x(50) value + "Bad param!". + * + 78 test-date value 123. + * + 01 floating-data. + 05 dbl usage float-long value -3.40282e+038. + 05 flt usage float-short value 3.40282e+038. + + REPORT SECTION. + RD RP + CODE IS "Hi-Q: " + PAGE LIMIT 10 LINES + 50 COLUMNS + HEADING 1 + FIRST DETAIL 4. + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + " 1 2 3 4 5". + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + "12345678901234567890123456789012345678901234567890". + * 05 COLUMN 1 OCCURS 5 TIMES + * VARYING IDX1 FROM 1 BY 1. + * 10 FILLER PIC X(10) SOURCE DIGS (IDX1). + + 01 RP-DTL1 TYPE DETAIL, LINE + 1. + 03 NUMS COLUMN 1 PIC 999 OCCURS 3 TIMES STEP 10. + 03 MARK COLUMN + 2 PIC X(4). + + 01 RP-DTL2 TYPE DETAIL, LINE + 1. + 03 GRPS COLUMN 1 OCCURS 3 TIMES. + 05 TAG1 PIC X(5). + 05 DTL2 PIC X. + 05 TAG2 PIC X(5). + 05 FILLER PIC XX. + * 03 MRK2 COLUMN + 2 PIC X(4). + 03 MRK2 COLUMN 42 PIC X(4). + + 01 RP-DTL3 TYPE DETAIL, LINE + 1. + 03 NNNS COLUMN 1, 11, 21, 27 PIC 999. + 03 TAGP COLUMN PLUS 3 PIC X(4). + + 01 RP-DTL4 TYPE DETAIL, LINE + 1. + 03 NUM4A PIC 999. + 03 NUM4B COLUMN PLUS 7 PIC 999 OCCURS 3. + 03 MRK4 COLUMN + 2 PIC X(4). + + PROCEDURE DIVISION. + DECLARATIVES. + BEFORE-DETAIL SECTION. + USE BEFORE REPORTING RP-DTL2. + DOIT-1. + DISPLAY "Hello World" + MOVE '_' TO DTL2 (2). + END DECLARATIVES. + + OPEN OUTPUT RP-FILE + INITIATE RP + + MOVE 169 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE "NOT" TO TAGP. + MOVE "NOW" TO MRK4. + + MOVE 100 TO NUMS (1), NUMS (2), NUMS (3) + MOVE "<1>" TO MARK. + GENERATE rp-dtl1 + + MOVE ALL '*' TO GRPS(1), GRPS(2), GRPS(3) + MOVE "Tag1" TO TAG1 (1), TAG1 (2), TAG1 (3) + MOVE "Tag2" TO TAG2 (1), TAG2 (2), TAG2 (3) + MOVE "<2>" TO MRK2. + GENERATE RP-DTL2 + + MOVE 200 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE "<3>" TO TAGP. + GENERATE RP-DTL3. + + MOVE 400 TO NUM4A + MOVE 401 TO NUM4B (1) + MOVE 402 TO NUM4B (2) + MOVE 403 TO NUM4B (3) + MOVE "<4>" TO MRK4. + GENERATE RP-DTL4 + + TERMINATE rp + CLOSE RP-FILE + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4554: \$COMPILE -debug -fdump=ALL prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -debug -fdump=ALL prog.cob" "run_reportwriter.at:4554" +( $at_check_trace; $COMPILE -debug -fdump=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_reportwriter.at:4554" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4556: export PRINTOUT=tstdmrp.txt +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:4556" +( $at_check_trace; export PRINTOUT=tstdmrp.txt +$COBCRUN_DIRECT ./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"; printf "%s\n" "Hello World +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4556" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +Hi-Q: 1 2 3 4 5 +Hi-Q: 12345678901234567890123456789012345678901234567890 +Hi-Q: +Hi-Q: 100 100 100 <1> +Hi-Q: Tag1 *Tag2 **Tag1 _Tag2 **Tag1 *Tag2 ** <2> +Hi-Q: 200 200 200 200 <3> +Hi-Q: 400 401402403 <4> +Hi-Q: +Hi-Q: +Hi-Q: +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4576: diff reference tstdmrp.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4576" +( $at_check_trace; diff reference tstdmrp.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_reportwriter.at:4576" +$at_failed && at_fn_log_failure \ +"tstdmrp.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1000 +#AT_START_1001 +at_fn_group_banner 1001 'run_reportwriter.at:4581' \ + "Duplicate INITIATE" " " 4 +at_xfail=no +( + printf "%s\n" "1001. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + 01 hedpos PIC 99 VALUE 10. + + REPORT SECTION. + RD rp PAGE LIMIT 3. + + 01 rp-detail TYPE DE. + 02 LINE + 1. + 03 COL 1; SOURCE foo, PIC X(30). + 03 COL + 1 PIC X(6) VALUE "<--->". + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + INITIATE rp. + + MOVE "hello" TO foo. + GENERATE rp-detail. + + INITIATE rp. + + MOVE "goodbye" TO foo. + GENERATE rp-detail. + + TERMINATE rp. + CLOSE report-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4627: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:4627" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4627" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4629: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:4629" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:34: error: INITIATE rp was already done +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4629" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +hello <---> +goodbye <---> + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4642: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4642" +( $at_check_trace; diff reference report.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_reportwriter.at:4642" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1001 +#AT_START_1002 +at_fn_group_banner 1002 'run_reportwriter.at:4647' \ + "Missing INITIATE and GENERATE" " " 4 +at_xfail=no +( + printf "%s\n" "1002. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + 01 hedpos PIC 99 VALUE 10. + + REPORT SECTION. + RD rp PAGE LIMIT 3. + + 01 rp-detail TYPE DE. + 02 LINE + 1. + 03 COL 1; SOURCE foo, PIC X(30). + 03 COL + 1 PIC X(6) VALUE "<--->". + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + + MOVE "hello" TO foo. + GENERATE rp-detail. + + MOVE "goodbye" TO foo. + GENERATE rp-detail. + + TERMINATE rp. + CLOSE report-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4690: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:4690" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4690" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4692: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:4692" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:31: error: GENERATE rp but no INITIATE was done +libcob: prog.cob:31: warning: implicit CLOSE of report-file ('PRINTOUT') +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_reportwriter.at:4692" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +: >reference + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4702: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4702" +( $at_check_trace; diff reference report.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_reportwriter.at:4702" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1002 +#AT_START_1003 +at_fn_group_banner 1003 'run_reportwriter.at:4707' \ + "Missing INITIATE and TERMINATE" " " 4 +at_xfail=no +( + printf "%s\n" "1003. $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 EXTERNAL PRINTOUT + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD report-file REPORT rp. + + WORKING-STORAGE SECTION. + 01 foo PIC X(20). + 01 hedpos PIC 99 VALUE 10. + + REPORT SECTION. + RD rp PAGE LIMIT 3. + + 01 rp-detail TYPE DE. + 02 LINE + 1. + 03 COL 1; SOURCE foo, PIC X(30). + 03 COL + 2 PIC X(6) VALUE "<--->". + + PROCEDURE DIVISION. + OPEN OUTPUT report-file. + + TERMINATE rp. + CLOSE report-file. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4744: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:4744" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:4744" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4746: DD_PRINTOUT=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:4746" +( $at_check_trace; DD_PRINTOUT=./report.txt $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:30: error: TERMINATE rp but no INITIATE was done +libcob: prog.cob:30: warning: implicit CLOSE of report-file ('PRINTOUT') +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_reportwriter.at:4746" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +: >reference + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:4756: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:4756" +( $at_check_trace; diff reference report.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_reportwriter.at:4756" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1003 +#AT_START_1004 +at_fn_group_banner 1004 'run_reportwriter.at:4761' \ + "Next Group Next Page" " " 4 +at_xfail=no +( + printf "%s\n" "1004. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +MW1000051IN15021220150212OR150212043ITEM_NUMBER_22 0000002800002999 +MW1000051IN15022220150222OR150226020ITEM_NUMBER_06 0000004300000999 +MW1000071IN15021420150214OR150212057ITEM_NUMBER_51 0000007000005999 +MW1000071IN15022820150228OR150225098ITEM_NUMBER_92 0000001400009999 +MW1000201IN15020920150209OR150216083ITEM_NUMBER_77 0000007700007999 +MW1000201IN15022720150227OR150223079ITEM_NUMBER_20 0000009600002999 +MW1000291IN15021720150217OR150218088ITEM_NUMBER_86 0000001900008999 +MW1000411IN15022320150223OR150210063ITEM_NUMBER_66 0000008800006999 +MW1000451IN15021720150217OR150202053ITEM_NUMBER_60 0000005100006999 +MW1000471IN15022420150224OR150201036ITEM_NUMBER_45 0000003800004999 +MW1000831IN15021020150210OR150227042ITEM_NUMBER_70 0000007200007999 +MW1000831IN15021420150214OR150228090ITEM_NUMBER_07 0000002300000999 +MW1000831IN15022020150220OR150226048ITEM_NUMBER_61 0000005900006999 +MW1000891IN15022120150221OR150219018ITEM_NUMBER_72 0000007300007999 +MW1000891IN15022320150223OR150227069ITEM_NUMBER_73 0000007400007999 +NE1000001IN15021020150210OR150217060ITEM_NUMBER_38 0000009800003999 +NE1000201IN15021920150219OR150209035ITEM_NUMBER_94 0000009600009999 +NE1000431IN15021520150215OR150227047ITEM_NUMBER_64 0000008700006999 +NE1000431IN15022220150222OR150213062ITEM_NUMBER_97 0000007300009999 +NE1000451IN15020320150203OR150213087ITEM_NUMBER_85 0000005300008999 +NE1000471IN15022120150221OR150222034ITEM_NUMBER_74 0000008400007999 +NE1000471IN15022120150221OR150225077ITEM_NUMBER_78 0000002400007999 +NE1000491IN15021720150217OR150210037ITEM_NUMBER_17 0000000700001999 +NE1000601IN15021520150215OR150211070ITEM_NUMBER_06 0000004400000999 +NE1000631IN15022720150227OR150209051ITEM_NUMBER_09 0000005400000999 +NE1000671IN15020620150206OR150220045ITEM_NUMBER_56 0000006600005999 +NE1000811IN15022020150220OR150212086ITEM_NUMBER_27 0000001700002999 +NE1000811IN15022820150228OR150222075ITEM_NUMBER_66 0000008600006999 +NE1000831IN15021620150216OR150224004ITEM_NUMBER_52 0000004200005999 +NW1000001IN15022420150224OR150215029ITEM_NUMBER_79 0000003500007999 +NW1000011IN15022820150228OR150209023ITEM_NUMBER_62 0000009800006999 +NW1000051IN15021020150210OR150225076ITEM_NUMBER_50 0000003900005999 +NW1000051IN15021820150218OR150229093ITEM_NUMBER_94 0000003700009999 +NW1000051IN15022020150220OR150221050ITEM_NUMBER_89 0000003800008999 +NW1000071IN15020220150202OR150223014ITEM_NUMBER_54 0000004800005999 +NW1000091IN15020820150208OR150229094ITEM_NUMBER_17 0000007200001999 +NW1000091IN15021220150212OR150222096ITEM_NUMBER_89 0000004900008999 +NW1000091IN15022420150224OR150211074ITEM_NUMBER_90 0000004300009999 +NW1000091IN15022720150227OR150219030ITEM_NUMBER_12 0000001900001999 +NW1000201IN15020820150208OR150210061ITEM_NUMBER_34 0000001200003999 +NW1000231IN15021420150214OR150210044ITEM_NUMBER_89 0000005400008999 +NW1000251IN15021220150212OR150204059ITEM_NUMBER_39 0000006000003999 +NW1000401IN15021520150215OR150222049ITEM_NUMBER_40 0000008100004999 +NW1000401IN15021720150217OR150203085ITEM_NUMBER_77 0000003700007999 +NW1000411IN15020720150207OR150224056ITEM_NUMBER_99 0000005400009999 +NW1000411IN15022820150228OR150221008ITEM_NUMBER_68 0000009000006999 +NW1000491IN15022820150228OR150201002ITEM_NUMBER_47 0000008600004999 +NW1000611IN15022720150227OR150224097ITEM_NUMBER_11 0000008000001999 +NW1000631IN15020720150207OR150206031ITEM_NUMBER_49 0000001500004999 +NW1000631IN15021420150214OR150210054ITEM_NUMBER_40 0000004200004999 +NW1000631IN15022420150224OR150218024ITEM_NUMBER_84 0000003300008999 +NW1000651IN15020620150206OR150225099ITEM_NUMBER_57 0000004300005999 +NW1000671IN15021320150213OR150224041ITEM_NUMBER_22 0000000200002999 +NW1000691IN15020420150204OR150211092ITEM_NUMBER_13 0000009400001999 +NW1000811IN15022720150227OR150217081ITEM_NUMBER_45 0000001600004999 +NW1000851IN15020820150208OR150203091ITEM_NUMBER_63 0000006600006999 +NW1000871IN15021820150218OR150209082ITEM_NUMBER_30 0000005500003999 +NW1000871IN15022820150228OR150222015ITEM_NUMBER_73 0000005100007999 +NW1000891IN15022520150225OR150201026ITEM_NUMBER_80 0000004700008999 +SE1000001IN15022320150223OR150203064ITEM_NUMBER_03 0000007100000999 +SE1000011IN15020120150201OR150213017ITEM_NUMBER_09 0000000600000999 +SE1000011IN15021220150212OR150209066ITEM_NUMBER_06 0000004000000999 +SE1000091IN15020420150204OR150201001ITEM_NUMBER_68 0000001900006999 +SE1000091IN15021020150210OR150223084ITEM_NUMBER_11 0000009300001999 +SE1000091IN15022620150226OR150219038ITEM_NUMBER_97 0000003700009999 +SE1000211IN15020620150206OR150221089ITEM_NUMBER_05 0000004500000999 +SE1000411IN15021220150212OR150208012ITEM_NUMBER_46 0000002300004999 +SE1000431IN15020720150207OR150214072ITEM_NUMBER_25 0000004600002999 +SE1000431IN15022520150225OR150220040ITEM_NUMBER_01 0000006100000999 +SE1000451IN15021420150214OR150204022ITEM_NUMBER_34 0000004700003999 +SE1000471IN15020320150203OR150217010ITEM_NUMBER_25 0000003400002999 +SE1000471IN15021120150211OR150213025ITEM_NUMBER_54 0000009200005999 +SE1000491IN15020220150202OR150202013ITEM_NUMBER_19 0000007800001999 +SE1000601IN15022420150224OR150210039ITEM_NUMBER_19 0000005600001999 +SE1000631IN15020120150201OR150216003ITEM_NUMBER_65 0000001100006999 +SE1000671IN15020320150203OR150205071ITEM_NUMBER_64 0000009400006999 +SE1000671IN15022020150220OR150214032ITEM_NUMBER_53 0000005900005999 +SE1000891IN15022620150226OR150229068ITEM_NUMBER_75 0000008400007999 +SW1000011IN15020220150202OR150206000ITEM_NUMBER_30 0000005900003999 +SW1000031IN15020320150203OR150214033ITEM_NUMBER_09 0000006000000999 +SW1000031IN15020620150206OR150206021ITEM_NUMBER_91 0000005400009999 +SW1000091IN15022320150223OR150221028ITEM_NUMBER_67 0000003900006999 +SW1000201IN15020920150209OR150205065ITEM_NUMBER_21 0000007000002999 +SW1000201IN15022520150225OR150203052ITEM_NUMBER_55 0000007500005999 +SW1000201IN15022520150225OR150210067ITEM_NUMBER_83 0000001500008999 +SW1000211IN15020220150202OR150221055ITEM_NUMBER_16 0000001300001999 +SW1000211IN15020820150208OR150215007ITEM_NUMBER_97 0000008900009999 +SW1000271IN15021120150211OR150228080ITEM_NUMBER_45 0000005200004999 +SW1000271IN15021320150213OR150207095ITEM_NUMBER_09 0000005400000999 +SW1000401IN15022820150228OR150202027ITEM_NUMBER_83 0000000100008999 +SW1000411IN15021020150210OR150220073ITEM_NUMBER_63 0000001400006999 +SW1000431IN15020820150208OR150227078ITEM_NUMBER_23 0000005200002999 +SW1000431IN15022020150220OR150227006ITEM_NUMBER_50 0000008500005999 +SW1000601IN15020620150206OR150201011ITEM_NUMBER_73 0000008400007999 +SW1000611IN15020620150206OR150218019ITEM_NUMBER_67 0000006100006999 +SW1000651IN15020920150209OR150224009ITEM_NUMBER_23 0000001800002999 +SW1000831IN15020120150201OR150221046ITEM_NUMBER_44 0000006900004999 +SW1000831IN15022020150220OR150213005ITEM_NUMBER_44 0000003700004999 +SW1000831IN15022220150222OR150213058ITEM_NUMBER_86 0000008300008999 +SW1000871IN15020220150202OR150216016ITEM_NUMBER_62 0000008300006999 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + *AUTHOR. Gerard Robinson. + *DATE-WRITTEN. February 25, 2015. + + ENVIRONMENT DIVISION. + + INPUT-OUTPUT SECTION. + + FILE-CONTROL. + + SELECT REPORT-FILE + ASSIGN TO EXTERNAL REPORTFILE + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT TEMP-FILE + ASSIGN TO EXTERNAL TEMPFILE + ORGANIZATION IS LINE SEQUENTIAL. + + DATA DIVISION. + + FILE SECTION. + + FD REPORT-FILE + REPORT IS RPTA. + + FD TEMP-FILE. + + 01 TEMP-REC. + 03 TEMP-REGION PIC X(2). + 03 TEMP-BRANCH PIC X(7). + 03 TEMP-INVOICE PIC X(8). + 03 TEMP-DATE PIC X(8). + 03 TEMP-ORDER PIC X(8). + 03 TEMP-LINE-NO PIC X(3). + 03 TEMP-ITEM PIC X(20). + 03 TEMP-TX-QTY PIC S9(8). + 03 TEMP-COST PIC 999999V99. + + WORKING-STORAGE SECTION. + + 01 WS-CURRENT-DATE PIC X(23). + + 01 WS-SYSTEM-DATE-R REDEFINES WS-CURRENT-DATE. + 05 WS-DATE-YYYY PIC X(4). + 05 WS-DATE-MM PIC X(2). + 05 WS-DATE-DD PIC X(2). + 05 WS-TIME PIC X(6). + 05 WS-REST PIC X(9). + + 01 TEMP-FILE-EOF PIC 9 VALUE 0. + + REPORT SECTION. + + RD RPTA + CONTROLS ARE + FINAL, + TEMP-REGION, + TEMP-BRANCH, + TEMP-INVOICE + + PAGE LIMIT IS 60 LINES + HEADING 1 + FIRST DETAIL 8 + LAST DETAIL 48. + + 01 RPTA-PAGE-HEADING TYPE PAGE HEADING. + 03 LINE NUMBER IS 1. + 05 COLUMN 1 PIC X(4) VALUE "Run:". + 05 COLUMN 5 PIC X(2) SOURCE WS-DATE-MM. + 05 COLUMN 7 PIC X VALUE "/". + 05 COLUMN 8 PIC X(2) SOURCE WS-DATE-DD. + 05 COLUMN 10 PIC X VALUE "/". + 05 COLUMN 11 PIC X(4) SOURCE WS-DATE-YYYY. + 05 COLUMN 16 PIC X(6) SOURCE WS-TIME. + 05 COLUMN 40 PIC X(16) VALUE "NEXT PAGE ISSUE". + 05 COLUMN 61 PIC X(4) VALUE 'Page'. + 05 COLUMN 66 PIC ZZZ9 SOURCE PAGE-COUNTER. + + 03 LINE NUMBER IS 2. + 05 COLUMN 1 PIC X(08) VALUE "Region: ". + 05 COLUMN 12 PIC XX SOURCE TEMP-REGION. + + 03 LINE NUMBER IS 3. + 05 COLUMN 1 PIC X(21) VALUE "Location: ". + 05 COLUMN 22 PIC X(7) SOURCE TEMP-BRANCH. + + 03 LINE NUMBER IS 4. + 05 COLUMN 1 PIC X(8) VALUE "Invoice#". + 05 COLUMN 12 PIC X(4) VALUE "Date". + 05 COLUMN 46 PIC X(6) VALUE "Order#". + 05 COLUMN 62 PIC X(5) VALUE "Line#". + 05 COLUMN 69 PIC X(5) VALUE "Item#". + 05 COLUMN 102 PIC X(6) VALUE "TX Qty". + 05 COLUMN 114 PIC X(4) VALUE "Cost". + + 03 LINE NUMBER IS 5. + 05 COLUMN 1 PIC X(128) VALUE ALL "-". + + 01 RPTA-DETAIL-LINE TYPE DETAIL. + 05 LINE PLUS 1. + 07 COLUMN 1 PIC X(8) GROUP INDICATE + SOURCE TEMP-INVOICE. + 07 COLUMN 12 PIC X(8) GROUP INDICATE + SOURCE TEMP-DATE. + 07 COLUMN 46 PIC X(8) GROUP INDICATE + SOURCE TEMP-ORDER. + 07 COLUMN 64 PIC X(3) SOURCE TEMP-LINE-NO. + 07 COLUMN 69 PIC X(20) SOURCE TEMP-ITEM. + 07 COLUMN 102 PIC S9(8) SOURCE TEMP-TX-QTY. + 07 COLUMN 114 PIC ZZZZZZ9.99 SOURCE TEMP-COST. + + 01 RPTA-INVOICE-FOOTING TYPE CONTROL FOOTING TEMP-INVOICE + NEXT GROUP PLUS 1. + 03 LINE NUMBER IS PLUS 1. + 05 COLUMN 69 PIC X(15) VALUE "Invoice Total: ". + 05 COLUMN 101 PIC S9(9) SUM TEMP-TX-QTY. + 05 COLUMN 113 PIC ZZZZZZZ9.99 SUM TEMP-COST. + + 01 RPTA-BRANCH-FOOTING TYPE CONTROL FOOTING TEMP-BRANCH + NEXT GROUP NEXT PAGE. + 03 LINE NUMBER IS PLUS 2. + 05 COLUMN 69 PIC X(15) VALUE "Branch Total: ". + 05 COLUMN 101 PIC S9(9) SUM TEMP-TX-QTY. + 05 COLUMN 113 PIC ZZZZZZZ9.99 SUM TEMP-COST. + + 01 RPTA-REGION-FOOTING TYPE CONTROL FOOTING TEMP-REGION + NEXT GROUP NEXT PAGE. + 03 LINE NUMBER IS PLUS 2. + 05 COLUMN 69 PIC X(15) VALUE "Region Total: ". + 05 COLUMN 101 PIC S9(9) SUM TEMP-TX-QTY. + 05 COLUMN 113 PIC ZZZZZZZ9.99 SUM TEMP-COST. + + 01 RPTA-FINAL-FOOTING TYPE CONTROL FOOTING FINAL. + 03 LINE NUMBER IS PLUS 2. + 05 COLUMN 69 PIC X(15) VALUE "Grand Total: ". + 05 COLUMN 101 PIC S9(9) SUM TEMP-TX-QTY. + 05 COLUMN 113 PIC ZZZZZZZ9.99 SUM TEMP-COST. + + PROCEDURE DIVISION. + + OPEN INPUT TEMP-FILE. + OPEN OUTPUT REPORT-FILE. + + MOVE "20150225153000000000000" TO WS-CURRENT-DATE. + + INITIATE RPTA. + + PERFORM PROCESS-DETAIL-LEVEL-REPORT THRU PDLR-EXIT. + + TERMINATE RPTA. + + CLOSE TEMP-FILE. + CLOSE REPORT-FILE. + + STOP RUN. + + + PROCESS-DETAIL-LEVEL-REPORT. + PERFORM READ-NEXT-TEMP-REC THRU RNTR-EXIT. + + IF TEMP-FILE-EOF EQUALS 1 + GO TO PDLR-EXIT + END-IF. + + GENERATE RPTA-DETAIL-LINE. + + GO TO PROCESS-DETAIL-LEVEL-REPORT. + + PDLR-EXIT. + EXIT. + + + READ-NEXT-TEMP-REC. + READ TEMP-FILE NEXT RECORD + AT END + MOVE 1 TO TEMP-FILE-EOF + END-READ. + + RNTR-EXIT. + EXIT. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:5050: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:5050" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:5050" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:5052: DD_TEMPFILE=./inp_data DD_REPORTFILE=./report.txt \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "DD_TEMPFILE=./inp_data DD_REPORTFILE=./report.txt $COBCRUN_DIRECT ./prog" "run_reportwriter.at:5052" +( $at_check_trace; DD_TEMPFILE=./inp_data DD_REPORTFILE=./report.txt $COBCRUN_DIRECT ./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_reportwriter.at:5052" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 1 +Region: MW +Location: 1000051 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150212 20150212 OR150212 043 ITEM_NUMBER_22 00000028 29.99 + Invoice Total: 000000028 29.99 + +IN150222 20150222 OR150226 020 ITEM_NUMBER_06 00000043 9.99 + Invoice Total: 000000043 9.99 + + + Branch Total: 000000071 39.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 2 +Region: MW +Location: 1000071 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150214 20150214 OR150212 057 ITEM_NUMBER_51 00000070 59.99 + Invoice Total: 000000070 59.99 + +IN150228 20150228 OR150225 098 ITEM_NUMBER_92 00000014 99.99 + Invoice Total: 000000014 99.99 + + + Branch Total: 000000084 159.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 3 +Region: MW +Location: 1000201 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150209 20150209 OR150216 083 ITEM_NUMBER_77 00000077 79.99 + Invoice Total: 000000077 79.99 + +IN150227 20150227 OR150223 079 ITEM_NUMBER_20 00000096 29.99 + Invoice Total: 000000096 29.99 + + + Branch Total: 000000173 109.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 4 +Region: MW +Location: 1000291 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150217 20150217 OR150218 088 ITEM_NUMBER_86 00000019 89.99 + Invoice Total: 000000019 89.99 + + + Branch Total: 000000019 89.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 5 +Region: MW +Location: 1000411 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150223 20150223 OR150210 063 ITEM_NUMBER_66 00000088 69.99 + Invoice Total: 000000088 69.99 + + + Branch Total: 000000088 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 6 +Region: MW +Location: 1000451 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150217 20150217 OR150202 053 ITEM_NUMBER_60 00000051 69.99 + Invoice Total: 000000051 69.99 + + + Branch Total: 000000051 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 7 +Region: MW +Location: 1000471 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150224 20150224 OR150201 036 ITEM_NUMBER_45 00000038 49.99 + Invoice Total: 000000038 49.99 + + + Branch Total: 000000038 49.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 8 +Region: MW +Location: 1000831 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150210 20150210 OR150227 042 ITEM_NUMBER_70 00000072 79.99 + Invoice Total: 000000072 79.99 + +IN150214 20150214 OR150228 090 ITEM_NUMBER_07 00000023 9.99 + Invoice Total: 000000023 9.99 + +IN150220 20150220 OR150226 048 ITEM_NUMBER_61 00000059 69.99 + Invoice Total: 000000059 69.99 + + + Branch Total: 000000154 159.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 9 +Region: MW +Location: 1000891 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150221 20150221 OR150219 018 ITEM_NUMBER_72 00000073 79.99 + Invoice Total: 000000073 79.99 + +IN150223 20150223 OR150227 069 ITEM_NUMBER_73 00000074 79.99 + Invoice Total: 000000074 79.99 + + + Branch Total: 000000147 159.98 + + Region Total: 000000825 909.85 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 10 +Region: NE +Location: 1000001 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150210 20150210 OR150217 060 ITEM_NUMBER_38 00000098 39.99 + Invoice Total: 000000098 39.99 + + + Branch Total: 000000098 39.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 11 +Region: NE +Location: 1000201 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150219 20150219 OR150209 035 ITEM_NUMBER_94 00000096 99.99 + Invoice Total: 000000096 99.99 + + + Branch Total: 000000096 99.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 12 +Region: NE +Location: 1000431 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150215 20150215 OR150227 047 ITEM_NUMBER_64 00000087 69.99 + Invoice Total: 000000087 69.99 + +IN150222 20150222 OR150213 062 ITEM_NUMBER_97 00000073 99.99 + Invoice Total: 000000073 99.99 + + + Branch Total: 000000160 169.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 13 +Region: NE +Location: 1000451 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150203 20150203 OR150213 087 ITEM_NUMBER_85 00000053 89.99 + Invoice Total: 000000053 89.99 + + + Branch Total: 000000053 89.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 14 +Region: NE +Location: 1000471 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150221 20150221 OR150222 034 ITEM_NUMBER_74 00000084 79.99 + 077 ITEM_NUMBER_78 00000024 79.99 + Invoice Total: 000000108 159.98 + + + Branch Total: 000000108 159.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 15 +Region: NE +Location: 1000491 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150217 20150217 OR150210 037 ITEM_NUMBER_17 00000007 19.99 + Invoice Total: 000000007 19.99 + + + Branch Total: 000000007 19.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 16 +Region: NE +Location: 1000601 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150215 20150215 OR150211 070 ITEM_NUMBER_06 00000044 9.99 + Invoice Total: 000000044 9.99 + + + Branch Total: 000000044 9.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 17 +Region: NE +Location: 1000631 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150227 20150227 OR150209 051 ITEM_NUMBER_09 00000054 9.99 + Invoice Total: 000000054 9.99 + + + Branch Total: 000000054 9.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 18 +Region: NE +Location: 1000671 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150206 20150206 OR150220 045 ITEM_NUMBER_56 00000066 59.99 + Invoice Total: 000000066 59.99 + + + Branch Total: 000000066 59.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 19 +Region: NE +Location: 1000811 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150220 20150220 OR150212 086 ITEM_NUMBER_27 00000017 29.99 + Invoice Total: 000000017 29.99 + +IN150228 20150228 OR150222 075 ITEM_NUMBER_66 00000086 69.99 + Invoice Total: 000000086 69.99 + + + Branch Total: 000000103 99.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 20 +Region: NE +Location: 1000831 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150216 20150216 OR150224 004 ITEM_NUMBER_52 00000042 59.99 + Invoice Total: 000000042 59.99 + + + Branch Total: 000000042 59.99 + + Region Total: 000000831 819.86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 21 +Region: NW +Location: 1000001 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150224 20150224 OR150215 029 ITEM_NUMBER_79 00000035 79.99 + Invoice Total: 000000035 79.99 + + + Branch Total: 000000035 79.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 22 +Region: NW +Location: 1000011 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150228 20150228 OR150209 023 ITEM_NUMBER_62 00000098 69.99 + Invoice Total: 000000098 69.99 + + + Branch Total: 000000098 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 23 +Region: NW +Location: 1000051 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150210 20150210 OR150225 076 ITEM_NUMBER_50 00000039 59.99 + Invoice Total: 000000039 59.99 + +IN150218 20150218 OR150229 093 ITEM_NUMBER_94 00000037 99.99 + Invoice Total: 000000037 99.99 + +IN150220 20150220 OR150221 050 ITEM_NUMBER_89 00000038 89.99 + Invoice Total: 000000038 89.99 + + + Branch Total: 000000114 249.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 24 +Region: NW +Location: 1000071 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150202 20150202 OR150223 014 ITEM_NUMBER_54 00000048 59.99 + Invoice Total: 000000048 59.99 + + + Branch Total: 000000048 59.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 25 +Region: NW +Location: 1000091 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150208 20150208 OR150229 094 ITEM_NUMBER_17 00000072 19.99 + Invoice Total: 000000072 19.99 + +IN150212 20150212 OR150222 096 ITEM_NUMBER_89 00000049 89.99 + Invoice Total: 000000049 89.99 + +IN150224 20150224 OR150211 074 ITEM_NUMBER_90 00000043 99.99 + Invoice Total: 000000043 99.99 + +IN150227 20150227 OR150219 030 ITEM_NUMBER_12 00000019 19.99 + Invoice Total: 000000019 19.99 + + + Branch Total: 000000183 229.96 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 26 +Region: NW +Location: 1000201 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150208 20150208 OR150210 061 ITEM_NUMBER_34 00000012 39.99 + Invoice Total: 000000012 39.99 + + + Branch Total: 000000012 39.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 27 +Region: NW +Location: 1000231 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150214 20150214 OR150210 044 ITEM_NUMBER_89 00000054 89.99 + Invoice Total: 000000054 89.99 + + + Branch Total: 000000054 89.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 28 +Region: NW +Location: 1000251 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150212 20150212 OR150204 059 ITEM_NUMBER_39 00000060 39.99 + Invoice Total: 000000060 39.99 + + + Branch Total: 000000060 39.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 29 +Region: NW +Location: 1000401 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150215 20150215 OR150222 049 ITEM_NUMBER_40 00000081 49.99 + Invoice Total: 000000081 49.99 + +IN150217 20150217 OR150203 085 ITEM_NUMBER_77 00000037 79.99 + Invoice Total: 000000037 79.99 + + + Branch Total: 000000118 129.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 30 +Region: NW +Location: 1000411 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150207 20150207 OR150224 056 ITEM_NUMBER_99 00000054 99.99 + Invoice Total: 000000054 99.99 + +IN150228 20150228 OR150221 008 ITEM_NUMBER_68 00000090 69.99 + Invoice Total: 000000090 69.99 + + + Branch Total: 000000144 169.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 31 +Region: NW +Location: 1000491 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150228 20150228 OR150201 002 ITEM_NUMBER_47 00000086 49.99 + Invoice Total: 000000086 49.99 + + + Branch Total: 000000086 49.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 32 +Region: NW +Location: 1000611 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150227 20150227 OR150224 097 ITEM_NUMBER_11 00000080 19.99 + Invoice Total: 000000080 19.99 + + + Branch Total: 000000080 19.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 33 +Region: NW +Location: 1000631 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150207 20150207 OR150206 031 ITEM_NUMBER_49 00000015 49.99 + Invoice Total: 000000015 49.99 + +IN150214 20150214 OR150210 054 ITEM_NUMBER_40 00000042 49.99 + Invoice Total: 000000042 49.99 + +IN150224 20150224 OR150218 024 ITEM_NUMBER_84 00000033 89.99 + Invoice Total: 000000033 89.99 + + + Branch Total: 000000090 189.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 34 +Region: NW +Location: 1000651 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150206 20150206 OR150225 099 ITEM_NUMBER_57 00000043 59.99 + Invoice Total: 000000043 59.99 + + + Branch Total: 000000043 59.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 35 +Region: NW +Location: 1000671 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150213 20150213 OR150224 041 ITEM_NUMBER_22 00000002 29.99 + Invoice Total: 000000002 29.99 + + + Branch Total: 000000002 29.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 36 +Region: NW +Location: 1000691 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150204 20150204 OR150211 092 ITEM_NUMBER_13 00000094 19.99 + Invoice Total: 000000094 19.99 + + + Branch Total: 000000094 19.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 37 +Region: NW +Location: 1000811 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150227 20150227 OR150217 081 ITEM_NUMBER_45 00000016 49.99 + Invoice Total: 000000016 49.99 + + + Branch Total: 000000016 49.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 38 +Region: NW +Location: 1000851 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150208 20150208 OR150203 091 ITEM_NUMBER_63 00000066 69.99 + Invoice Total: 000000066 69.99 + + + Branch Total: 000000066 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 39 +Region: NW +Location: 1000871 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150218 20150218 OR150209 082 ITEM_NUMBER_30 00000055 39.99 + Invoice Total: 000000055 39.99 + +IN150228 20150228 OR150222 015 ITEM_NUMBER_73 00000051 79.99 + Invoice Total: 000000051 79.99 + + + Branch Total: 000000106 119.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 40 +Region: NW +Location: 1000891 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150225 20150225 OR150201 026 ITEM_NUMBER_80 00000047 89.99 + Invoice Total: 000000047 89.99 + + + Branch Total: 000000047 89.99 + + Region Total: 000001496 1859.70 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 41 +Region: SE +Location: 1000001 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150223 20150223 OR150203 064 ITEM_NUMBER_03 00000071 9.99 + Invoice Total: 000000071 9.99 + + + Branch Total: 000000071 9.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 42 +Region: SE +Location: 1000011 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150201 20150201 OR150213 017 ITEM_NUMBER_09 00000006 9.99 + Invoice Total: 000000006 9.99 + +IN150212 20150212 OR150209 066 ITEM_NUMBER_06 00000040 9.99 + Invoice Total: 000000040 9.99 + + + Branch Total: 000000046 19.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 43 +Region: SE +Location: 1000091 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150204 20150204 OR150201 001 ITEM_NUMBER_68 00000019 69.99 + Invoice Total: 000000019 69.99 + +IN150210 20150210 OR150223 084 ITEM_NUMBER_11 00000093 19.99 + Invoice Total: 000000093 19.99 + +IN150226 20150226 OR150219 038 ITEM_NUMBER_97 00000037 99.99 + Invoice Total: 000000037 99.99 + + + Branch Total: 000000149 189.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 44 +Region: SE +Location: 1000211 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150206 20150206 OR150221 089 ITEM_NUMBER_05 00000045 9.99 + Invoice Total: 000000045 9.99 + + + Branch Total: 000000045 9.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 45 +Region: SE +Location: 1000411 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150212 20150212 OR150208 012 ITEM_NUMBER_46 00000023 49.99 + Invoice Total: 000000023 49.99 + + + Branch Total: 000000023 49.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 46 +Region: SE +Location: 1000431 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150207 20150207 OR150214 072 ITEM_NUMBER_25 00000046 29.99 + Invoice Total: 000000046 29.99 + +IN150225 20150225 OR150220 040 ITEM_NUMBER_01 00000061 9.99 + Invoice Total: 000000061 9.99 + + + Branch Total: 000000107 39.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 47 +Region: SE +Location: 1000451 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150214 20150214 OR150204 022 ITEM_NUMBER_34 00000047 39.99 + Invoice Total: 000000047 39.99 + + + Branch Total: 000000047 39.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 48 +Region: SE +Location: 1000471 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150203 20150203 OR150217 010 ITEM_NUMBER_25 00000034 29.99 + Invoice Total: 000000034 29.99 + +IN150211 20150211 OR150213 025 ITEM_NUMBER_54 00000092 59.99 + Invoice Total: 000000092 59.99 + + + Branch Total: 000000126 89.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 49 +Region: SE +Location: 1000491 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150202 20150202 OR150202 013 ITEM_NUMBER_19 00000078 19.99 + Invoice Total: 000000078 19.99 + + + Branch Total: 000000078 19.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 50 +Region: SE +Location: 1000601 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150224 20150224 OR150210 039 ITEM_NUMBER_19 00000056 19.99 + Invoice Total: 000000056 19.99 + + + Branch Total: 000000056 19.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 51 +Region: SE +Location: 1000631 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150201 20150201 OR150216 003 ITEM_NUMBER_65 00000011 69.99 + Invoice Total: 000000011 69.99 + + + Branch Total: 000000011 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 52 +Region: SE +Location: 1000671 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150203 20150203 OR150205 071 ITEM_NUMBER_64 00000094 69.99 + Invoice Total: 000000094 69.99 + +IN150220 20150220 OR150214 032 ITEM_NUMBER_53 00000059 59.99 + Invoice Total: 000000059 59.99 + + + Branch Total: 000000153 129.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 53 +Region: SE +Location: 1000891 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150226 20150226 OR150229 068 ITEM_NUMBER_75 00000084 79.99 + Invoice Total: 000000084 79.99 + + + Branch Total: 000000084 79.99 + + Region Total: 000000996 769.81 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 54 +Region: SW +Location: 1000011 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150202 20150202 OR150206 000 ITEM_NUMBER_30 00000059 39.99 + Invoice Total: 000000059 39.99 + + + Branch Total: 000000059 39.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 55 +Region: SW +Location: 1000031 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150203 20150203 OR150214 033 ITEM_NUMBER_09 00000060 9.99 + Invoice Total: 000000060 9.99 + +IN150206 20150206 OR150206 021 ITEM_NUMBER_91 00000054 99.99 + Invoice Total: 000000054 99.99 + + + Branch Total: 000000114 109.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 56 +Region: SW +Location: 1000091 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150223 20150223 OR150221 028 ITEM_NUMBER_67 00000039 69.99 + Invoice Total: 000000039 69.99 + + + Branch Total: 000000039 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 57 +Region: SW +Location: 1000201 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150209 20150209 OR150205 065 ITEM_NUMBER_21 00000070 29.99 + Invoice Total: 000000070 29.99 + +IN150225 20150225 OR150203 052 ITEM_NUMBER_55 00000075 59.99 + 067 ITEM_NUMBER_83 00000015 89.99 + Invoice Total: 000000090 149.98 + + + Branch Total: 000000160 179.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 58 +Region: SW +Location: 1000211 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150202 20150202 OR150221 055 ITEM_NUMBER_16 00000013 19.99 + Invoice Total: 000000013 19.99 + +IN150208 20150208 OR150215 007 ITEM_NUMBER_97 00000089 99.99 + Invoice Total: 000000089 99.99 + + + Branch Total: 000000102 119.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 59 +Region: SW +Location: 1000271 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150211 20150211 OR150228 080 ITEM_NUMBER_45 00000052 49.99 + Invoice Total: 000000052 49.99 + +IN150213 20150213 OR150207 095 ITEM_NUMBER_09 00000054 9.99 + Invoice Total: 000000054 9.99 + + + Branch Total: 000000106 59.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 60 +Region: SW +Location: 1000401 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150228 20150228 OR150202 027 ITEM_NUMBER_83 00000001 89.99 + Invoice Total: 000000001 89.99 + + + Branch Total: 000000001 89.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 61 +Region: SW +Location: 1000411 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150210 20150210 OR150220 073 ITEM_NUMBER_63 00000014 69.99 + Invoice Total: 000000014 69.99 + + + Branch Total: 000000014 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 62 +Region: SW +Location: 1000431 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150208 20150208 OR150227 078 ITEM_NUMBER_23 00000052 29.99 + Invoice Total: 000000052 29.99 + +IN150220 20150220 OR150227 006 ITEM_NUMBER_50 00000085 59.99 + Invoice Total: 000000085 59.99 + + + Branch Total: 000000137 89.98 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 63 +Region: SW +Location: 1000601 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150206 20150206 OR150201 011 ITEM_NUMBER_73 00000084 79.99 + Invoice Total: 000000084 79.99 + + + Branch Total: 000000084 79.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 64 +Region: SW +Location: 1000611 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150206 20150206 OR150218 019 ITEM_NUMBER_67 00000061 69.99 + Invoice Total: 000000061 69.99 + + + Branch Total: 000000061 69.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 65 +Region: SW +Location: 1000651 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150209 20150209 OR150224 009 ITEM_NUMBER_23 00000018 29.99 + Invoice Total: 000000018 29.99 + + + Branch Total: 000000018 29.99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 66 +Region: SW +Location: 1000831 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150201 20150201 OR150221 046 ITEM_NUMBER_44 00000069 49.99 + Invoice Total: 000000069 49.99 + +IN150220 20150220 OR150213 005 ITEM_NUMBER_44 00000037 49.99 + Invoice Total: 000000037 49.99 + +IN150222 20150222 OR150213 058 ITEM_NUMBER_86 00000083 89.99 + Invoice Total: 000000083 89.99 + + + Branch Total: 000000189 189.97 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Run:02/25/2015 153000 NEXT PAGE ISSUE Page 67 +Region: SW +Location: 1000871 +Invoice# Date Order# Line# Item# TX Qty Cost +-------------------------------------------------------------------------------------------------------------------------------- + + +IN150202 20150202 OR150216 016 ITEM_NUMBER_62 00000083 69.99 + Invoice Total: 000000083 69.99 + + Branch Total: 000000083 69.99 + + Region Total: 000001167 1269.78 + + Grand Total: 000005315 5629.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9079: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:9079" +( $at_check_trace; diff reference report.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_reportwriter.at:9079" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1004 +#AT_START_1005 +at_fn_group_banner 1005 'run_reportwriter.at:9084' \ + "Report PRESENT AFTER" " " 4 +at_xfail=no +( + printf "%s\n" "1005. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >inp_data <<'_ATEOF' +SAINATH KOTGIRE 30/03/201611029473 20 00100000 00000100 +UDAY PRATIVADI 30/03/201604547552 20 00100000 00000200 +MILIND PARDESHI 30/03/201611256856 20 00100000 00000300 +AJIT PATIL 30/03/201610503086 20 00000500 00000400 +VINOD KAMBLE 30/03/201615487558 20 00100000 00000500 +SACHIN TENDUNLKAR 30/03/201614645425 20 00500000 00000600 +_ATEOF + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + + SELECT IN-FILE ASSIGN TO EXTERNAL INFILE + LINE SEQUENTIAL + FILE STATUS IS WS-INPUT-STATUS. + + SELECT OUT-FILE ASSIGN TO EXTERNAL OREPORT + LINE SEQUENTIAL + FILE STATUS IS WS-OUTPUT-STATUS. + + DATA DIVISION. + + FILE SECTION. + + FD IN-FILE + RECORDING MODE IS F + BLOCK 0. + + 01 IN-REC. + 05 IN-EMP-NAME PIC X(25). + 05 IN-REPORT-PERIOD PIC X(10). + 05 IN-EMP-USERID PIC X(10). + 05 IN-BILL-DAYS PIC X(3). + 05 IN-SALARY PIC 9(8). + 05 FILLER PIC X(34). + + FD OUT-FILE + RECORDING MODE IS F + REPORT IS REPORT1. + + 01 REP-REC PIC X(100). + + WORKING-STORAGE SECTION. + 01 WS-FILE-FLAGS. + 05 WS-INPUT-STATUS PIC XX. + 88 WS-INPUT-OK VALUE '00'. + 88 WS-INPUT-EOF VALUE '10'. + 05 WS-OUTPUT-STATUS PIC XX. + 88 WS-OUTPUT-OK VALUE '00'. + *-----------------------------------------------------------* + * MISCELLANOUS FIELDS * + *-----------------------------------------------------------* + 01 WS-MISC. + 05 WS-EMP-NAME PIC X(25). + 05 WS-REPORT-PERIOD PIC X(10). + 05 WS-EMP-USERID PIC X(10). + 05 WS-BILL-DAYS PIC X(3). + 05 WS-SALARY PIC 9(8). + + 01 WS-MISC-DATE. + 05 WS-DATE PIC 9(8) VALUE 20160422. + 05 WS-TIME PIC 9(8) VALUE 10550000. + 05 FILLER REDEFINES WS-TIME. + 10 WS-HH PIC 99. + 10 WS-MI PIC 99. + 10 WS-SS PIC 99. + 10 WS-HU PIC 99. + + REPORT SECTION. + + RD REPORT1 + PAGE LIMIT IS 65 LINES + LINE LIMIT 132 + HEADING 1 + CONTROL ARE WS-SALARY. + + 01 MAIN-HEADER TYPE IS PAGE HEADING. + 05 LINE 1. + 10 COLUMN CENTER 45 PIC X(35) VALUE + 'STARK TECHNOLOGIES MONTHLY REPORT'. + + 05 LINE 2. + 10 COLUMN CENTER 45 PIC X(50) VALUE ALL '-'. + + 05 LINE 3. + 10 COLUMN 02 PIC X(14) VALUE 'REPORT PERIOD:'. + 10 COLUMN 20 PIC 9999/99/99 SOURCE WS-DATE. + 10 COLUMN 32 PIC 99 SOURCE WS-HH. + 10 COLUMN 34 PIC X VALUE ':'. + 10 COLUMN 35 PIC 99 SOURCE WS-MI. + + 01 TYPE IS CONTROL HEADING + FOR WS-SALARY OR PAGE. + 05 LINE PLUS 2 PRESENT AFTER NEW WS-SALARY. + 10 COLUMN 6 PIC X(9) VALUE 'EMP NAME:'. + 10 COLUMN 30 PIC X(13) VALUE 'EMP USERID:'. + 10 COLUMN 60 PIC X(13) VALUE 'BILLING DAYS'. + 10 COLUMN 80 PIC X(15) VALUE 'SALARY CREDITED'. + 05 LINE PLUS 1 PRESENT AFTER NEW WS-SALARY. + 10 COLUMN 2 PIC X(100) VALUE ALL '+'. + + 01 DETAIL-1 TYPE DETAIL. + 05 LINE PLUS 1. + 10 COLUMN 6 PIC X(25) SOURCE WS-EMP-NAME. + 10 COLUMN 30 PIC X(08) SOURCE WS-EMP-USERID. + 10 COLUMN 60 PIC X(3) SOURCE WS-BILL-DAYS. + 10 COLUMN 80 PIC Z(7)9 SOURCE WS-SALARY. + + 01 REP-FOOTER TYPE DETAIL. + 05 LINE PLUS 2. + 10 COLUMN 2 PIC X(100) VALUE ALL '*'. + 05 LINE PLUS 1. + 10 COLUMN 30 PIC X(23) VALUE 'END OF SALARY REPORT'. + 05 LINE PLUS 1. + 10 COLUMN 2 PIC X(100) VALUE ALL '*'. + + PROCEDURE DIVISION. + + * ACCEPT WS-DATE FROM DATE YYYYMMDD. + * ACCEPT WS-TIME FROM TIME. + + INITIATE REPORT1 + + * GENERATE MAIN-HEADER + + PERFORM 100-OPEN-FILES + PERFORM 200-MAIN-PROCESS + + TERMINATE REPORT1 + + CLOSE IN-FILE + CLOSE OUT-FILE + STOP RUN. + + 100-OPEN-FILES. + + OPEN INPUT IN-FILE + + IF WS-INPUT-OK + CONTINUE + ELSE + DISPLAY 'ERROR OPENING INFILE FILE.STATUS = ' + WS-INPUT-STATUS + STOP RUN + END-IF + + OPEN OUTPUT OUT-FILE + + IF WS-OUTPUT-OK + INITIALIZE REP-REC + ELSE + DISPLAY 'ERROR OPENING OREPORT FILE.STATUS = ' + WS-OUTPUT-STATUS + STOP RUN + END-IF. + + 200-MAIN-PROCESS. + * GENERATE HEADER-1 + + PERFORM UNTIL WS-INPUT-EOF + READ IN-FILE + MOVE IN-REC TO WS-MISC + EVALUATE WS-INPUT-STATUS + WHEN '00' + GENERATE DETAIL-1 + WHEN '10' + GENERATE REP-FOOTER + WHEN OTHER + DISPLAY ':ERROR READING INFILE FILE.STATUS = ' + WS-INPUT-STATUS + STOP RUN + END-EVALUATE + END-PERFORM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9266: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:9266" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:9266" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9268: DD_INFILE=./inp_data DD_OREPORT=./report.txt \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:9268" +( $at_check_trace; DD_INFILE=./inp_data DD_OREPORT=./report.txt \ +$COBCRUN_DIRECT ./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_reportwriter.at:9268" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' + STARK TECHNOLOGIES MONTHLY REPORT + -------------------------------------------------- + REPORT PERIOD: 2016/04/22 10:55 + + EMP NAME: EMP USERID: BILLING DAYS SALARY CREDITED + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + SAINATH KOTGIRE 11029473 20 100000 + UDAY PRATIVADI 04547552 20 100000 + MILIND PARDESHI 11256856 20 100000 + + EMP NAME: EMP USERID: BILLING DAYS SALARY CREDITED + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + AJIT PATIL 10503086 20 500 + + EMP NAME: EMP USERID: BILLING DAYS SALARY CREDITED + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + VINOD KAMBLE 15487558 20 100000 + + EMP NAME: EMP USERID: BILLING DAYS SALARY CREDITED + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + SACHIN TENDUNLKAR 14645425 20 500000 + + **************************************************************************************************** + END OF SALARY REPORT + **************************************************************************************************** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9341: diff reference report.txt" +at_fn_check_prepare_trace "run_reportwriter.at:9341" +( $at_check_trace; diff reference report.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_reportwriter.at:9341" +$at_failed && at_fn_log_failure \ +"report.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1005 +#AT_START_1006 +at_fn_group_banner 1006 'run_reportwriter.at:9346' \ + "Varying and Nested OCCURS" " " 4 +at_xfail=yes +( + printf "%s\n" "1006. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME - needs bigger changes -> 4.x + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT RP-FILE + ASSIGN TO "PRINTOUT" + ORGANIZATION LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD RP-FILE REPORT RP. + + WORKING-STORAGE SECTION. + 77 RPT PIC 99 VALUE 1. + 77 NUM PIC 9 VALUE 0. + 77 TAG1V PIC X(5) VALUE "Tag1". + 77 TAG2V PIC X(5) VALUE "Tag2". + 01 MARKX PIC X(16) VALUE + "<1> <2> <3> <4> ". + 01 FILLER REDEFINES MARKX. + 05 MARKIT PIC X(4) OCCURS 4 TIMES. + 01 DIGX PIC X(50) VALUE + "123456789b123456789c123456789d123456789e123456789f". + 01 FILLER REDEFINES DIGX. + 05 DIGS PIC X(10) OCCURS 5 TIMES. + + REPORT SECTION. + RD RP + CODE IS "VarQ: " + PAGE LIMIT 10 LINES + 60 COLUMNS + HEADING 1 + FIRST DETAIL 4. + 01 HEADING-LINE. + 02 TYPE PAGE HEADING LINE PLUS 1. + 05 COLUMN 1 PIC X(50) VALUE + "H 1 2 3 4 5". + 05 PIC X(7) VALUE " Page". + 05 PIC ZZ9 SOURCE PAGE-COUNTER. + 02 TYPE PAGE HEADING LINE PLUS 1. + * 05 COLUMN 1 PIC X(50) VALUE + * "12345678901234567890123456789012345678901234567890". + 05 COLUMN 1 OCCURS 5 TIMES + VARYING IX1 FROM 1 BY 1. + 10 H2-DIGS PIC X(10) SOURCE DIGS (IX1). + + 01 RP-DTL1 TYPE DETAIL, LINE + 2. + 03 NUMS COLUMN 1 PIC 999 OCCURS 3 TIMES STEP 10. + 03 MARK COLUMN + 2 PIC X(4) SOURCE MARKIT(1). + + 01 RP-DTL2 TYPE DETAIL, LINE + 1. + 03 GRPS COLUMN 1 OCCURS 3 TIMES VARYING IX1 FROM 1. + 05 TAG1 PIC X(5) SOURCE TAG1V. + 05 FILLER PIC X. + 05 DTL2 OCCURS 3 TIMES VARYING IX2. + 10 DTL2X PIC X SOURCE DIGX (IX1:1). + 05 FILLER PIC X. + 05 TAG2 PIC X(5) SOURCE TAG2V. + 05 FILLER PIC X. + 03 MRK2 COLUMN + 3 PIC X(4) SOURCE MARKIT(2). + + 01 RP-DTL3 TYPE DETAIL, LINE + 1. + 03 NNNS COLUMN 1, 11, 21, 27 PIC 999. + 03 MRK3 COLUMN PLUS 3 PIC X(4) SOURCE MARKIT(3). + + 01 RP-DTL4 TYPE DETAIL, LINE + 1. + 03 NUM4A PIC 999. + 03 FILLER PIC X. + 03 NUM4B COLUMN PLUS 7 PIC 999 OCCURS 3 STEP 6. + 03 MRK4 COLUMN + 4 PIC X(4) SOURCE MARKIT(4). + + PROCEDURE DIVISION. + DECLARATIVES. + BEFORE-DETAIL SECTION. + USE BEFORE REPORTING RP-DTL2. + DOIT-1. + ADD 1 TO NUM + DISPLAY "Hello World " NUM + MOVE '$' TO DTL2 (2, 2). + END DECLARATIVES. + + OPEN OUTPUT RP-FILE + INITIATE RP + + MOVE 149 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + MOVE 100 TO NUMS (1), NUMS (2), NUMS (3) + + PERFORM VARYING RPT FROM 1 BY 1 + UNTIL RPT > 4 + GENERATE RP-DTL1 + + PERFORM DOIT-NOW + GENERATE RP-DTL2 + + MOVE 200 TO NNNS (1), NNNS (2), NNNS (3) NNNS (4) + GENERATE RP-DTL3 + + MOVE 400 TO NUM4A + MOVE 401 TO NUM4B (1) + MOVE 402 TO NUM4B (2) + MOVE 403 TO NUM4B (3) + GENERATE RP-DTL4 + END-PERFORM. + + TERMINATE rp. + CLOSE RP-FILE. + + STOP RUN. + + DOIT-NOW. + MOVE ALL '*' TO GRPS(1), GRPS(2), GRPS(3) + MOVE "WAG1" TO TAG1 (1), TAG1 (2), TAG1 (3) + MOVE "WAG2" TO TAG2 (1), TAG2 (2), TAG2 (3). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9470: \$COMPILE -std=cobol2002 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 prog.cob" "run_reportwriter.at:9470" +( $at_check_trace; $COMPILE -std=cobol2002 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:9470" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9472: PRINTOUT=tstdmrp.txt \\ +\$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'an embedded newline' "run_reportwriter.at:9472" +( $at_check_trace; PRINTOUT=tstdmrp.txt \ +$COBCRUN_DIRECT ./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"; printf "%s\n" "Hello World 1 +Hello World 2 +Hello World 3 +Hello World 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:9472" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +VarQ: H 1 2 3 4 5 Page 1 +VarQ: 123456789b123456789c123456789d123456789e123456789f +VarQ: +VarQ: 100 100 100 <1> +VarQ: Tag1 *123*Tag2 *Tag1 *123*Tag2 *Tag1 *123*Tag2 * <2> +VarQ: 200 200 200 200 <3> +VarQ: 400 401 402 403 <4> +VarQ: +VarQ: <1> +VarQ: Tag1 *123*Tag2 *Tag1 *123*Tag2 *Tag1 *123*Tag2 * <2> +VarQ: H 1 2 3 4 5 Page 2 +VarQ: 123456789b123456789c123456789d123456789e123456789f +VarQ: +VarQ: 200 200 200 200 <3> +VarQ: 400 401 402 403 <4> +VarQ: +VarQ: <1> +VarQ: Tag1 *123*Tag2 *Tag1 *123*Tag2 *Tag1 *123*Tag2 * <2> +VarQ: 200 200 200 200 <3> +VarQ: 400 401 402 403 <4> +VarQ: H 1 2 3 4 5 Page 3 +VarQ: 123456789b123456789c123456789d123456789e123456789f +VarQ: +VarQ: <1> +VarQ: Tag1 *123*Tag2 *Tag1 *123*Tag2 *Tag1 *123*Tag2 * <2> +VarQ: 200 200 200 200 <3> +VarQ: 400 401 402 403 <4> +VarQ: +VarQ: +VarQ: +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9515: diff reference tstdmrp.txt" +at_fn_check_prepare_trace "run_reportwriter.at:9515" +( $at_check_trace; diff reference tstdmrp.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_reportwriter.at:9515" +$at_failed && at_fn_log_failure \ +"tstdmrp.txt" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1006 +#AT_START_1007 +at_fn_group_banner 1007 'run_reportwriter.at:9520' \ + "BEFORE REPORTING" " " 4 +at_xfail=no +( + printf "%s\n" "1007. $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 PRINT-FILE ASSIGN TO "SUM.TXT" + ORGANIZATION IS LINE SEQUENTIAL. + + DATA DIVISION. + FILE SECTION. + FD PRINT-FILE + REPORT IS REPORT-1. + *> -------------------------------------------------------------- + WORKING-STORAGE SECTION. + *>--------------------------------------------------------------- + + 01 WS-IN-REC. + + 05 WS-STUDENT-NAME PIC X(8). + 05 WS-BOOK-PAY PIC 999V99. + 05 WS-TUTION-PAY PIC 999V99. + 05 WS-TRANSPORT-PAY PIC 999V99. + + *>=============================================================== + REPORT SECTION. + + RD REPORT-1 + CONTROLS ARE FINAL + PAGE LIMIT IS 21 + LINE LIMIT IS 71 + FIRST DETAIL IS 08 + LAST DETAIL IS 18 + FOOTING IS 20 + . + *>--------------------------------------------------------------- + 01 PAGE-HEADING + TYPE PAGE HEADING. + 02 LINE 01. + 03 COLUMN 1 VALUE "PAGE HEADING". + + 01 REPORT-LINE + TYPE DETAIL. + 02 LINE PLUS 1. + 03 COLUMN 1 PIC X(13) VALUE "Detail:". + 03 COLUMN 36 PIC $999.99 SOURCE WS-TUTION-PAY. + 03 COLUMN 47 PIC $999.99 SOURCE WS-BOOK-PAY. + 03 COLUMN 58 PIC $999.99 SOURCE WS-TRANSPORT-PAY. + + 01 FINAL-FOOTING TYPE CONTROL FOOTING FINAL. + + 02 LINE PLUS 1. + 03 COLUMN 1 PIC X(13) VALUE "TOTALS :". + 03 FSM-1 COLUMN 34 PIC $9(5).99 SUM WS-TUTION-PAY. + 03 FSM-2 COLUMN 45 PIC $9(5).99 SUM WS-BOOK-PAY. + 03 FSM-3 COLUMN 56 PIC $9(5).99 SUM WS-TRANSPORT-PAY. + + + PROCEDURE DIVISION. + DECLARATIVES. + + BEFORE-DETAIL1 SECTION. + USE BEFORE REPORTING REPORT-LINE. + + DISPLAY "BEFORE DETAIL - SHOULD DISPLAY" + DISPLAY "==============================". + + BEFORE-FINAL1 SECTION. + USE BEFORE REPORTING FINAL-FOOTING. + + CALC-GRAND-SUM-AND-AVERAGE. + + DISPLAY "BEFORE FINAL - SHOULD DISPLAY". + END DECLARATIVES. + + + OPEN OUTPUT PRINT-FILE + + INITIATE REPORT-1 + + MOVE 105 TO WS-TRANSPORT-PAY, WS-BOOK-PAY, WS-TUTION-PAY. + GENERATE REPORT-LINE + + MOVE 106 TO WS-TRANSPORT-PAY, WS-BOOK-PAY, WS-TUTION-PAY. + GENERATE REPORT-LINE + + TERMINATE REPORT-1 + + CLOSE PRINT-FILE. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9618: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_reportwriter.at:9618" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:9618" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_reportwriter.at:9620: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_reportwriter.at:9620" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "BEFORE DETAIL - SHOULD DISPLAY +============================== +BEFORE DETAIL - SHOULD DISPLAY +============================== +BEFORE FINAL - SHOULD DISPLAY +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_reportwriter.at:9620" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1007 +#AT_START_1008 +at_fn_group_banner 1008 'run_returncode.at:23' \ + "RETURN-CODE moving" " " 4 +at_xfail=no +( + printf "%s\n" "1008. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_returncode.at:45: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_returncode.at:45" +( $at_check_trace; $COBCRUN_DIRECT ./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_1008 +#AT_START_1009 +at_fn_group_banner 1009 'run_returncode.at:49' \ + "RETURN-CODE passing" " " 4 +at_xfail=no +( + printf "%s\n" "1009. $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 +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_returncode.at:97: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_returncode.at:97" +( $at_check_trace; $COBCRUN_DIRECT ./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_1009 +#AT_START_1010 +at_fn_group_banner 1010 'run_returncode.at:101' \ + "RETURN-CODE nested" " " 4 +at_xfail=no +( + printf "%s\n" "1010. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_returncode.at:134: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_returncode.at:134" +( $at_check_trace; $COBCRUN_DIRECT ./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_1010 +#AT_START_1011 +at_fn_group_banner 1011 'run_functions.at:24' \ + "FUNCTION ABS" " " 4 +at_xfail=no +( + printf "%s\n" "1011. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:40: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:40" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+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_1011 +#AT_START_1012 +at_fn_group_banner 1012 'run_functions.at:46' \ + "FUNCTION ACOS" " " 4 +at_xfail=no +( + printf "%s\n" "1012. $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). + 01 P PIC S9V9(35) PACKED-DECIMAL. + 01 S PIC 9V9(35) COMP-6. + *01 N PIC S9V9(35) COMP-5. big binary support pending + PROCEDURE DIVISION. + MOVE FUNCTION ACOS ( -0.2345 ) TO Z. + IF Z NOT = 1.80750052110824343510150043852321026 + DISPLAY "DISPLAY: " Z. + MOVE FUNCTION ACOS ( -0.2345 ) TO P. + IF P NOT = 1.80750052110824343510150043852321026 + DISPLAY "PACKED: " P. + MOVE FUNCTION ACOS ( -0.2345 ) TO S. + IF S NOT = 1.80750052110824343510150043852321026 + DISPLAY "COMP-6: " S. + * MOVE FUNCTION ACOS ( -0.2345 ) TO N. + * IF N NOT = 1.80750052110824343510150043852321026 + * DISPLAY "PACKED: " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:74: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:74" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:74" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:75: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:75" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1012 +#AT_START_1013 +at_fn_group_banner 1013 'run_functions.at:80' \ + "FUNCTION ANNUITY" " " 4 +at_xfail=no +( + printf "%s\n" "1013. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:96: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:97: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:97" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1013 +#AT_START_1014 +at_fn_group_banner 1014 'run_functions.at:102' \ + "FUNCTION ASIN" " " 4 +at_xfail=no +( + printf "%s\n" "1014. $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). + 01 P PIC S9V9(35) PACKED-DECIMAL. + 01 S PIC 9V9(35) COMP-6. + *>01 N PIC S9V9(35) COMP-5. big binary support pending + PROCEDURE DIVISION. + MOVE FUNCTION ASIN ( -0.2345 ) TO Y. + IF Y NOT = -0.23670419431334681587017874688345882 + DISPLAY "DISPLAY: " Y. + MOVE FUNCTION ASIN ( -0.2345 ) TO P. + IF P NOT = -0.23670419431334681587017874688345882 + DISPLAY "PACKED: " P. + MOVE FUNCTION ASIN ( -0.2345 ) TO S. + IF S NOT = 0.23670419431334681587017874688345882 + DISPLAY "COMP-6: " S. + *> MOVE FUNCTION ASIN ( -0.2345 ) TO N. + *> IF N NOT = -0.23670419431334681587017874688345882 + *> DISPLAY "DISPLAY: " N. + *> cheating: we compare a huge internal field + *> (96 digits) here for the testsuite + IF FUNCTION ASIN ( -00000.2345 ) NOT = + FUNCTION ASIN ( -.234500000 ) + DISPLAY "ASIN IS NOT ITSELF". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:135: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:135" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:135" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:136: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:136" +( $at_check_trace; $COBCRUN_DIRECT ./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:136" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1014 +#AT_START_1015 +at_fn_group_banner 1015 'run_functions.at:141' \ + "FUNCTION ATAN" " " 4 +at_xfail=no +( + printf "%s\n" "1015. $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 +printf "%s\n" "$at_srcdir/run_functions.at:159: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:159" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:159" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:160: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:160" +( $at_check_trace; $COBCRUN_DIRECT ./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:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1015 +#AT_START_1016 +at_fn_group_banner 1016 'run_functions.at:165' \ + "FUNCTION BYTE-LENGTH" " " 4 +at_xfail=no +( + printf "%s\n" "1016. $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. + MOVE FUNCTION BYTE-LENGTH ( Z ) + TO TEST-FLD + IF TEST-FLD NOT = 8 + DISPLAY 'BYTE-LENGTH N(4) wrong: ' TEST-FLD. + + MOVE FUNCTION BYTE-LENGTH ( '00128' ) + TO TEST-FLD + IF TEST-FLD NOT = 5 + DISPLAY 'BYTE-LENGTH "00128" wrong: ' TEST-FLD. + * note: we currently do not support items of category boolean... + *> MOVE FUNCTION BYTE-LENGTH ( b'100' ) + *> TO TEST-FLD + *> IF TEST-FLD NOT = 3 + *> DISPLAY 'BYTE-LENGTH b"100" wrong: ' TEST-FLD. + MOVE FUNCTION BYTE-LENGTH ( x'a0' ) + TO TEST-FLD + IF TEST-FLD NOT = 1 + DISPLAY 'BYTE-LENGTH x"a0" wrong: ' TEST-FLD. + MOVE FUNCTION BYTE-LENGTH ( z'a0' ) + TO TEST-FLD + IF TEST-FLD NOT = 3 + DISPLAY 'BYTE-LENGTH z"a0" wrong: ' TEST-FLD. + * we currently generate national constants as + * alphanumeric constants... + * MOVE FUNCTION BYTE-LENGTH ( n'a0' ) + * TO TEST-FLD + * IF TEST-FLD NOT = 4 + * DISPLAY 'BYTE-LENGTH n"a0" wrong: ' TEST-FLD. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:213: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:213" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:213" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:216: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:216" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1016 +#AT_START_1017 +at_fn_group_banner 1017 'run_functions.at:221' \ + "FUNCTION CHAR" " " 4 +at_xfail=no +( + printf "%s\n" "1017. $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 +printf "%s\n" "$at_srcdir/run_functions.at:253: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:253" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:253" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:254: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:254" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1017 +#AT_START_1018 +at_fn_group_banner 1018 'run_functions.at:259' \ + "FUNCTION COMBINED-DATETIME" " " 4 +at_xfail=no +( + printf "%s\n" "1018. $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 +printf "%s\n" "$at_srcdir/run_functions.at:278: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:278" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:278" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:279: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:279" +( $at_check_trace; $COBCRUN_DIRECT ./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:279" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1018 +#AT_START_1019 +at_fn_group_banner 1019 'run_functions.at:284' \ + "FUNCTION CONCAT / CONCATENATE" " " 4 +at_xfail=no +( + printf "%s\n" "1019. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: CONCAT was added in COBOL 202x with GnuCOBOL's CONCATENATE +# as blueprint +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 TEST-DATA + <> FUNCTION CONCAT ( Y "abc" "zz" "55" "666" ) + DISPLAY "CONCAT issue, '" TEST-DATA + "' vs. '" + FUNCTION CONCAT ( Y "abc" "zz" "55" "666" ) "'" + END-DISPLAY + WHEN VALID-DATA + CONTINUE + WHEN OTHER + DISPLAY TEST-DATA + END-DISPLAY + END-EVALUATE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:325: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:325" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:325" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:326: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:326" +( $at_check_trace; $COBCRUN_DIRECT ./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:326" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1019 +#AT_START_1020 +at_fn_group_banner 1020 'run_functions.at:331' \ + "FUNCTION CONCATENATE with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1020. $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 +printf "%s\n" "$at_srcdir/run_functions.at:353: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:353" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:353" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:354: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:354" +( $at_check_trace; $COBCRUN_DIRECT ./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:354" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1020 +#AT_START_1021 +at_fn_group_banner 1021 'run_functions.at:359' \ + "FUNCTION BIT-OF and BIT-TO-CHAR" " " 4 +at_xfail=no +( + printf "%s\n" "1021. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 PAC PIC 9(4) VALUE 12 COMP-3. + 01 TXT PIC X(4) VALUE "HI.". + 01 BITX PIC X(34). + 88 BITX-FILLER VALUE ALL "-". + PROCEDURE DIVISION. + SET BITX-FILLER TO TRUE + STRING FUNCTION BIT-OF (PAC) DELIMITED BY SIZE INTO BITX. + IF BITX NOT = "000000000000000100101111----------" + DISPLAY "UNEXPECTED BIT-VALUE OF PAC 0012: " BITX. + + SET BITX-FILLER TO TRUE + STRING FUNCTION BIT-OF (TXT) DELIMITED BY SIZE INTO BITX. + *> Discover if running ASCII or EBCDIC + >>IF CHARSET = 'ASCII' + IF BITX NOT = "01001000010010010010111000100000--" + >>ELIF CHARSET = 'EBCDIC' + IF BITX NOT = "11001000110010010100101101000000--" + >>ELSE + IF 1 = 1 DISPLAY 'CHARSET UNKNOWN! PLEASE REPORT!' + >>END-IF + DISPLAY "UNEXPECTED BIT-VALUE OF 'HI. ': " BITX. + + SET BITX-FILLER TO TRUE + STRING FUNCTION BIT-OF (z"01") DELIMITED BY SIZE INTO BITX. + >>IF CHARSET = 'ASCII' + IF BITX NOT = "001100000011000100000000----------" + >>ELSE + IF BITX NOT = "111100001111000100000000----------" + >>END-IF + + IF FUNCTION BIT-TO-CHAR (BITX(1:24)) NOT = z"01" + DISPLAY "UNEXPECTED CHAR VALUE, does not match z'01': " + BITX (1:24). + SET BITX-FILLER TO TRUE + STRING FUNCTION BIT-TO-CHAR ("0011000100110010") + DELIMITED BY SIZE INTO BITX. + IF NOT (BITX (1:2) = x"3132" AND + BITX (3: ) = "--------------------------------") + DISPLAY "UNEXPECTED CHAR VALUE, expected 12-* got: " BITX. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:410: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:410" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:410" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:411: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:411" +( $at_check_trace; $COBCRUN_DIRECT ./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:411" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1021 +#AT_START_1022 +at_fn_group_banner 1022 'run_functions.at:416' \ + "FUNCTION HEX-OF and HEX-TO-CHAR" " " 4 +at_xfail=no +( + printf "%s\n" "1022. $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 PIC X VALUE SPACE. + 03 PIC 9(3) VALUE 12. + 01 Y PIC X(4) VALUE "HI.". + 01 BIN PIC 9(9) BINARY VALUE 12. + 01 PAC PIC 9(5) COMP-3 VALUE 1234. + 01 N9 PIC 9(2) USAGE NATIONAL VALUE 12. + 01 NX PIC N(2) VALUE N"!". + 01 HEXX PIC X(10). + 88 HEXX-FILLER VALUE ALL "-". + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==, + ==END-DISPLAY== BY ==END-DISPLAY END-IF==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 300000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (X) DELIMITED BY SIZE INTO HEXX. + *> Discover if running ASCII or EBCDIC + >>IF CHARSET = 'ASCII' + IF HEXX NOT = "20303132--" + >>ELIF CHARSET = 'EBCDIC' + IF HEXX NOT = "40F0F1F2--" + >>ELSE + IF 1 = 1 DISPLAY 'CHARSET UNKNOWN! PLEASE REPORT!' + >>END-IF + DISPLAY "UNEXPECTED HEX-VALUE OF '0012': " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (Y) DELIMITED BY SIZE INTO HEXX. + >>IF CHARSET = 'ASCII' + IF HEXX NOT = "48492E20--" + >> ELSE + IF HEXX NOT = "C8C94B40--" + >> END-IF + DISPLAY "UNEXPECTED HEX-VALUE OF 'HI! ': " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (BIN) DELIMITED BY SIZE INTO HEXX. + IF HEXX NOT = "0000000C--" + DISPLAY "UNEXPECTED HEX-VALUE OF BIN 12: " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (PAC) DELIMITED BY SIZE INTO HEXX. + IF HEXX NOT = "01234F----" + DISPLAY "UNEXPECTED HEX-VALUE OF PACKED 1234: " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (z"01") DELIMITED BY SIZE INTO HEXX. + >>IF CHARSET = 'ASCII' + IF HEXX NOT = "303100----" + >> ELSE + IF HEXX NOT = "F0F100----" + >> END-IF + DISPLAY "UNEXPECTED HEX-VALUE OF z'01': " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (' ') DELIMITED BY SIZE INTO HEXX. + >>IF CHARSET = 'ASCII' + IF HEXX NOT = "20--------" + >> ELSE + IF HEXX NOT = "40--------" + >> END-IF + DISPLAY "UNEXPECTED HEX-VALUE OF ' ': " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (n' ') DELIMITED BY SIZE INTO HEXX. + IF HEXX NOT = "0020------" + DISPLAY "UNEXPECTED HEX-VALUE OF n' ': " HEXX. + + *> FIXME: Failing with "3132------" -> missing padding + *> -> codegen issue for initialization / move + *> and libcob issue at least for MOVE + *> SET HEXX-FILLER TO TRUE + *> STRING FUNCTION HEX-OF (N9) DELIMITED BY SIZE INTO HEXX. + *> IF HEXX NOT = "00310032--" + *> DISPLAY "UNEXPECTED HEX-VALUE OF N9: " HEXX. + + *> FIXME: Failing with "00212020--" -> bad padding + *> -> codegen issue for initialization / move + *> and libcob issue at least for MOVE + *> SET HEXX-FILLER TO TRUE + *> STRING FUNCTION HEX-OF (NX) DELIMITED BY SIZE INTO HEXX. + *> IF HEXX NOT = "00210020--" + *> DISPLAY "UNEXPECTED HEX-VALUE OF NX: " HEXX. + + *> setting up test data: + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-OF (z"01") DELIMITED BY SIZE INTO HEXX. + + IF FUNCTION HEX-TO-CHAR (HEXX(1:6)) NOT = z"01" + DISPLAY "UNEXPECTED CHAR VALUE, does not match z'01': " + HEXX (1:6). + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-TO-CHAR ("3132") + DELIMITED BY SIZE INTO HEXX. + IF NOT (HEXX (1:2) = x"3132" AND HEXX (3:) = "--------") + DISPLAY "UNEXPECTED CHAR VALUE, expected 12-* got: " HEXX. + + SET HEXX-FILLER TO TRUE + STRING FUNCTION HEX-TO-CHAR ("3132") + DELIMITED BY SIZE INTO HEXX. + IF NOT (HEXX (1:2) = x"3132" AND HEXX (3:) = "--------") + DISPLAY "UNEXPECTED CHAR VALUE, expected 12-* got: " HEXX. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:541: \$COMPILE -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob" "run_functions.at:541" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:541" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:542: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:542" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1022 +#AT_START_1023 +at_fn_group_banner 1023 'run_functions.at:547' \ + "FUNCTION CONTENT-LENGTH" " " 4 +at_xfail=no +( + printf "%s\n" "1023. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P USAGE POINTER. + 01 X PIC X(4) VALUE Z"ABC". + 01 TEST-FLD USAGE BINARY-LONG. + PROCEDURE DIVISION. + MOVE FUNCTION CONTENT-LENGTH ( P ) + TO TEST-FLD. + IF TEST-FLD NOT = 0 + DISPLAY 'CONTENT-LENGTH NULL wrong: ' TEST-FLD + END-DISPLAY + END-IF + SET P TO ADDRESS OF X + MOVE FUNCTION CONTENT-LENGTH ( P ) + TO TEST-FLD + IF TEST-FLD NOT = 3 + DISPLAY 'CONTENT-LENGTH z"abc" wrong: ' TEST-FLD + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:575: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:575" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:575" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:576: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:576" +( $at_check_trace; $COBCRUN_DIRECT ./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:576" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1023 +#AT_START_1024 +at_fn_group_banner 1024 'run_functions.at:581' \ + "FUNCTION CONTENT-OF" " " 4 +at_xfail=no +( + printf "%s\n" "1024. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P USAGE POINTER. + 01 X PIC X(4) VALUE Z"ABC". + 01 B PIC X(10) BASED. + PROCEDURE DIVISION. + SET P TO ADDRESS OF X + IF FUNCTION CONTENT-OF ( P ) NOT EQUAL 'ABC' THEN + DISPLAY 'CONTENT-OF(ptr) wrong' END-DISPLAY + END-IF + IF FUNCTION CONTENT-OF ( P, 2 ) NOT EQUAL 'AB' THEN + DISPLAY 'CONTENT-OF(ptr, len) wrong' END-DISPLAY + END-IF + IF FUNCTION EXCEPTION-STATUS NOT = SPACES THEN + DISPLAY 'unexpected exception (1): ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + SET P TO NULL + MOVE 'PPPP' TO X + STRING FUNCTION CONTENT-OF ( P ) + DELIMITED BY SIZE + INTO X + END-STRING + *> Note: result *should* depend on dialect option zero-length literals + IF X NOT EQUAL 'PPPP' THEN + DISPLAY 'CONTENT-OF empty POINTER wrong: "' X "'" + END-DISPLAY + END-IF + IF FUNCTION EXCEPTION-STATUS NOT = "EC-DATA-PTR-NULL" THEN + DISPLAY 'missing exception (1)' + END-DISPLAY + END-IF + ALLOCATE B INITIALIZED + SET P TO ADDRESS OF B + IF FUNCTION CONTENT-OF ( P, 1 ) NOT EQUAL SPACES THEN + DISPLAY 'CONTENT-OF allocated BASED item wrong' + END-DISPLAY + END-IF + IF FUNCTION EXCEPTION-STATUS NOT = SPACES THEN + DISPLAY 'unexpected exception (2): ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + FREE B + SET P TO ADDRESS OF B + MOVE 'BBBB' TO X + STRING FUNCTION CONTENT-OF ( P ) + DELIMITED BY SIZE + INTO X + END-STRING + *> Note: result *should* depend on dialect option zero-length literals + IF X NOT EQUAL 'BBBB' THEN + DISPLAY 'CONTENT-OF unallocated BASED item wrong: "' X '"' + END-DISPLAY + END-IF + IF FUNCTION EXCEPTION-STATUS NOT = "EC-DATA-PTR-NULL" THEN + DISPLAY 'missing exception (2)' + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:650: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:650" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:650" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:651: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:651" +( $at_check_trace; $COBCRUN_DIRECT ./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:651" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1024 +#AT_START_1025 +at_fn_group_banner 1025 'run_functions.at:656' \ + "FUNCTION as CALL parameter BY CONTENT" " " 4 +at_xfail=no +( + printf "%s\n" "1025. $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 +printf "%s\n" "$at_srcdir/run_functions.at:685: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:685" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:685" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:686: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:686" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "AbcD +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:686" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1025 +#AT_START_1026 +at_fn_group_banner 1026 'run_functions.at:692' \ + "FUNCTION COS" " " 4 +at_xfail=no +( + printf "%s\n" "1026. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:711: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:711" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1026 +#AT_START_1027 +at_fn_group_banner 1027 'run_functions.at:716' \ + "FUNCTION CURRENCY-SYMBOL" " " 4 +at_xfail=no +( + printf "%s\n" "1027. $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 +printf "%s\n" "$at_srcdir/run_functions.at:733: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:733" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:733" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:734: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:734" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:734" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1027 +#AT_START_1028 +at_fn_group_banner 1028 'run_functions.at:739' \ + "FUNCTION CURRENT-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1028. $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 +printf "%s\n" "$at_srcdir/run_functions.at:804: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:804" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:804" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:805: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:805" +( $at_check_trace; $COBCRUN_DIRECT ./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:805" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1028 +#AT_START_1029 +at_fn_group_banner 1029 'run_functions.at:810' \ + "FUNCTION DATE-OF-INTEGER" " " 4 +at_xfail=no +( + printf "%s\n" "1029. $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 +printf "%s\n" "$at_srcdir/run_functions.at:829: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:829" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:830: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:830" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1029 +#AT_START_1030 +at_fn_group_banner 1030 'run_functions.at:835' \ + "FUNCTION DATE-TO-YYYYMMDD" " " 4 +at_xfail=no +( + printf "%s\n" "1030. $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 +printf "%s\n" "$at_srcdir/run_functions.at:854: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:854" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:854" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:855: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:855" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1030 +#AT_START_1031 +at_fn_group_banner 1031 'run_functions.at:860' \ + "FUNCTION DAY-OF-INTEGER" " " 4 +at_xfail=no +( + printf "%s\n" "1031. $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 +printf "%s\n" "$at_srcdir/run_functions.at:879: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:879" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:879" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:880: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:880" +( $at_check_trace; $COBCRUN_DIRECT ./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:880" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1031 +#AT_START_1032 +at_fn_group_banner 1032 'run_functions.at:885' \ + "FUNCTION DAY-TO-YYYYDDD" " " 4 +at_xfail=no +( + printf "%s\n" "1032. $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 +printf "%s\n" "$at_srcdir/run_functions.at:904: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:904" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:904" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:905: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:905" +( $at_check_trace; $COBCRUN_DIRECT ./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:905" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1032 +#AT_START_1033 +at_fn_group_banner 1033 'run_functions.at:910' \ + "FUNCTION E" " " 4 +at_xfail=no +( + printf "%s\n" "1033. $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 +printf "%s\n" "$at_srcdir/run_functions.at:928: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:928" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:928" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:929: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:929" +( $at_check_trace; $COBCRUN_DIRECT ./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:929" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1033 +#AT_START_1034 +at_fn_group_banner 1034 'run_functions.at:934' \ + "FUNCTION EXCEPTION-FILE" " " 4 +at_xfail=no +( + printf "%s\n" "1034. $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. + DISPLAY FUNCTION EXCEPTION-FILE '|' + NO ADVANCING + END-DISPLAY. + OPEN INPUT TEST-FILE. + DISPLAY FUNCTION EXCEPTION-FILE + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:962: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:962" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:962" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:963: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:963" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00|35TEST-FILE" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:963" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1034 +#AT_START_1035 +at_fn_group_banner 1035 'run_functions.at:969' \ + "FUNCTION EXCEPTION-LOCATION" " " 4 +at_xfail=no +( + printf "%s\n" "1035. $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. + DISPLAY FUNCTION EXCEPTION-LOCATION '|' + NO ADVANCING + END-DISPLAY. + OPEN INPUT TEST-FILE. + PERFORM B00-MAIN. + + B00-MAIN SECTION. + B00. + DISPLAY FUNCTION EXCEPTION-LOCATION + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1003: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1003" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1003" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1004: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1004" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " |prog; A00 OF A00-MAIN; 21" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1004" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + A00-MAIN SECTION. + A00. + DISPLAY FUNCTION EXCEPTION-LOCATION '|' + NO ADVANCING + END-DISPLAY. + CALL "sub". + CANCEL "sub". + PERFORM B00-MAIN. + + B00-MAIN SECTION. + B00. + DISPLAY FUNCTION EXCEPTION-LOCATION + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +cat >sub.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. sub. + 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. + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1049: \$COMPILE_MODULE sub.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE sub.cob" "run_functions.at:1049" +( $at_check_trace; $COMPILE_MODULE sub.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1049" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1050: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_functions.at:1050" +( $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_functions.at:1050" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1051: COB_PHYSICAL_CANCEL=1 \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "COB_PHYSICAL_CANCEL=1 $COBCRUN_DIRECT ./caller" "run_functions.at:1051" +( $at_check_trace; COB_PHYSICAL_CANCEL=1 $COBCRUN_DIRECT ./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"; printf "%s\n" " |sub; A00 OF A00-MAIN; 18" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1051" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1035 +#AT_START_1036 +at_fn_group_banner 1036 'run_functions.at:1057' \ + "FUNCTION EXCEPTION-STATEMENT" " " 4 +at_xfail=no +( + printf "%s\n" "1036. $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. + DISPLAY FUNCTION EXCEPTION-STATEMENT '|' + NO ADVANCING + END-DISPLAY. + OPEN INPUT TEST-FILE. + DISPLAY FUNCTION EXCEPTION-STATEMENT + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1085: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1085" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1085" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1086: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1086" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " |OPEN " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1086" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1036 +#AT_START_1037 +at_fn_group_banner 1037 'run_functions.at:1092' \ + "FUNCTION EXCEPTION-STATUS" " " 4 +at_xfail=no +( + printf "%s\n" "1037. $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. + DISPLAY FUNCTION EXCEPTION-STATUS '|' + NO ADVANCING + END-DISPLAY. + OPEN INPUT TEST-FILE. + DISPLAY FUNCTION EXCEPTION-STATUS + NO ADVANCING + END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1120: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1120" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1120" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1121: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1121" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " |EC-I-O-PERMANENT-ERROR " | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1121" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1037 +#AT_START_1038 +at_fn_group_banner 1038 'run_functions.at:1127' \ + "FUNCTION EXP" " " 4 +at_xfail=no +( + printf "%s\n" "1038. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1145: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1145" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1145" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1146: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1146" +( $at_check_trace; $COBCRUN_DIRECT ./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:1146" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1038 +#AT_START_1039 +at_fn_group_banner 1039 'run_functions.at:1151' \ + "FUNCTION EXP10" " " 4 +at_xfail=no +( + printf "%s\n" "1039. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1170: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1170" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1170" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1171: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1171" +( $at_check_trace; $COBCRUN_DIRECT ./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:1171" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1039 +#AT_START_1040 +at_fn_group_banner 1040 'run_functions.at:1176' \ + "FUNCTION FACTORIAL" " " 4 +at_xfail=no +( + printf "%s\n" "1040. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1195: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1195" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1195" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1196: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1196" +( $at_check_trace; $COBCRUN_DIRECT ./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:1196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1040 +#AT_START_1041 +at_fn_group_banner 1041 'run_functions.at:1201' \ + "FUNCTION FORMATTED-CURRENT-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1041. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1223: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1223" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1223" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1224: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1224" +( $at_check_trace; $COBCRUN_DIRECT ./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:1224" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1041 +#AT_START_1042 +at_fn_group_banner 1042 'run_functions.at:1229' \ + "FUNCTION FORMATTED-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1042. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1286: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1286" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1286" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1287: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1287" +( $at_check_trace; $COBCRUN_DIRECT ./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:1287" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1042 +#AT_START_1043 +at_fn_group_banner 1043 'run_functions.at:1292' \ + "FUNCTION FORMATTED-DATE with ref modding" " " 4 +at_xfail=no +( + printf "%s\n" "1043. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1311: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1311" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1311" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1312: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1312" +( $at_check_trace; $COBCRUN_DIRECT ./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:1312" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1043 +#AT_START_1044 +at_fn_group_banner 1044 'run_functions.at:1317' \ + "FUNCTION FORMATTED-DATETIME" " " 4 +at_xfail=no +( + printf "%s\n" "1044. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1368: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1368" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1368" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1369: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1369" +( $at_check_trace; $COBCRUN_DIRECT ./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:1369" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1044 +#AT_START_1045 +at_fn_group_banner 1045 'run_functions.at:1374' \ + "FUNCTION FORMATTED-DATETIME with ref modding" " " 4 +at_xfail=no +( + printf "%s\n" "1045. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1394: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1394" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1394" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1395: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1395" +( $at_check_trace; $COBCRUN_DIRECT ./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:1395" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1045 +#AT_START_1046 +at_fn_group_banner 1046 'run_functions.at:1400' \ + "FUNCTION FORMATTED-TIME" " " 4 +at_xfail=no +( + printf "%s\n" "1046. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1481: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:1481" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1482: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1482" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1046 +#AT_START_1047 +at_fn_group_banner 1047 'run_functions.at:1487' \ + "FUNCTION FORMATTED-TIME DP.COMMA" " " 4 +at_xfail=no +( + printf "%s\n" "1047. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1512: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1512" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1512" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1513: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1513" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1047 +#AT_START_1048 +at_fn_group_banner 1048 'run_functions.at:1518' \ + "FUNCTION FORMATTED-TIME with ref modding" " " 4 +at_xfail=no +( + printf "%s\n" "1048. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1537: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1537" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1537" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1538: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1538" +( $at_check_trace; $COBCRUN_DIRECT ./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:1538" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1048 +#AT_START_1049 +at_fn_group_banner 1049 'run_functions.at:1543' \ + "FUNCTION FRACTION-PART" " " 4 +at_xfail=no +( + printf "%s\n" "1049. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1568: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1568" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_functions.at:1569: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1569" +( $at_check_trace; $COBCRUN_DIRECT ./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:1569" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1049 +#AT_START_1050 +at_fn_group_banner 1050 'run_functions.at:1574' \ + "FUNCTION HIGHEST-ALGEBRAIC" " " 4 +at_xfail=no +( + printf "%s\n" "1050. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1636: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1636" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1636" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1637: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1637" +( $at_check_trace; $COBCRUN_DIRECT ./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:1637" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1050 +#AT_START_1051 +at_fn_group_banner 1051 'run_functions.at:1642' \ + "FUNCTION INTEGER" " " 4 +at_xfail=no +( + printf "%s\n" "1051. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1669: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1669" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1669" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1670: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1670" +( $at_check_trace; $COBCRUN_DIRECT ./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:1670" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1051 +#AT_START_1052 +at_fn_group_banner 1052 'run_functions.at:1675' \ + "FUNCTION INTEGER-OF-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1052. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:1695: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1695" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1052 +#AT_START_1053 +at_fn_group_banner 1053 'run_functions.at:1700' \ + "FUNCTION INTEGER-OF-DAY" " " 4 +at_xfail=no +( + printf "%s\n" "1053. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1719: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1719" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1719" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1720: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1720" +( $at_check_trace; $COBCRUN_DIRECT ./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:1720" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1053 +#AT_START_1054 +at_fn_group_banner 1054 'run_functions.at:1725' \ + "FUNCTION INTEGER-OF-FORMATTED-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1054. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1769: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:1769" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1770: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1770" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1054 +#AT_START_1055 +at_fn_group_banner 1055 'run_functions.at:1775' \ + "FUNCTION INTEGER-PART" " " 4 +at_xfail=no +( + printf "%s\n" "1055. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1795: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1795" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1795" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1796: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1796" +( $at_check_trace; $COBCRUN_DIRECT ./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:1796" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1055 +#AT_START_1056 +at_fn_group_banner 1056 'run_functions.at:1801' \ + "FUNCTION LENGTH" " " 4 +at_xfail=no +( + printf "%s\n" "1056. $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 N PIC N(9). + 01 TEST-FLD PIC S9(04)V9(02). + 01 TEST-TAB. + 05 T-ENTRIES PIC 99 VALUE 10. + 05 TEST-ENTRY PIC X OCCURS 1 TO 10 DEPENDING ON T-ENTRIES. + PROCEDURE DIVISION. + MOVE FUNCTION LENGTH ( X ) + TO TEST-FLD + IF TEST-FLD NOT = 8 + DISPLAY 'LENGTH "00128" wrong: ' TEST-FLD + END-DISPLAY + END-IF + MOVE FUNCTION LENGTH ( N ) + TO TEST-FLD + IF TEST-FLD NOT = 9 + DISPLAY 'LENGTH N(9) wrong: ' TEST-FLD + END-DISPLAY + END-IF + + MOVE FUNCTION LENGTH ( '00128' ) + TO TEST-FLD + IF TEST-FLD NOT = 5 + DISPLAY 'LENGTH "00128" wrong: ' TEST-FLD + END-DISPLAY + END-IF + * note: we currently do not support items of category boolean... + *> MOVE FUNCTION LENGTH ( b'100' ) + *> TO TEST-FLD + *> IF TEST-FLD NOT = 3 + *> DISPLAY 'LENGTH b"100" wrong: ' TEST-FLD + *> END-DISPLAY + *> END-IF + MOVE FUNCTION LENGTH ( x'a0' ) + TO TEST-FLD + IF TEST-FLD NOT = 1 + DISPLAY 'LENGTH x"a0" wrong: ' TEST-FLD + END-DISPLAY + END-IF + MOVE FUNCTION LENGTH ( z'a0' ) + TO TEST-FLD + IF TEST-FLD NOT = 3 + DISPLAY 'LENGTH z"a0" wrong: ' TEST-FLD + END-DISPLAY + END-IF + MOVE FUNCTION LENGTH ( n'a0' ) + TO TEST-FLD + IF TEST-FLD NOT = 2 + DISPLAY 'LENGTH n"a0" wrong: ' TEST-FLD + END-DISPLAY + END-IF + MOVE 10 TO T-ENTRIES + MOVE FUNCTION LENGTH ( TEST-TAB) + TO TEST-FLD + IF TEST-FLD NOT = 12 + DISPLAY 'LENGTH TEST-TAB (10 entries): ' TEST-FLD + END-DISPLAY + END-IF + MOVE 1 TO T-ENTRIES + MOVE FUNCTION LENGTH ( TEST-TAB) + TO TEST-FLD + IF TEST-FLD NOT = 3 + DISPLAY 'LENGTH TEST-TAB (1 entry): ' TEST-FLD + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1877: \$COMPILE -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob" "run_functions.at:1877" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1877" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1878: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1878" +( $at_check_trace; $COBCRUN_DIRECT ./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:1878" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1056 +#AT_START_1057 +at_fn_group_banner 1057 'run_functions.at:1883' \ + "FUNCTION LOCALE-COMPARE" " " 4 +at_xfail=no +( + printf "%s\n" "1057. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1907: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1907" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1907" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1908: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1908" +( $at_check_trace; $COBCRUN_DIRECT ./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:1908" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1057 +#AT_START_1058 +at_fn_group_banner 1058 'run_functions.at:1913' \ + "FUNCTION LOCALE-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1058. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1931: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1931" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1931" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1932: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1932" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1932" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1058 +#AT_START_1059 +at_fn_group_banner 1059 'run_functions.at:1939' \ + "FUNCTION LOCALE-TIME" " " 4 +at_xfail=no +( + printf "%s\n" "1059. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1957: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1957" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1957" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1958: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1958" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1958" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1059 +#AT_START_1060 +at_fn_group_banner 1060 'run_functions.at:1965' \ + "FUNCTION LOCALE-TIME-FROM-SECONDS" " " 4 +at_xfail=no +( + printf "%s\n" "1060. $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 +printf "%s\n" "$at_srcdir/run_functions.at:1983: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1983" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1983" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:1984: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:1984" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1984" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1060 +#AT_START_1061 +at_fn_group_banner 1061 'run_functions.at:1991' \ + "FUNCTION LOG" " " 4 +at_xfail=no +( + printf "%s\n" "1061. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:2010: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2010" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1061 +#AT_START_1062 +at_fn_group_banner 1062 'run_functions.at:2015' \ + "FUNCTION LOG10" " " 4 +at_xfail=no +( + printf "%s\n" "1062. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2033: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:2033" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2034: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2034" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1062 +#AT_START_1063 +at_fn_group_banner 1063 'run_functions.at:2039' \ + "FUNCTION LOWER-CASE" " " 4 +at_xfail=no +( + printf "%s\n" "1063. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2061: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2061" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2061" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2062: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2062" +( $at_check_trace; $COBCRUN_DIRECT ./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:2062" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1063 +#AT_START_1064 +at_fn_group_banner 1064 'run_functions.at:2067' \ + "FUNCTION LOWER-CASE with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1064. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2087: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2087" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2087" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2088: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2088" +( $at_check_trace; $COBCRUN_DIRECT ./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:2088" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1064 +#AT_START_1065 +at_fn_group_banner 1065 'run_functions.at:2093' \ + "FUNCTION LOWEST-ALGEBRAIC" " " 4 +at_xfail=no +( + printf "%s\n" "1065. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:2141: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2141" +( $at_check_trace; $COBCRUN_DIRECT ./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_1065 +#AT_START_1066 +at_fn_group_banner 1066 'run_functions.at:2146' \ + "FUNCTION MAX" " " 4 +at_xfail=no +( + printf "%s\n" "1066. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2160: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2160" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2160" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2161: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2161" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "8 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2161" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1066 +#AT_START_1067 +at_fn_group_banner 1067 'run_functions.at:2168' \ + "FUNCTION MEAN" " " 4 +at_xfail=no +( + printf "%s\n" "1067. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2182: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:2182" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2183: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2183" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-00000001.2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.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_1067 +#AT_START_1068 +at_fn_group_banner 1068 'run_functions.at:2190' \ + "FUNCTION MEDIAN" " " 4 +at_xfail=no +( + printf "%s\n" "1068. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2204: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2204" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2205: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2205" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1068 +#AT_START_1069 +at_fn_group_banner 1069 'run_functions.at:2212' \ + "FUNCTION MIDRANGE" " " 4 +at_xfail=no +( + printf "%s\n" "1069. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2226: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2226" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2226" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2227: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2227" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-000000003 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2227" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1069 +#AT_START_1070 +at_fn_group_banner 1070 'run_functions.at:2234' \ + "FUNCTION MIN" " " 4 +at_xfail=no +( + printf "%s\n" "1070. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2248: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2248" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2248" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2249: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2249" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-14 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2249" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1070 +#AT_START_1071 +at_fn_group_banner 1071 'run_functions.at:2256' \ + "FUNCTION MOD (valid)" " " 4 +at_xfail=no +( + printf "%s\n" "1071. $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. + 01 R PIC S9(4)V9(4) VALUE 0. + PROCEDURE DIVISION. + MOVE FUNCTION MOD ( -11 5 ) TO R + IF R NOT = 4 + DISPLAY 'first one wrong: ' R + END-DISPLAY + END-IF + MOVE FUNCTION MOD ( Y, 71 ) TO R + IF R NOT = 0 + DISPLAY 'second one wrong: ' R + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2280: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2280" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2280" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2281: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2281" +( $at_check_trace; $COBCRUN_DIRECT ./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:2281" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1071 +#AT_START_1072 +at_fn_group_banner 1072 'run_functions.at:2286' \ + "FUNCTION MOD (invalid)" " " 4 +at_xfail=no +( + printf "%s\n" "1072. $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 9 VALUE 0. + 01 R PIC S9(4)V9(4) VALUE 1. + PROCEDURE DIVISION. + MOVE FUNCTION MOD ( -11 Z ) TO R + IF FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + NOT = 'EC-ARGUMENT-FUNCTION' + DISPLAY 'Wrong/missing exception: ' + FUNCTION EXCEPTION-STATUS + END-DISPLAY + END-IF + IF R NOT = 0 + DISPLAY 'result is not zero: ' R + END-DISPLAY + END-IF + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2311: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2311" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2311" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2312: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2312" +( $at_check_trace; $COBCRUN_DIRECT ./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:2312" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1072 +#AT_START_1073 +at_fn_group_banner 1073 'run_functions.at:2317' \ + "FUNCTION MODULE-CALLER-ID" " " 4 +at_xfail=no +( + printf "%s\n" "1073. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2344: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2344" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2344" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2345: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_functions.at:2345" +( $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:2345" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2346: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2346" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "prog" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2346" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1073 +#AT_START_1074 +at_fn_group_banner 1074 'run_functions.at:2351' \ + "FUNCTION MODULE-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1074. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2370: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2370" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2370" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2371: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2371" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2371" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1074 +#AT_START_1075 +at_fn_group_banner 1075 'run_functions.at:2376' \ + "FUNCTION MODULE-FORMATTED-DATE" " " 4 +at_xfail=no +( + printf "%s\n" "1075. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2395: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2395" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2395" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2396: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2396" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2396" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1075 +#AT_START_1076 +at_fn_group_banner 1076 'run_functions.at:2401' \ + "FUNCTION MODULE-ID" " " 4 +at_xfail=no +( + printf "%s\n" "1076. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2416: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2416" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2416" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2417: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2417" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "prog" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2417" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1076 +#AT_START_1077 +at_fn_group_banner 1077 'run_functions.at:2422' \ + "FUNCTION MODULE-PATH" " " 4 +at_xfail=no +( + printf "%s\n" "1077. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2441: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2441" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2441" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2442: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2442" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2442" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1077 +#AT_START_1078 +at_fn_group_banner 1078 'run_functions.at:2447' \ + "FUNCTION MODULE-SOURCE" " " 4 +at_xfail=no +( + printf "%s\n" "1078. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2462: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2462" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2462" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2463: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2463" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "prog.cob" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2463" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1078 +#AT_START_1079 +at_fn_group_banner 1079 'run_functions.at:2468' \ + "FUNCTION MODULE-TIME" " " 4 +at_xfail=no +( + printf "%s\n" "1079. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2487: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2487" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2487" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2488: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2488" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2488" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1079 +#AT_START_1080 +at_fn_group_banner 1080 'run_functions.at:2493' \ + "FUNCTION MONETARY-DECIMAL-POINT" " " 4 +at_xfail=no +( + printf "%s\n" "1080. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2510: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2510" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2510" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2511: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2511" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2511" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1080 +#AT_START_1081 +at_fn_group_banner 1081 'run_functions.at:2516' \ + "FUNCTION MONETARY-THOUSANDS-SEPARATOR" " " 4 +at_xfail=no +( + printf "%s\n" "1081. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2533: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2533" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2533" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2534: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2534" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2534" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1081 +#AT_START_1082 +at_fn_group_banner 1082 'run_functions.at:2539' \ + "FUNCTION NUMERIC-DECIMAL-POINT" " " 4 +at_xfail=no +( + printf "%s\n" "1082. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2556: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2556" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2556" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2557: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2557" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$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 + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1082 +#AT_START_1083 +at_fn_group_banner 1083 'run_functions.at:2562' \ + "FUNCTION NUMERIC-THOUSANDS-SEPARATOR" " " 4 +at_xfail=no +( + printf "%s\n" "1083. $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 +printf "%s\n" "$at_srcdir/run_functions.at:2579: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2579" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2579" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2580: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2580" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2580" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1083 +#AT_START_1084 +at_fn_group_banner 1084 'run_functions.at:2585' \ + "FUNCTION NUMVAL" " " 4 +at_xfail=no +( + printf "%s\n" "1084. $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 X2b PIC X(18) VALUE " 19876.1234 cR". + 01 X2c PIC X(18) VALUE " 19876.1234 cr". + 01 X2d PIC X(18) VALUE " 19876.1234 Cr". + 01 X3 PIC X(09) VALUE "-042.3240". + 01 X4 PIC X(09) VALUE "+04232400". + 01 X5 PIC X(09) VALUE " 00.00430". + 01 BAD1 PIC X(18) VALUE " 1. A-0B4.5". + 01 BAD2 PIC X(20) VALUE "+0@0%0=0*0!0&0^0)10-". + 01 EMPT PIC X(20) VALUE SPACE. + 77 CSZE PIC 9 VALUE 0. + 01 VSIZED. + 03 FILLER PIC X OCCURS 0 TO 10 DEPENDING ON CSZE. + 01 N PIC s9(8)v9(5). + PROCEDURE DIVISION. + MOVE FUNCTION NUMVAL ( X1 ) TO N + IF N <> -9876.1234 + DISPLAY "X1 '" X1 "' : " N. + MOVE FUNCTION NUMVAL ( X2 ) TO N + IF N <> -19876.1234 + DISPLAY "X2 '" X2 "' : " N + ELSE IF N + <> FUNCTION NUMVAL ( X2b ) + OR N + <> FUNCTION NUMVAL ( X2c ) + OR N + <> FUNCTION NUMVAL ( X2d ) + DISPLAY "NUMVAL not case-insensitive!". + MOVE FUNCTION NUMVAL ( X3 ) TO N + IF N <> -42.324 + DISPLAY "X3 '" X3 "' : " N. + MOVE FUNCTION NUMVAL ( X4 ) TO N + IF N <> 4232400 + DISPLAY "X4 '" X4 "' : " N. + MOVE FUNCTION NUMVAL ( X5 ) TO N + IF N <> .0043 + DISPLAY "X5 '" X5 "' : " N. + + * Note: the following are "empty" tests + MOVE FUNCTION NUMVAL ( EMPT ) TO N + IF N <> 0 + DISPLAY "EMPT '" EMPT "' : " N. + MOVE FUNCTION NUMVAL ( VSIZED ) TO N + IF N <> 0 + DISPLAY "VSIZED '" VSIZED "' : " N. + + * Note: the following tests with invalid data, pre 3.2 + * return zero, 3.2+ get "whatever is valid there + * (which seem to be what MF is doing) + MOVE FUNCTION NUMVAL ( BAD1 ) TO N + IF N <> 0 AND N <> -1.045 + DISPLAY "BAD1 '" BAD1 "' : " N. + MOVE FUNCTION NUMVAL ( BAD2 ) TO N + IF N <> 0 AND N <> 10 + DISPLAY "BAD2 '" BAD2 "' : " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2652: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2652" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2652" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2653: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2653" +( $at_check_trace; $COBCRUN_DIRECT ./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:2653" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1084 +#AT_START_1085 +at_fn_group_banner 1085 'run_functions.at:2658' \ + "FUNCTION NUMVAL-C" " " 4 +at_xfail=no +( + printf "%s\n" "1085. $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(18) VALUE " % 19,876.1234 DB". + 01 X2b PIC X(18) VALUE " % 19,876.1234 db". + 01 X2c PIC X(18) VALUE " % 19,876.1234 Db". + 01 X2d PIC X(18) VALUE " % 19,876.1234 dB". + 01 X3 PIC X(12) VALUE "% -9876.1234". + 01 X4 PIC X(12) VALUE "019,876.1234". + 01 BAD1 PIC X(18) VALUE " -19,876.1234 %". + 01 BAD2 PIC X(18) VALUE "19,87,56.12.34 ". + 01 BAD3 PIC X(18) VALUE "+19,8756CR1234". + 01 N PIC s9(8)v9(5). + PROCEDURE DIVISION. + MOVE FUNCTION NUMVAL-C ( X1 , "%" ) TO N + IF N NOT = -9876.1234 + DISPLAY "X1 '" X1 "' : " N. + MOVE FUNCTION NUMVAL-C ( X2 , "%" ) TO N + IF N NOT = -19876.1234 + DISPLAY "X2 '" X2 "' : " N + ELSE IF N + <> FUNCTION NUMVAL ( X2b ) + OR N + <> FUNCTION NUMVAL ( X2c ) + OR N + <> FUNCTION NUMVAL ( X2d ) + DISPLAY "NUMVAL not case-insensitive!". + MOVE FUNCTION NUMVAL-C ( X3 , "%" ) TO N + IF N NOT = -9876.1234 + DISPLAY "X3 '" X3 "' : " N. + MOVE FUNCTION NUMVAL-C ( X4 , "%" ) TO N + IF N NOT = 19876.1234 + DISPLAY "X4 '" X4 "' : " N. + + * Note: the following tests with invalid data, pre 3.2 + * return zero, 3.2+ get "whatever is valid there + * (which seem to be what MF is doing) + MOVE FUNCTION NUMVAL ( BAD1 ) TO N + IF N <> 0 AND N <> -19876.1234 + DISPLAY "BAD1 '" BAD1 "' : " N. + MOVE FUNCTION NUMVAL ( BAD2 ) TO N + IF N <> 0 AND N <> 198756.1234 + DISPLAY "BAD2 '" BAD2 "' : " N. + MOVE FUNCTION NUMVAL ( BAD3 ) TO N + IF N <> 0 AND N <> -198756 + DISPLAY "BAD3 '" BAD3 "' : " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2713: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2713" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_functions.at:2714: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2714" +( $at_check_trace; $COBCRUN_DIRECT ./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:2714" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1085 +#AT_START_1086 +at_fn_group_banner 1086 'run_functions.at:2719' \ + "FUNCTION NUMVAL-C DP.COMMA" " " 4 +at_xfail=no +( + printf "%s\n" "1086. $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 "X1 '" X1 "' : " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2741: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2741" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2741" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2742: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2742" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1086 +#AT_START_1087 +at_fn_group_banner 1087 'run_functions.at:2747' \ + "FUNCTION NUMVAL-F" " " 4 +at_xfail=no +( + printf "%s\n" "1087. $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 " -0.1234E+4 ". + 01 X2 PIC X(12) VALUE " .1234e-2 ". + 01 BAD1 PIC X(18) VALUE " -000E-12". + 01 N PIC s9(8)v9(10). + PROCEDURE DIVISION. + MOVE FUNCTION NUMVAL-F ( X1 ) TO N + IF N NOT = -1234 + DISPLAY "X1 '" X1 "' : " N. + MOVE FUNCTION NUMVAL-F ( X2 ) TO N + IF N NOT = .001234 + DISPLAY "X2 '" X2 "' : " N. + + * Note: the following tests with invalid data, pre 3.2 + * return zero, 3.2+ get "whatever is valid there + * (which seem to be what MF is doing) + MOVE FUNCTION NUMVAL-F ( BAD1 ) TO N + IF N <> 0 + DISPLAY "BAD1 '" BAD1 "' : " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2776: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2776" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2776" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2777: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2777" +( $at_check_trace; $COBCRUN_DIRECT ./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:2777" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1087 +#AT_START_1088 +at_fn_group_banner 1088 'run_functions.at:2782' \ + "FUNCTION ORD" " " 4 +at_xfail=no +( + printf "%s\n" "1088. $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" ) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2796: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2796" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2796" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2797: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2797" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000108" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2797" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1088 +#AT_START_1089 +at_fn_group_banner 1089 'run_functions.at:2803' \ + "FUNCTION ORD-MAX" " " 4 +at_xfail=no +( + printf "%s\n" "1089. $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 ) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2817: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2817" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2817" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2818: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2818" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000004" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2818" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1089 +#AT_START_1090 +at_fn_group_banner 1090 'run_functions.at:2824' \ + "FUNCTION ORD-MIN" " " 4 +at_xfail=no +( + printf "%s\n" "1090. $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 ) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2838: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2838" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2838" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2839: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2839" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000002" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2839" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1090 +#AT_START_1091 +at_fn_group_banner 1091 'run_functions.at:2845' \ + "FUNCTION PI" " " 4 +at_xfail=no +( + printf "%s\n" "1091. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2861: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:2861" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2862: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2862" +( $at_check_trace; $COBCRUN_DIRECT ./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:2862" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1091 +#AT_START_1092 +at_fn_group_banner 1092 'run_functions.at:2867' \ + "FUNCTION PRESENT-VALUE" " " 4 +at_xfail=no +( + printf "%s\n" "1092. $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 ) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2881: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2881" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2881" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2882: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2882" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00000.5625" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2882" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1092 +#AT_START_1093 +at_fn_group_banner 1093 'run_functions.at:2888' \ + "FUNCTION RANDOM" " " 4 +at_xfail=no +( + printf "%s\n" "1093. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2904: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2904" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2904" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2905: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2905" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1093 +#AT_START_1094 +at_fn_group_banner 1094 'run_functions.at:2910' \ + "FUNCTION RANGE" " " 4 +at_xfail=no +( + printf "%s\n" "1094. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2926: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2926" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2926" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2927: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2927" +( $at_check_trace; $COBCRUN_DIRECT ./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:2927" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1094 +#AT_START_1095 +at_fn_group_banner 1095 'run_functions.at:2932' \ + "FUNCTION REM (valid)" " " 4 +at_xfail=no +( + printf "%s\n" "1095. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 R PIC S9(4)V9(4) COMP-5 VALUE 0. + PROCEDURE DIVISION. + MOVE FUNCTION REM ( -11 5 ) TO R + IF R NOT = -1 + DISPLAY R. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2948: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2948" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2948" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2949: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2949" +( $at_check_trace; $COBCRUN_DIRECT ./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:2949" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1095 +#AT_START_1096 +at_fn_group_banner 1096 'run_functions.at:2954' \ + "FUNCTION REM (invalid)" " " 4 +at_xfail=no +( + printf "%s\n" "1096. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 R PIC S9(4)V9(4) COMP-5 VALUE 4.1. + 01 Z PIC 9 COMP-5 VALUE 0. + PROCEDURE DIVISION. + MOVE FUNCTION REM ( -11 Z ) TO R + IF FUNCTION TRIM(FUNCTION EXCEPTION-STATUS) + NOT = 'EC-ARGUMENT-FUNCTION' + DISPLAY 'Wrong/missing exception: ' + FUNCTION EXCEPTION-STATUS. + IF R NOT = 0 + DISPLAY 'result is not zero: ' R. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2975: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:2975" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2976: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2976" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1096 +#AT_START_1097 +at_fn_group_banner 1097 'run_functions.at:2981' \ + "FUNCTION REVERSE" " " 4 +at_xfail=no +( + printf "%s\n" "1097. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2998: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2998" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2998" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:2999: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:2999" +( $at_check_trace; $COBCRUN_DIRECT ./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:2999" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1097 +#AT_START_1098 +at_fn_group_banner 1098 'run_functions.at:3004' \ + "FUNCTION REVERSE with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1098. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3021: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3021" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3021" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3022: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3022" +( $at_check_trace; $COBCRUN_DIRECT ./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:3022" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1098 +#AT_START_1099 +at_fn_group_banner 1099 'run_functions.at:3027' \ + "FUNCTION SECONDS-FROM-FORMATTED-TIME" " " 4 +at_xfail=no +( + printf "%s\n" "1099. $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. + + MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME + ("hh:mm:ss", "01:02:03") + TO result. + IF result NOT = 3723 + DISPLAY "Test 2 failed: " result. + + MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME + ("hhmmss.ssssssss", "010203.04050607") + TO result. + IF result NOT = 3723.04050607 + DISPLAY "Test 3 failed: " result. + + MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME + ("hhmmssZ", "010203Z") + TO result. + IF result NOT = 3723 + DISPLAY "Test 4 failed: " result. + + MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME + ("hhmmss+hhmm", "010203+0405") + TO result. + IF result NOT = 3723 + DISPLAY "Test 5 failed: " result. + + MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME + ("YYYYMMDDThhmmss", "16010101T010203") + TO result. + IF result NOT = 3723 + DISPLAY "Test 6 failed: " result. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3076: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3076" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3076" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3077: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3077" +( $at_check_trace; $COBCRUN_DIRECT ./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:3077" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1099 +#AT_START_1100 +at_fn_group_banner 1100 'run_functions.at:3082' \ + "FUNCTION SECONDS-PAST-MIDNIGHT" " " 4 +at_xfail=no +( + printf "%s\n" "1100. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3098: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3098" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3098" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3099: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3099" +( $at_check_trace; $COBCRUN_DIRECT ./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:3099" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1100 +#AT_START_1101 +at_fn_group_banner 1101 'run_functions.at:3104' \ + "FUNCTION SIGN" " " 4 +at_xfail=no +( + printf "%s\n" "1101. $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. + 01 F USAGE FLOAT-LONG. + PROCEDURE DIVISION. + MOVE FUNCTION SIGN ( 3.12345 ) TO Z. + IF Z NOT = 1 + DISPLAY "Sign 1 " Z. + MOVE FUNCTION SIGN ( -0.0 ) TO Z. + IF Z NOT = 0 + DISPLAY "Sign 2 " Z. + MOVE FUNCTION SIGN ( 0.0 ) TO Z. + IF Z NOT = 0 + DISPLAY "Sign 3 " Z. + MOVE FUNCTION SIGN ( -3.12345 ) TO Z. + IF Z NOT = -1 + DISPLAY "Sign 4 " Z. + MOVE 3.12345 TO F + MOVE FUNCTION SIGN ( F ) TO Z. + IF Z NOT = 1 + DISPLAY "Sign 5 " Z. + MOVE -0.0 TO F + MOVE FUNCTION SIGN ( F ) TO Z. + IF Z NOT = 0 + DISPLAY "Sign 6 " Z. + MOVE -3.12345 TO F + MOVE FUNCTION SIGN ( F ) TO Z. + IF Z NOT = -1 + DISPLAY "Sign 7 " Z. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3142: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3142" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3142" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3143: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3143" +( $at_check_trace; $COBCRUN_DIRECT ./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:3143" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1101 +#AT_START_1102 +at_fn_group_banner 1102 'run_functions.at:3148' \ + "FUNCTION SIN" " " 4 +at_xfail=no +( + printf "%s\n" "1102. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3164: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3164" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3164" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3165: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3165" +( $at_check_trace; $COBCRUN_DIRECT ./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:3165" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1102 +#AT_START_1103 +at_fn_group_banner 1103 'run_functions.at:3170' \ + "FUNCTION SQRT" " " 4 +at_xfail=no +( + printf "%s\n" "1103. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3186: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3186" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3186" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3187: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3187" +( $at_check_trace; $COBCRUN_DIRECT ./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:3187" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1103 +#AT_START_1104 +at_fn_group_banner 1104 'run_functions.at:3192' \ + "FUNCTION STANDARD-DEVIATION" " " 4 +at_xfail=no +( + printf "%s\n" "1104. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3208: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.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_functions.at:3208" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3209: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3209" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1104 +#AT_START_1105 +at_fn_group_banner 1105 'run_functions.at:3214' \ + "FUNCTION STORED-CHAR-LENGTH" " " 4 +at_xfail=no +( + printf "%s\n" "1105. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3232: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3232" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3232" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3233: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3233" +( $at_check_trace; $COBCRUN_DIRECT ./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:3233" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1105 +#AT_START_1106 +at_fn_group_banner 1106 'run_functions.at:3238' \ + "FUNCTION SUBSTITUTE" " " 4 +at_xfail=no +( + printf "%s\n" "1106. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_functions.at:3260: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3260" +( $at_check_trace; $COBCRUN_DIRECT ./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_1106 +#AT_START_1107 +at_fn_group_banner 1107 'run_functions.at:3265' \ + "FUNCTION SUBSTITUTE with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1107. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3285: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3285" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3285" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3286: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3286" +( $at_check_trace; $COBCRUN_DIRECT ./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:3286" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1107 +#AT_START_1108 +at_fn_group_banner 1108 'run_functions.at:3291' \ + "FUNCTION SUBSTITUTE-CASE" " " 4 +at_xfail=no +( + printf "%s\n" "1108. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3310: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3310" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3310" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3311: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3311" +( $at_check_trace; $COBCRUN_DIRECT ./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:3311" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1108 +#AT_START_1109 +at_fn_group_banner 1109 'run_functions.at:3316' \ + "FUNCTION SUBSTITUTE-CASE with reference mod" " " 4 +at_xfail=no +( + printf "%s\n" "1109. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3336: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3336" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3336" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3337: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3337" +( $at_check_trace; $COBCRUN_DIRECT ./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:3337" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1109 +#AT_START_1110 +at_fn_group_banner 1110 'run_functions.at:3342' \ + "FUNCTION SUM" " " 4 +at_xfail=no +( + printf "%s\n" "1110. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3358: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3358" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_functions.at:3359: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3359" +( $at_check_trace; $COBCRUN_DIRECT ./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:3359" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1110 +#AT_START_1111 +at_fn_group_banner 1111 'run_functions.at:3364' \ + "FUNCTION TAN" " " 4 +at_xfail=no +( + printf "%s\n" "1111. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3380: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3380" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3380" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3381: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3381" +( $at_check_trace; $COBCRUN_DIRECT ./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:3381" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1111 +#AT_START_1112 +at_fn_group_banner 1112 'run_functions.at:3386' \ + "FUNCTION TEST-DATE-YYYYMMDD" " " 4 +at_xfail=no +( + printf "%s\n" "1112. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + *> explicit DISPLAY to verify size + DISPLAY FUNCTION TEST-DATE-YYYYMMDD (20020231) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3401: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3401" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3401" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3402: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3402" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000003" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3402" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1112 +#AT_START_1113 +at_fn_group_banner 1113 'run_functions.at:3408' \ + "FUNCTION TEST-DAY-YYYYDDD" " " 4 +at_xfail=no +( + printf "%s\n" "1113. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + PROCEDURE DIVISION. + *> explicit DISPLAY to verify size + DISPLAY FUNCTION TEST-DAY-YYYYDDD (2002400) + WITH NO ADVANCING. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3423: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3423" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3423" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3424: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3424" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "000000002" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3424" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1113 +#AT_START_1114 +at_fn_group_banner 1114 'run_functions.at:3430' \ + "FUNCTION TEST-FORMATTED-DATETIME with dates" " " 4 +at_xfail=no +( + printf "%s\n" "1114. $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". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYY-MM-DD", "1601-01-01") <> 0 + DISPLAY "Test 2 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYDDD", "1601001") <> 0 + DISPLAY "Test 3 failed" + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYY-DDD", "1601-001") <> 0 + DISPLAY "Test 4 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "1601W011") <> 0 + DISPLAY "Test 5 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYY-Www-D", "1601-W01-1") <> 0 + DISPLAY "Test 6 failed". + + + *> How will this work with zero-length items? + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "1") <> 2 + DISPLAY "Test 7 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "160A0101") <> 4 + DISPLAY "Test 8 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "00000101") <> 1 + DISPLAY "Test 9 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "16000101") <> 4 + DISPLAY "Test 10 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "16010001") <> 6 + DISPLAY "Test 11 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "16011301") <> 6 + DISPLAY "Test 12 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "16010190") <> 7 + DISPLAY "Test 13 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "18000229") <> 8 + DISPLAY "Test 14 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYY-MM-DD", "1601 01 01") <> 5 + DISPLAY "Test 15 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "160101010") <> 9 + DISPLAY "Test 16 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "1601A011") <> 5 + DISPLAY "Test 17 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "1601W531") <> 7 + DISPLAY "Test 18 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "1601W601") <> 6 + DISPLAY "Test 19 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "2009W531") <> 0 + DISPLAY "Test 20 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYWwwD", "1601W018") <> 8 + DISPLAY "Test 21 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYDDD", "1601366") <> 7 + DISPLAY "Test 22 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYDDD", "1601370") <> 6 + DISPLAY "Test 23 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYDDD", "1601400") <> 5 + DISPLAY "Test 24 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "01") <> 1 + DISPLAY "Test 25 failed". + IF FUNCTION TEST-FORMATTED-DATETIME + ("YYYYMMDD", "1601010") <> 8 + DISPLAY "Test 26 failed". + + STOP RUN + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3525: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3525" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3525" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3526: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3526" +( $at_check_trace; $COBCRUN_DIRECT ./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:3526" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1114 +#AT_START_1115 +at_fn_group_banner 1115 'run_functions.at:3531' \ + "FUNCTION TEST-FORMATTED-DATETIME with times" " " 4 +at_xfail=no +( + printf "%s\n" "1115. $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 +printf "%s\n" "$at_srcdir/run_functions.at:3606: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3606" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3606" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3607: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3607" +( $at_check_trace; $COBCRUN_DIRECT ./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:3607" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1115 +#AT_START_1116 +at_fn_group_banner 1116 'run_functions.at:3612' \ + "FUNCTION TEST-FORMATTED-DATETIME with datetimes" "" 4 +at_xfail=no +( + printf "%s\n" "1116. $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 +printf "%s\n" "$at_srcdir/run_functions.at:3659: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3659" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_functions.at:3660: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3660" +( $at_check_trace; $COBCRUN_DIRECT ./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:3660" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1116 +#AT_START_1117 +at_fn_group_banner 1117 'run_functions.at:3665' \ + "FUNCTION TEST-FORMATTED-DATETIME DP.COMMA" " " 4 +at_xfail=no +( + printf "%s\n" "1117. $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 +printf "%s\n" "$at_srcdir/run_functions.at:3700: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3700" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3700" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3701: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3701" +( $at_check_trace; $COBCRUN_DIRECT ./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:3701" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1117 +#AT_START_1118 +at_fn_group_banner 1118 'run_functions.at:3706' \ + "FUNCTION TEST-NUMVAL" " " 4 +at_xfail=no +( + printf "%s\n" "1118. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 RESULT USAGE BINARY-LONG. + 01 EMPTY. + 03 PIC X OCCURS 0 TO 5 DEPENDING ON RESULT. + PROCEDURE DIVISION. + MOVE FUNCTION TEST-NUMVAL ("+ 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 1 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" + 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 2 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("- 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 3 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" - 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 4 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("+- 1") TO RESULT + IF RESULT NOT = 2 + DISPLAY "Test 5 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 6 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 7 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1 +-") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 8 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1 -+") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 9 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("+ 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 10 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("- 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 11 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 12 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 13 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 CR") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 14 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 DB") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 15 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 -CR") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 16 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 +DB") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 17 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 CDB") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 18 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("+1.1 CR") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 19 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("+ ") TO RESULT + IF RESULT NOT = 8 + DISPLAY "Test 20 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" 0. ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 21 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" .0 ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 22 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" . 0") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 23 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" 0 .") TO RESULT + IF RESULT NOT = 5 + DISPLAY "Test 24 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" 0+0") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 25 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" 0+ 0") TO RESULT + IF RESULT NOT = 8 + DISPLAY "Test 26 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL ("1.1 D") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 27 fail: " RESULT. + + * MOVE FUNCTION TEST-NUMVAL ("") TO RESULT + MOVE 0 TO RESULT + MOVE FUNCTION TEST-NUMVAL (EMPTY) TO RESULT + IF RESULT NOT = 1 + DISPLAY "Test 28 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" ") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 29 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" .") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 30 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" ") TO RESULT + IF RESULT NOT = 5 + DISPLAY "Test 31 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL (" 1 T") TO RESULT + IF RESULT NOT = 5 + DISPLAY "Test 32 fail: " RESULT. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3851: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3851" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3851" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3852: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3852" +( $at_check_trace; $COBCRUN_DIRECT ./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:3852" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1118 +#AT_START_1119 +at_fn_group_banner 1119 'run_functions.at:3857' \ + "FUNCTION TEST-NUMVAL-C" " " 4 +at_xfail=no +( + printf "%s\n" "1119. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 RESULT USAGE BINARY-LONG. + PROCEDURE DIVISION. + + MOVE FUNCTION TEST-NUMVAL-C ("+ 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 1 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C (" + 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 2 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("- 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 3 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C (" - 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 4 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("+- 1") TO RESULT + IF RESULT NOT = 2 + DISPLAY "Test 5 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 6 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 7 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1 +-") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 8 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1 -+") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 9 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("+ 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 10 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("- 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 11 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1.1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 12 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1.1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 13 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1.1 CR") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 14 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1.1 DB") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 15 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("1.1 -CR") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 16 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("+ $1.1 ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 17 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("- $1.1 ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 18 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("+ X1.1 ", "X") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 19 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-C ("- X1.1 ", "X") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 20 fail: " RESULT. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3951: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3951" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3951" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:3952: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:3952" +( $at_check_trace; $COBCRUN_DIRECT ./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:3952" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1119 +#AT_START_1120 +at_fn_group_banner 1120 'run_functions.at:3957' \ + "FUNCTION TEST-NUMVAL-F" " " 4 +at_xfail=no +( + printf "%s\n" "1120. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 RESULT USAGE BINARY-LONG. + PROCEDURE DIVISION. + + MOVE FUNCTION TEST-NUMVAL-F ("+ 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 1 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F (" + 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 2 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("- 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 3 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F (" - 1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 4 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("+- 1") TO RESULT + IF RESULT NOT = 2 + DISPLAY "Test 5 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 6 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 7 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1 +-") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 8 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1 -+") TO RESULT + IF RESULT NOT = 4 + DISPLAY "Test 9 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("+ 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 10 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("- 1.1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 11 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 +") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 12 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 -") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 13 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 14 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 ") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 15 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 -CR") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 16 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 E+1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 17 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 E -1") TO RESULT + IF RESULT NOT = 0 + DISPLAY "Test 18 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("1.1 EE") TO RESULT + IF RESULT NOT = 6 + DISPLAY "Test 19 fail: " RESULT. + + MOVE FUNCTION TEST-NUMVAL-F ("+1.1 E001") TO RESULT + IF RESULT NOT = 7 + DISPLAY "Test 20 fail: " RESULT. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4051: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4051" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4051" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4052: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4052" +( $at_check_trace; $COBCRUN_DIRECT ./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:4052" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1120 +#AT_START_1121 +at_fn_group_banner 1121 'run_functions.at:4057' \ + "FUNCTION TRIM" " " 4 +at_xfail=no +( + printf "%s\n" "1121. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4074: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4074" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4074" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4075: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4075" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:4075" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1121 +#AT_START_1122 +at_fn_group_banner 1122 'run_functions.at:4083' \ + "FUNCTION TRIM with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1122. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4100: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4100" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4100" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4101: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4101" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "#b. +a#b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:4101" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1122 +#AT_START_1123 +at_fn_group_banner 1123 'run_functions.at:4109' \ + "FUNCTION TRIM zero length" " " 4 +at_xfail=no +( + printf "%s\n" "1123. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4127: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4127" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4127" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4128: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4128" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "> < +>< +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:4128" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1123 +#AT_START_1124 +at_fn_group_banner 1124 'run_functions.at:4136' \ + "FUNCTION UPPER-CASE" " " 4 +at_xfail=no +( + printf "%s\n" "1124. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4155: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4155" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4155" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4156: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4156" +( $at_check_trace; $COBCRUN_DIRECT ./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:4156" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1124 +#AT_START_1125 +at_fn_group_banner 1125 'run_functions.at:4161' \ + "FUNCTION UPPER-CASE with reference modding" " " 4 +at_xfail=no +( + printf "%s\n" "1125. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4180: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4180" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4180" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4181: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4181" +( $at_check_trace; $COBCRUN_DIRECT ./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:4181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1125 +#AT_START_1126 +at_fn_group_banner 1126 'run_functions.at:4186' \ + "FUNCTION VARIANCE" " " 4 +at_xfail=no +( + printf "%s\n" "1126. $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(8). + PROCEDURE DIVISION. + MOVE FUNCTION VARIANCE ( 3 -14 0 8 -3 ) TO Z. + IF Z NOT = 54.16 + DISPLAY 'EXP 54.16 GOT ' Z. + *> COMPUTE has maximum possible intermediate + *> results via GMP - and thefore a different + *> set of function calls to set Z - this one + *> here is used for "huge decimal number from + *> display" + COMPUTE Z = FUNCTION VARIANCE(4, 0, 5). + IF Z NOT = 4.66666666 + DISPLAY 'EXP 4.66666666 GOT ' Z. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4210: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4210" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4210" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4211: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4211" +( $at_check_trace; $COBCRUN_DIRECT ./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:4211" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1126 +#AT_START_1127 +at_fn_group_banner 1127 'run_functions.at:4216' \ + "FUNCTION WHEN-COMPILED" " " 4 +at_xfail=no +( + printf "%s\n" "1127. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 compiled-datetime. + 03 compiled-date. + 05 millennium PIC X. + 05 FILLER PIC X(15). + 03 timezone PIC X(5). + PROCEDURE DIVISION. + *> Check millennium. + MOVE FUNCTION WHEN-COMPILED TO compiled-datetime. + IF millennium NOT = "2" + DISPLAY "Millennium NOT OK: " millennium + END-DISPLAY + END-IF. + + *> Check timezone. + IF timezone NOT = FUNCTION CURRENT-DATE (17:5) + DISPLAY "Timezone NOT OK: " timezone + END-DISPLAY + END-IF. + + *> Check date format. + INSPECT compiled-date CONVERTING "0123456789" + TO "9999999999". + IF compiled-date NOT = ALL "9" + DISPLAY "Date format NOT OK: " compiled-date + END-DISPLAY + END-IF. + + *> Check timezone format. + IF timezone NOT = "00000" + INSPECT timezone CONVERTING "0123456789" + TO "9999999999" + IF timezone NOT = "+9999" AND "-9999" + DISPLAY "Timezone format NOT OK: " timezone + END-DISPLAY + END-IF + END-IF. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4264: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4264" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4264" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4265: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4265" +( $at_check_trace; $COBCRUN_DIRECT ./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:4265" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1127 +#AT_START_1128 +at_fn_group_banner 1128 'run_functions.at:4270' \ + "FUNCTION YEAR-TO-YYYY" " " 4 +at_xfail=no +( + printf "%s\n" "1128. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4288: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4288" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4288" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4289: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4289" +( $at_check_trace; $COBCRUN_DIRECT ./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:4289" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1128 +#AT_START_1129 +at_fn_group_banner 1129 'run_functions.at:4294' \ + "Formatted funcs w/ invalid variable format" " " 4 +at_xfail=no +( + printf "%s\n" "1129. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4358: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4358" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4358" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# running the program +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4369: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4369" +( $at_check_trace; $COBCRUN_DIRECT ./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:4369" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1129 +#AT_START_1130 +at_fn_group_banner 1130 'run_functions.at:4375' \ + "FORMATTED-(DATE)TIME with SYSTEM-OFFSET" " " 4 +at_xfail=no +( + printf "%s\n" "1130. $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(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 +printf "%s\n" "$at_srcdir/run_functions.at:4407: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4407" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4407" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4408: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4408" +( $at_check_trace; $COBCRUN_DIRECT ./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:4408" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1130 +#AT_START_1131 +at_fn_group_banner 1131 'run_functions.at:4413' \ + "Intrinsics without FUNCTION keyword (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1131. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4428: \$COMPILE -fintrinsics=all prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fintrinsics=all prog.cob" "run_functions.at:4428" +( $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:4428" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4429: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4429" +( $at_check_trace; $COBCRUN_DIRECT ./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:4429" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1131 +#AT_START_1132 +at_fn_group_banner 1132 'run_functions.at:4434' \ + "Intrinsics without FUNCTION keyword (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1132. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4449: \$COMPILE -fintrinsics=pi,e prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fintrinsics=pi,e prog.cob" "run_functions.at:4449" +( $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:4449" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4450: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4450" +( $at_check_trace; $COBCRUN_DIRECT ./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:4450" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1132 +#AT_START_1133 +at_fn_group_banner 1133 'run_functions.at:4457' \ + "User-Defined FUNCTION with/without parameter" " " 4 +at_xfail=no +( + printf "%s\n" "1133. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4502: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4502" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4502" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4503: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4503" +( $at_check_trace; $COBCRUN_DIRECT ./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:4503" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1133 +#AT_START_1134 +at_fn_group_banner 1134 'run_functions.at:4508' \ + "UDF in COMPUTE" " " 4 +at_xfail=no +( + printf "%s\n" "1134. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4543: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4543" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4543" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4544: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4544" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "201 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:4544" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1134 +#AT_START_1135 +at_fn_group_banner 1135 'run_functions.at:4551' \ + "UDF replacing intrinsic function" " " 4 +at_xfail=no +( + printf "%s\n" "1135. $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 +printf "%s\n" "$at_srcdir/run_functions.at:4585: \$COMPILE -fnot-intrinsic=substitute prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnot-intrinsic=substitute prog.cob" "run_functions.at:4585" +( $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:4585" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4586: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4586" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "\" _ 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:4586" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1135 +#AT_START_1136 +at_fn_group_banner 1136 'run_functions.at:4594' \ + "UDF with recursion" " " 4 +at_xfail=no +( + printf "%s\n" "1136. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_functions.at:4597" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/run_functions.at:4597" # see bug #222 and r2291 - postponed + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + FUNCTION-ID. foo. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 ttl PIC 9 VALUE 1. + + LOCAL-STORAGE SECTION. + 01 num PIC 9. + + LINKAGE SECTION. + 01 arg PIC 9. + 01 ret PIC 9. + + PROCEDURE DIVISION USING arg RETURNING ret. + IF arg < 5 + ADD 1 TO arg GIVING num END-ADD + MOVE FUNCTION foo (num) TO ret + ELSE + MOVE arg TO ret + END-IF + DISPLAY "Step: " ttl ", Arg: " arg ", Return: " ret + END-DISPLAY + ADD 1 to ttl END-ADD + GOBACK. + END FUNCTION foo. + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION foo. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 9 VALUE 1. + + PROCEDURE DIVISION. + DISPLAY "Return value '" FUNCTION foo (num) "'" + WITH NO ADVANCING + END-DISPLAY + GOBACK. + END PROGRAM prog. + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4648: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:4648" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4648" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_functions.at:4650: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_functions.at:4650" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Step: 1, Arg: 5, Return: 5 +Step: 2, Arg: 4, Return: 5 +Step: 3, Arg: 3, Return: 5 +Step: 4, Arg: 2, Return: 5 +Step: 5, Arg: 1, Return: 5 +Return value '5'" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:4650" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1136 +#AT_START_1137 +at_fn_group_banner 1137 'run_extensions.at:25' \ + "CALL BY CONTENT binary and literal" " " 4 +at_xfail=no +( + printf "%s\n" "1137. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_extensions.at:62: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_extensions.at:62" +( $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:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:63: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.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_extensions.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:64: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:64" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00001234 +00004660 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.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_1137 +#AT_START_1138 +at_fn_group_banner 1138 'run_extensions.at:72' \ + "Numeric Boolean literals" " " 4 +at_xfail=no +( + printf "%s\n" "1138. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_extensions.at:93: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:93" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1138 +#AT_START_1139 +at_fn_group_banner 1139 'run_extensions.at:101' \ + "ACUCOBOL literals" " " 4 +at_xfail=no +( + printf "%s\n" "1139. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:116: \$COMPILE -facu-literals=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -facu-literals=ok prog.cob" "run_extensions.at:116" +( $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:116" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:117: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:117" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "5 +2147483647 +4294967295 +4294967295 +" | \ + $at_diff - "$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 + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1139 +#AT_START_1140 +at_fn_group_banner 1140 'run_extensions.at:127' \ + "HP COBOL octal literals" " " 4 +at_xfail=yes +( + printf "%s\n" "1140. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: the type of octal literals must be context-sensitive, see below +# currently hard-wired as numeric (may be switched in scanner.l to alphanumeric) + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + *> Octal literal is "AB" in ASCII. + 01 ITEM-ALPHA PIC XX VALUE %40502. + *> Octal literal is 39. + 01 ITEM-NUMERIC PIC 99 BINARY VALUE %47. + *> Octal literal is ASCII 12. + 01 ITEM-NUM PIC 99 VALUE %30462. + PROCEDURE DIVISION. + *> Octal literal is "XY". + DISPLAY %54131. + IF ITEM-ALPHA NOT = "AB" + DISPLAY "VALUE %40502 is not ""AB"" (ASCII) but " + ITEM-ALPHA + END-IF + IF ITEM-NUMERIC NOT = 39 + DISPLAY "VALUE %47 BINARY is not 39 but " ITEM-NUMERIC + END-IF + IF ITEM-NUM NOT = 12 + DISPLAY "VALUE %30462 is not 12 (ASCII) but " ITEM-NUM + END-IF + *> Adds octal 23 (decimal 19, as it is an arithmetic expression). + ADD %23 TO ITEM-NUM. + IF ITEM-NUM NOT = 31 + DISPLAY "12 + %23 (19) is not 31 but " ITEM-NUM + END-IF + *> Sets the data to octal 30462 (ASCII 12). + MOVE %30462 TO ITEM-NUM + IF ITEM-NUM NOT = 12 + DISPLAY "%30462 is not 12 (ASCII) but " ITEM-NUM + END-IF + *> Sets the data to x'4100' (octal 101 -> ASCII A + right-pad NULL) + MOVE %101 TO ITEM-ALPHA + IF ITEM-ALPHA NOT = x"4100" + DISPLAY "%101 is not x""4100"" = Anull (ASCII) but " + ITEM-ALPHA + END-IF + + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:180: \$COMPILE -fhp-octal-literals=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fhp-octal-literals=ok prog.cob" "run_extensions.at:180" +( $at_check_trace; $COMPILE -fhp-octal-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:180" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:181: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:181" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "XY +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1140 +#AT_START_1141 +at_fn_group_banner 1141 'run_extensions.at:188' \ + "Hexadecimal numeric literals" " " 4 +at_xfail=no +( + printf "%s\n" "1141. $at_setup_line: testing $at_desc ..." + $at_traceon + # FIXME: needs a dialect configuration + + +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 +printf "%s\n" "$at_srcdir/run_extensions.at:206: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:206" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:207: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:207" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00074565 +16777215 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:207" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1141 +#AT_START_1142 +at_fn_group_banner 1142 'run_extensions.at:217' \ + "Semi-parenthesized condition" " " 4 +at_xfail=no +( + printf "%s\n" "1142. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:231: \$COMPILE -Wno-constant-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression prog.cob" "run_extensions.at:231" +( $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:231" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:232: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:232" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.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_1142 +#AT_START_1143 +at_fn_group_banner 1143 'run_extensions.at:237' \ + "ADDRESS OF" " " 4 +at_xfail=no +( + printf "%s\n" "1143. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:281: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:281" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:281" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:282: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:282" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1143 +#AT_START_1144 +at_fn_group_banner 1144 'run_extensions.at:287' \ + "LENGTH OF" " " 4 +at_xfail=no +( + printf "%s\n" "1144. $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. + 02 G-GROUP. + 03 G-SGROUP. + 04 G1 PIC X(05). + 04 G2 PIC X(06). + 04 G3 PIC X(22). + 03 FILLER PIC XX OCCURS 5. + 66 RENAME-STD-G RENAMES G-GROUP. + 66 RENAME-STD-SG RENAMES G-SGROUP. + 66 RENAME-STD RENAMES G1 THROUGH G3. + 66 RENAME-G RENAMES G. + 01 L PIC s9(4)v99. + 01 I PIC 9(2) VALUE 10. + 78 I-LEN VALUE LENGTH OF I. + * TODO: check size of FILLER here + 01 TSTDISP. + 02 FILLER OCCURS 5000. + 10 T1 PIC X(11). + 10 T2 PIC X(22). + 78 var-length-l value length of '00128'. + 78 var-length-x value length of x'a0'. + 78 var-length-z value length of z'a0'. + *78 var-length-n value length of n'001'. + PROCEDURE DIVISION. + move var-length-l TO L + IF L NOT = 5 + DISPLAY "Length '00128'" L + END-DISPLAY + END-IF + move var-length-x TO L + IF L NOT = 1 + DISPLAY "Length x'a0'" L + END-DISPLAY + END-IF + move var-length-z TO L + IF L NOT = 3 + DISPLAY "Length z'a0'" L + END-DISPLAY + END-IF + * What does MF reports here? + *> move var-length-n TO L + *> IF L NOT = 3 + *> DISPLAY "Length n'001'" L + *> END-DISPLAY + *> END-IF + MOVE LENGTH OF X TO L + IF L NOT = 2 + DISPLAY "Length 1 " L + END-DISPLAY + END-IF + MOVE LENGTH OF X TO L + IF L NOT = 2 + DISPLAY "Length 1a " L LENGTH X + END-DISPLAY + END-IF + MOVE LENGTH OF Y TO L + IF L NOT = 2 + DISPLAY "Length 2 " L + END-DISPLAY + END-IF + IF L NOT = 2 + DISPLAY "Length 2a " L LENGTH OF Y + END-DISPLAY + END-IF + MOVE LENGTH OF Y(1) TO L + IF L NOT = 2 + DISPLAY "Length 3 " L + END-DISPLAY + END-IF + MOVE LENGTH Y(1) TO L + IF L NOT = 2 + DISPLAY "Length 3a " L LENGTH OF Y(1) + END-DISPLAY + END-IF + IF I-LEN NOT = 2 + DISPLAY "Length 4 " I-LEN + END-DISPLAY + END-IF + IF LENGTH OF L + 2 NOT = 8 + ADD 2 TO LENGTH OF L GIVING L + DISPLAY "Length 5 + 2" L + END-DISPLAY + END-IF + IF LENGTH L + 2 NOT = 8 + ADD 2 TO LENGTH L GIVING L + DISPLAY "Length 5a + 2 " L + END-DISPLAY + END-IF + MOVE 0 TO L + PERFORM LENGTH OF L TIMES + ADD 1 TO L + END-PERFORM + PERFORM LENGTH L TIMES + ADD 1 TO L + END-PERFORM + IF L NOT = 12 + 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 = 3) OR + (I NOT = 8) ) + DISPLAY "Length 7 " L " - " I + END-DISPLAY + END-IF + MOVE 0 TO L + PERFORM VARME + VARYING I FROM LENGTH I + BY LENGTH X + UNTIL I > LENGTH L + IF ((L NOT = 3) OR + (I NOT = 8) ) + DISPLAY "Length 7a " L " - " I + END-DISPLAY + END-IF + MOVE LENGTH OF RENAME-STD-SG TO L + IF L NOT = 33 + DISPLAY "Length 8a " L + END-DISPLAY + END-IF + MOVE LENGTH OF RENAME-STD-G TO L + IF L NOT = 43 + DISPLAY "Length 8b " L + END-DISPLAY + END-IF + MOVE LENGTH OF RENAME-STD TO L + IF L NOT = 33 + DISPLAY "Length 8c " L + END-DISPLAY + END-IF + MOVE LENGTH OF RENAME-G TO L + IF L NOT = 63 + DISPLAY "Length 8d " L + 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 +printf "%s\n" "$at_srcdir/run_extensions.at:445: \$COMPILE -Wno-constant-expression prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression prog.cob" "run_extensions.at:445" +( $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:445" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:446: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:446" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "165000" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:446" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1144 +#AT_START_1145 +at_fn_group_banner 1145 'run_extensions.at:451' \ + "SET TO SIZE OF" " " 4 +at_xfail=no +( + printf "%s\n" "1145. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:482: \$COMPILE prog.cob " +at_fn_check_prepare_dynamic "$COMPILE prog.cob " "run_extensions.at:482" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:482" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:483: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:483" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1145 +#AT_START_1146 +at_fn_group_banner 1146 'run_extensions.at:488' \ + "WHEN-COMPILED" " " 4 +at_xfail=no +( + printf "%s\n" "1146. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:510: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:510" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:510" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:511: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:511" +( $at_check_trace; $COBCRUN_DIRECT ./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:511" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1146 +#AT_START_1147 +at_fn_group_banner 1147 'run_extensions.at:517' \ + "Complex OCCURS DEPENDING ON (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1147. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:540: \$COMPILE -std=mvs prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mvs prog.cob" "run_extensions.at:540" +( $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:540" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:541: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:541" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "123456:34:56" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:541" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1147 +#AT_START_1148 +at_fn_group_banner 1148 'run_extensions.at:546' \ + "Complex OCCURS DEPENDING ON (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1148. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:600: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:600" +( $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:600" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:601: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:601" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:601" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1148 +#AT_START_1149 +at_fn_group_banner 1149 'run_extensions.at:609' \ + "Complex OCCURS DEPENDING ON (3)" " " 4 +at_xfail=no +( + printf "%s\n" "1149. $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 + + +# note: -fodoslide implies -fcomplex-ode +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:664: \$COMPILE -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide prog.cob" "run_extensions.at:664" +( $at_check_trace; $COMPILE -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:664" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:665: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:665" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0606122333 +1010 3 22111 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1149 +#AT_START_1150 +at_fn_group_banner 1150 'run_extensions.at:673' \ + "Complex OCCURS DEPENDING ON (4)" " " 4 +at_xfail=no +( + printf "%s\n" "1150. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:730: \$COMPILE -fcomplex-odo prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo prog.cob" "run_extensions.at:730" +( $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:730" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:731: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:731" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:731" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1150 +#AT_START_1151 +at_fn_group_banner 1151 'run_extensions.at:739' \ + "Complex OCCURS DEPENDING ON (5)" " " 4 +at_xfail=no +( + printf "%s\n" "1151. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:796: \$COMPILE -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide prog.cob" "run_extensions.at:796" +( $at_check_trace; $COMPILE -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:796" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:797: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:797" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0909122333444 +1313 3 22111000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.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_1151 +#AT_START_1152 +at_fn_group_banner 1152 'run_extensions.at:805' \ + "Complex OCCURS DEPENDING ON (6)" " " 4 +at_xfail=no +( + printf "%s\n" "1152. $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 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 + IF a-table NOT = "ABCDEF" + DISPLAY "Table (slided) wrong: " a-table + END-DISPLAY + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:840: \$COMPILE -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide prog.cob" "run_extensions.at:840" +( $at_check_trace; $COMPILE -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:840" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:841: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:841" +( $at_check_trace; $COBCRUN_DIRECT ./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:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1152 +#AT_START_1153 +at_fn_group_banner 1153 'run_extensions.at:846' \ + "OCCURS UNBOUNDED (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1153. $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 COMP-5. + 01 P USAGE POINTER. + 01 SAV PIC X(8192). + 01 W-TABLE. + 03 WROWS OCCURS 0 TO 500 TIMES + DEPENDING ON N. + 05 WCOL1 PIC 9. + 05 WCOL2 PIC X(02). + + 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 (W-TABLE) NOT = 369 + DISPLAY 'WRONG WS LENGTH: ' FUNCTION LENGTH (A-TABLE) + END-DISPLAY + END-IF + IF FUNCTION LENGTH (A-TABLE) NOT = 369 + DISPLAY 'WRONG LS 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-IF + IF ROWS(2) NOT = "DEA" + DISPLAY "rows(2) wrong: " rows(2) + END-IF + * + INITIALIZE W-TABLE + * + MOVE A-TABLE TO SAV + INITIALIZE A-TABLE + * + FREE p + . +_ATEOF + + +# note: IBM implies -fodoslide +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:900: \$COBC -x -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -std=ibm prog.cob" "run_extensions.at:900" +( $at_check_trace; $COBC -x -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/run_extensions.at:900" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:901: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.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_extensions.at:901" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:903: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:903" +( $at_check_trace; $COBCRUN_DIRECT ./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:903" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1153 +#AT_START_1154 +at_fn_group_banner 1154 'run_extensions.at:908' \ + "OCCURS UNBOUNDED (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1154. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: the following example is from IBM's Language Reference +# for Enterprise COBOL for z/OS 6.4, +# (+ removing some binary zeros for output) + +cat >ALLOC.cob <<'_ATEOF' + + ID DIVISION. + PROGRAM-ID. ALLOC. + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 X PIC 9(2) PACKED-DECIMAL. + 77 NUM-ELEMENTS PIC 9(4) BINARY. + 77 SIZE-NEEDED PIC 9(4) BINARY. + 77 old-size pic 9(4) binary. + 77 VPTR POINTER. + + LINKAGE SECTION. + + 01 VARGRP. + 02 OBJ PIC 9(4) COMP. + 02 TABGRP. + 03 VARTAB OCCURS 1 TO UNBOUNDED DEPENDING ON OBJ. + 04 T1 PIC 9(4). + 04 T2 PIC X(8). + 04 T3 PIC 9(4). *> changed from COMP because of output + 01 BUFFER PIC X(1000). + + PROCEDURE DIVISION. + + *> DISPLAY 'Starting testcase ALLOC' + + SET VPTR To NULL + + ************************************************************* + * Allocate a table with 20 elements + ************************************************************* + COMPUTE NUM-ELEMENTS = 20 + PERFORM ALLOC-VARGRP + + ************************************************************* + * Set some 'test' values to validate re-allocated table + ************************************************************* + initialize vartab(12), vartab(17) + COMPUTE T1(12) = 9999 + MOVE 'HI MOM' TO T2 (17) + *> DISPLAY ' ' + DISPLAY 'VARTAB(12) = "' VARTAB(12) '"' + DISPLAY 'VARTAB(17) = "' VARTAB(17) '"' + *> DISPLAY ' ' + + ************************************************************* + * Need a bigger table! Allocate a larger one and copy data + ************************************************************* + COMPUTE NUM-ELEMENTS = 30 + PERFORM ALLOC-VARGRP + + ************************************************************* + * Ensure that new table has correct data from original + ************************************************************* + DISPLAY 'VARTAB(12) = "' VARTAB(12) '"' + DISPLAY 'VARTAB(17) = "' VARTAB(17) '"' + + GOBACK. + + ************************************************************* + * The first time allocate the original table. If the table + * has already been allocated, assume that we are allocating + * a larger one and want to copy the data over to it + ************************************************************* + ALLOC-VARGRP. + + If VPTR = NULL Then *> If first time, allocate the table + COMPUTE SIZE-NEEDED = LENGTH OF OBJ + + LENGTH OF VARTAB * NUM-ELEMENTS + display 'First allocation, using ' size-needed ' bytes.' + ALLOCATE SIZE-NEEDED CHARACTERS INITIALIZED RETURNING VPTR + + SET ADDRESS OF VARGRP TO VPTR + MOVE NUM-ELEMENTS TO OBJ + move SIZE-NEEDED to old-size + + Else *> If already have a table, doing re-size + ********************************************************************* + * Re-size it! + * First, map BUFFER on current table + ********************************************************************* + + SET ADDRESS OF BUFFER TO VPTR + + ********************************************************************* + * Calculate new size from NUM-ElEMENTS + ********************************************************************* + COMPUTE SIZE-NEEDED = LENGTH OF OBJ + + LENGTH OF VARTAB * NUM-ELEMENTS + + display 'Re-allocation, using ' size-needed ' bytes.' + *> ALLOCATE SIZE-NEEDED CHARACTERS INITIALIZED RETURNING VPTR + if size-needed < 2097152 + ALLOCATE SIZE-NEEDED CHARACTERS INITIALIZED + loc 24 + RETURNING VPTR + else + ALLOCATE SIZE-NEEDED CHARACTERS INITIALIZED + loc 31 + RETURNING VPTR + end-if + + ************************************************************* + * Move data from data save area to new larger table + ************************************************************* + SET ADDRESS OF VARGRP TO VPTR + MOVE NUM-ELEMENTS TO OBJ + MOVE BUFFER(1:old-size) TO VARGRP + move SIZE-NEEDED to old-size + ************************************************************* + * Free the original table + ************************************************************ + SET VPTR TO ADDRESS OF BUFFER + FREE VPTR + . +_ATEOF + + +# FIXME: move the "LOC" from above to a syntax test, then drop the -w +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1034: \$COMPILE -std=ibm-strict -w ALLOC.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm-strict -w ALLOC.cob" "run_extensions.at:1034" +( $at_check_trace; $COMPILE -std=ibm-strict -w ALLOC.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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 +printf "%s\n" "$at_srcdir/run_extensions.at:1036: \$COBCRUN_DIRECT ./ALLOC" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ALLOC" "run_extensions.at:1036" +( $at_check_trace; $COBCRUN_DIRECT ./ALLOC +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "First allocation, using 00322 bytes. +VARTAB(12) = \"9999 0000\" +VARTAB(17) = \"0000HI MOM 0000\" +Re-allocation, using 00482 bytes. +VARTAB(12) = \"9999 0000\" +VARTAB(17) = \"0000HI MOM 0000\" +" | \ + $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_1154 +#AT_START_1155 +at_fn_group_banner 1155 'run_extensions.at:1048' \ + "INITIALIZE OCCURS UNBOUNDED" " " 4 +at_xfail=no +( + printf "%s\n" "1155. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 p USAGE POINTER. + 01 p2 USAGE POINTER. + 01 dlen PIC 9(7). + + LINKAGE SECTION. + 01 a-table. + 03 prefix. + 05 n PIC 9(03) VALUE 123. + 03 table-data value all "ABCDE". + 04 rows OCCURS 0 TO UNBOUNDED TIMES + DEPENDING ON n. + 05 col1 PIC X. + 05 col2 PIC X(02). + + PROCEDURE DIVISION. + ALLOCATE LENGTH OF prefix CHARACTERS + RETURNING p + SET ADDRESS OF a-table TO p + INITIALIZE prefix ALL TO VALUE + IF FUNCTION LENGTH (a-table) NOT = 372 + DISPLAY 'WRONG LENGTH table: ' FUNCTION LENGTH (a-table). + ALLOCATE FUNCTION LENGTH (a-table) CHARACTERS + RETURNING p2 + SET ADDRESS OF a-table TO p2 + FREE p + + INITIALIZE prefix ALL TO VALUE + + IF LENGTH OF a-table NOT = 372 + MOVE LENGTH OF a-table TO dlen + DISPLAY "BAD SIZE: " dlen. + + INITIALIZE table-data (1:FUNCTION LENGTH(rows(1)) * n) + ALL TO VALUE + IF col2(1) NOT = "BC" + DISPLAY "col2(1) wrong: " col2(1). + IF rows(2) NOT = "DEA" + DISPLAY "rows(2) wrong: " rows(2). + + *> check if ref-mod also works as expected + MOVE 2 TO n + MOVE ALL ZEROES TO a-table (1: (LENGTH OF a-table)) + MOVE 7 TO n + IF rows(2) NOT = "000" + DISPLAY "rows(2) after ref-mod MOVE wrong: " rows(2). + IF rows(3) NOT = "BCD" + DISPLAY "rows(3) after ref-mod MOVE wrong: " rows(3). + MOVE ALL '9' TO rows (5) rows (7) + + *> Test - should only initialize up to current size, not max: + MOVE 4 TO n + INITIALIZE table-data TO DEFAULT + MOVE 7 TO n + IF rows(2) NOT = SPACES OR + rows(4) NOT = SPACES + DISPLAY "rows(2/4) after init default wrong: " + rows(2) rows(4). + IF rows(5) NOT = "999" + DISPLAY "rows(5) after init default wrong: " rows(5). + + MOVE 6 TO n + INITIALIZE table-data ALL TO VALUE + MOVE 9 TO n + IF rows(5) NOT = "CDE" + DISPLAY "rows(5) after init value wrong: " rows(5). + IF rows(7) NOT = "999" + DISPLAY "rows(7) after init value wrong: " rows(7). + + IF a-table (20:10) NOT = "BC999BCDEA" + DISPLAY "a-table / ref-mod wrong: " a-table (20:10). + move 10 to n + IF a-table (20:n) NOT = "BC999BCDEA" + DISPLAY "a-table / ref-mod length wrong: " a-table (20:n). + move 20 to n + IF a-table (n:10) NOT = "BC999BCDEA" + DISPLAY "a-table / ref-mod offset wrong: " a-table (n:10). + + *> Test - FUNCTION LENGTH(table-data) must be resolved at run-time + MOVE 8 TO n + INITIALIZE table-data (1:FUNCTION LENGTH(table-data)) + ALL TO VALUE + . + + DISPLAY a-table (20:10). *> expect runtime error +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1142: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1142" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1142" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1144: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1144" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:89: error: length of 'a-table' out of bounds: 10, starting at: 20, maximum: 27 +" | \ + $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:1144" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1155 +#AT_START_1156 +at_fn_group_banner 1156 'run_extensions.at:1151' \ + "INITIALIZE OCCURS ODOSLIDE" " " 4 +at_xfail=no +( + printf "%s\n" "1156. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 p USAGE POINTER. + 01 p2 USAGE POINTER. + 01 dlen PIC 9(7). + 01 grp-0. + 05 FILLER PIC X(3). + 05 FLD-0. + 10 FLD-0-1 OCCURS 8193 TIMES. + 15 FLD-0-2 PIC XXX VALUE "XYZ". + 15 FLD-0-3 PIC 99 VALUE 12. + 15 FLD-0-4 PIC XX VALUE "QQ". + 05 FILLER PIC X(3). + 01 grp-1. + 05 FILLER PIC X(3). + 05 FLD-1 PIC X(5) VALUE ALL "ABCDE". + 05 FILLER PIC X(3). + 01 grp-2. + 05 FILLER PIC X(3). + 05 FLD-2 PIC X(42) VALUE ALL "ABCD ". + 05 FILLER PIC X(3). + 01 grp-2a. + 05 FILLER PIC X(3). + 05 FLD-2A PIC X(8) VALUE ALL "ABC". + 05 FILLER PIC X(3). + 01 grp-3. + 05 FILLER PIC X(3). + 05 FLD-3 OCCURS 3 TIMES + VALUE ALL "ABC00XX". + 15 FLD-3-2 PIC XXX. + 15 FLD-3-3 PIC 99. + 15 FLD-3-4 PIC XX. + 05 FILLER PIC X(3). + 01 grp-4. + 05 FILLER PIC X(3). + 05 FLD-4. + 10 FLD-4-1 OCCURS 11 TIMES. + 15 FLD-4-2 PIC XX VALUE "AB". + 15 FLD-4-3 PIC 99 VALUE 12. + 15 FLD-4-4 PIC XX VALUE "YZ". + 05 FILLER PIC X(3). + + 77 C5 PIC 9(03) VALUE 6. + 01 grp-5. + 05 FILLER PIC X(3). + 05 FLD-5. + 10 FLD-5-1 OCCURS 0 TO 9 TIMES + DEPENDING ON C5. + 15 FLD-5-2 PIC XXX VALUE "Mon". + 15 FLD-5-3 PIC 99 VALUE 49. + 15 FLD-5-4 PIC XX VALUE "ey". + 05 FILLER PIC X(3). + + PROCEDURE DIVISION. + MOVE ALL "*" TO grp-1. + INITIALIZE FLD-1 ALL TO VALUE. + DISPLAY "GRP-1:" grp-1. + + MOVE ALL "*" TO grp-2. + INITIALIZE FLD-2 ALL TO VALUE. + DISPLAY "GRP-2:" grp-2. + + MOVE ALL "*" TO grp-3. + INITIALIZE FLD-3 (1) ALL TO VALUE. + INITIALIZE FLD-3 (2) ALL TO VALUE. + INITIALIZE FLD-3 (3) ALL TO VALUE. + DISPLAY "GRP-3:" grp-3. + + MOVE ALL "*" TO grp-4. + INITIALIZE FLD-4 ALL TO VALUE. + DISPLAY "GRP-4:" grp-4. + + MOVE 7 TO c5. + MOVE ALL "*" TO grp-5. + INITIALIZE FLD-5 ALL TO VALUE. + DISPLAY "GRP-5:" grp-5. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1235: \$COMPILE -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide prog.cob" "run_extensions.at:1235" +( $at_check_trace; $COMPILE -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:1235" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1237: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1237" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "GRP-1:***ABCDE*** +GRP-2:***ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD AB*** +GRP-3:***ABC00XXABC00XXABC00XX*** +GRP-4:***AB12YZAB12YZAB12YZAB12YZAB12YZAB12YZAB12YZAB12YZAB12YZAB12YZAB12YZ*** +GRP-5:***Mon49eyMon49eyMon49eyMon49eyMon49eyMon49eyMon49ey*** +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1237" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1156 +#AT_START_1157 +at_fn_group_banner 1157 'run_extensions.at:1248' \ + "DEPENDING ON with ODOSLIDE" " " 4 +at_xfail=no +( + printf "%s\n" "1157. $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 "SEQODO" + ORGANIZATION LINE SEQUENTIAL + FILE STATUS IS CUST-STAT . + + DATA DIVISION. + FILE SECTION. + FD FLATFILE + BLOCK CONTAINS 5 RECORDS. + + 01 TSTREC. + 05 SEQ PIC 99. + 05 DEP-X PIC 99. + 05 DEP-Y PIC 99. + 05 HELLO PIC X(5) VALUE 'World'. + 05 TSTGRP. + 10 TSTGRP1. + 15 TSTX OCCURS 1 TO 3 TIMES + DEPENDING ON DEP-X. + 20 TSTG-1 PIC Z9. + 15 TSTTAIL1 PIC XXXX. + 10 TSTY-ALL. + 15 TSTY OCCURS 1 TO 3 TIMES + DEPENDING ON DEP-X. + 20 TSTY-1 PIC 99. + 20 TSTY-2 PIC XXX. + 20 TSTY-3 PIC X + OCCURS 1 TO 12 TIMES + DEPENDING ON DEP-Y. + 20 TSTY-4 PIC XX. + 20 TSTY-5 OCCURS 1 TO 3 TIMES + DEPENDING ON DEP-X. + 25 TSTY-6 OCCURS 1 TO 3 TIMES + DEPENDING ON DEP-X. + 30 TSTY-7 PIC X. + 10 TSTTAIL2 PIC XX. + + WORKING-STORAGE SECTION. + 77 CUST-STAT PIC X(2). + 01 LN PIC 9(3). + 01 IX PIC 9(9) BINARY. + 01 IY PIC 9(9) BINARY. + 01 IZ PIC 9(9) BINARY. + 01 TSTXXX PIC X(26) VALUE "Abcdefghijklmnopqrstuvwxyz". + 01 TSTALPHA REDEFINES TSTXXX. + 05 ALPH-CHR PIC X OCCURS 26 TIMES. + 01 TSTHEX PIC X(15) VALUE "123456789ABCDEF". + 01 FILLER REDEFINES TSTHEX. + 05 HEX-CHR PIC X OCCURS 15 TIMES. + + 01 TSTREC2. + 05 DEP-X2 PIC 99. + 05 TSTGRP2. + 10 TSTX2 OCCURS 1 TO 3 TIMES DEPENDING ON DEP-X2. + 15 TSTG2-1 PIC Z9. + 10 TST2TAIL1 PIC XXX. + + 01 TSTREC3. + 05 DEP-X3 PIC 99. + 05 TSTGRP3. + 10 TSTX3 OCCURS 1 TO 6 TIMES DEPENDING ON DEP-X3. + 15 TSTG3-1 PIC 9. + 01 TSTWRK PIC X(24). + + PROCEDURE DIVISION. + MAIN-10. + MOVE 6 TO DEP-X3. + MOVE 1 TO TSTG3-1 (1). + MOVE 2 TO TSTG3-1 (2). + MOVE 3 TO TSTG3-1 (3). + MOVE 4 TO TSTG3-1 (4). + MOVE 5 TO TSTG3-1 (5). + MOVE 6 TO TSTG3-1 (6). + MOVE 3 TO DEP-X3. + STRING TSTGRP3 "-TRAILER" DELIMITED BY SIZE + INTO TSTWRK. + DISPLAY "'" TSTWRK "'". + OPEN OUTPUT FLATFILE. + MOVE "Howdy" TO HELLO. + MOVE 0 TO SEQ. + MOVE 2 TO DEP-X. + MOVE 5 TO DEP-Y. + PERFORM WRITE-REC. + MOVE 1 TO DEP-X. + MOVE 2 TO DEP-Y. + PERFORM WRITE-REC. + MOVE 3 TO DEP-X. + MOVE 3 TO DEP-Y. + PERFORM WRITE-REC. + MOVE 3 TO DEP-X. + MOVE 10 TO DEP-Y. + PERFORM WRITE-REC. + CLOSE FLATFILE. + OPEN INPUT FLATFILE. + PERFORM READ-REC. + CLOSE FLATFILE. + STOP RUN. + + WRITE-REC SECTION. + ADD 1 TO SEQ. + MOVE LENGTH OF TSTREC TO LN. + DISPLAY "Write SEQ " SEQ ", DEP-X = " DEP-X + " & DEP-Y = " DEP-Y + ", TSTREC len:" LN. + MOVE ALL "*" TO TSTGRP. + MOVE "<>" TO TSTTAIL1, TSTTAIL2. + PERFORM VARYING IX FROM 1 BY 1 + UNTIL IX > DEP-X + MOVE IX TO TSTG-1 (IX) + END-PERFORM. + MOVE LENGTH OF TSTGRP1 TO LN. + DISPLAY "Group1: '" TSTGRP1 "' len:" LN. + PERFORM VARYING IX FROM 1 BY 1 + UNTIL IX > DEP-X + MOVE IX TO TSTY-1 (IX) + MOVE "." TO TSTY-4 (IX) + PERFORM VARYING IY FROM 1 BY 1 + UNTIL IY > DEP-Y + MOVE ALPH-CHR (IY) TO TSTY-3 (IX, IY) + END-PERFORM + END-PERFORM. + PERFORM VARYING IX FROM 1 BY 1 + UNTIL IX > DEP-X + PERFORM VARYING IY FROM 1 BY 1 + UNTIL IY > DEP-X + PERFORM VARYING IZ FROM 1 BY 1 + UNTIL IZ > DEP-X + MOVE HEX-CHR (IX+IY+IZ) TO TSTY-7 (IX, IY, IZ) + END-PERFORM + END-PERFORM + END-PERFORM. + DISPLAY " Data: '" TSTGRP "'". + + MOVE ALL "*" TO TSTGRP2. + MOVE DEP-X TO DEP-X2. + PERFORM VARYING IX FROM 1 BY 1 + UNTIL IX > DEP-X2 + MOVE IX TO TSTG2-1 (IX) + END-PERFORM. + MOVE "<>" TO TST2TAIL1. + MOVE LENGTH OF TSTGRP2 TO LN. + DISPLAY "Group2: '" TSTGRP2 "' len:" LN. + WRITE TSTREC. + + READ-REC SECTION. + READ-10. + READ FLATFILE AT END GO TO READ-99. + MOVE LENGTH OF TSTREC TO LN. + DISPLAY "Read SEQ " SEQ ", DEP-X = " DEP-X + " & DEP-Y = " DEP-Y + ", TSTREC len:" LN. + DISPLAY " Data: '" TSTGRP "'". + GO TO READ-10. + READ-99. + EXIT . +_ATEOF + + +# FIXME: odo-checks (-debug) must be adjusted, either with -fodoslide or with a possibly new +# compiler configuration flag as IBM seems to only check against the field-founder's +# bounds, not the subscript (which is the reason to use "$COBC -x" instead of "$COMPILE") +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1418: \$COBC -x -fodoslide prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -fodoslide prog.cob" "run_extensions.at:1418" +( $at_check_trace; $COBC -x -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:1418" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1420: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1420" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "'123-TRAILER ' +Write SEQ 01, DEP-X = 02 & DEP-Y = 05, TSTREC len:053 +Group1: ' 1 2<> ' len:008 + Data: ' 1 2<> 01***Abcde. 344502***Abcde. 4556<>' +Group2: ' 1 2<> ' len:007 +Write SEQ 02, DEP-X = 01 & DEP-Y = 02, TSTREC len:029 +Group1: ' 1<> ' len:006 + Data: ' 1<> 01***Ab. 3<>' +Group2: ' 1<> ' len:005 +Write SEQ 03, DEP-X = 03 & DEP-Y = 03, TSTREC len:080 +Group1: ' 1 2 3<> ' len:010 + Data: ' 1 2 3<> 01***Abc. 34545656702***Abc. 45656767803***Abc. 567678789<>' +Group2: ' 1 2 3<> ' len:009 +Write SEQ 04, DEP-X = 03 & DEP-Y = 10, TSTREC len:101 +Group1: ' 1 2 3<> ' len:010 + Data: ' 1 2 3<> 01***Abcdefghij. 34545656702***Abcdefghij. 45656767803***Abcdefghij. 567678789<>' +Group2: ' 1 2 3<> ' len:009 +Read SEQ 01, DEP-X = 02 & DEP-Y = 05, TSTREC len:053 + Data: ' 1 2<> 01***Abcde. 344502***Abcde. 4556<>' +Read SEQ 02, DEP-X = 01 & DEP-Y = 02, TSTREC len:029 + Data: ' 1<> 01***Ab. 3<>' +Read SEQ 03, DEP-X = 03 & DEP-Y = 03, TSTREC len:080 + Data: ' 1 2 3<> 01***Abc. 34545656702***Abc. 45656767803***Abc. 567678789<>' +Read SEQ 04, DEP-X = 03 & DEP-Y = 10, TSTREC len:101 + Data: ' 1 2 3<> 01***Abcdefghij. 34545656702***Abcdefghij. 45656767803***Abcdefghij. 567678789<>' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1420" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >reference <<'_ATEOF' +010205Howdy 1 2<> 01***Abcde. 344502***Abcde. 4556<> +020102Howdy 1<> 01***Ab. 3<> +030303Howdy 1 2 3<> 01***Abc. 34545656702***Abc. 45656767803***Abc. 567678789<> +040310Howdy 1 2 3<> 01***Abcdefghij. 34545656702***Abcdefghij. 45656767803***Abcdefghij. 567678789<> +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1458: diff reference SEQODO" +at_fn_check_prepare_trace "run_extensions.at:1458" +( $at_check_trace; diff reference SEQODO +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1458" +$at_failed && at_fn_log_failure \ +"SEQODO" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1157 +#AT_START_1158 +at_fn_group_banner 1158 'run_extensions.at:1463' \ + "DEPENDING ON with ODOSLIDE for IBM" " " 4 +at_xfail=no +( + printf "%s\n" "1158. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 L1-1-2-S PIC 99. + 01 L1-1-2-1-S PIC 99. + 01 L1-2-S PIC 99. + 01 L1-3-S PIC 99. + 01 L1-3-2-S PIC 99. + 01 BUFFER PIC X(370). + + PROCEDURE DIVISION. + MOVE ALL '0123456789' TO BUFFER. + MOVE 3 TO L1-1-2-S. + MOVE 4 TO L1-1-2-1-S. + MOVE 0 TO L1-2-S. + MOVE 6 TO L1-3-S. + MOVE 1 TO L1-3-2-S. + CALL 'IBM-ODO-TEST' USING BUFFER + L1-1-2-S + L1-1-2-1-S + L1-2-S + L1-3-S + L1-3-2-S. + + MOVE ALL '0123456789' TO BUFFER. + MOVE 2 TO L1-1-2-S. + MOVE 3 TO L1-1-2-1-S. + MOVE 1 TO L1-2-S. + MOVE 4 TO L1-3-S. + MOVE 0 TO L1-3-2-S. + CALL 'IBM-ODO-TEST' USING BUFFER + L1-1-2-S + L1-1-2-1-S + L1-2-S + L1-3-S + L1-3-2-S. + STOP RUN. + END PROGRAM prog. + + IDENTIFICATION DIVISION. + PROGRAM-ID. IBM-ODO-TEST. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + LINKAGE SECTION. + 01 L1-1-2-S PIC 99. + 01 L1-1-2-1-S PIC 99. + 01 L1-2-S PIC 99. + 01 L1-3-S PIC 99. + 01 L1-3-2-S PIC 99. + 01 BASE. + 10 ARRAY OCCURS 2 TIMES. + 20 L1-1. + 25 L1-1-1 PIC X(3). + 25 L1-1-2 OCCURS 4 TIMES DEPENDING ON L1-1-2-S. + 30 L1-1-2-1 OCCURS 5 TIMES DEPENDING ON L1-1-2-1-S + PIC XXX. + 20 L1-2 OCCURS 0 TO 1 TIMES DEPENDING ON L1-2-S PIC XX. + 20 L1-3 OCCURS 1 TO 10 TIMES DEPENDING ON L1-3-S. + 25 L1-3-1. + 30 L1-3-1-1 PIC X(5). + 30 L1-3-1-2 PIC X. + 30 L1-3-1-3 PIC X(5). + 25 L1-3-2 OCCURS 0 TO 1 TIMES DEPENDING ON L1-3-2-S PIC X. + + PROCEDURE DIVISION USING BASE + L1-1-2-S + L1-1-2-1-S + L1-2-S + L1-3-S + L1-3-2-S. + DISPLAY "Length is " LENGTH OF BASE + " with " L1-1-2-S + ", " L1-1-2-1-S + ", " L1-2-S + ", " L1-3-S + ", " L1-3-2-S. + MOVE '.' TO L1-3-2(1, 5, 1). + MOVE '--' TO L1-2(2, 1). + MOVE '+++' TO L1-1-2-1(2, 1, 5). + DISPLAY '"' BASE '"'. + END PROGRAM IBM-ODO-TEST. +_ATEOF + +# FIXME: odo-checks (-debug) must be adjusted, either with -fodoslide or with a possibly new +# compiler configuration flag as IBM seems to only check against the field-founder's +# bounds, not the subscript (which is the reason to use "$COBC -x" instead of "$COMPILE") +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1556: \$COBC -x -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -std=ibm prog.cob" "run_extensions.at:1556" +( $at_check_trace; $COBC -x -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/run_extensions.at:1556" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1558: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1558" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Length is +0000000222 with 03, 04, 00, 06, 01 +\"01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567.901234567890123456789012345+++901234567890123456789--2345678901234567890123456789012345678901234567890123456789012345678901\" +Length is +0000000134 with 02, 03, 01, 04, 00 +\"012345678901234567890123456789012345678901234567890123456789012345678901234567.901+++567--01234567890123456789012345678901234567890123\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1558" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1158 +#AT_START_1159 +at_fn_group_banner 1159 'run_extensions.at:1568' \ + "INITIALIZE level 01 OCCURS" " " 4 +at_xfail=no +( + printf "%s\n" "1159. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: partially also tested in run_initialize.at + +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. + 01 INIT OCCURS 3 PIC X(256) VALUE SPACES. + PROCEDURE DIVISION. + IF L2(3) not = 5 + DISPLAY '0 VALUE(3) = ' L2(3). + + INITIALIZE L1(1). + IF L2(1) not = 0 + DISPLAY '1 VALUE(1) = ' L2(1). + IF L2(3) not = 5 + DISPLAY '1 VALUE(3) = ' L2(3). + + INITIALIZE L1(1) DEFAULT. + IF L2(1) not = 0 + DISPLAY '2 VALUE(1) = ' L2(1). + IF L2(3) not = 5 + DISPLAY '2 VALUE(3) = ' L2(3). + + INITIALIZE L1(1) ALL VALUE. + IF L2(1) not = 5 + DISPLAY '3 VALUE(1) = ' L2(1). + IF L2(3) not = 5 + DISPLAY '3 VALUE(3) = ' L2(3). + + IF INIT(1) NOT = SPACES + DISPLAY "INIT1 NOT = SPACES". + IF INIT(3) NOT = SPACES + DISPLAY "INIT3 NOT = SPACES". + + MOVE ALL '*' TO INIT(1) INIT(2) INIT(3) + IF INIT(2) (50:5) NOT = "*****" + DISPLAY "INIT2 BADVAL". + INITIALIZE INIT(2) ALL TO VALUE. + IF INIT(2) NOT = SPACES + DISPLAY "INIT2 NOT = SPACES". + + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1619: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1619" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1619" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1620: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1620" +( $at_check_trace; $COBCRUN_DIRECT ./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:1620" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1159 +#AT_START_1160 +at_fn_group_banner 1160 'run_extensions.at:1625' \ + "MOVE of non-integer to alphanumeric" " " 4 +at_xfail=no +( + printf "%s\n" "1160. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:1695: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:1695" +( $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"; printf "%s\n" "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:1695" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1709: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1709" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "12891289128912891289128912891289" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1709" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1160 +#AT_START_1161 +at_fn_group_banner 1161 'run_extensions.at:1715' \ + "CALL USING file-name" " " 4 +at_xfail=no +( + printf "%s\n" "1161. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >setfilename.c <<'_ATEOF' + +#include +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/run_extensions.at:1753: \$COMPILE_MODULE setfilename.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE setfilename.c" "run_extensions.at:1753" +( $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:1753" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1754: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1754" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1754" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1755: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1755" +( $at_check_trace; $COBCRUN_DIRECT ./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:1755" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1756: test -e TESTFILE" +at_fn_check_prepare_trace "run_extensions.at:1756" +( $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:1756" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1161 +#AT_START_1162 +at_fn_group_banner 1162 'run_extensions.at:1761' \ + "CALL unusual PROGRAM-ID." " " 4 +at_xfail=no +( + printf "%s\n" "1162. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:1815: \$COMPILE_MODULE A@B.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE A@B.cob" "run_extensions.at:1815" +( $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:1815" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1816: \$COMPILE_MODULE A#B.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE A#B.cob" "run_extensions.at:1816" +( $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:1816" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1817: \$COMPILE_MODULE A-B.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE A-B.cob" "run_extensions.at:1817" +( $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:1817" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1818: \$COMPILE_MODULE A_B.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE A_B.cob" "run_extensions.at:1818" +( $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:1818" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1819: \$COMPILE -o caller caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_extensions.at:1819" +( $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:1819" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1821: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:1821" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "P1P2P3P4" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1821" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1162 +#AT_START_1163 +at_fn_group_banner 1163 'run_extensions.at:1826' \ + "CALL / GOBACK with LOCAL-STORAGE" " " 4 +at_xfail=no +( + printf "%s\n" "1163. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Testcase introduced when Bug #91 occurred. +# 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 +printf "%s\n" "$at_srcdir/run_extensions.at:1866: \$COMPILE prog_a.cob" +at_fn_check_prepare_dynamic "$COMPILE prog_a.cob" "run_extensions.at:1866" +( $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:1866" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1867: \$COMPILE_MODULE prog_b.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog_b.cob" "run_extensions.at:1867" +( $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:1867" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1868: \$COBCRUN_DIRECT ./prog_a" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog_a" "run_extensions.at:1868" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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: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_1163 +#AT_START_1164 +at_fn_group_banner 1164 'run_extensions.at:1877' \ + "CALL BY VALUE alphanumeric item" " " 4 +at_xfail=no +( + printf "%s\n" "1164. $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 Y PIC XX. + PROCEDURE DIVISION USING BY VALUE Y. + MOVE "KO" TO Y. + EXIT PROGRAM. + END PROGRAM prog2. + END PROGRAM prog. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1905: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1905" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob:8: warning: BY CONTENT assumed for alphanumeric item 'X' +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:1905" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1909: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:1909" +( $at_check_trace; $COBCRUN_DIRECT ./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:1909" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1164 +#AT_START_1165 +at_fn_group_banner 1165 'run_extensions.at:1914' \ + "CALL BY VALUE numeric literal with SIZE IS" " " 4 +at_xfail=no +( + printf "%s\n" "1165. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: Eiter MicroFocus SIZE IS extension will be added via dialect option +# or OpenCOBOL SIZE IS extension be removed later + +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. + END PROGRAM prog. *> FIXME: C compile warnings when moved to end (nested programs) + + 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. +_ATEOF + + +# hack for now: explicit suppress warning +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:1999: \$COMPILE -Wno-unfinished prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished prog.cob" "run_extensions.at:1999" +( $at_check_trace; $COMPILE -Wno-unfinished prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:1999" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2001: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2001" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:2001" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1165 +#AT_START_1166 +at_fn_group_banner 1166 'run_extensions.at:2019' \ + "CALL BY VALUE to C" " " 4 +at_xfail=no +( + printf "%s\n" "1166. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CALL-NAME PIC X(10). + 01. + 03 SOME-FILL PIC X(33). + 03 ADR-PTR USAGE POINTER. + 03 ADR-BUFFER REDEFINES ADR-PTR USAGE COMP-5 PIC S9(8). + 77 BIG-BUFF USAGE COMP-5 PIC S9(18) VALUE 99999999999999. + PROCEDURE DIVISION CHAINING CALL-NAME. + + >> IF P64 DEFINED + MOVE "callee64" TO CALL-NAME + >> ELSE + MOVE "callee32" TO CALL-NAME + >> END-IF + + MOVE 12345678 TO ADR-BUFFER + CALL CALL-NAME USING BY VALUE ADR-PTR + + CALL CALL-NAME USING BY VALUE ADR-BUFFER + + CALL CALL-NAME USING BY VALUE LENGTH OF SOME-FILL + + MOVE -42 TO ADR-BUFFER + >> IF P64 DEFINED + CALL "callee32" USING BY VALUE SIZE 4 ADR-BUFFER + CALL "callee64" USING BY VALUE BIG-BUFF + >> ELSE + CALL "callee32" USING BY VALUE ADR-BUFFER + CALL "callee64" USING BY VALUE SIZE 8 BIG-BUFF + >> END-IF + + GOBACK. +_ATEOF + +# hack for now: explicit suppress warning +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2060: \$COMPILE -Wno-unfinished caller.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished caller.cob" "run_extensions.at:2060" +( $at_check_trace; $COMPILE -Wno-unfinished 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:2060" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >callee64.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +callee64(cob_s64_t val) +{ + printf("VAL received: " CB_FMT_LLD "\n", val); + return 0; +} +_ATEOF + + +cat >callee32.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +callee32(cob_s32_t val) +{ + printf("VAL received: %d\n", val); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2086: \$COMPILE_MODULE callee32.c callee64.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee32.c callee64.c" "run_extensions.at:2086" +( $at_check_trace; $COMPILE_MODULE callee32.c callee64.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:2086" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2088: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2088" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "VAL received: 12345678 +VAL received: 12345678 +VAL received: 33 +VAL received: -42 +VAL received: 99999999999999 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2088" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1166 +#AT_START_1167 +at_fn_group_banner 1167 'run_extensions.at:2101' \ + "Case-sensitive PROGRAM-ID" " " 4 +at_xfail=no +( + printf "%s\n" "1167. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2118: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2118" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2118" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2119: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2119" +( $at_check_trace; $COBCRUN_DIRECT ./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:2119" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1167 +#AT_START_1168 +at_fn_group_banner 1168 'run_extensions.at:2126' \ + "Quoted PROGRAM-ID" " " 4 +at_xfail=no +( + printf "%s\n" "1168. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2143: \$COMPILE -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "run_extensions.at:2143" +( $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/run_extensions.at:2143" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2144: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2144" +( $at_check_trace; $COBCRUN_DIRECT ./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:2144" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1168 +#AT_START_1169 +at_fn_group_banner 1169 'run_extensions.at:2149' \ + "PROGRAM-ID AS clause" " " 4 +at_xfail=no +( + printf "%s\n" "1169. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2166: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2166" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2166" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2167: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2167" +( $at_check_trace; $COBCRUN_DIRECT ./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:2167" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1169 +#AT_START_1170 +at_fn_group_banner 1170 'run_extensions.at:2172' \ + "NUMBER-OF-CALL-PARAMETERS" " " 4 +at_xfail=no +( + printf "%s\n" "1170. $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 OPTIONAL W + X Y Z. + DISPLAY NUMBER-OF-CALL-PARAMETERS. + 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". + CALL "callee" USING W. + CALL "callee" USING W X. + CALL "callee" USING W X Y. + CALL "callee" USING W X Y OMITTED. + CALL "callee" USING W X Y Z. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2210: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2210" +( $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:2210" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# having USING OPTIONAL not supported leads to only check on use +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2213: \$COMPILE_MODULE -fusing-optional=skip callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fusing-optional=skip callee.cob" "run_extensions.at:2213" +( $at_check_trace; $COMPILE_MODULE -fusing-optional=skip 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:2213" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2214: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2214" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+000000000 ++000000001 ++000000002 ++000000003 ++000000004 ++000000004 +" | \ + $at_diff - "$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; } + + +# same name sometimes leads to locks - especially on Win32 +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2224: mv callee.\$COB_MODULE_EXT callee.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee.$COB_MODULE_EXT callee.old.$COB_MODULE_EXT" "run_extensions.at:2224" +( $at_check_trace; mv callee.$COB_MODULE_EXT callee.old.$COB_MODULE_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_extensions.at:2224" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# no argument check leads to only check on use +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2227: \$COMPILE_MODULE -fno-ec=program-arg-mismatch callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fno-ec=program-arg-mismatch callee.cob" "run_extensions.at:2227" +( $at_check_trace; $COMPILE_MODULE -fno-ec=program-arg-mismatch 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:2227" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2228: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2228" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+000000000 ++000000001 ++000000002 ++000000003 ++000000004 ++000000004 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2228" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2237: mv callee.\$COB_MODULE_EXT callee.nocheck.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee.$COB_MODULE_EXT callee.nocheck.$COB_MODULE_EXT" "run_extensions.at:2237" +( $at_check_trace; mv callee.$COB_MODULE_EXT callee.nocheck.$COB_MODULE_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_extensions.at:2237" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# sticky linkage leads to only check on use +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2240: \$COMPILE_MODULE -fsticky-linkage callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fsticky-linkage callee.cob" "run_extensions.at:2240" +( $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_extensions.at:2240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2241: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2241" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "+000000000 ++000000001 ++000000002 ++000000003 ++000000004 ++000000004 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2241" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2250: mv callee.\$COB_MODULE_EXT callee.stick.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv callee.$COB_MODULE_EXT callee.stick.$COB_MODULE_EXT" "run_extensions.at:2250" +( $at_check_trace; mv callee.$COB_MODULE_EXT callee.stick.$COB_MODULE_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_extensions.at:2250" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2252: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:2252" +( $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:2252" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2253: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2253" +( $at_check_trace; $COBCRUN_DIRECT ./caller +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: callee.cob:12: error: LINKAGE item X 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_extensions.at:2253" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1170 +#AT_START_1171 +at_fn_group_banner 1171 'run_extensions.at:2260' \ + "TALLY register" " " 4 +at_xfail=no +( + printf "%s\n" "1171. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. callee. + PROCEDURE DIVISION. + ADD 1 TO TALLY. + CALL "nested". + STOP RUN. + + IDENTIFICATION DIVISION. + PROGRAM-ID. nested. + PROCEDURE DIVISION. + DISPLAY tally WITH NO ADVANCING. + GOBACK. + END PROGRAM nested. +_ATEOF + + +#FIXME: Should get a dialect check in syntax checks, +# along with all other special registers +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2281: \$COMPILE_ONLY -fnot-register=TALLY prog.cob" +at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-register=TALLY prog.cob" "run_extensions.at:2281" +( $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"; printf "%s\n" "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:2281" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2286: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2286" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2286" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2287: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2287" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00001" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2287" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1171 +#AT_START_1172 +at_fn_group_banner 1172 'run_extensions.at:2292' \ + "Redefining TALLY" " " 4 +at_xfail=no +( + printf "%s\n" "1172. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2312: \$COMPILE -std=ibm-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm-strict prog.cob" "run_extensions.at:2312" +( $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:2312" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2313: \$COMPILE -std=acu-strict prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=acu-strict prog.cob" "run_extensions.at:2313" +( $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:2313" +$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 +printf "%s\n" "$at_srcdir/run_extensions.at:2319: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2319" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "002 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1172 +#AT_START_1173 +at_fn_group_banner 1173 'run_extensions.at:2328' \ + "PROCEDURE DIVISION USING BY ..." " " 4 +at_xfail=no +( + printf "%s\n" "1173. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2372: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2372" +( $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:2372" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2373: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:2373" +( $at_check_trace; $COMPILE_MODULE callee.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:2373" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2376: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2376" +( $at_check_trace; $COBCRUN_DIRECT ./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:2376" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1173 +#AT_START_1174 +at_fn_group_banner 1174 'run_extensions.at:2381' \ + "PROCEDURE DIVISION CHAINING" " " 4 +at_xfail=no +( + printf "%s\n" "1174. $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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/run_extensions.at:2479: \$COBCRUN_DIRECT ./prog X ABCD" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog X ABCD" "run_extensions.at:2479" +( $at_check_trace; $COBCRUN_DIRECT ./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:2479" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# note: sticky linkage and CHAINING produced compiler errors +# --> additional test +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2483: \$COMPILE prog.cob -fsticky-linkage -o prog_sticky" +at_fn_check_prepare_dynamic "$COMPILE prog.cob -fsticky-linkage -o prog_sticky" "run_extensions.at:2483" +( $at_check_trace; $COMPILE prog.cob -fsticky-linkage -o prog_sticky +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2483" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2484: \$COBCRUN_DIRECT ./prog_sticky X ABCD" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog_sticky X ABCD" "run_extensions.at:2484" +( $at_check_trace; $COBCRUN_DIRECT ./prog_sticky 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:2484" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2486: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_extensions.at:2486" +( $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:2486" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2487: \$COBCRUN_DIRECT ./prog2 X" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2 X" "run_extensions.at:2487" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-X -" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2487" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2488: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_extensions.at:2488" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-a 7-" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2488" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2490: \$COMPILE_MODULE prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog3.cob" "run_extensions.at:2490" +( $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:2490" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2491: \$COBCRUN prog3 X ABCD" +at_fn_check_prepare_dynamic "$COBCRUN prog3 X ABCD" "run_extensions.at:2491" +( $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:2491" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2493: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2493" +( $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:2493" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2494: \$COBCRUN_DIRECT ./caller X ABCD" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller X ABCD" "run_extensions.at:2494" +( $at_check_trace; $COBCRUN_DIRECT ./caller X ABCD +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: caller.cob:6: error: 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:2494" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2498: \$COMPILE init.cob" +at_fn_check_prepare_dynamic "$COMPILE init.cob" "run_extensions.at:2498" +( $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:2498" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2499: \$COBCRUN_DIRECT ./init X" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./init X" "run_extensions.at:2499" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-X 02-- 000--aXXXX702--a 702-" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2499" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1174 +#AT_START_1175 +at_fn_group_banner 1175 'run_extensions.at:2504' \ + "STOP RUN RETURNING/GIVING" " " 4 +at_xfail=no +( + printf "%s\n" "1175. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2545: \$COMPILE prog1.cob" +at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_extensions.at:2545" +( $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:2545" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2546: \$COBCRUN_DIRECT ./prog1" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog1" "run_extensions.at:2546" +( $at_check_trace; $COBCRUN_DIRECT ./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:2546" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2548: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_extensions.at:2548" +( $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:2548" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2549: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_extensions.at:2549" +( $at_check_trace; $COBCRUN_DIRECT ./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:2549" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2551: \$COMPILE prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_extensions.at:2551" +( $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:2551" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2552: \$COBCRUN_DIRECT ./prog3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3" "run_extensions.at:2552" +( $at_check_trace; $COBCRUN_DIRECT ./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:2552" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2554: \$COMPILE prog4.cob" +at_fn_check_prepare_dynamic "$COMPILE prog4.cob" "run_extensions.at:2554" +( $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:2554" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2555: \$COBCRUN_DIRECT ./prog4" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog4" "run_extensions.at:2555" +( $at_check_trace; $COBCRUN_DIRECT ./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:2555" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1175 +#AT_START_1176 +at_fn_group_banner 1176 'run_extensions.at:2560' \ + "GOBACK/EXIT PROGRAM RETURNING/GIVING" " " 4 +at_xfail=no +( + printf "%s\n" "1176. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2602: \$COMPILE prog.cob prog1.cob prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob prog1.cob prog2.cob" "run_extensions.at:2602" +( $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:2602" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2603: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2603" +( $at_check_trace; $COBCRUN_DIRECT ./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:2603" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1176 +#AT_START_1177 +at_fn_group_banner 1177 'run_extensions.at:2610' \ + "ENTRY" " " 4 +at_xfail=no +( + printf "%s\n" "1177. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >caller.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. caller. + PROCEDURE DIVISION. + CALL "hello" USING "COBOL" + END-CALL. + CALL "bye" USING "COBOL-ENTRY" + 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(11). + PROCEDURE DIVISION USING X. + DISPLAY MSG-HELLO X "!". + * verifies that this does not generate an exception + ENTRY "unused" USING Y. + EXIT PROGRAM. + + ENTRY "bye" USING Y. + DISPLAY MSG-BYE Y "!". + EXIT PROGRAM. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2645: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2645" +( $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:2645" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2646: \$COMPILE_MODULE -fentry-statement=ok hello.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE -fentry-statement=ok hello.cob" "run_extensions.at:2646" +( $at_check_trace; $COMPILE_MODULE -fentry-statement=ok 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:2646" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2647: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2647" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello, COBOL! +Bye, COBOL-ENTRY! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2647" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# same name sometimes leads to locks - especially on Win32 +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2653: mv hello.\$COB_MODULE_EXT hello.old.\$COB_MODULE_EXT" +at_fn_check_prepare_dynamic "mv hello.$COB_MODULE_EXT hello.old.$COB_MODULE_EXT" "run_extensions.at:2653" +( $at_check_trace; mv hello.$COB_MODULE_EXT hello.old.$COB_MODULE_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_extensions.at:2653" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# no difference expected with sticky linkage (but other codegen) +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2656: \$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:2656" +( $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:2656" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2657: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:2657" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello, COBOL! +Bye, COBOL-ENTRY! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2657" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1177 +#AT_START_1178 +at_fn_group_banner 1178 'run_extensions.at:2665' \ + "ASSIGN to KEYBOARD/DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "1178. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2710: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2710" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2710" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2711: cat TEST-FILE | \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'a shell pipeline' "run_extensions.at:2711" +( $at_check_trace; cat TEST-FILE | $COBCRUN_DIRECT ./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"; printf "%s\n" "a +ab +abc +abcd +abcde +abcdef +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2711" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1178 +#AT_START_1179 +at_fn_group_banner 1179 'run_extensions.at:2723' \ + "SORT ASSIGN KEYBOARD to ASSIGN DISPLAY" " " 4 +at_xfail=yes +( + printf "%s\n" "1179. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2771: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2771" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2771" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2772: cat TEST-FILE | \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_notrace 'a shell pipeline' "run_extensions.at:2772" +( $at_check_trace; cat TEST-FILE | $COBCRUN_DIRECT ./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"; printf "%s\n" "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:2772" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1179 +#AT_START_1180 +at_fn_group_banner 1180 'run_extensions.at:2785' \ + "Environment/Argument variable" " " 4 +at_xfail=no +( + printf "%s\n" "1180. $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 + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2820: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2820" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2820" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2821: TEST_ENV=OK \$COBCRUN_DIRECT ./prog CHECKPAR" +at_fn_check_prepare_dynamic "TEST_ENV=OK $COBCRUN_DIRECT ./prog CHECKPAR" "run_extensions.at:2821" +( $at_check_trace; TEST_ENV=OK $COBCRUN_DIRECT ./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"; printf "%s\n" "(OK ) +(RXW ) +(CHECKPAR) +(0001) +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2821" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1180 +#AT_START_1181 +at_fn_group_banner 1181 'run_extensions.at:2831' \ + "78 Level (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1181. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2846: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2846" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2846" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2847: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2847" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2847" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1181 +#AT_START_1182 +at_fn_group_banner 1182 'run_extensions.at:2854' \ + "78 Level (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1182. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2872: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2872" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2872" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2873: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2873" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOKOK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2873" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1182 +#AT_START_1183 +at_fn_group_banner 1183 'run_extensions.at:2880' \ + "78 Level (3)" " " 4 +at_xfail=no +( + printf "%s\n" "1183. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:2896: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2896" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:2896" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:2897: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:2897" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2897" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1183 +#AT_START_1184 +at_fn_group_banner 1184 'run_extensions.at:2904' \ + "SWITCHES with non-standard names" " " 4 +at_xfail=no +( + printf "%s\n" "1184. $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 + . + USW-31 + ON IS SWIT31-ON + OFF IS SWIT31-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 SWIT31-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 +printf "%s\n" "$at_srcdir/run_extensions.at:3009: \$COMPILE -fsystem-name=\"sw1, SwItCh\\ b, SWITCH\\ 25\" \\ +-fsystem-name=SWITCH-32 -fsystem-name=\"SWITCH\\ Z\" -fsystem-name=USW-31 prog.cob" +at_fn_check_prepare_notrace 'an embedded newline' "run_extensions.at:3009" +( $at_check_trace; $COMPILE -fsystem-name="sw1, SwItCh\ b, SWITCH\ 25" \ +-fsystem-name=SWITCH-32 -fsystem-name="SWITCH\ Z" -fsystem-name=USW-31 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3009" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3011: COB_SWITCH_12=1 COB_SWITCH_36=1 COB_SWITCH_31=1 COB_SWITCH_32=1 ./prog" +at_fn_check_prepare_trace "run_extensions.at:3011" +( $at_check_trace; COB_SWITCH_12=1 COB_SWITCH_36=1 COB_SWITCH_31=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"; printf "%s\n" "OFF ON OFF OFF ON ON ON" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3011" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1184 +#AT_START_1185 +at_fn_group_banner 1185 'run_extensions.at:3017' \ + "Larger REDEFINES lengths" " " 4 +at_xfail=no +( + printf "%s\n" "1185. $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. + MOVE LENGTH OF XMAINRED TO Z. + IF Z NOT = 9 + DISPLAY "Test 2 " Z. + MOVE LENGTH OF XMAIN03 TO Z. + IF Z NOT = 5 + DISPLAY "Test 3 " Z. + MOVE LENGTH OF XMAIN0501 TO Z. + IF Z NOT = 4 + DISPLAY "Test 4 " Z. + MOVE LENGTH OF XMAIN0502 TO Z. + IF Z NOT = 5 + DISPLAY "Test 5 " Z. + IF LENGTH OF USE-FIRST NOT = 33211 + DISPLAY LENGTH OF USE-FIRST END-DISPLAY. + IF LENGTH OF USE-SECOND NOT = 27241 + DISPLAY LENGTH OF USE-SECOND END-DISPLAY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3077: \$COMPILE -flarger-redefines=ok -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -flarger-redefines=ok -w prog.cob" "run_extensions.at:3077" +( $at_check_trace; $COMPILE -flarger-redefines=ok -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/run_extensions.at:3077" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3078: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3078" +( $at_check_trace; $COBCRUN_DIRECT ./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:3078" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1185 +#AT_START_1186 +at_fn_group_banner 1186 'run_extensions.at:3082' \ + "REDEFINES: non-referenced ambiguous item" " " 4 +at_xfail=no +( + printf "%s\n" "1186. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# bad extension, supported for compatibility to at least MicroFocus +# the redefines always applies to the item defined before + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 X PIC X value '1'. + 01 X PIC X value '2'. + 01 G REDEFINES X PIC 9. + PROCEDURE DIVISION. + IF G NOT = 2 + DISPLAY 'G IS ' G. + STOP RUN. +_ATEOF + + +# syntax checked in syn_definition.at +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3103: \$COMPILE -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "run_extensions.at:3103" +( $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/run_extensions.at:3103" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3104: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3104" +( $at_check_trace; $COBCRUN_DIRECT ./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:3104" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1186 +#AT_START_1187 +at_fn_group_banner 1187 'run_extensions.at:3108' \ + "Obsolete 2002 keywords with COBOL2014" " " 4 +at_xfail=no +( + printf "%s\n" "1187. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3123: \$COMPILE -std=cobol2002 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 prog.cob" "run_extensions.at:3123" +( $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"; printf "%s\n" "prog.cob:6: error: syntax error, unexpected TERMINAL +prog.cob:7: error: syntax error, unexpected SEND +prog.cob:9: error: syntax error, unexpected TERMINAL, expecting ( +" | \ + $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:3123" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3128: \$COMPILE -std=cobol2014 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=cobol2014 prog.cob" "run_extensions.at:3128" +( $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:3128" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3129: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3129" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3129" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1187 +#AT_START_1188 +at_fn_group_banner 1188 'run_extensions.at:3138' \ + "System routine with wrong number of parameters" " " 4 +at_xfail=no +( + printf "%s\n" "1188. $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 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 +printf "%s\n" "$at_srcdir/run_extensions.at:3170: \$COMPILE wrong.cob" +at_fn_check_prepare_dynamic "$COMPILE wrong.cob" "run_extensions.at:3170" +( $at_check_trace; $COMPILE wrong.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:3170" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3173: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3173" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:3173" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3176: \$COBCRUN_DIRECT ./prog 1 2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 1 2" "run_extensions.at:3176" +( $at_check_trace; $COBCRUN_DIRECT ./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:3176" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1188 +#AT_START_1189 +at_fn_group_banner 1189 'run_extensions.at:3181' \ + "System routine C\$NARG" " " 4 +at_xfail=no +( + printf "%s\n" "1189. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3248: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:3248" +( $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:3248" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3249: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:3249" +( $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:3249" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3250: \$COBCRUN_DIRECT ./caller 1 2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller 1 2" "run_extensions.at:3250" +( $at_check_trace; $COBCRUN_DIRECT ./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:3250" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3251: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3251" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3251" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3252: \$COBCRUN_DIRECT ./prog \"1 2\"" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog \"1 2\"" "run_extensions.at:3252" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3252" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3253: \$COBCRUN_DIRECT ./prog 1 2 3" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 1 2 3" "run_extensions.at:3253" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "3" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3253" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1189 +#AT_START_1190 +at_fn_group_banner 1190 'run_extensions.at:3258' \ + "System routine C\$PARAMSIZE" " " 4 +at_xfail=no +( + printf "%s\n" "1190. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3293: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:3293" +( $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:3293" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3294: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:3294" +( $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:3294" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3295: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:3295" +( $at_check_trace; $COBCRUN_DIRECT ./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:3295" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1190 +#AT_START_1191 +at_fn_group_banner 1191 'run_extensions.at:3300' \ + "System routine C\$CALLEDBY" " " 4 +at_xfail=no +( + printf "%s\n" "1191. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3339: \$COMPILE caller.cob" +at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:3339" +( $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:3339" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3340: \$COMPILE_MODULE callee.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:3340" +( $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:3340" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3341: \$COBCRUN_DIRECT ./caller" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./caller" "run_extensions.at:3341" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKOK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:3341" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1191 +#AT_START_1192 +at_fn_group_banner 1192 'run_extensions.at:3346' \ + "System routine C\$JUSTIFY" " " 4 +at_xfail=no +( + printf "%s\n" "1192. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3365: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3365" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3365" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3366: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3366" +( $at_check_trace; $COBCRUN_DIRECT ./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:3366" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1192 +#AT_START_1193 +at_fn_group_banner 1193 'run_extensions.at:3371' \ + "System routine C\$PRINTABLE" " " 4 +at_xfail=no +( + printf "%s\n" "1193. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3394: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3394" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3394" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3395: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3395" +( $at_check_trace; $COBCRUN_DIRECT ./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:3395" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1193 +#AT_START_1194 +at_fn_group_banner 1194 'run_extensions.at:3400' \ + "System routine C\$MAKEDIR" " " 4 +at_xfail=no +( + printf "%s\n" "1194. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3414: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3414" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3414" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3415: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3415" +( $at_check_trace; $COBCRUN_DIRECT ./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:3415" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3416: test -d \"TMP\" && rmdir \"TMP\"" +at_fn_check_prepare_trace "run_extensions.at:3416" +( $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:3416" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1194 +#AT_START_1195 +at_fn_group_banner 1195 'run_extensions.at:3421' \ + "System routine C\$GETPID" " " 4 +at_xfail=no +( + printf "%s\n" "1195. $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 "C$GETPID returned zero!" + END-DISPLAY + END-IF. + MOVE 0 TO RETURN-CODE. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3440: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3440" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3440" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3441: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3441" +( $at_check_trace; $COBCRUN_DIRECT ./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:3441" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1195 +#AT_START_1196 +at_fn_group_banner 1196 'run_extensions.at:3446' \ + "System routine C\$TOUPPER" " " 4 +at_xfail=no +( + printf "%s\n" "1196. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3465: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3465" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3465" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3466: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3466" +( $at_check_trace; $COBCRUN_DIRECT ./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:3466" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1196 +#AT_START_1197 +at_fn_group_banner 1197 'run_extensions.at:3471' \ + "System routine C\$TOLOWER" " " 4 +at_xfail=no +( + printf "%s\n" "1197. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3490: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3490" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3490" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3491: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3491" +( $at_check_trace; $COBCRUN_DIRECT ./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:3491" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1197 +#AT_START_1198 +at_fn_group_banner 1198 'run_extensions.at:3496' \ + "System routine CBL_OR" " " 4 +at_xfail=no +( + printf "%s\n" "1198. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3517: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3517" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3517" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3518: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3518" +( $at_check_trace; $COBCRUN_DIRECT ./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:3518" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1198 +#AT_START_1199 +at_fn_group_banner 1199 'run_extensions.at:3523' \ + "System routine CBL_NOR" " " 4 +at_xfail=no +( + printf "%s\n" "1199. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3544: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3544" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3544" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3545: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3545" +( $at_check_trace; $COBCRUN_DIRECT ./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:3545" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1199 +#AT_START_1200 +at_fn_group_banner 1200 'run_extensions.at:3550' \ + "System routine CBL_AND" " " 4 +at_xfail=no +( + printf "%s\n" "1200. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3571: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3571" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3571" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3572: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3572" +( $at_check_trace; $COBCRUN_DIRECT ./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:3572" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1200 +#AT_START_1201 +at_fn_group_banner 1201 'run_extensions.at:3577' \ + "System routine CBL_XOR" " " 4 +at_xfail=no +( + printf "%s\n" "1201. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3598: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3598" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3598" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3599: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3599" +( $at_check_trace; $COBCRUN_DIRECT ./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:3599" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1201 +#AT_START_1202 +at_fn_group_banner 1202 'run_extensions.at:3604' \ + "System routine CBL_IMP" " " 4 +at_xfail=no +( + printf "%s\n" "1202. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3625: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3625" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3625" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3626: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3626" +( $at_check_trace; $COBCRUN_DIRECT ./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:3626" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1202 +#AT_START_1203 +at_fn_group_banner 1203 'run_extensions.at:3631' \ + "System routine CBL_NIMP" " " 4 +at_xfail=no +( + printf "%s\n" "1203. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3652: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3652" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3652" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3653: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3653" +( $at_check_trace; $COBCRUN_DIRECT ./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:3653" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1203 +#AT_START_1204 +at_fn_group_banner 1204 'run_extensions.at:3658' \ + "System routine CBL_NOT" " " 4 +at_xfail=no +( + printf "%s\n" "1204. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3678: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3678" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3678" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3679: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3679" +( $at_check_trace; $COBCRUN_DIRECT ./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:3679" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1204 +#AT_START_1205 +at_fn_group_banner 1205 'run_extensions.at:3684' \ + "System routine CBL_EQ" " " 4 +at_xfail=no +( + printf "%s\n" "1205. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:3705: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3705" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:3705" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:3706: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:3706" +( $at_check_trace; $COBCRUN_DIRECT ./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:3706" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1205 +#AT_START_1206 +at_fn_group_banner 1206 'run_extensions.at:3711' \ + "System routine CBL_GC_GETOPT" " " 4 +at_xfail=no +( + printf "%s\n" "1206. $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 longoption 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 +printf "%s\n" "$at_srcdir/run_extensions.at:4128: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4128" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4128" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4129: \$COBCRUN_DIRECT ./prog --version --verbose -jkl" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog --version --verbose -jkl" "run_extensions.at:4129" +( $at_check_trace; $COBCRUN_DIRECT ./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:4129" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4130: \$COMPILE_MODULE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_extensions.at:4130" +( $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:4130" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4131: \$COBCRUN prog2 --ver --vers" +at_fn_check_prepare_dynamic "$COBCRUN prog2 --ver --vers" "run_extensions.at:4131" +( $at_check_trace; $COBCRUN prog2 --ver --vers +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "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:4131" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4134: \$COMPILE prog3.cob" +at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_extensions.at:4134" +( $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:4134" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4135: \$COBCRUN_DIRECT ./prog3 --version=lang --verbose=k --usage -j 5 -k6 -l" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog3 --version=lang --verbose=k --usage -j 5 -k6 -l" "run_extensions.at:4135" +( $at_check_trace; $COBCRUN_DIRECT ./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:4135" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4136: \$COMPILE prog4.cob --free" +at_fn_check_prepare_dynamic "$COMPILE prog4.cob --free" "run_extensions.at:4136" +( $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:4136" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4137: \$COBCRUN_DIRECT ./prog4 --static --dynamic --usage=boringandtoolongtext" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog4 --static --dynamic --usage=boringandtoolongtext" "run_extensions.at:4137" +( $at_check_trace; $COBCRUN_DIRECT ./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:4137" +$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 +printf "%s\n" "$at_srcdir/run_extensions.at:4140: \$COMPILE prog5.cob" +at_fn_check_prepare_dynamic "$COMPILE prog5.cob" "run_extensions.at:4140" +( $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:4140" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4141: \$COBCRUN_DIRECT ./prog5 --static" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog5 --static" "run_extensions.at:4141" +( $at_check_trace; $COBCRUN_DIRECT ./prog5 --static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog5.cob:37: error: 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:4141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1206 +#AT_START_1207 +at_fn_group_banner 1207 'run_extensions.at:4148' \ + "System routine CBL_GC_FORK" " " 4 +at_xfail=no +( + printf "%s\n" "1207. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 CHILD-PID USAGE BINARY-LONG. + 77 PARENT-PID USAGE BINARY-LONG. + PROCEDURE DIVISION. + + CALL "C$GETPID" RETURNING PARENT-PID + 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". + CALL "C$GETPID" RETURNING CHILD-PID. + IF CHILD-PID = PARENT-PID + DISPLAY "CHILD: parent and child have same PID: " + "'" CHILD-PID "'" UPON SYSERR + END-DISPLAY + END-IF. + MOVE 0 TO RETURN-CODE. + + PARENT-CODE. + DISPLAY "Hello, I am the parent". + CALL "C$SLEEP" USING 4. + DISPLAY "Parent again". + IF RETURN-CODE = PARENT-PID + DISPLAY "PARENT: parent and child have same PID: " + "'" PARENT-PID "'" UPON SYSERR + END-DISPLAY + END-IF. + CALL "C$GETPID". + IF RETURN-CODE NOT = PARENT-PID + DISPLAY "PARENT: parent PID has changed: " + "'" PARENT-PID "' -> '" RETURN-CODE "'" + UPON SYSERR + END-DISPLAY + END-IF. + MOVE 0 TO RETURN-CODE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4203: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4203" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4203" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4205: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4205" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:4205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1207 +#AT_START_1208 +at_fn_group_banner 1208 'run_extensions.at:4216' \ + "System routine CBL_GC_WAITPID" " " 4 +at_xfail=no +( + printf "%s\n" "1208. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:4258: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4258" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4258" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4260: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4260" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:4260" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1208 +#AT_START_1209 +at_fn_group_banner 1209 'run_extensions.at:4268' \ + "System routine CBL_GC_HOSTED" " " 4 +at_xfail=no +( + printf "%s\n" "1209. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >test_errno.c <<'_ATEOF' + +#include +#include + +#include + +COB_EXT_EXPORT int +test_errno(void) +{ + FILE *fail; + fail = fopen("file-not-to-be-found", "r"); + if (errno != 2) { + printf("BAD ERRNO %d", errno); + } else { + if (fail) fclose(fail); + } + return 0; +} +_ATEOF + + +cat >test_stdio.c <<'_ATEOF' + +#include + +#include +COB_EXT_EXPORT 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 CERRNO USAGE BINARY-LONG EXTERNAL AS "errno". + 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. + 01 EXTPTR USAGE POINTER. *> only for the check, otherwise unused + + PROCEDURE DIVISION. + CALL "CBL_GC_HOSTED" USING STDIN "stdin" + CALL "CBL_GC_HOSTED" USING STDOUT "stdout" + CALL "CBL_GC_HOSTED" USING STDERR "stderr" + *> verify working alias with old name "CBL_OC_HOSTED" + CALL "CBL_OC_HOSTED" USING ARGC "argc" + CALL "CBL_OC_HOSTED" USING ARGV "argv" + CALL "CBL_GC_HOSTED" USING CELL "cell" + CALL "CBL_GC_HOSTED" USING ERRPTR "errno" + CALL "CBL_GC_HOSTED" USING ARGC "arg" + CALL "CBL_GC_HOSTED" USING NULL "argc" + SET ADDRESS OF ERRNO TO ERRPTR + CALL "CBL_GC_HOSTED" USING TZNAME "tzname" + CALL "CBL_GC_HOSTED" USING TIMEZONE "timezone" + CALL "CBL_GC_HOSTED" USING DAYLIGHT "daylight" + + *> prog.cob must be compiled with same C runtime as libcob to match... + IF ERRPTR NOT EQUAL ADDRESS OF CERRNO + DISPLAY "ADDRESS OF ERRNO VARIABLES DON'T MATCH" + SET EXTPTR TO ADDRESS OF CERRNO + DISPLAY "HOSTED: " ERRPTR ", " + "EXTERNAL: " EXTPTR + END-DISPLAY + END-IF + + *> test_errno.c must be compiled with same C runtime as libcob to match... + CALL "test_errno" + IF ERRNO NOT EQUAL 2 THEN + DISPLAY "BAD HOSTED ERRNO " ERRNO + IF CERRNO NOT EQUAL 2 THEN + DISPLAY "BAD EXTERNAL ERRNO " CERRNO + END-IF + END-IF + + IF ARGC NOT EQUAL 2 THEN + DISPLAY "BAD ARGC " ARGC + END-IF + IF ARGV EQUAL NULL THEN + DISPLAY "BAD ARGV" + END-IF + + IF CELL LESS THAN 0 OR GREATER THAN 8 THEN + DISPLAY "UNK CELL " CELL + 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 + *> test_stdio.c must be compiled with same C runtime as libcob to match... + CALL "test_stdio" USING BY VALUE STDIN STDOUT STDERR + END-CALL + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4390: \$COMPILE_MODULE test_errno.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE test_errno.c" "run_extensions.at:4390" +( $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:4390" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4391: \$COMPILE_MODULE test_stdio.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE test_stdio.c" "run_extensions.at:4391" +( $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:4391" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4392: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4392" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4392" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4393: \$COBCRUN_DIRECT ./prog 1ARG" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog 1ARG" "run_extensions.at:4393" +( $at_check_trace; $COBCRUN_DIRECT ./prog 1ARG +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "ERR" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "OUT" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 3 $at_status "$at_srcdir/run_extensions.at:4393" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1209 +#AT_START_1210 +at_fn_group_banner 1210 'run_extensions.at:4398' \ + "System routine SYSTEM, parameter handling" " " 4 +at_xfail=no +( + printf "%s\n" "1210. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + * + 77 test-no PIC 9 VALUE 0. + 77 chaining-param PIC X(20). + 77 chaining-param-2 PIC X(20). + * + PROCEDURE DIVISION CHAINING chaining-param, chaining-param-2. + * + main. + EVALUATE chaining-param ALSO chaining-param-2 + WHEN SPACES ALSO SPACES + DISPLAY "started without options - closing" + WHEN "1" ALSO SPACES + WHEN '"1"' ALSO SPACES + WHEN "a v" ALSO SPACES + WHEN '"a v"' ALSO SPACES + DISPLAY " called with -" + function trim (chaining-param) "-" + WHEN "a" ALSO "v" + DISPLAY " called with -" + FUNCTION TRIM (chaining-param) "-" + " and with -" + FUNCTION TRIM (chaining-param-2) "-" + WHEN "start" ALSO SPACES + MOVE 'prog 1' TO chaining-param + PERFORM callme + MOVE 'prog "1"' TO chaining-param + PERFORM callme + MOVE '"prog" 1' TO chaining-param + PERFORM callme + MOVE '"prog" "1"' TO chaining-param + PERFORM callme + MOVE 'prog a v' TO chaining-param + PERFORM callme + MOVE 'prog "a v"' TO chaining-param + PERFORM callme + MOVE '"prog" a v' TO chaining-param + PERFORM callme + MOVE '"prog" "a v"' TO chaining-param + PERFORM callme + MOVE '"prog" "a" "v"' TO chaining-param + PERFORM callme + DISPLAY "tests finished" + WHEN OTHER + DISPLAY "called with unexpected -" + FUNCTION TRIM (chaining-param) "-" + END-EVALUATE + STOP RUN. + * + callme. + ADD 1 TO test-no. + DISPLAY "Test #" test-no ":" + DISPLAY " CALL 'SYSTEM' with " + FUNCTION TRIM (chaining-param) ":" + CALL "SYSTEM" USING FUNCTION TRIM (chaining-param) + DISPLAY " --> return of the given CALL 'SYSTEM': " + return-code. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4465: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4465" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4465" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4466: PATH=.:\$PATH \$COBCRUN_DIRECT prog \"start\"" +at_fn_check_prepare_dynamic "PATH=.:$PATH $COBCRUN_DIRECT prog \"start\"" "run_extensions.at:4466" +( $at_check_trace; PATH=.:$PATH $COBCRUN_DIRECT prog "start" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Test #1: + CALL 'SYSTEM' with prog 1: + called with -1- + --> return of the given CALL 'SYSTEM': +000000000 +Test #2: + CALL 'SYSTEM' with prog \"1\": + called with -1- + --> return of the given CALL 'SYSTEM': +000000000 +Test #3: + CALL 'SYSTEM' with \"prog\" 1: + called with -1- + --> return of the given CALL 'SYSTEM': +000000000 +Test #4: + CALL 'SYSTEM' with \"prog\" \"1\": + called with -1- + --> return of the given CALL 'SYSTEM': +000000000 +Test #5: + CALL 'SYSTEM' with prog a v: + called with -a- and with -v- + --> return of the given CALL 'SYSTEM': +000000000 +Test #6: + CALL 'SYSTEM' with prog \"a v\": + called with -a v- + --> return of the given CALL 'SYSTEM': +000000000 +Test #7: + CALL 'SYSTEM' with \"prog\" a v: + called with -a- and with -v- + --> return of the given CALL 'SYSTEM': +000000000 +Test #8: + CALL 'SYSTEM' with \"prog\" \"a v\": + called with -a v- + --> return of the given CALL 'SYSTEM': +000000000 +Test #9: + CALL 'SYSTEM' with \"prog\" \"a\" \"v\": + called with -a- and with -v- + --> return of the given CALL 'SYSTEM': +000000000 +tests finished +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4466" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1210 +#AT_START_1211 +at_fn_group_banner 1211 'run_extensions.at:4509' \ + "System routine CBL_EXIT_PROC" " " 4 +at_xfail=no +( + printf "%s\n" "1211. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# tests that exit handlers work including multiple error handlers + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DemoExtProc IS RECURSIVE. + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 Ext-Proc-Address USAGE PROCEDURE-POINTER. + 77 install-flag USAGE BINARY-CHAR. + 88 install-default VALUE 0. + 88 uninstall VALUE 1. + 88 query-priority VALUE 2. + 88 install-priority VALUE 3. + 01 exit-params. + 02 proc-addrs USAGE PROCEDURE-POINTER. + 02 ppriority USAGE BINARY-CHAR. + PROCEDURE DIVISION. + S1. + DISPLAY 'Program is starting' + *> Do this for the ACU test later + *> CALL 'CBL_EXIT_PROC' USING 0, "ExtProc-internal" + SET Ext-Proc-Address TO ENTRY 'ExtProc' + *> GC "simple variant" + CALL 'CBL_EXIT_PROC' USING 0, Ext-Proc-Address + *> Support for MF variant, + *> storing but otherwise ignoring the priority for now + SET install-default TO TRUE + SET proc-addrs TO ENTRY 'ExtProc-internal' + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + *> Ensure subsequent CALLs with the same one are seen as error (MF!) + SET proc-addrs TO ENTRY 'ExtProc' + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE = 0 + DISPLAY 'Unexpected RETURN-CODE with subsequent call ' + RETURN-CODE. + SET install-priority TO TRUE + MOVE 127 TO ppriority + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE NOT = 0 + DISPLAY 'Unexpected RETURN-CODE with subsequent call, ' + 'different priority ' RETURN-CODE. + SET proc-addrs TO ENTRY 'ExtProc-internal2' + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE NOT = 0 + DISPLAY 'Unexpected RETURN-CODE with new call ' + RETURN-CODE. + *> + DISPLAY 'Program is stopping' + STOP RUN + . + ENTRY 'ExtProc-internal2'. + DISPLAY 'Exit procedure from ' FUNCTION MODULE-ID () + SET Ext-Proc-Address TO ENTRY 'ExtProc' + SET query-priority TO TRUE + MOVE 0 TO ppriority + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE NOT = ZERO + DISPLAY 'Unexpected RETURN-CODE for query ' + RETURN-CODE + ELSE IF ppriority NOT = 127 + DISPLAY 'Unexpected priority external ' ppriority. + SET proc-addrs TO ENTRY 'ExtProc-internal' + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE NOT = ZERO + DISPLAY 'Unexpected RETURN-CODE for query ' + RETURN-CODE + ELSE IF ppriority NOT = 64 + DISPLAY 'Unexpected priority internal ' ppriority. + SET uninstall TO TRUE + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE NOT = 0 + DISPLAY 'Unexpected RETURN-CODE after uninstall ' + RETURN-CODE. + CALL 'CBL_EXIT_PROC' USING install-flag, exit-params + IF RETURN-CODE = 0 + DISPLAY 'Unexpected RETURN-CODE after double uninstall ' + RETURN-CODE. + MOVE 0 TO RETURN-CODE + GOBACK + . + ENTRY 'ExtProc-internal'. + DISPLAY 'should have been removed' + GOBACK + . + END PROGRAM DemoExtProc. + + IDENTIFICATION DIVISION. + PROGRAM-ID. ExtProc. + PROCEDURE DIVISION. + 000-Main. + DISPLAY 'Exit procedure from ' FUNCTION MODULE-ID () + EXIT PROGRAM + . + END PROGRAM ExtProc. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4608: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4608" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4608" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4609: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4609" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Program is starting +Program is stopping +Exit procedure from DemoExtProc +Exit procedure from ExtProc +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4609" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1211 +#AT_START_1212 +at_fn_group_banner 1212 'run_extensions.at:4619' \ + "System routine CBL_ERROR_PROC (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1212. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# tests that error handlers work (later for ACU: test for re-ordered) +# including multiple error handlers + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DemoErrProc IS RECURSIVE. + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 Err-Proc-Address USAGE PROGRAM-POINTER. + 77 Err-Message-Len PIC 9(04) USAGE COMP-5. + LINKAGE SECTION. + 77 Err-Message-From-Runtime PIC X(1023). + PROCEDURE DIVISION. + S1. + DISPLAY 'Program is starting' + *> Do this for the ACU test, where second call moves top front + *> SET Err-Proc-Address TO ENTRY 'ErrProc-internal' + *> CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + SET Err-Proc-Address TO ENTRY 'ErrProc' + CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + SET Err-Proc-Address TO ENTRY 'ErrProc-internal' + CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + *> Ensure subsequent CALLs with the same one are ignored (MF!) + SET Err-Proc-Address TO ENTRY 'ErrProc' + CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + SET Err-Proc-Address TO NULL + CALL 'Tilt' *> THIS DOESN'T EXIST!!!! + DISPLAY 'Program is stopping' + STOP RUN + . + ENTRY 'ErrProc-internal' USING Err-Message-From-Runtime. + DISPLAY 'Error (internal): ' FUNCTION EXCEPTION-LOCATION '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATEMENT '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATUS '-' + *> NOTE: the error message is *EXPLICIT* specified to end with x'00' + MOVE 0 TO Err-Message-Len + INSPECT Err-Message-From-Runtime + TALLYING Err-Message-Len FOR CHARACTERS BEFORE x'00' + DISPLAY 'Error-Message: ' Err-Message-From-Runtime + (1:Err-Message-Len) + DISPLAY '-*- Returning to Next Error Routine -*-' + MOVE 1 TO RETURN-CODE + EXIT PROGRAM + . + END PROGRAM DemoErrProc. + + IDENTIFICATION DIVISION. + PROGRAM-ID. ErrProc. + PROCEDURE DIVISION. + 000-Main. + DISPLAY 'Error: ' FUNCTION EXCEPTION-LOCATION '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATEMENT '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATUS '-' + DISPLAY '-*- Returning to Standard Error Routine -*-' + MOVE 1 TO RETURN-CODE + EXIT PROGRAM + . + END PROGRAM ErrProc. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4683: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4683" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4683" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4684: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4684" +( $at_check_trace; $COBCRUN_DIRECT ./prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:25: error: module 'Tilt' not found +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Program is starting +Error (internal): DemoErrProc; S1; 25- + CALL - + EC-PROGRAM-NOT-FOUND - +Error-Message: prog.cob:25: module 'Tilt' not found +-*- Returning to Next Error Routine -*- +Error: DemoErrProc; S1; 25- + CALL - + EC-PROGRAM-NOT-FOUND - +-*- Returning to Standard Error Routine -*- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:4684" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4699: \$COBC -x -o prog_noloc prog.cob" +at_fn_check_prepare_dynamic "$COBC -x -o prog_noloc prog.cob" "run_extensions.at:4699" +( $at_check_trace; $COBC -x -o prog_noloc prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4699" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4700: \$COBCRUN_DIRECT ./prog_noloc" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog_noloc" "run_extensions.at:4700" +( $at_check_trace; $COBCRUN_DIRECT ./prog_noloc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: error: module 'Tilt' not found +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Program is starting +Error (internal): DemoErrProc; ; 0- + - + EC-PROGRAM-NOT-FOUND - +Error-Message: module 'Tilt' not found +-*- Returning to Next Error Routine -*- +Error: DemoErrProc; ; 0- + - + EC-PROGRAM-NOT-FOUND - +-*- Returning to Standard Error Routine -*- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:4700" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1212 +#AT_START_1213 +at_fn_group_banner 1213 'run_extensions.at:4718' \ + "System routine CBL_ERROR_PROC (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1213. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# tests that error handlers can stop the processing, +# including the internal error handler +# and that the MF "LOCAL-STORAGE implies RECURSIVE" works + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. DemoErrProc. + ENVIRONMENT DIVISION. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 Err-Proc-Address USAGE PROGRAM-POINTER. + 77 Err-Message-Len PIC 9(04) USAGE COMP-5. + LOCAL-STORAGE SECTION. *> can even be empty... + LINKAGE SECTION. + 77 Err-Message-From-Runtime PIC X(1023). + PROCEDURE DIVISION. + S1. + DISPLAY 'Program is starting' + SET Err-Proc-Address TO ENTRY 'ErrProc' + CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + SET Err-Proc-Address TO ENTRY 'ErrProc-internal' + CALL 'CBL_ERROR_PROC' USING 0, Err-Proc-Address + SET Err-Proc-Address TO NULL + CALL 'Tilt' *> THIS DOESN'T EXIST!!!! + DISPLAY 'Program is stopping' + STOP RUN + . + ENTRY 'ErrProc-internal' USING Err-Message-From-Runtime. + DISPLAY 'Error (interal): ' FUNCTION EXCEPTION-LOCATION '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATEMENT '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATUS '-' + *> NOTE: the error message is *EXPLICIT* specified to end with x'00' + MOVE 0 TO Err-Message-Len + INSPECT Err-Message-From-Runtime + TALLYING Err-Message-Len FOR CHARACTERS BEFORE x'00' + DISPLAY 'Error-Message: ' Err-Message-From-Runtime + (1:Err-Message-Len) + DISPLAY '-*- Stop error routines here -*-' + MOVE 0 TO RETURN-CODE + EXIT PROGRAM + . + END PROGRAM DemoErrProc. + + IDENTIFICATION DIVISION. + PROGRAM-ID. ErrProc. + PROCEDURE DIVISION. + 000-Main. + DISPLAY 'Error: ' FUNCTION EXCEPTION-LOCATION '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATEMENT '-' + DISPLAY ' ' FUNCTION EXCEPTION-STATUS '-' + DISPLAY '-*- Returning to Standard Error Routine -*-' + MOVE 1 TO RETURN-CODE + EXIT PROGRAM + . + END PROGRAM ErrProc. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4778: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:4778" +( $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:4778" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4779: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4779" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Program is starting +Error (interal): DemoErrProc; S1; 20- + CALL - + EC-PROGRAM-NOT-FOUND - +Error-Message: prog.cob:20: module 'Tilt' not found +-*- Stop error routines here -*- +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:4779" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# to be done +#AT_CHECK([$COMPILE -o prog_noloc prog.cob], [0], [], []) +#AT_CHECK([$COBCRUN_DIRECT ./prog_noloc], [1], +#[Program is starting +#], +#[libcob: error: recursive CALL from 'DemoErrProc' to 'DemoErrProc' which is NOT RECURSIVE +#]) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1213 +#AT_START_1214 +at_fn_group_banner 1214 'run_extensions.at:4799' \ + "System routine x'91' function NN" " " 4 +at_xfail=no +( + printf "%s\n" "1214. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# to be done after 3.2rc1 +printf "%s\n" "run_extensions.at:4803" >"$at_check_line_file" +at_fn_check_skip 77 "$at_srcdir/run_extensions.at:4803" + +cat >prog.cob <<'_ATEOF' + +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4807: \$COMPILE -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:4807" +( $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:4807" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4808: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4808" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:4808" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1214 +#AT_START_1215 +at_fn_group_banner 1215 'run_extensions.at:4815' \ + "CALL own PROGRAM-ID and RECURSIVE attribute" " " 4 +at_xfail=no +( + printf "%s\n" "1215. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# mixed syntax and runtime test, may be split later + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 own-prog VALUE 'prog'. + 77 first-call PIC X VALUE ' '. + PROCEDURE DIVISION. + T1. + IF first-call = SPACE + MOVE 'X' TO first-call + CALL own-prog. + GOBACK. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4834: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4834" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'T1': +prog.cob:12: warning: CALL to own PROGRAM-ID used +prog.cob:12: note: assuming RECURSIVE attribute +" | \ + $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:4834" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4840: \$COMPILE -fself-call-recursive=error prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fself-call-recursive=error prog.cob" "run_extensions.at:4840" +( $at_check_trace; $COMPILE -fself-call-recursive=error prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "prog.cob: in paragraph 'T1': +prog.cob:12: error: CALL to own PROGRAM-ID used +" | \ + $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:4840" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4845: \$COMPILE -o prog_std -std=mf prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -o prog_std -std=mf prog.cob" "run_extensions.at:4845" +( $at_check_trace; $COMPILE -o prog_std -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:4845" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >progc.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 first-call PIC X VALUE ' '. + PROCEDURE DIVISION. + T2. + IF first-call NOT = SPACE + GOBACK. + MOVE 'X' TO first-call + COPY "cllprg.cpy". + GOBACK. +_ATEOF + +cat >cllprg.cpy <<'_ATEOF' + + CALL 'prog'. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4864: \$COMPILE progc.cob" +at_fn_check_prepare_dynamic "$COMPILE progc.cob" "run_extensions.at:4864" +( $at_check_trace; $COMPILE progc.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "cllprg.cpy: in paragraph 'T2': +cllprg.cpy:2: warning: CALL to own PROGRAM-ID used +cllprg.cpy:2: note: assuming RECURSIVE attribute +" | \ + $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:4864" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4870: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4870" +( $at_check_trace; $COBCRUN_DIRECT ./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:4870" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4871: \$COBCRUN_DIRECT ./progc" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progc" "run_extensions.at:4871" +( $at_check_trace; $COBCRUN_DIRECT ./progc +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4871" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4873: \$COBCRUN_DIRECT ./prog_std" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog_std" "run_extensions.at:4873" +( $at_check_trace; $COBCRUN_DIRECT ./prog_std +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: prog.cob:12: error: recursive CALL from 'prog' to 'prog' which is NOT RECURSIVE +" | \ + $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:4873" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1215 +#AT_START_1216 +at_fn_group_banner 1216 'run_extensions.at:4880' \ + "DISPLAY DIRECTIVE and \$DISPLAY" " " 4 +at_xfail=no +( + printf "%s\n" "1216. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: as we do support inline comments here we do not +# allow the * to be part of a non-literal output + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 var1 pic x. + $DISPLAY MF compile time text # A.0-B;C *> without comment + 01 var2 pic x. + >> DISPLAY some.text-here + 01 var3 pic x. + PROCEDURE DIVISION. + >> DISPLAY other text #2 *> comment + >> DISPLAY "literal text... *> no comment" + $DISPLAY "MF compile time text" + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4903: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4903" +( $at_check_trace; $COMPILE 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"; printf "%s\n" "MF compile time text # A.0-B;C +some.text-here +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:4903" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1216 +#AT_START_1217 +at_fn_group_banner 1217 'run_extensions.at:4913' \ + "Conditional / define directives (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1217. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:4932: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4932" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:4932" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4933: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4933" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4933" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1217 +#AT_START_1218 +at_fn_group_banner 1218 'run_extensions.at:4938' \ + "Conditional / define directives (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1218. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:4957: \$COMPILE -DACTIVATE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE prog.cob" "run_extensions.at:4957" +( $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:4957" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4958: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4958" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4958" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1218 +#AT_START_1219 +at_fn_group_banner 1219 'run_extensions.at:4963' \ + "Conditional / define directives (3)" " " 4 +at_xfail=no +( + printf "%s\n" "1219. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:4985: \$COMPILE -DACTIVATE2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE2 prog.cob" "run_extensions.at:4985" +( $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:4985" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:4986: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:4986" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4986" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1219 +#AT_START_1220 +at_fn_group_banner 1220 'run_extensions.at:4991' \ + "Conditional / define directives (4)" " " 4 +at_xfail=no +( + printf "%s\n" "1220. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:5011: \$COMPILE -DACTIVATE2 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE2 prog.cob" "run_extensions.at:5011" +( $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:5011" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5012: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5012" +( $at_check_trace; $COBCRUN_DIRECT ./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:5012" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1220 +#AT_START_1221 +at_fn_group_banner 1221 'run_extensions.at:5017' \ + "Invalid source format" " " 4 +at_xfail=no +( + printf "%s\n" "1221. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >unknown.cob <<'_ATEOF' + + >>SOURCE FORMAT UNKNOWN + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + +cat >lit.cob <<'_ATEOF' + + >>SOURCE FORMAT "literal" + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + PROCEDURE DIVISION. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5035: \$COMPILE unknown.cob" +at_fn_check_prepare_dynamic "$COMPILE unknown.cob" "run_extensions.at:5035" +( $at_check_trace; $COMPILE unknown.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "unknown.cob:2: error: invalid SOURCE directive option 'UNKNOWN' +" | \ + $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:5035" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5038: \$COMPILE lit.cob" +at_fn_check_prepare_dynamic "$COMPILE lit.cob" "run_extensions.at:5038" +( $at_check_trace; $COMPILE lit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "lit.cob:2: error: invalid SOURCE directive option +lit.cob:2: 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/run_extensions.at:5038" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1221 +#AT_START_1222 +at_fn_group_banner 1222 'run_extensions.at:5046' \ + "Variable format" " " 4 +at_xfail=no +( + printf "%s\n" "1222. $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 +printf "%s\n" "$at_srcdir/run_extensions.at:5060: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:5060" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5060" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5061: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5061" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5061" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check that manually setting -ftext-column in combination with +# variable source format is still allowed: -ftext-column now impacts +# fixed and cobol85 format only; 250 is the default right margin for +# variable format. +cat >fit.cob <<'_ATEOF' + +000010 IDENTIFICATION DIVISION. +000020 PROGRAM-ID. fit. +000040 PROCEDURE DIVISION. +000050 DISPLAY "Hello!" +000060 STOP RUN. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5076: \$COMPILE -fformat=variable -ftext-column=250 fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=variable -ftext-column=250 fit.cob" "run_extensions.at:5076" +( $at_check_trace; $COMPILE -fformat=variable -ftext-column=250 fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5076" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5077: \$COMPILE -fformat=variable -ftext-column=72 -o fit fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=variable -ftext-column=72 -o fit fit.cob" "run_extensions.at:5077" +( $at_check_trace; $COMPILE -fformat=variable -ftext-column=72 -o fit fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5077" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5078: \$COBCRUN_DIRECT ./fit" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./fit" "run_extensions.at:5078" +( $at_check_trace; $COBCRUN_DIRECT ./fit +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "Hello! +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5078" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1222 +#AT_START_1223 +at_fn_group_banner 1223 'run_extensions.at:5085' \ + "COBOLX format" " " 4 +at_xfail=no +( + printf "%s\n" "1223. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + >>SOURCE FORMAT COBOLX + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. +* area B can extend up to character position 255 + PROCEDURE DIVISION. +/ + DISPLAY "Hello!" + DISPLAY "Hi!" +DDISPLAY "Hey!" +D DISPLAY "Bye!" +* trucated alphanumeric literals are not padded with spaces + DISPLAY " 20 30 40 50 60 70 80 90 100 110 120 130 +- " 140 150 160 170 180 190 200 210 220 230 240 250" + . +_ATEOF + +# " (closing quote) + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5106: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:5106" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5106" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5107: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5107" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello! +Hi! + 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5107" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5112: \$COMPILE -fdebugging-line -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdebugging-line -o prog prog.cob" "run_extensions.at:5112" +( $at_check_trace; $COMPILE -fdebugging-line -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_extensions.at:5112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5113: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5113" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Hello! +Hi! +Hey! +Bye! + 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5113" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1223 +#AT_START_1224 +at_fn_group_banner 1224 'run_extensions.at:5124' \ + "X/Open free-form format" " " 4 +at_xfail=no +( + printf "%s\n" "1224. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + +* Sample program in X/Open free-form format. + +IDENTIFICATION DIVISION. +PROGRAM-ID. prog. +DATA DIVISION. +WORKING-STORAGE SECTION. +PROCEDURE DIVISION. +/ Beginning of the code +DISPLAY "OK" NO ADVANCING +* If debug: +D DISPLAY "KO" NO ADVANCING +STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5142: \$COMPILE -fformat=xopen -fno-areacheck prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=xopen -fno-areacheck prog.cob" "run_extensions.at:5142" +( $at_check_trace; $COMPILE -fformat=xopen -fno-areacheck prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5142" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5143: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5143" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5143" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5144: \$COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -o prog prog.cob" "run_extensions.at:5144" +( $at_check_trace; $COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -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_extensions.at:5144" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5145: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5145" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKKO" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5145" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >fit.cob <<'_ATEOF' + +* Sample program in X/Open format, and with longer lines and truncated literals. + +IDENTIFICATION DIVISION. +PROGRAM-ID. fit. +DATA DIVISION. +WORKING-STORAGE SECTION. +PROCEDURE DIVISION. +DISPLAY ' 20 30 40 50 60 70 79' +D DISPLAY ' 20 30 40 50 60 70 79' +STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5160: \$COMPILE -fformat=xopen -fno-areacheck fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=xopen -fno-areacheck fit.cob" "run_extensions.at:5160" +( $at_check_trace; $COMPILE -fformat=xopen -fno-areacheck fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5160" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5161: \$COBCRUN_DIRECT ./fit" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./fit" "run_extensions.at:5161" +( $at_check_trace; $COBCRUN_DIRECT ./fit +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " 20 30 40 50 60 70 79 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5161" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5164: \$COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -o fit fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -o fit fit.cob" "run_extensions.at:5164" +( $at_check_trace; $COMPILE -fformat=xopen -fno-areacheck -fdebugging-line -o fit fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5164" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5165: \$COBCRUN_DIRECT ./fit" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./fit" "run_extensions.at:5165" +( $at_check_trace; $COBCRUN_DIRECT ./fit +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " 20 30 40 50 60 70 79 + 20 30 40 50 60 70 79 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5165" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1224 +#AT_START_1225 +at_fn_group_banner 1225 'run_extensions.at:5173' \ + "TERMINAL format" " " 4 +at_xfail=no +( + printf "%s\n" "1225. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# FIXME: For now, only comment paragraphs can be used to check proper +# handling of margin B w.r.t indicators; better tests shall be +# implemented once area A/B checking will be available + +cat >prog.cob <<'_ATEOF' + +* Sample program in ACU terminal format. + +IDENTIFICATION DIVISION. +PROGRAM-ID. prog. +AUTHOR. + Somebody. +\D Somebody else. + One last author. +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 +printf "%s\n" "$at_srcdir/run_extensions.at:5199: \$COMPILE -fformat=terminal -fcomment-paragraphs=ok prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=terminal -fcomment-paragraphs=ok prog.cob" "run_extensions.at:5199" +( $at_check_trace; $COMPILE -fformat=terminal -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/run_extensions.at:5199" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5200: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5200" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OK" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5200" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5201: \$COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line -o prog prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line -o prog prog.cob" "run_extensions.at:5201" +( $at_check_trace; $COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line -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_extensions.at:5201" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5202: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5202" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "OKKO" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5202" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >marginberr.cob <<'_ATEOF' + +IDENTIFICATION DIVISION. +PROGRAM-ID. marginberr. +AUTHOR. +* Comment paragraph where margin B depends on indicator width: + Somebody +\D Somebody else. +DATA DIVISION. +WORKING-STORAGE SECTION. +PROCEDURE DIVISION. + DISPLAY "OK" NO ADVANCING + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5218: \$COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line marginberr.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line marginberr.cob" "run_extensions.at:5218" +( $at_check_trace; $COMPILE -fformat=terminal -fcomment-paragraphs=ok -fdebugging-line marginberr.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "marginberr.cob:7: error: PROCEDURE DIVISION header missing +marginberr.cob:7: error: syntax error, unexpected Identifier (Area A) +marginberr.cob:8: error: syntax error, unexpected DATA +marginberr.cob:9: error: syntax error, unexpected WORKING-STORAGE +marginberr.cob:10: error: syntax error, unexpected PROCEDURE +" | \ + $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:5218" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >fit.cob <<'_ATEOF' + +* Sample program in ACU terminal format, and with longer lines and truncated literals. + +IDENTIFICATION DIVISION. +PROGRAM-ID. fit. +DATA DIVISION. +WORKING-STORAGE SECTION. +PROCEDURE DIVISION. + DISPLAY ' 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319' +\D DISPLAY ' 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319' +\D END-DISPLAY. + DISPLAY ' 20 30 40 50 60 70 80 90 100 110 120 130 +- ' 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319' + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5242: \$COMPILE -fformat=terminal fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=terminal fit.cob" "run_extensions.at:5242" +( $at_check_trace; $COMPILE -fformat=terminal fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5242" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5243: \$COBCRUN_DIRECT ./fit" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./fit" "run_extensions.at:5243" +( $at_check_trace; $COBCRUN_DIRECT ./fit +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319 + 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5243" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5247: \$COMPILE -fformat=terminal -fdebugging-line -o fit fit.cob" +at_fn_check_prepare_dynamic "$COMPILE -fformat=terminal -fdebugging-line -o fit fit.cob" "run_extensions.at:5247" +( $at_check_trace; $COMPILE -fformat=terminal -fdebugging-line -o fit fit.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5247" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5248: \$COBCRUN_DIRECT ./fit" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./fit" "run_extensions.at:5248" +( $at_check_trace; $COBCRUN_DIRECT ./fit +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" " 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319 + 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319 + 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 319 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5248" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1225 +#AT_START_1226 +at_fn_group_banner 1226 'run_extensions.at:5257' \ + "MF FREE format (X/Open)" " " 4 +at_xfail=no +( + printf "%s\n" "1226. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + +IDENTIFICATION DIVISION. +PROGRAM-ID. prog. +DATA DIVISION. +WORKING-STORAGE SECTION. +1 X PIC 99. +PROCEDURE DIVISION. +MAIN. +COMPUTE X = 6 +* 7 +DISPLAY X NO ADVANCING +STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5274: \$COMPILE -free -o prog-free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -free -o prog-free prog.cob" "run_extensions.at:5274" +( $at_check_trace; $COMPILE -free -o prog-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:5274" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5275: \$COBCRUN_DIRECT ./prog-free" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-free" "run_extensions.at:5275" +( $at_check_trace; $COBCRUN_DIRECT ./prog-free +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "42" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5275" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5277: \$COMPILE -std=mf -fformat=free -o prog-mf-fformat-free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf -fformat=free -o prog-mf-fformat-free prog.cob" "run_extensions.at:5277" +( $at_check_trace; $COMPILE -std=mf -fformat=free -o prog-mf-fformat-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:5277" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5278: \$COBCRUN_DIRECT ./prog-mf-fformat-free" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-mf-fformat-free" "run_extensions.at:5278" +( $at_check_trace; $COBCRUN_DIRECT ./prog-mf-fformat-free +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "06" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5278" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5280: \$COMPILE -std=mf -free -o prog-mf-free prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf -free -o prog-mf-free prog.cob" "run_extensions.at:5280" +( $at_check_trace; $COMPILE -std=mf -free -o prog-mf-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:5280" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5281: \$COBCRUN_DIRECT ./prog-mf-free" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-mf-free" "run_extensions.at:5281" +( $at_check_trace; $COBCRUN_DIRECT ./prog-mf-free +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "06" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5281" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + $SET SOURCEFORMAT"FREE" +IDENTIFICATION DIVISION. +PROGRAM-ID. prog. +DATA DIVISION. +WORKING-STORAGE SECTION. +1 X PIC 99. +PROCEDURE DIVISION. +MAIN. +COMPUTE X = 6 +* 7 +DISPLAY X NO ADVANCING +STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5298: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_extensions.at:5298" +( $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:5298" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5299: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "run_extensions.at:5299" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "42" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5299" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5301: \$COMPILE -std=mf -o prog2-mf prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf -o prog2-mf prog2.cob" "run_extensions.at:5301" +( $at_check_trace; $COMPILE -std=mf -o prog2-mf 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:5301" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5302: \$COBCRUN_DIRECT ./prog2-mf" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2-mf" "run_extensions.at:5302" +( $at_check_trace; $COBCRUN_DIRECT ./prog2-mf +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; printf "%s\n" "06" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5302" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1226 +#AT_START_1227 +at_fn_group_banner 1227 'run_extensions.at:5307' \ + "Binary COMP-1 (1)" " " 4 +at_xfail=no +( + printf "%s\n" "1227. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 comp1 COMP-1. + 01 num PIC 9.9. + + PROCEDURE DIVISION. + COMPUTE comp1 = 7 / 2 + MOVE comp1 TO num + DISPLAY num + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5326: \$COMPILE -fbinary-comp-1 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fbinary-comp-1 prog.cob" "run_extensions.at:5326" +( $at_check_trace; $COMPILE -fbinary-comp-1 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5326" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5327: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5327" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "3.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5327" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5330: \$COMPILE -fno-binary-comp-1 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-binary-comp-1 prog.cob" "run_extensions.at:5330" +( $at_check_trace; $COMPILE -fno-binary-comp-1 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5330" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5331: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5331" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "3.5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5331" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1227 +#AT_START_1228 +at_fn_group_banner 1228 'run_extensions.at:5338' \ + "Binary COMP-1 (2)" " " 4 +at_xfail=no +( + printf "%s\n" "1228. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + >>IF BINARY-COMP-1 IS DEFINED + $SET COMP-1(BINARY) + >>ELSE + $SET COMP1 "float" + >>END-IF + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 comp1 COMP-1. + 01 num PIC 9.9. + + PROCEDURE DIVISION. + COMPUTE comp1 = 7 / 2 + MOVE comp1 TO num + DISPLAY num + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5362: \$COMPILE -DBINARY-COMP-1 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -DBINARY-COMP-1 prog.cob" "run_extensions.at:5362" +( $at_check_trace; $COMPILE -DBINARY-COMP-1 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5362" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5363: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5363" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "3.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5363" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5366: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:5366" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5366" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5367: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5367" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "3.5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5367" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1228 +#AT_START_1229 +at_fn_group_banner 1229 'run_extensions.at:5374' \ + "EXHIBIT statement" " " 4 +at_xfail=no +( + printf "%s\n" "1229. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 VAR-1 PIC X(8) VALUE SPACES. + 77 VAR-2 PIC 999. + PROCEDURE DIVISION. + EXHIBIT CHANGED VAR-1 'X' + MOVE ALL 'X' TO VAR-1 + STRING "123" DELIMITED BY SIZE INTO VAR-1 + EXHIBIT NAMED VAR-1 VAR-2 'Y' + EXHIBIT VAR-2 + EXHIBIT SORT-RETURN TALLY + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5394: \$COMPILE -std=mvs -Wno-strict-typing -Wno-pending prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mvs -Wno-strict-typing -Wno-pending prog.cob" "run_extensions.at:5394" +( $at_check_trace; $COMPILE -std=mvs -Wno-strict-typing -Wno-pending prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5394" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5395: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5395" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" " X +VAR-1 = 123XXXXX VAR-2 = 000 Y +VAR-2 = 000 +SORT-RETURN = +000000000 TALLY = 00000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5395" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1229 +#AT_START_1230 +at_fn_group_banner 1230 'run_extensions.at:5404' \ + "Bit Operations" " " 4 +at_xfail=no +( + printf "%s\n" "1230. $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 COMP-X VALUE 0. + 01 X2 PIC X COMP-X VALUE 0. + 01 X3 PIC X COMP-X VALUE 0. + 01 XX1 PIC XX COMP-X VALUE 0. + 01 XX2 PIC XX COMP-X VALUE 0. + 01 XX3 PIC XX COMP-X VALUE 0. + PROCEDURE DIVISION. + MOVE 2 TO XX2 X2 + MOVE 4 TO XX3 X3. + + DISPLAY "Test using PIC XX COMP-X" + COMPUTE XX1 = (XX2 B-OR XX3). + DISPLAY XX2 " B-OR " XX3 " is " XX1. + MOVE 3 TO XX3. + COMPUTE XX1 = (XX2 B-XOR XX3). + DISPLAY XX2 " B-XOR " XX3 " is " XX1. + MOVE 3 TO XX2 + MOVE 1 TO XX1. + IF (XX2 B-AND XX1) = XX1 + DISPLAY XX2 " B-AND " XX1 " = " XX1 " TRUE" + ELSE + DISPLAY XX2 " B-AND " XX1 " = " XX1 " FALSE" + END-IF. + COMPUTE XX1 = (XX2 B-XOR XX3) + 1 . + DISPLAY "(" XX2 " B-XOR " XX3 ") + 1 is " XX1. + COMPUTE XX1 = XX2 B-XOR (XX3 + 1). + DISPLAY XX2 " B-XOR (" XX3 " + 1) is " XX1. + MOVE x#09 TO XX3. + MOVE x#0E TO XX2. + COMPUTE XX1 = XX2 B-AND XX3 . + DISPLAY XX2 " B-AND " XX3 " is " XX1. + COMPUTE XX1 = (x#05 B-OR x#22). + DISPLAY "x#05 B-OR x#22 is " XX1. + COMPUTE XX1 = B-NOT XX2 . + DISPLAY "B-NOT " XX2 " is " XX1. + COMPUTE XX1 = B-NOT x#22 . + DISPLAY "B-NOT x#22 is " XX1. + + DISPLAY " -----" + DISPLAY "Test using PIC X COMP-X" + COMPUTE X1 = (X2 B-OR X3). + DISPLAY X2 " B-OR " X3 " is " X1. + MOVE 3 TO X3. + COMPUTE X1 = (X2 B-XOR X3). + DISPLAY X2 " B-XOR " X3 " is " X1. + MOVE 3 TO X2 + MOVE 1 TO X1. + IF (X2 B-AND X1) = X1 + DISPLAY X2 " B-AND " X1 " = " X1 " TRUE" + ELSE + DISPLAY X2 " B-AND " X1 " = " X1 " FALSE" + END-IF. + COMPUTE X1 = (X2 B-XOR X3) + 1 . + DISPLAY "(" X2 " B-XOR " X3 ") + 1 is " X1. + COMPUTE X1 = X2 B-XOR (X3 + 1). + DISPLAY X2 " B-XOR (" X3 " + 1) is " X1. + MOVE x#09 TO X3. + MOVE x#0E TO X2. + COMPUTE X1 = X2 B-AND X3 . + DISPLAY X2 " B-AND " X3 " is " X1. + COMPUTE X1 = B-NOT X2 . + DISPLAY "B-NOT " X2 " is " X1. + COMPUTE X1 = B-NOT x#22 . + DISPLAY "B-NOT x#22 is " X1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5479: \$COMPILE -facu-literal=ok -fno-trunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -facu-literal=ok -fno-trunc prog.cob" "run_extensions.at:5479" +( $at_check_trace; $COMPILE -facu-literal=ok -fno-trunc prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5479" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5481: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5481" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Test using PIC XX COMP-X +00002 B-OR 00004 is 00006 +00002 B-XOR 00003 is 00001 +00003 B-AND 00001 = 00001 TRUE +(00003 B-XOR 00003) + 1 is 00001 +00003 B-XOR (00003 + 1) is 00007 +00014 B-AND 00009 is 00008 +x#05 B-OR x#22 is 00039 +B-NOT 00014 is 65521 +B-NOT x#22 is 65501 + ----- +Test using PIC X COMP-X +002 B-OR 004 is 006 +002 B-XOR 003 is 001 +003 B-AND 001 = 001 TRUE +(003 B-XOR 003) + 1 is 001 +003 B-XOR (003 + 1) is 007 +014 B-AND 009 is 008 +B-NOT 014 is 241 +B-NOT x#22 is 221 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5481" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1230 +#AT_START_1231 +at_fn_group_banner 1231 'run_extensions.at:5507' \ + "Bit Shift Operations" " " 4 +at_xfail=no +( + printf "%s\n" "1231. $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 XX COMP-X VALUE 0. + 01 X2 PIC XX COMP-X VALUE 0. + 01 N1 PIC 9(4) COMP-5 VALUE 0. + 01 N2 PIC 9(4) COMP-5 VALUE 0. + PROCEDURE DIVISION. + MOVE x#0A TO X2. + DISPLAY "Using PIC XX COMP-X" + COMPUTE X1 = (x#22 B-LEFT x#05). + DISPLAY " x#22 B-LEFT x#05 is " X1. + COMPUTE X1 = (x#22 B-RIGHT x#02). + DISPLAY " x#22 B-RIGHT x#02 is " X1. + COMPUTE X1 = (x#22 B-SHIFT-L x#05). + DISPLAY " x#22 B-SHIFT-L x#05 is " X1. + COMPUTE X1 = (x#22 B-SHIFT-R x#02). + DISPLAY " x#22 B-SHIFT-R x#02 is " X1. + COMPUTE X1 = (X2 B-LEFT x#05). + DISPLAY X2 " B-LEFT x#05 is " X1. + COMPUTE X1 = (X2 B-RIGHT x#02). + DISPLAY X2 " B-RIGHT x#02 is " X1. + MOVE x#7573 TO X2. + COMPUTE X1 = (X2 B-SHIFT-LC 4). + DISPLAY X2 " B-SHIFT-LC 4 is " X1. + COMPUTE X1 = (X2 B-SHIFT-RC 4). + DISPLAY X2 " B-SHIFT-RC 4 is " X1. + + MOVE 10 TO N2. + DISPLAY "Using PIC 9(4) COMP-5" + COMPUTE N1 = (x#22 B-LEFT x#05). + DISPLAY " x#22 B-LEFT x#05 is " N1. + COMPUTE N1 = (x#22 B-RIGHT x#02). + DISPLAY " x#22 B-RIGHT x#02 is " N1. + COMPUTE N1 = (x#22 B-SHIFT-L x#05). + DISPLAY " x#22 B-SHIFT-L x#05 is " N1. + COMPUTE N1 = (x#22 B-SHIFT-R x#02). + DISPLAY " x#22 B-SHIFT-R x#02 is " N1. + COMPUTE N1 = (N2 B-LEFT x#05). + DISPLAY N2 " B-LEFT x#05 is " N1. + COMPUTE N1 = (N2 B-RIGHT x#02). + DISPLAY N2 " B-RIGHT x#02 is " N1. + STOP RUN. +_ATEOF + + +# also syntax-checking MF aliases... +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5558: \$COMPILE -std=mf -fno-trunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=mf -fno-trunc prog.cob" "run_extensions.at:5558" +( $at_check_trace; $COMPILE -std=mf -fno-trunc prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5558" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5560: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5560" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Using PIC XX COMP-X + x#22 B-LEFT x#05 is 01088 + x#22 B-RIGHT x#02 is 00008 + x#22 B-SHIFT-L x#05 is 01088 + x#22 B-SHIFT-R x#02 is 00008 +00010 B-LEFT x#05 is 00320 +00010 B-RIGHT x#02 is 00002 +30067 B-SHIFT-LC 4 is 22327 +30067 B-SHIFT-RC 4 is 14167 +Using PIC 9(4) COMP-5 + x#22 B-LEFT x#05 is 01088 + x#22 B-RIGHT x#02 is 00008 + x#22 B-SHIFT-L x#05 is 01088 + x#22 B-SHIFT-R x#02 is 00008 +00010 B-LEFT x#05 is 00320 +00010 B-RIGHT x#02 is 00002 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5560" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1231 +#AT_START_1232 +at_fn_group_banner 1232 'run_extensions.at:5582' \ + "GCOS floating-point usages" " " 4 +at_xfail=no +( + printf "%s\n" "1232. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 FLOATS. + 03 FLOAT-BINARY-32 USAGE COMPUTATIONAL-9 VALUE -4.2E+1. + 03 FLOAT-BINARY-64 USAGE COMPUTATIONAL-10 VALUE 0.0. + 03 FLOAT-BINARY-128 USAGE COMPUTATIONAL-15 VALUE 1.0. + + PROCEDURE DIVISION. + DISPLAY FLOAT-BINARY-32 + + DISPLAY FLOAT-BINARY-64 + MOVE 9.899999999999E+304 TO FLOAT-BINARY-64 + DISPLAY FLOAT-BINARY-64 + ADD -1.111111111011E302 TO FLOAT-BINARY-64 + DISPLAY FLOAT-BINARY-64 + + *> NOTE: FLOAT-BINARY-128 is only syntax-checked as support for + *> 128bit floating-point is still partial / "processor dependent" + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5610: \$COMPILE -std=gcos-strict prog.cob -Wno-unfinished" +at_fn_check_prepare_dynamic "$COMPILE -std=gcos-strict prog.cob -Wno-unfinished" "run_extensions.at:5610" +( $at_check_trace; $COMPILE -std=gcos-strict prog.cob -Wno-unfinished +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5610" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5611: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5611" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-42 +0 +9.899999999998999E+304 +9.888888888888887E+304 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5611" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1232 +#AT_START_1233 +at_fn_group_banner 1233 'run_extensions.at:5621' \ + "PICTURE L (basic)" " " 4 +at_xfail=no +( + printf "%s\n" "1233. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-DATA. + 2 X-DAT PICTURE LX(10) DEPENDING ON LGX. + 2 X-ALPHA PICTURE LA(10) DEPENDING ON LGX. + 2 Y-DAT PICTURE LX(9) DEPENDING ON LGY. + 2 Y-ALPHA PICTURE LA(9) DEPENDING ON LGY. + 1 W-NESTED. + 2 X-GRP. + 3 X-0 PICTURE X VALUE "0". + 3 X-V PICTURE LX(10) DEPENDING ON LGX. + 3 X-1 PICTURE X VALUE "1". + 1 W-LGS. + 2 LGX USAGE COMP-1 VALUE 10. + 2 LGY PICTURE 9 VALUE 9. + 1 W-LATE-LVAR. + 2 Z-GRP. + 3 Z-V PICTURE LX(2) DEPENDING ON LGZ. + 3 UNUSED-0 PICTURE X VALUE "1". + 2 LGZ PICTURE 9 VALUE 2. + 1 W-LEN USAGE COMP-1. + PROCEDURE DIVISION. + MAIN. + MOVE SPACES TO W-DATA + MOVE SPACES TO X-V + IF X-DAT NOT EQUAL " " OR + X-ALPHA NOT EQUAL " " OR + Y-DAT NOT EQUAL " " OR + Y-ALPHA NOT EQUAL " " + DISPLAY "GROUP INITIALIZATION WITH SPACES FAILED" + PERFORM SHOW-VARS + END-IF + MOVE 5 TO LGX + MOVE 1 TO LGY + IF W-DATA NOT EQUAL " " + DISPLAY "GROUP COMPARISON FAILED (W-DATA)" + PERFORM SHOW-VARS + END-IF + IF W-NESTED NOT EQUAL "0 1" OR + X-GRP NOT EQUAL W-NESTED OR + X-V NOT EQUAL " " + DISPLAY "GROUP COMPARISON FAILED (W-NESTED)" + PERFORM SHOW-VARS + END-IF + MOVE ".........." TO X-DAT + MOVE "XXXXXXXXXX" TO X-ALPHA + MOVE "999999999" TO Y-DAT + MOVE "AAAAAAAAA" TO Y-ALPHA + IF X-DAT NOT EQUAL "....." OR + X-ALPHA NOT EQUAL "XXXXX" OR + Y-DAT NOT EQUAL "9" OR + Y-ALPHA NOT EQUAL "A" + DISPLAY "MOVES FROM LITERALS FAILED" + PERFORM SHOW-VARS + END-IF + MOVE X-DAT TO Y-DAT + MOVE Y-ALPHA TO X-ALPHA + IF X-DAT NOT EQUAL "....." OR + X-ALPHA NOT EQUAL "A " OR + Y-DAT NOT EQUAL "." OR + Y-ALPHA NOT EQUAL "A" + DISPLAY "MOVES FROM/TO VARS FAILED" + PERFORM SHOW-VARS + END-IF + MOVE "AAAAA" TO X-ALPHA + MOVE 1 TO LGX + INITIALIZE X-ALPHA + MOVE 10 TO LGX + IF X-ALPHA NOT EQUAL " AAAA " + DISPLAY "DIRECT VAR INITIALIZATION FAILED" + PERFORM SHOW-VARS + END-IF + MOVE 1 TO LGX + COMPUTE W-LEN = LENGTH OF X-DAT + IF W-LEN NOT EQUAL 10 + DISPLAY "UNEXPECTED RESULT FOR 'LENGTH OF X-DAT': " + W-LEN + PERFORM SHOW-VARS + END-IF + COMPUTE W-LEN = FUNCTION LENGTH (X-ALPHA) + IF W-LEN NOT EQUAL 1 + DISPLAY "UNEXPECTED RESULT FOR 'FUNCTION LENGTH " + "(X-ALPHA)': " W-LEN + PERFORM SHOW-VARS + END-IF + MOVE 9 TO LGY + MOVE ALL "A" TO Y-ALPHA + MOVE 5 TO LGY + INITIALIZE Y-ALPHA + MOVE 9 TO LGY + IF Y-ALPHA NOT EQUAL " AAAA" + DISPLAY "UNEXPECTED RESULT AFTER 'MOVE ALL/INITIALIZE': " + Y-ALPHA + PERFORM SHOW-VARS + END-IF + PERFORM CHECK-LATE-LVAR + STOP RUN + . + SHOW-VARS. + DISPLAY W-DATA "*" + DISPLAY X-DAT "*" X-ALPHA "*" Y-DAT "*" Y-ALPHA "*" + DISPLAY W-NESTED "*" + DISPLAY X-GRP "*" + DISPLAY X-V "*" + . + CHECK-LATE-LVAR. + MOVE "aa" TO Z-GRP (1:2) + MOVE 1 TO LGZ + MOVE SPACES TO Z-V + IF Z-GRP NOT EQUAL " a1" + DISPLAY "UNEXPECTED Z-GRP WITH NESTED LATE L-VAR: " + "*" Z-GRP "*" + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5743: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:5743" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5743" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5744: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:5744" +( $at_check_trace; $COBCRUN_DIRECT ./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:5744" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5745: \$COMPILE -fodoslide -o prog-x prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o prog-x prog.cob" "run_extensions.at:5745" +( $at_check_trace; $COMPILE -fodoslide -o prog-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=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:5745" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5746: \$COBCRUN_DIRECT ./prog-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog-x" "run_extensions.at:5746" +( $at_check_trace; $COBCRUN_DIRECT ./prog-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:5746" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1233 +#AT_START_1234 +at_fn_group_banner 1234 'run_extensions.at:5751' \ + "PICTURE L (under/over shoot)" " " 4 +at_xfail=no +( + printf "%s\n" "1234. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >under.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. under. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 X PICTURE LX(9) DEPENDING ON LGX. + 1 LGX PIC 9 VALUE 9. + PROCEDURE DIVISION. + MAIN. + MOVE 0 TO LGX + DISPLAY X + STOP RUN + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5768: \$COMPILE under.cob" +at_fn_check_prepare_dynamic "$COMPILE under.cob" "run_extensions.at:5768" +( $at_check_trace; $COMPILE under.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5768" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5769: \$COBCRUN_DIRECT ./under" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./under" "run_extensions.at:5769" +( $at_check_trace; $COBCRUN_DIRECT ./under +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: under.cob:11: error: OCCURS DEPENDING ON 'LGX' out of bounds: 0 +note: minimum subscript for 'FILLER 1': 1 +" | \ + $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:5769" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5773: \$COMPILE -fodoslide -o under-x under.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o under-x under.cob" "run_extensions.at:5773" +( $at_check_trace; $COMPILE -fodoslide -o under-x under.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5773" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5774: \$COBCRUN_DIRECT ./under-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./under-x" "run_extensions.at:5774" +( $at_check_trace; $COBCRUN_DIRECT ./under-x +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: under.cob:11: error: OCCURS DEPENDING ON 'LGX' out of bounds: 0 +note: minimum subscript for 'FILLER 1': 1 +" | \ + $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:5774" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >over.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. over. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 X PICTURE LX(5) DEPENDING ON LGX. + 1 LGX PIC 9 VALUE 9. + PROCEDURE DIVISION. + MAIN. + DISPLAY X + STOP RUN + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5792: \$COMPILE over.cob" +at_fn_check_prepare_dynamic "$COMPILE over.cob" "run_extensions.at:5792" +( $at_check_trace; $COMPILE over.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5792" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5793: \$COBCRUN_DIRECT ./over" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./over" "run_extensions.at:5793" +( $at_check_trace; $COBCRUN_DIRECT ./over +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: over.cob:10: error: OCCURS DEPENDING ON 'LGX' out of bounds: 9 +note: maximum subscript for 'FILLER 1': 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_extensions.at:5793" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5797: \$COMPILE -fodoslide -o over-x over.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o over-x over.cob" "run_extensions.at:5797" +( $at_check_trace; $COMPILE -fodoslide -o over-x over.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5797" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5798: \$COBCRUN_DIRECT ./over-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./over-x" "run_extensions.at:5798" +( $at_check_trace; $COBCRUN_DIRECT ./over-x +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; printf "%s\n" "libcob: over.cob:10: error: OCCURS DEPENDING ON 'LGX' out of bounds: 9 +note: maximum subscript for 'FILLER 1': 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_extensions.at:5798" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1234 +#AT_START_1235 +at_fn_group_banner 1235 'run_extensions.at:5806' \ + "PICTURE L (MOVE CORRESPONDING)" " " 4 +at_xfail=no +( + printf "%s\n" "1235. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >corr.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. corr. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-DATA. + 2 GA. + 3 X PICTURE X VALUE "X". + 3 YZ PICTURE XX VALUE "YZ". + 3 X1 PICTURE LX(5) DEPENDING ON LGX. + 2 GB. + 3 X1 PICTURE LX(5) DEPENDING ON LGX. + 3 X PICTURE X VALUE SPACE. + 2 GC. + 3 X1 PICTURE X(5) VALUE "+++++". + 1 LGX USAGE COMP-1 VALUE 5. + 1 CNT USAGE COMP-1. + PROCEDURE DIVISION. + MAIN. + MOVE "AAAAA" TO X1 OF GA + MOVE "BBBBB" TO X1 OF GB + IF X1 OF GA NOT EQUAL "AAAAA" OR + X1 OF GB NOT EQUAL "BBBBB" + DISPLAY "GLOBAL INITIALIZATION FAILED" + PERFORM SHOW-VARS + END-IF + MOVE 2 TO LGX + IF W-DATA NOT EQUAL "XYZAAAAABBBBB +++++" + DISPLAY "GROUP COMPARISON FAILED" + DISPLAY GA + PERFORM SHOW-VARS + END-IF + * From basic to pic-l field: curr size should be ignored + MOVE CORRESPONDING GC TO GA + IF X1 OF GA NOT EQUAL "++" OR + GA NOT EQUAL "XYZ+++++" + DISPLAY "MOVE CORRESPONDING GC TO GA: FAILED" + PERFORM SHOW-VARS + END-IF + * From pic-l to basic field: curr. size is ignored + MOVE CORRESPONDING GB TO GC + INSPECT X1 OF GC TALLYING CNT FOR ALL "B" + IF X1 OF GC NOT EQUAL "BBBBB" OR + CNT NOT EQUAL 5 + DISPLAY "MOVE CORRESPONDING GB TO GC: FAILED" + PERFORM SHOW-VARS + END-IF + * From pic-l to pic-l: sizes are ignored + MOVE CORRESPONDING GA TO GB + MOVE 0 TO CNT + INSPECT X1 OF GB TALLYING CNT FOR ALL "+" + MOVE 5 TO LGX + IF X1 OF GB NOT EQUAL "+++++" OR + X OF GB NOT EQUAL "X" OR + CNT NOT EQUAL 2 + DISPLAY "MOVE CORRESPONDING GA TO GB: FAILED" + PERFORM SHOW-VARS + END-IF + STOP RUN + . + SHOW-VARS. + DISPLAY "LGX: " LGX + DISPLAY "W-DATA: *" W-DATA "*" + DISPLAY "CNT: " CNT + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5876: \$COMPILE corr.cob" +at_fn_check_prepare_dynamic "$COMPILE corr.cob" "run_extensions.at:5876" +( $at_check_trace; $COMPILE corr.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5876" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5877: \$COBCRUN_DIRECT ./corr" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./corr" "run_extensions.at:5877" +( $at_check_trace; $COBCRUN_DIRECT ./corr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5877" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5878: \$COMPILE -fodoslide -o corr-x corr.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o corr-x corr.cob" "run_extensions.at:5878" +( $at_check_trace; $COMPILE -fodoslide -o corr-x corr.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5878" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5879: \$COBCRUN_DIRECT ./corr-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./corr-x" "run_extensions.at:5879" +( $at_check_trace; $COBCRUN_DIRECT ./corr-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:5879" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1235 +#AT_START_1236 +at_fn_group_banner 1236 'run_extensions.at:5884' \ + "PICTURE L (OCCURS ... PIC L)" " " 4 +at_xfail=no +( + printf "%s\n" "1236. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >nested.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. nested. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-DATA. + 2 A OCCURS 4 + PICTURE LX(3) DEPENDING ON LGX. + 2 B OCCURS 1 TO 10 DEPENDING ON LGY + PICTURE LX(3) DEPENDING ON LGX. + 1 LGX USAGE COMP-1 VALUE 3. + 1 LGY USAGE COMP-1 VALUE 4. + PROCEDURE DIVISION. + MAIN. + MOVE "AAAAAAAAAAAABBBBBBBBBBBB" TO W-DATA + IF W-DATA NOT EQUAL "AAAAAAAAAAAABBBBBBBBBBBB" OR + A (1) NOT EQUAL "AAA" + DISPLAY "GLOBAL INITIALIZATION FAILED" + DISPLAY A (1) + PERFORM SHOW-VARS + END-IF + MOVE "CCC" TO A (4) + IF W-DATA NOT EQUAL "AAAAAAAAACCCBBBBBBBBBBBB" OR + A (4) NOT EQUAL "CCC" + DISPLAY "MOVE TO A (4) FAILED" + DISPLAY A (4) + PERFORM SHOW-VARS + END-IF + MOVE A (3) TO B (2) + IF W-DATA NOT EQUAL "AAAAAAAAACCCBBBAAABBBBBB" OR + B (2) NOT EQUAL "AAA" + DISPLAY "MOVE A (3) TO B (2) FAILED" + DISPLAY B (2) + PERFORM SHOW-VARS + END-IF + MOVE 6 TO LGY + MOVE 2 TO LGX + * Operand of 'INITIALIZE' may not have 'OCCURS DEPENDING ON': + * INITIALIZE B (5) + MOVE SPACES TO B (5) + * *> NO ODOSLIDE: W-DATA EQUAL "AAAAAAAAACCCBBBAAABBBBBB " + * *> ODOSLIDE: W-DATA EQUAL "AAAAAAAAACCCBBBAAABB" + IF A (3) NOT EQUAL "AA" OR + A (4) NOT EQUAL "CC" OR + B (4) NOT EQUAL "BB" OR + B (5) NOT EQUAL " " + DISPLAY "MOVE 2,6 TO LGX,Y; INITIALIZE B (5); FAILED" + PERFORM SHOW-VARS + END-IF + STOP RUN + . + SHOW-VARS. + DISPLAY "W-DATA: *" W-DATA "*" + DISPLAY "LGX: " LGX + DISPLAY "LGY: " LGY + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5945: \$COMPILE nested.cob" +at_fn_check_prepare_dynamic "$COMPILE nested.cob" "run_extensions.at:5945" +( $at_check_trace; $COMPILE nested.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5945" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5946: \$COBCRUN_DIRECT ./nested" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./nested" "run_extensions.at:5946" +( $at_check_trace; $COBCRUN_DIRECT ./nested +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5946" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5947: \$COMPILE -fodoslide -o nested-x nested.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o nested-x nested.cob" "run_extensions.at:5947" +( $at_check_trace; $COMPILE -fodoslide -o nested-x nested.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:5947" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:5948: \$COBCRUN_DIRECT ./nested-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./nested-x" "run_extensions.at:5948" +( $at_check_trace; $COBCRUN_DIRECT ./nested-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:5948" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1236 +#AT_START_1237 +at_fn_group_banner 1237 'run_extensions.at:5953' \ + "PICTURE L (REDEFINES)" " " 4 +at_xfail=no +( + printf "%s\n" "1237. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >redefines.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. redefines. + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 W-DATA. + 2 UNUSED-1 PIC X VALUE "?". + 2 X-DAT PICTURE X(10). + 2 Y1-DAT REDEFINES X-DAT PICTURE LX(5) DEPENDING ON LGY. + 2 Y2-DAT REDEFINES X-DAT PICTURE LX(5) DEPENDING ON LGY. + 2 UNUSED-2 PIC X VALUE "!". + 2 Z-DAT PICTURE LX(7) DEPENDING ON LGZ. + 2 T-DAT REDEFINES Z-DAT PICTURE LX(7) DEPENDING ON LGT. + 2 UNUSED-3 PIC X VALUE ".". + 1 W-LGS. + 2 LGX PIC 99 VALUE 10. + 2 LGY PIC 9 VALUE 5. + 2 LGZ PIC 9 VALUE 7. + 2 LGT PIC 9 VALUE 5. + 1 W-DATA2. + 2 W-X. + 3 W-TAB0. + 4 W-PREFIX PIC X(5). + 4 PIC X(5). + 3 W-TAB1 REDEFINES W-TAB0 PIC LX(10) DEPENDING LG-TAB1. + 2 LG-TAB1 COMP-1. + PROCEDURE DIVISION. + MAIN. + MOVE "......." TO Z-DAT + MOVE 3 TO LGZ + MOVE "0123456789" TO X-DAT + IF Y1-DAT NOT EQUAL "01234" OR + Y2-DAT NOT EQUAL "01234" + DISPLAY "INITIAL MOVE FAILED" + PERFORM SHOW-VARS + END-IF + MOVE "0123456" TO Z-DAT. + IF T-DAT NOT EQUAL "012.." OR + Z-DAT NOT EQUAL "012" + DISPLAY "SECOND MOVE FAILED" + PERFORM SHOW-VARS + END-IF + * Initialize group containing PICTURE L field: curr. size should be ignored + MOVE 1 TO LGZ + INITIALIZE W-DATA + MOVE 7 TO LGT + IF T-DAT NOT EQUAL " " + DISPLAY "UNEXPECTED T-DAT AFTER 'INITIALIZE W-DATA': " + T-DAT + PERFORM SHOW-VARS + END-IF + * Initialize PICTURE L field: curr. size is ignored + MOVE "???????" TO T-DAT + INITIALIZE Z-DAT + MOVE 2 TO LGZ + IF T-DAT NOT EQUAL " ??????" OR + Z-DAT NOT EQUAL " ?" + DISPLAY "UNEXPECTED T-DAT/Z-DAT AFTER " + "'INITIALIZE Z-DAT': " T-DAT "/" Z-DAT "*" + PERFORM SHOW-VARS + END-IF + * Basic manipulation for late DEPENDING var + MOVE "aaaaaaaaaa" TO W-TAB0 + MOVE 5 TO LG-TAB1 + IF W-TAB1 NOT EQUAL "aaaaa" + DISPLAY "UNEXPECTED W-TAB1 WITH LATE L-VAR: *" W-TAB1 "*" + END-IF + IF W-X NOT EQUAL "aaaaaaaaaa" + DISPLAY "UNEXPECTED W-X WITH NESTED LATE L-VAR: *" W-X "*" + END-IF + STOP RUN + . + SHOW-VARS. + DISPLAY X-DAT "*" Y1-DAT "*" Y2-DAT "*" T-DAT "*" Z-DAT "*" + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6033: \$COMPILE redefines.cob" +at_fn_check_prepare_dynamic "$COMPILE redefines.cob" "run_extensions.at:6033" +( $at_check_trace; $COMPILE redefines.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6033" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6034: \$COBCRUN_DIRECT ./redefines" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./redefines" "run_extensions.at:6034" +( $at_check_trace; $COBCRUN_DIRECT ./redefines +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6034" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6035: \$COMPILE -fodoslide -o redefines-x redefines.cob" +at_fn_check_prepare_dynamic "$COMPILE -fodoslide -o redefines-x redefines.cob" "run_extensions.at:6035" +( $at_check_trace; $COMPILE -fodoslide -o redefines-x redefines.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6035" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6036: \$COBCRUN_DIRECT ./redefines-x" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./redefines-x" "run_extensions.at:6036" +( $at_check_trace; $COBCRUN_DIRECT ./redefines-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:6036" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1237 +#AT_START_1238 +at_fn_group_banner 1238 'run_extensions.at:6041' \ + "INSPECT TRAILING" " " 4 +at_xfail=no +( + printf "%s\n" "1238. $at_setup_line: testing $at_desc ..." + $at_traceon + # Note: TRAILING is an extension + + +cat >prog.cob <<'_ATEOF' + + identification division. + program-id. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 01 W01-STRING PIC X(20) VALUE '0123456789'. + 01 W01-INDEX PIC 9(04) BINARY. + + PROCEDURE DIVISION. + *> + MOVE 0 TO W01-INDEX. + INSPECT W01-STRING + TALLYING W01-INDEX FOR TRAILING SPACE. + IF W01-INDEX NOT = 10 + THEN + DISPLAY 'Bad Result for Inspect Trailing Case 1' + END-IF. + *> + INSPECT W01-STRING REPLACING TRAILING SPACE BY 'A'. + IF W01-STRING NOT = '0123456789AAAAAAAAAA' + THEN + DISPLAY 'Bad Result for Inspect Trailing Case 2' + END-IF. + *> + MOVE 0 TO W01-INDEX. + INSPECT W01-STRING + TALLYING W01-INDEX FOR TRAILING SPACE + REPLACING TRAILING 'A' BY 'B'. + *> + IF W01-STRING NOT = '0123456789BBBBBBBBBB' + THEN + DISPLAY 'Bad Result for Inspect Trailing Case 3' + END-IF. + *> + MOVE 0 TO W01-INDEX. + MOVE SPACES TO W01-STRING. + INSPECT W01-STRING + TALLYING W01-INDEX FOR TRAILING 'A'. + *> + IF W01-INDEX NOT = 0 + THEN + DISPLAY 'Bad Result for Inspect Trailing Case 4' + W01-INDEX + END-IF. + *> + MOVE 0 TO W01-INDEX. + MOVE SPACES TO W01-STRING. + INSPECT W01-STRING + TALLYING W01-INDEX FOR TRAILING SPACES. + *> + IF W01-INDEX NOT = 20 + THEN + DISPLAY 'Bad Result for Inspect Trailing Case 5' + W01-INDEX + END-IF. + *> + GOBACK. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6105: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:6105" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6105" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6106: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6106" +( $at_check_trace; $COBCRUN_DIRECT ./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:6106" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1238 +#AT_START_1239 +at_fn_group_banner 1239 'run_extensions.at:6111' \ + "INSPECT REPLACING TRAILING ZEROS BY SPACES" " " 4 +at_xfail=no +( + printf "%s\n" "1239. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6127: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:6127" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6127" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6128: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6128" +( $at_check_trace; $COBCRUN_DIRECT ./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:6128" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1239 +#AT_START_1240 +at_fn_group_banner 1240 'run_extensions.at:6133' \ + "INSPECT REPLACING complex" " " 4 +at_xfail=no +( + printf "%s\n" "1240. $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 "AZABBCDCCECC". + PROCEDURE DIVISION. + INSPECT X REPLACING + ALL "A" BY "Z" + "B" BY "Y" + "Z" BY "0" + TRAILING "C" BY "X" + IF X NOT = "Z0ZYYCDCCEXX" + DISPLAY "1 - " X. + + INSPECT X REPLACING + CHARACTERS BY SPACES + BEFORE "C" AFTER "0" + CHARACTERS BY ZEROES + BEFORE "E" AFTER "C" + IF X NOT = "Z0 C000EXX" + DISPLAY "2 - " X. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6162: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:6162" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6162" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6163: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6163" +( $at_check_trace; $COBCRUN_DIRECT ./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:6163" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1240 +#AT_START_1241 +at_fn_group_banner 1241 'run_extensions.at:6170' \ + "EXAMINE TALLYING" " " 4 +at_xfail=no +( + printf "%s\n" "1241. $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) VALUE "AABABCAB". + 01 N PIC S9(5)V9(2) VALUE -11122.55. + 01 T PIC X(10) VALUE " 8 ". + PROCEDURE DIVISION. + EXAMINE X TALLYING ALL "A" + IF TALLY NOT = 4 + DISPLAY "Should be 4 but is " TALLY. + EXAMINE X TALLYING LEADING "A" + IF TALLY NOT = 2 + DISPLAY "Should be 2 but is " TALLY. + EXAMINE X TALLYING UNTIL FIRST "C" + IF TALLY NOT = 5 + DISPLAY "Should be 5 but is " TALLY. + EXAMINE X TALLYING ALL "A" REPLACING BY "Z" + IF TALLY NOT = 4 + DISPLAY "Should be 4 but is " TALLY. + IF X NOT = "ZZBZBCZB" + DISPLAY "Should be ZZBZBCZB but is " X. + EXAMINE X TALLYING LEADING "Z" REPLACING BY "A" + IF TALLY NOT = 2 + DISPLAY "Should be 2 but is " TALLY. + IF X NOT = "AABZBCZB" + DISPLAY "Should be AABZBCZB but is " X. + EXAMINE X TALLYING UNTIL FIRST "C" REPLACING BY "X" + IF TALLY NOT = 5 + DISPLAY "Should be 5 but is " TALLY. + IF X NOT = "XXXXXCZB" + DISPLAY "Should be XXXXXCZB but is " X. + EXAMINE X TALLYING UNTIL FIRST "Y" REPLACING BY "Y" + IF TALLY NOT = 8 + DISPLAY "Should be 8 but is " TALLY. + IF X NOT = "YYYYYYYY" + DISPLAY "Should be YYYYYYYY but is " X. + EXAMINE N TALLYING UNTIL FIRST 5 REPLACING BY 8 + IF N NOT = -88888.55 + DISPLAY "Should be -88888.55 but is " N. + * Re-mod is forbidden here (at least on GCOS): + * EXAMINE N TALLYING LEADING T (5:1) + * IF TALLY NOT = 5 + * DISPLAY "Should be 5 but is " TALLY. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6221: \$COMPILE -freserved=EXAMINE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -freserved=EXAMINE prog.cob" "run_extensions.at:6221" +( $at_check_trace; $COMPILE -freserved=EXAMINE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6221" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6222: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6222" +( $at_check_trace; $COBCRUN_DIRECT ./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:6222" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1241 +#AT_START_1242 +at_fn_group_banner 1242 'run_extensions.at:6227' \ + "EXAMINE REPLACING" " " 4 +at_xfail=no +( + printf "%s\n" "1242. $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) VALUE "AABABCAB". + 01 Y PIC X VALUE "Y". + 01 N PIC S9(5) VALUE -11122. + PROCEDURE DIVISION. + EXAMINE X REPLACING ALL "A" BY "X" + IF X NOT = "XXBXBCXB" + DISPLAY "Should be XXBXBCXB but is " X. + EXAMINE X REPLACING LEADING "X" BY "Y" + IF X NOT = "YYBXBCXB" + DISPLAY "Should be YYBXBCXB but is " X. + EXAMINE X REPLACING FIRST "B" BY "C" + IF X NOT = "YYCXBCXB" + DISPLAY "Should be YYCXBCXB but is " X. + EXAMINE X REPLACING UNTIL FIRST "B" BY "Z" + IF X NOT = "ZZZZBCXB" + DISPLAY "Should be ZZZZBCXB but is " X. + EXAMINE N REPLACING ALL 1 BY 3 + IF N NOT = -33322 + DISPLAY "Should be -33322 but is " N. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6257: \$COMPILE -freserved=EXAMINE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -freserved=EXAMINE prog.cob" "run_extensions.at:6257" +( $at_check_trace; $COMPILE -freserved=EXAMINE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6257" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6258: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6258" +( $at_check_trace; $COBCRUN_DIRECT ./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:6258" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1242 +#AT_START_1243 +at_fn_group_banner 1243 'run_extensions.at:6263' \ + "GCOS literals with EBCDIC symbols (run)" " " 4 +at_xfail=no +( + printf "%s\n" "1243. $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(11). + 01 T PIC 9. + 01 S USAGE COMP-1 VALUE ZERO. + PROCEDURE DIVISION. + MOVE 1 TO T + MOVE ""135,151,151"bar"195,194,234"" TO X + IF X NOT EQUAL "foobarBAZ" PERFORM SHOW. + + MOVE 2 TO T + MOVE " "135,151,151"bar"195 194"Z" TO X + IF X NOT EQUAL " foobarBAZ" PERFORM SHOW. + + MOVE 3 TO T + MOVE ' '135 151,151'bar'195,194'Z' TO X + IF X NOT EQUAL " foobarBAZ" PERFORM SHOW. + + MOVE 4 TO T + MOVE ""75,80,91"" TO X + IF X NOT EQUAL "[!]" PERFORM SHOW. + + STOP RUN S. + SHOW. + DISPLAY "EBCDIC LIT " T " FAILED: X = """ X """" + MOVE 1 TO S. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6297: \$COMPILE -febcdic-symbolic-characters -febcdic-table=ebcdic500_latin1 prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -febcdic-symbolic-characters -febcdic-table=ebcdic500_latin1 prog.cob" "run_extensions.at:6297" +( $at_check_trace; $COMPILE -febcdic-symbolic-characters -febcdic-table=ebcdic500_latin1 prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_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:6297" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_extensions.at:6298: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_extensions.at:6298" +( $at_check_trace; $COBCRUN_DIRECT ./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:6298" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1243 +#AT_START_1244 +at_fn_group_banner 1244 'run_ml.at:19' \ + "XML GENERATE general" " " 4 +at_xfail=no +( + printf "%s\n" "1244. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:22" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:22" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 namespace-str PIC X(100) + VALUE 'http://www.w3.org/1999/xhtml'. + 01 prefix-str PIC X(100) VALUE 'pre'. + + 01 out PIC X(200). + 01 rec. + 03 a PIC X(3) VALUE 'A'. + 03 b PIC X(3) VALUE ALL 'B'. + 03 c. + 05 d PIC X(3) VALUE SPACES. + + 01 0SpecialTAGName PIC X(3) VALUE "abc". + + 01 employee. + 05 id PIC 9(1) value 1. + 05 name PIC X(10) value "Someone". + 05 dept PIC X(10) value "Marketing". + + PROCEDURE DIVISION. + XML GENERATE out + FROM rec + WITH XML-DECLARATION + NAME OF a IS 'alpha', d IS 'ABCDEF'; + TYPE OF a IS ATTRIBUTE + SUPPRESS WHEN SPACES + IF out <> '' & X'0A' + & 'BBB' + DISPLAY 'Test 1 failed: ' FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM d + IF out <> ' ' + DISPLAY 'Test 2 failed: ' FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM c, WITH ATTRIBUTES. + IF out <> '' + DISPLAY 'Test 3 failed: ' FUNCTION TRIM (out) + END-IF + + MOVE ALL 'A' TO a + MOVE ALL 'C' TO c + XML GENERATE out FROM rec, TYPE OF a IS CONTENT, + b IS CONTENT, d IS CONTENT + IF out <> 'AAABBBCCC' + DISPLAY 'Test 4 failed: ' FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM rec, TYPE OF a IS CONTENT, d IS CONTENT + IF out <> 'AAABBBCCC' + DISPLAY 'Test 5 failed: ' FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM c, NAMESPACE namespace-str, + NAMESPACE-PREFIX prefix-str + IF out <> ''- + 'CCC' + DISPLAY 'Test 6 failed: ' FUNCTION TRIM (out) + " " XML-CODE + END-IF + + MOVE SPACES TO namespace-str, prefix-str + XML GENERATE out FROM c, NAMESPACE namespace-str, + NAMESPACE-PREFIX prefix-str + IF out <> 'CCC' + DISPLAY 'Test 7 failed: ' FUNCTION TRIM (out) + END-IF + + MOVE ALL "&" TO d + XML GENERATE out FROM d + IF out <> '&&&' + DISPLAY 'Test 8 failed: ' FUNCTION TRIM (out) + END-IF + + *> Test the case of the id in the DATA DIVISION is preserved. + XML GENERATE out FROM 0specialtagname + IF out <> '<_0SpecialTAGName>abc' + DISPLAY 'Test 9 failed: ' FUNCTION TRIM (out) + END-IF + . + + *> Another test with mixed attributes and values + XML GENERATE out FROM EMPLOYEE TYPE OF ID IS ATTRIBUTE + IF out <> ''- + 'Someone'- + 'Marketing'- + '' + DISPLAY 'Test 10 failed: ' FUNCTION TRIM (out) + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:122: \$COMPILE -fnot-reserved=ID prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnot-reserved=ID prog.cob" "run_ml.at:122" +( $at_check_trace; $COMPILE -fnot-reserved=ID prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:122" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:123: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:123" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1244 +#AT_START_1245 +at_fn_group_banner 1245 'run_ml.at:127' \ + "XML GENERATE SUPPRESS" " " 4 +at_xfail=no +( + printf "%s\n" "1245. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:130" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:130" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a. + 03 b PIC X(3) VALUE SPACES. + 03 c PIC X(3) VALUE SPACES. + + 01 p. + 03 q PIC 9(3) VALUE ZERO. + 03 r PIC X(3) VALUE "abc". + + 01 x. + 03 y. + 05 z PIC X VALUE SPACE. + + 01 out PIC X(100). + + PROCEDURE DIVISION. + XML GENERATE out FROM a SUPPRESS WHEN SPACES + IF out <> '' + DISPLAY 'Test 1 failed: ' out + END-IF + + XML GENERATE out FROM a SUPPRESS b WHEN SPACES + IF out <> ' ' + DISPLAY 'Test 2 failed: ' out + END-IF + + XML GENERATE out FROM a SUPPRESS EVERY NONNUMERIC WHEN SPACES + IF out <> '' + DISPLAY 'Test 3 failed: ' out + END-IF + + XML GENERATE out FROM p + WITH ATTRIBUTES + SUPPRESS EVERY ATTRIBUTE WHEN ZERO + IF out <> '

' + DISPLAY 'Test 4 failed: ' out + END-IF + + XML GENERATE out FROM a + SUPPRESS c WHEN LOW-VALUES, c WHEN SPACES, + c WHEN LOW-VALUES, + EVERY ELEMENT WHEN SPACES + IF out <> ' ' + DISPLAY 'Test 5 failed: ' out + END-IF + + MOVE HIGH-VALUES TO b + MOVE LOW-VALUES TO c + XML GENERATE out FROM a + SUPPRESS EVERY ELEMENT WHEN HIGH-VALUES OR LOW-VALUES + OR ZEROES OR SPACES + IF out <> '' + DISPLAY 'Test 6 failed: ' out + END-IF + + XML GENERATE out FROM x SUPPRESS z WHEN SPACE + IF out <> '' + DISPLAY 'Test 7 failed: ' out + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:199: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:199" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:199" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:200: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:200" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:200" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1245 +#AT_START_1246 +at_fn_group_banner 1246 'run_ml.at:204' \ + "XML GENERATE exceptions" " " 4 +at_xfail=no +( + printf "%s\n" "1246. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:207" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:207" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 normal-str PIC X(200). + + 01 valid-rec. + 03 a PIC XX VALUE "aa". + 03 b PIC XX VALUE "bb". + 01 short-str PIC X(5). + 01 short-str2 PIC X(22). + 01 xml-len PIC 99. + + 01 valid-namespace CONSTANT "http://www.w3.org/1999/xhtml". + 01 invalid-namespace CONSTANT X"00". + 01 invalid-prefix PIC XXX VALUE "#<>". + 01 invalid-content PIC X(3) VALUE X"8AFF00". + 01 count-in-too-small PIC 9. + + PROCEDURE DIVISION. + MOVE ALL 'A' TO short-str + XML GENERATE short-str FROM valid-rec + COUNT IN xml-len + IF XML-CODE <> 400 + OR short-str <> " 42 + *> FIXME: should be + *> OR short-str <> "AAAAA" + *> OR xml-len <> 0 + DISPLAY "Failed 1a: " short-str " " xml-len " " XML-CODE + END-IF + MOVE ALL 'B' TO short-str2 + XML GENERATE short-str2 FROM valid-rec + COUNT IN xml-len + IF XML-CODE <> 400 + OR short-str2 <> "aa 42 + *> FIXME: should be + *> OR short-str2 <> "aaBB" + *> OR xml-len <> 20 + DISPLAY "Failed 1b: " short-str2 " " xml-len " " XML-CODE + END-IF + + XML GENERATE normal-str FROM valid-rec + NAMESPACE invalid-namespace + IF XML-CODE <> 416 + DISPLAY "Failed 2: " FUNCTION TRIM (normal-str) + " " XML-CODE + END-IF + + XML GENERATE normal-str FROM invalid-content + IF XML-CODE <> 417 + OR normal-str <> '8aff00' + DISPLAY "Failed 3: " FUNCTION TRIM (normal-str) + " " XML-CODE + END-IF + + XML GENERATE normal-str FROM valid-rec + NAMESPACE "http://www.w3.org/1999/xhtml" + NAMESPACE-PREFIX invalid-prefix + IF XML-CODE <> 419 + DISPLAY "Failed 4: " FUNCTION TRIM (normal-str) + " " XML-CODE + END-IF + + XML GENERATE normal-str FROM valid-rec + ON EXCEPTION + DISPLAY "Failed 5: EXCEPTION " + FUNCTION TRIM (normal-str) + " " XML-CODE + END-DISPLAY + *> The END-DISPLAY is important! Otherwise the DISPLAY will + *> take the NOT ON EXCEPTION. + + NOT ON EXCEPTION + IF XML-CODE <> 0 + DISPLAY "Failed 5: NOT EXCEPTION " + FUNCTION TRIM (normal-str) + " " XML-CODE + END-IF + END-XML + + XML GENERATE short-str FROM valid-rec + NOT EXCEPTION + DISPLAY "Failed 6: NOT EXCEPTION " + FUNCTION TRIM (normal-str) + " " XML-CODE + END-DISPLAY + + EXCEPTION + IF XML-CODE <> 400 + DISPLAY "Failed 6: ON EXCEPTION " + FUNCTION TRIM (normal-str) + " " XML-CODE + END-IF + END-XML + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:311: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:311" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:311" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:312: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:312" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:312" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1246 +#AT_START_1247 +at_fn_group_banner 1247 'run_ml.at:316' \ + "XML GENERATE record selection" " " 4 +at_xfail=no +( + printf "%s\n" "1247. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:319" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:319" + +# TO-DO: Add support for generating OCCURS items. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a. + 03 b. + 05 c1 PIC X(3) VALUE "abc". + 05 c2 PIC 9(3) VALUE 0. + 03 d REDEFINES b. + 05 e PIC X(6). + 03 f PIC X OCCURS 3 VALUE "f". + + 66 h RENAMES c1 THRU c2. + + 01 out PIC X(60). + + PROCEDURE DIVISION. + *> XML GENERATE out FROM a + *> IF out <> 'abc0ff'- + *> 'f' + *> DISPLAY "Failed 1: " FUNCTION TRIM (out) + *> END-IF + + XML GENERATE out FROM d + IF out <> 'abc000' + DISPLAY "Failed 2: " FUNCTION TRIM (out) + END-IF + . + END PROGRAM prog. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:355: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:355" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:355" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:356: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:356" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.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_1247 +#AT_START_1248 +at_fn_group_banner 1248 'run_ml.at:360' \ + "XML GENERATE trimming" " " 4 +at_xfail=no +( + printf "%s\n" "1248. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:363" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:363" + +# TO-DO: Add support for IBM/COBOL 2002 edited floating point, e.g. PIC 9(3)E+99. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 str PIC X(3) VALUE "ab". + 01 num-edited PIC 99.99 VALUE "01.00". + 01 leading-zeroes PIC 9(5) VALUE 5. + 01 decimal-num PIC 99V999 PACKED-DECIMAL VALUE 0.12. + 01 signed-decimal-num PIC S999 COMP-X VALUE -1. + 01 comp-5-item PIC 9(10) COMP-5 VALUE 5. + 01 index-item INDEX. + 01 float-short-item FLOAT-SHORT VALUE 100. + 01 float-long-item FLOAT-LONG VALUE 123.0E-10. + 01 just-item PIC X(10) JUST. + 01 integer-with-p PIC 999PPP VALUE 10000. + 01 decimal-with-p PIC VPP99 VALUE 0.0004. + + 01 out PIC X(300). + + PROCEDURE DIVISION. + XML GENERATE out FROM str + IF out <> 'ab' + DISPLAY "Failed 1: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM num-edited + IF out <> '01.00' + DISPLAY "Failed 2: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM leading-zeroes + IF out <> '5' + DISPLAY "Failed 3: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM decimal-num + IF out <> '0.120' + DISPLAY "Failed 4: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM signed-decimal-num + IF out <> '-1' + DISPLAY "Failed 5: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM comp-5-item + IF out <> '5' + DISPLAY "Failed 6: " FUNCTION TRIM (out) + END-IF + + SET index-item TO 500 + XML GENERATE out FROM index-item + IF out <> '500' + DISPLAY "Failed 7: " FUNCTION TRIM (out) + END-IF + + *> XML GENERATE out FROM float-short-item + *> IF out <> '1E+02' + *> DISPLAY "Failed 8: " FUNCTION TRIM (out) + *> END-IF + + *> XML GENERATE out FROM float-long-item + *> IF out <> '123E-10' + *> DISPLAY "Failed 9: " FUNCTION TRIM (out) + *> END-IF + + MOVE "blah " TO just-item + XML GENERATE out FROM just-item + IF out <> 'blah ' + DISPLAY "Failed 10: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM integer-with-p + IF out <> '10000' + DISPLAY "Failed 11: " FUNCTION TRIM (out) + END-IF + + XML GENERATE out FROM decimal-with-p + IF out <> '0.0004' + DISPLAY "Failed 12: " FUNCTION TRIM (out) + END-IF + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:452: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:452" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:452" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:453: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:453" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.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_1248 +#AT_START_1249 +at_fn_group_banner 1249 'run_ml.at:457' \ + "XML DPC-IN-DATA directive" " " 4 +at_xfail=no +( + printf "%s\n" "1249. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:460" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:460" + +cat >prog.cob <<'_ATEOF' + + $SET DPC-IN-DATA "JSON" + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + DECIMAL-POINT IS COMMA. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 9V9 VALUE 1,1. + 01 out PIC X(100). + + PROCEDURE DIVISION. + XML GENERATE out FROM num + IF out <> '1.1' + DISPLAY "Failed: " FUNCTION TRIM (out). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:483: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:483" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:484: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:484" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:484" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1249 +#AT_START_1250 +at_fn_group_banner 1250 'run_ml.at:488' \ + "XML dpc-in-data config option" " " 4 +at_xfail=no +( + printf "%s\n" "1250. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:491" >"$at_check_line_file" +(test "$COB_HAS_XML2" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:491" + +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 num PIC 9V9 VALUE 1,1. + 01 out PIC X(100). + + PROCEDURE DIVISION. + XML GENERATE out FROM num + DISPLAY FUNCTION TRIM(out) + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:513: \$COMPILE -fdpc-in-data=none prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=none prog.cob" "run_ml.at:513" +( $at_check_trace; $COMPILE -fdpc-in-data=none prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:513" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:514: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:514" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1.1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:514" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:517: \$COMPILE -fdpc-in-data=xml prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=xml prog.cob" "run_ml.at:517" +( $at_check_trace; $COMPILE -fdpc-in-data=xml prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:517" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:518: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:518" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1,1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:518" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:521: \$COMPILE -fdpc-in-data=json prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=json prog.cob" "run_ml.at:521" +( $at_check_trace; $COMPILE -fdpc-in-data=json prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:521" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:522: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:522" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1.1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:522" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:525: \$COMPILE -fdpc-in-data=all prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=all prog.cob" "run_ml.at:525" +( $at_check_trace; $COMPILE -fdpc-in-data=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_ml.at:525" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:526: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:526" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "1,1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:526" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1250 +#AT_START_1251 +at_fn_group_banner 1251 'run_ml.at:532' \ + "JSON GENERATE general" " " 4 +at_xfail=no +( + printf "%s\n" "1251. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:535" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:535" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 out PIC X(200). + 01 rec. + 03 a PIC X(3) VALUE 'A'. + 03 b PIC X(3) VALUE ALL 'B'. + 03 c. + 05 d PIC X(3) VALUE SPACES. + + PROCEDURE DIVISION. + JSON GENERATE out + FROM rec + NAME OF a IS 'alpha', d IS 'ABCDEF' + SUPPRESS c + IF out <> '{"rec":{"alpha":"A","b":"BBB"}}' + DISPLAY 'Test 1 failed: ' FUNCTION TRIM (out) + END-IF + JSON GENERATE out + FROM rec + NAME OF a IS 'alpha', rec IS OMITTED + SUPPRESS c + IF out <> '{"alpha":"A","b":"BBB"}' + DISPLAY 'Test 2 failed: ' FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM d + IF out <> '{"d":" "}' + DISPLAY 'Test 3 failed: ' FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM c + IF out <> '{"c":{"d":" "}}' + DISPLAY 'Test 4 failed: ' FUNCTION TRIM (out) + END-IF + + MOVE ALL QUOTES TO d + JSON GENERATE out FROM d + IF out <> '{"d":"\"\"\""}' + DISPLAY 'Test 5 failed: ' FUNCTION TRIM (out) + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:584: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.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_ml.at:584" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:585: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:585" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:585" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1251 +#AT_START_1252 +at_fn_group_banner 1252 'run_ml.at:589' \ + "JSON GENERATE SUPPRESS" " " 4 +at_xfail=no +( + printf "%s\n" "1252. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:592" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:592" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a. + 03 b PIC X(3) VALUE SPACES. + 03 c PIC X(3) VALUE SPACES. + + 01 x. + 03 y. + 05 z PIC X VALUE SPACE. + + 01 out PIC X(100). + + PROCEDURE DIVISION. + JSON GENERATE out FROM a SUPPRESS b + IF out <> '{"a":{"c":" "}}' + DISPLAY 'Test 1 failed: ' out + END-IF + + JSON GENERATE out FROM x SUPPRESS z + IF out <> '{"x":{}}' + DISPLAY 'Test 2 failed: ' out + END-IF + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:623: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:623" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:623" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:624: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:624" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:624" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1252 +#AT_START_1253 +at_fn_group_banner 1253 'run_ml.at:628' \ + "JSON GENERATE exceptions" " " 4 +at_xfail=no +( + printf "%s\n" "1253. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:631" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:631" + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 normal-str PIC X(200). + + 01 valid-rec. + 03 a PIC XX VALUE "aa". + 03 b PIC XX VALUE "bb". + 01 short-str PIC X(5). + 01 json-len PIC 99. + + PROCEDURE DIVISION. + JSON GENERATE short-str FROM valid-rec + COUNT IN json-len + IF short-str <> '{"val' + OR json-len <> 33 + OR JSON-CODE <> 1 + DISPLAY "Failed 1: " short-str " " json-len " " JSON-CODE + END-IF + + JSON GENERATE normal-str FROM valid-rec + ON EXCEPTION + DISPLAY "Failed 2: EXCEPTION " + FUNCTION TRIM (normal-str) + " " JSON-CODE + END-DISPLAY + + NOT ON EXCEPTION + IF JSON-CODE <> 0 + DISPLAY "Failed 2: NOT EXCEPTION " + FUNCTION TRIM (normal-str) + " " JSON-CODE + END-IF + END-JSON + + JSON GENERATE short-str FROM valid-rec + NOT EXCEPTION + DISPLAY "Failed 3: NOT EXCEPTION " + FUNCTION TRIM (normal-str) + " " JSON-CODE + END-DISPLAY + + EXCEPTION + IF JSON-CODE <> 1 + DISPLAY "Failed 3: ON EXCEPTION " + FUNCTION TRIM (normal-str) + " " JSON-CODE + END-IF + END-JSON + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:688: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:688" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:688" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:689: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:689" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:689" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1253 +#AT_START_1254 +at_fn_group_banner 1254 'run_ml.at:693' \ + "JSON GENERATE record selection" " " 4 +at_xfail=no +( + printf "%s\n" "1254. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:696" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:696" + +# TO-DO: Add support for generating OCCURS items. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 a. + 03 b. + 05 c1 PIC X(3) VALUE "abc". + 05 c2 PIC 9(3) VALUE 0. + 03 d REDEFINES b. + 05 e PIC X(6). + 03 f PIC X OCCURS 3 VALUE "f". + + 66 h RENAMES c1 THRU c2. + + 01 out PIC X(60). + + PROCEDURE DIVISION. + *> JSON GENERATE out FROM a + *> IF out <> 'abc0ff'- + *> 'f' + *> DISPLAY "Failed 1: " FUNCTION TRIM (out) + *> END-IF + + JSON GENERATE out FROM d + IF out <> '{"d":{"e":"abc000"}}' + DISPLAY "Failed 2: " FUNCTION TRIM (out) + END-IF + . + END PROGRAM prog. +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:732: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:732" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:732" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:733: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:733" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.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_1254 +#AT_START_1255 +at_fn_group_banner 1255 'run_ml.at:737' \ + "JSON GENERATE trimming" " " 4 +at_xfail=no +( + printf "%s\n" "1255. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:740" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:740" + +# TO-DO: Add support for IBM/COBOL 2002 edited floating point (e.g. PIC 9(3)E+99). + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 str PIC X(3) VALUE "ab". + 01 num-edited PIC 99.99 VALUE "01.00". + 01 leading-zeroes PIC 9(5) VALUE 5. + 01 decimal-nums. + 03 decimal-num PIC 99V999 PACKED-DECIMAL VALUE 0.12. + 03 decimal-num-2 PIC 99V9 VALUE 0.1. + 01 signed-decimal-num PIC S999 COMP-X VALUE -1. + 01 comp-5-item PIC 9(10) COMP-5 VALUE 5. + 01 index-item INDEX. + 01 float-short-item FLOAT-SHORT VALUE 100. + 01 float-long-item FLOAT-LONG VALUE 123.0E-10. + 01 just-item PIC X(10) JUST. + 01 integer-with-p PIC 999PPP VALUE 10000. + 01 decimal-with-p PIC VPP99 VALUE 0.0004. + + 01 out PIC X(300). + + PROCEDURE DIVISION. + JSON GENERATE out FROM str + IF out <> '{"str":"ab"}' + DISPLAY "Failed 1: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM num-edited + IF out <> '{"num-edited":"01.00"}' + DISPLAY "Failed 2: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM leading-zeroes + IF out <> '{"leading-zeroes":5}' + DISPLAY "Failed 3: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM decimal-nums + IF out <> '{"decimal-nums":{"decimal-num":0.120,'- + '"decimal-num-2":0.1}}' + DISPLAY "Failed 4: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM signed-decimal-num + IF out <> '{"signed-decimal-num":-1}' + DISPLAY "Failed 5: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM comp-5-item + IF out <> '{"comp-5-item":5}' + DISPLAY "Failed 6: " FUNCTION TRIM (out) + END-IF + + SET index-item TO 500 + JSON GENERATE out FROM index-item + IF out <> '{"index-item":500}' + DISPLAY "Failed 7: " FUNCTION TRIM (out) + END-IF + + *> JSON GENERATE out FROM float-short-item + *> IF out <> '{"float-short-item":1E+02}' + *> DISPLAY "Failed 8: " FUNCTION TRIM (out) + *> END-IF + + *> JSON GENERATE out FROM float-long-item + *> IF out <> '{"float-long-item":123E-10}' + *> DISPLAY "Failed 9: " FUNCTION TRIM (out) + *> END-IF + + MOVE "blah " TO just-item + JSON GENERATE out FROM just-item + IF out <> '{"just-item":"blah "}' + DISPLAY "Failed 10: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM integer-with-p + IF out <> '{"integer-with-p":10000}' + DISPLAY "Failed 11: " FUNCTION TRIM (out) + END-IF + + JSON GENERATE out FROM decimal-with-p + IF out <> '{"decimal-with-p":0.0004}' + DISPLAY "Failed 12: " FUNCTION TRIM (out) + END-IF + . +_ATEOF + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:832: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:832" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:832" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:833: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:833" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:833" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1255 +#AT_START_1256 +at_fn_group_banner 1256 'run_ml.at:837' \ + "JSON DPC-IN-DATA directive" " " 4 +at_xfail=no +( + printf "%s\n" "1256. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:840" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:840" + +cat >prog.cob <<'_ATEOF' + + $SET DPC-IN-DATA "JSON" + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SPECIAL-NAMES. + DECIMAL-POINT IS COMMA. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 num PIC 9V9 VALUE 1,1. + 01 out PIC X(100). + + PROCEDURE DIVISION. + JSON GENERATE out FROM num + IF out <> '{"num":1,1}' + DISPLAY "Failed: " FUNCTION TRIM (out). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:863: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_ml.at:863" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:863" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:864: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:864" +( $at_check_trace; $COBCRUN_DIRECT ./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_ml.at:864" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1256 +#AT_START_1257 +at_fn_group_banner 1257 'run_ml.at:868' \ + "JSON dpc-in-data config option" " " 4 +at_xfail=no +( + printf "%s\n" "1257. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "run_ml.at:871" >"$at_check_line_file" +(test "$COB_HAS_JSON" = "no") \ + && at_fn_check_skip 77 "$at_srcdir/run_ml.at:871" + +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 num PIC 9V9 VALUE 1,1. + 01 out PIC X(100). + + PROCEDURE DIVISION. + JSON GENERATE out FROM num + DISPLAY FUNCTION TRIM(out) + . +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:893: \$COMPILE -fdpc-in-data=none prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=none prog.cob" "run_ml.at:893" +( $at_check_trace; $COMPILE -fdpc-in-data=none prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:893" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:894: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:894" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "{\"num\":1.1} +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:894" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:897: \$COMPILE -fdpc-in-data=xml prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=xml prog.cob" "run_ml.at:897" +( $at_check_trace; $COMPILE -fdpc-in-data=xml prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:897" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:898: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:898" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "{\"num\":1.1} +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:898" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:901: \$COMPILE -fdpc-in-data=json prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=json prog.cob" "run_ml.at:901" +( $at_check_trace; $COMPILE -fdpc-in-data=json prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:901" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:902: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:902" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "{\"num\":1,1} +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:902" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:905: \$COMPILE -fdpc-in-data=all prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fdpc-in-data=all prog.cob" "run_ml.at:905" +( $at_check_trace; $COMPILE -fdpc-in-data=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_ml.at:905" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/run_ml.at:906: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_ml.at:906" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "{\"num\":1,1} +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/run_ml.at:906" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1257 +#AT_START_1258 +at_fn_group_banner 1258 'data_binary.at:23' \ + "BINARY: 2-4-8 big-endian" " " 5 +at_xfail=no +( + printf "%s\n" "1258. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:41: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:41" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:46: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:46" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:157: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:157" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:157" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:159: \$COMPILE -fbinary-size=2-4-8 \\ + -fbinary-byteorder=big-endian prog.cob -o prog2" +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 -o 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/data_binary.at:159" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:161: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:161" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1258 +#AT_START_1259 +at_fn_group_banner 1259 'data_binary.at:205' \ + "BINARY: 2-4-8 native" " " 5 +at_xfail=no +( + printf "%s\n" "1259. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +if test "x$COB_BIGENDIAN" = "xyes"; then +{ set +x +printf "%s\n" "$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 +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:228: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:228" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:233: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:233" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:344: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:344" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:346: \$COMPILE -fbinary-size=2-4-8 \\ + -fbinary-byteorder=native prog.cob -o prog2" +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 -o 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/data_binary.at:346" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:348: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:348" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1259 +#AT_START_1260 +at_fn_group_banner 1260 'data_binary.at:393' \ + "BINARY: 1-2-4-8 big-endian" " " 5 +at_xfail=no +( + printf "%s\n" "1260. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:411: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:411" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:411" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:416: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:416" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:527: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:527" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:527" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:529: \$COMPILE -fbinary-size=1-2-4-8 \\ + -fbinary-byteorder=big-endian prog.cob -o prog2" +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 -o 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/data_binary.at:529" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:531: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:531" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1260 +#AT_START_1261 +at_fn_group_banner 1261 'data_binary.at:575' \ + "BINARY: 1-2-4-8 native" " " 5 +at_xfail=no +( + printf "%s\n" "1261. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +if test "x$COB_BIGENDIAN" = "xyes"; then +{ set +x +printf "%s\n" "$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 +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:597: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:597" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:597" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:602: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:602" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:713: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:713" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:713" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:715: \$COMPILE -fbinary-size=1-2-4-8 \\ + -fbinary-byteorder=native prog.cob -o prog2" +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 -o 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/data_binary.at:715" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:717: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:717" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1261 +#AT_START_1262 +at_fn_group_banner 1262 'data_binary.at:763' \ + "BINARY: 1--8 big-endian" " " 5 +at_xfail=no +( + printf "%s\n" "1262. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:781: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:781" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:781" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:786: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:786" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:897: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:897" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:897" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:899: \$COMPILE -fbinary-size=1--8 \\ + -fbinary-byteorder=big-endian prog.cob -o prog2" +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 -o 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/data_binary.at:899" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:901: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:901" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1262 +#AT_START_1263 +at_fn_group_banner 1263 'data_binary.at:945' \ + "BINARY: 1--8 native" " " 5 +at_xfail=no +( + printf "%s\n" "1263. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +if test "x$COB_BIGENDIAN" = "xyes"; then +{ set +x +printf "%s\n" "$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 +#include + +COB_EXT_EXPORT int +dump (unsigned char *data) +{ + int i; + for (i = 0; i < 8; i++) + printf ("%02x", data[i]); + puts (""); + return 0; +} +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:967: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-dump.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:967" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.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/data_binary.at:967" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:972: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:972" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1083: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:1083" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:1083" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1085: \$COMPILE -fbinary-size=1--8 \\ + -fbinary-byteorder=native prog.cob -o prog2" +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 -o 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/data_binary.at:1085" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1087: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_binary.at:1087" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1263 +#AT_START_1264 +at_fn_group_banner 1264 'data_binary.at:1133' \ + "BINARY: full-print" " " 5 +at_xfail=no +( + printf "%s\n" "1264. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1137: sed -e 's/@USAGE@/BINARY/' \"\${TEMPLATE}/numeric-display.cob\" > prog.cob" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "data_binary.at:1137" +( $at_check_trace; sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.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/data_binary.at:1137" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$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 +printf "%s\n" "$at_srcdir/data_binary.at:1141: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1141" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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_1264 +#AT_START_1265 +at_fn_group_banner 1265 'data_binary.at:1185' \ + "BINARY: 64bit unsigned compare" " " 5 +at_xfail=no +( + printf "%s\n" "1265. $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". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1202: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:1202" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1203: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1203" +( $at_check_trace; $COBCRUN_DIRECT ./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:1203" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# also check "not optimized during codegen", +# which leads to other code-paths +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1207: \$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" "data_binary.at:1207" +( $at_check_trace; $COMPILE -fno-fast-compare -C -o progalt.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/data_binary.at:1207" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1208: \$COMPILE progalt.c" +at_fn_check_prepare_dynamic "$COMPILE progalt.c" "data_binary.at:1208" +( $at_check_trace; $COMPILE progalt.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:1208" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1209: \$COBCRUN_DIRECT ./progalt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progalt" "data_binary.at:1209" +( $at_check_trace; $COBCRUN_DIRECT ./progalt +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1209" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1265 +#AT_START_1266 +at_fn_group_banner 1266 'data_binary.at:1215' \ + "BINARY: 64bit unsigned arithmetic notrunc" " " 5 +at_xfail=no +( + printf "%s\n" "1266. $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. + COMPUTE WORK-UDWORD-1 = WORK-UDWORD-1 / 2. + DISPLAY WORK-UDWORD-1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1232: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "data_binary.at:1232" +( $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:1232" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1233: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1233" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "18446744073709551615 +09223372036854775807 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1233" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1266 +#AT_START_1267 +at_fn_group_banner 1267 'data_binary.at:1242' \ + "BINARY: 64bit signed negative constant range" " " 5 +at_xfail=no +( + printf "%s\n" "1267. $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. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1256: \$COMPILE -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "data_binary.at:1256" +( $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:1256" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1257: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1257" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "-09223372036854775808" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1257" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1267 +#AT_START_1268 +at_fn_group_banner 1268 'data_binary.at:1262' \ + "COMP-4 Truncate" " " 5 +at_xfail=no +( + printf "%s\n" "1268. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 RANDOM-ORIGIN-B PIC 9V99 COMP-4. + 01 RANDOM-TARGET-B PIC V99 COMP-4. + 01 RANDOM-ORIGIN-D PIC 9V99 DISPLAY. + 01 RANDOM-TARGET-D PIC V99 DISPLAY. + + PROCEDURE DIVISION. + MOVE 0.12 TO RANDOM-ORIGIN-D + MOVE RANDOM-ORIGIN-D TO RANDOM-TARGET-D + MOVE 0.12 TO RANDOM-ORIGIN-B + MOVE RANDOM-ORIGIN-B TO RANDOM-TARGET-B + IF RANDOM-ORIGIN-D <> RANDOM-ORIGIN-B + DISPLAY "ORIGIN 0.12 WRONG" + DISPLAY "DISPLAY: " RANDOM-ORIGIN-D + " != BINARY : " RANDOM-ORIGIN-B + END-IF. + IF RANDOM-TARGET-D <> RANDOM-TARGET-B + DISPLAY "TARGET .12 WRONG" + DISPLAY "DISPLAY: " RANDOM-TARGET-D + " != BINARY : " RANDOM-TARGET-B + ELSE + DISPLAY "Ok with " RANDOM-TARGET-D " == " RANDOM-TARGET-B + END-IF. + + MOVE 9.85 TO RANDOM-ORIGIN-D + MOVE RANDOM-ORIGIN-D TO RANDOM-TARGET-D + MOVE 9.85 TO RANDOM-ORIGIN-B + MOVE RANDOM-ORIGIN-B TO RANDOM-TARGET-B + IF RANDOM-ORIGIN-D <> RANDOM-ORIGIN-B + DISPLAY "ORIGIN 9.85 WRONG" + DISPLAY "DISPLAY: " RANDOM-ORIGIN-D + " != BINARY : " RANDOM-ORIGIN-B + END-IF. + IF RANDOM-TARGET-D <> RANDOM-TARGET-B + DISPLAY "TARGET .85 WRONG" + DISPLAY "DISPLAY: " RANDOM-TARGET-D + " != BINARY : " RANDOM-TARGET-B + ELSE + DISPLAY "Ok with " RANDOM-TARGET-D " == " RANDOM-TARGET-B + END-IF. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1313: \$COMPILE -w prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "data_binary.at:1313" +( $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/data_binary.at:1313" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1315: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1315" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Ok with .12 == .12 +Ok with .85 == .85 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1315" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1268 +#AT_START_1269 +at_fn_group_banner 1269 'data_binary.at:1323' \ + "COMP-4 No Truncate" " " 5 +at_xfail=no +( + printf "%s\n" "1269. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 RANDOM-ORIGIN-B PIC 9V99 COMP-4. + 01 RANDOM-TARGET-B PIC V99 COMP-4. + 01 RANDOM-ORIGIN-D PIC 9V99 DISPLAY. + 01 RANDOM-TARGET-D PIC V99 DISPLAY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==, + ==END-DISPLAY== BY ==END-DISPLAY END-IF==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 30000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + MOVE 0.12 TO RANDOM-ORIGIN-D + MOVE RANDOM-ORIGIN-D TO RANDOM-TARGET-D + MOVE 0.12 TO RANDOM-ORIGIN-B + MOVE RANDOM-ORIGIN-B TO RANDOM-TARGET-B + IF RANDOM-ORIGIN-D <> RANDOM-ORIGIN-B + DISPLAY "ORIGIN 0.12 WRONG" + END-DISPLAY + DISPLAY "DISPLAY: " RANDOM-ORIGIN-D + " != BINARY : " RANDOM-ORIGIN-B + END-DISPLAY + END-IF. + IF RANDOM-TARGET-D <> RANDOM-TARGET-B + DISPLAY "TARGET .12 WRONG" + END-DISPLAY + DISPLAY "DISPLAY: " RANDOM-TARGET-D + " != BINARY : " RANDOM-TARGET-B + END-DISPLAY + ELSE + DISPLAY "Ok with " RANDOM-TARGET-D " == " RANDOM-TARGET-B + END-DISPLAY + END-IF. + + MOVE 9.85 TO RANDOM-ORIGIN-D + MOVE RANDOM-ORIGIN-D TO RANDOM-TARGET-D + MOVE 9.85 TO RANDOM-ORIGIN-B + MOVE RANDOM-ORIGIN-B TO RANDOM-TARGET-B + IF RANDOM-ORIGIN-D <> RANDOM-ORIGIN-B + DISPLAY "ORIGIN 9.85 WRONG" + END-DISPLAY + DISPLAY "DISPLAY: " RANDOM-ORIGIN-D + " != BINARY : " RANDOM-ORIGIN-B + END-DISPLAY + END-IF. + IF RANDOM-TARGET-D <> RANDOM-TARGET-B + DISPLAY "TARGET .85 WRONG" + END-DISPLAY + DISPLAY "DISPLAY: " RANDOM-TARGET-D + " != BINARY : " RANDOM-TARGET-B + END-DISPLAY + ELSE + DISPLAY "Ok with " RANDOM-TARGET-D " == " RANDOM-TARGET-B + END-DISPLAY + END-IF. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1398: \$COMPILE -w -fnotrunc prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -w -fnotrunc prog.cob" "data_binary.at:1398" +( $at_check_trace; $COMPILE -w -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:1398" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1400: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1400" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "Ok with 12 == 012 +TARGET .85 WRONG +DISPLAY: 85 != BINARY : 217 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_binary.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_1269 +#AT_START_1270 +at_fn_group_banner 1270 'data_binary.at:1409' \ + "MOVE DISPLAY to BINARY" " " 5 +at_xfail=no +( + printf "%s\n" "1270. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 D-S99V99 PIC S99V99 DISPLAY VALUE 1.23. + 01 D-N99V99 PIC S99V99 DISPLAY VALUE -1.32. + 01 D-9V99 PIC 9V99 DISPLAY VALUE 1.1. + 01 D-S99 PIC S99 DISPLAY VALUE 12. + 01 D-99 PIC 99 DISPLAY VALUE 2. + 01 D-P99 PIC P99 DISPLAY VALUE 0.02. + 01 D-9PP PIC 9PP DISPLAY VALUE 200. + 01 D-938 PIC 9(38) DISPLAY VALUE + 12345678901234567890123456789012345678. + 01 P-S99V99 PIC S99V99 BINARY. + 01 P-99V9 PIC 99V9 BINARY. + 01 P-S999 PIC S999 BINARY. + 01 P-99 PIC 99 BINARY. + 01 P-P9 PIC P9 BINARY. + 01 P-9P PIC 9P BINARY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE D-938 TO P-99 + IF P-99 NOT = 78 + DISPLAY "P-99: " P-99. + + MOVE D-S99V99 TO P-S99V99 + IF P-S99V99 NOT = 1.23 + DISPLAY "P-S99V99 1: " P-S99V99. + MOVE D-N99V99 TO P-S99V99 + IF P-S99V99 NOT = -1.32 + DISPLAY "P-S99V99 2: " P-S99V99. + MOVE D-9V99 TO P-S99V99 + IF P-S99V99 NOT = 1.1 + DISPLAY "P-S99V99 3: " P-S99V99. + MOVE D-S99 TO P-S99V99 + IF P-S99V99 NOT = 12 + DISPLAY "P-S99V99 4: " P-S99V99. + MOVE D-99 TO P-S99V99 + IF P-S99V99 NOT = 2 + DISPLAY "P-S99V99 5: " P-S99V99. + MOVE D-P99 TO P-S99V99 + IF P-S99V99 NOT = 0.02 + DISPLAY "P-S99V99 6: " P-S99V99. + MOVE D-9PP TO P-S99V99 + IF P-S99V99 NOT = 0 + DISPLAY "P-S99V99 7: " P-S99V99. + + MOVE D-S99V99 TO P-99V9 + IF P-99V9 NOT = 1.2 + DISPLAY "P-99V99 1: " P-99V9 . + MOVE D-N99V99 TO P-99V9 + IF P-99V9 NOT = 1.3 + DISPLAY "P-99V99 2: " P-99V9 . + MOVE D-9V99 TO P-99V9 + IF P-99V9 NOT = 1.1 + DISPLAY "P-99V99 3: " P-99V9 . + MOVE D-S99 TO P-99V9 + IF P-99V9 NOT = 12 + DISPLAY "P-99V99 4: " P-99V9 . + MOVE D-99 TO P-99V9 + IF P-99V9 NOT = 2 + DISPLAY "P-99V99 5: " P-99V9 . + MOVE D-P99 TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V99 6: " P-99V9 . + MOVE D-9PP TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V99 7: " P-99V9 . + + MOVE D-S99V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 1: " P-S999 . + MOVE D-N99V99 TO P-S999 + IF P-S999 NOT = -1 + DISPLAY "P-S999 2: " P-S999 . + MOVE D-9V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 3: " P-S999 . + MOVE D-S99 TO P-S999 + IF P-S999 NOT = 12 + DISPLAY "P-S999 4: " P-S999 . + MOVE D-99 TO P-S999 + IF P-S999 NOT = 2 + DISPLAY "P-S999 5: " P-S999 . + MOVE D-P99 TO P-S999 + IF P-S999 NOT = 0 + DISPLAY "P-S999 6: " P-S999 . + MOVE D-9PP TO P-S999 + IF P-S999 NOT = 200 + DISPLAY "P-S999 7: " P-S999 . + + MOVE D-S99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 1: " P-99 . + MOVE D-N99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 2: " P-99 . + MOVE D-9V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 3: " P-99 . + MOVE D-S99 TO P-99 + IF P-99 NOT = 12 + DISPLAY "P-99 4: " P-99 . + MOVE D-99 TO P-99 + IF P-99 NOT = 2 + DISPLAY "P-99 5: " P-99 . + MOVE D-P99 TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 6: " P-99 . + MOVE D-9PP TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 7: " P-99 . + + MOVE D-S99V99 TO P-P9 + IF P-P9 NOT = 0.03 + DISPLAY "P-P9 1: " P-P9 . + MOVE D-N99V99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 2: " P-P9 . + MOVE D-9V99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 3: " P-P9 . + MOVE D-S99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 4: " P-P9 . + MOVE D-99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 5: " P-P9 . + MOVE D-P99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 6: " P-P9 . + MOVE D-9PP TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 7: " P-P9 . + + MOVE D-S99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 1: " P-9P . + MOVE D-N99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 2: " P-9P . + MOVE D-9V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 3: " P-9P . + MOVE D-S99 TO P-9P + IF P-9P NOT = 10 + DISPLAY "P-9P 4: " P-9P . + MOVE D-99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 5: " P-9P . + MOVE D-P99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 6: " P-9P . + MOVE D-9PP TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 7: " P-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1589: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:1589" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1589" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1590: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1590" +( $at_check_trace; $COBCRUN_DIRECT ./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:1590" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1270 +#AT_START_1271 +at_fn_group_banner 1271 'data_binary.at:1595' \ + "MOVE PACKED-DECIMAL to BINARY" " " 5 +at_xfail=no +( + printf "%s\n" "1271. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P-S99V99 PIC S99V99 PACKED-DECIMAL VALUE 1.23. + 01 P-N99V99 PIC S99V99 PACKED-DECIMAL VALUE -1.32. + 01 P-9V99 PIC 9V99 PACKED-DECIMAL VALUE 1.1. + 01 P-S99 PIC S99 PACKED-DECIMAL VALUE 12. + 01 P-99 PIC 99 PACKED-DECIMAL VALUE 2. + 01 P-P99 PIC P99 PACKED-DECIMAL VALUE 0.02. + 01 P-9PP PIC 9PP PACKED-DECIMAL VALUE 200. + 01 P-938 PIC 9(38) PACKED-DECIMAL VALUE + 12345678901234567890123456789012345678. + 01 B-S99V99 PIC S99V99 BINARY. + 01 B-99V9 PIC 99V9 BINARY. + 01 B-S999 PIC S999 BINARY. + 01 B-99 PIC 99 BINARY. + 01 B-P9 PIC P9 BINARY. + 01 B-9P PIC 9P BINARY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE P-938 TO B-99 + IF B-99 NOT = 78 + DISPLAY "B-99: " B-99. + + MOVE P-S99V99 TO B-S99V99 + IF B-S99V99 NOT = 1.23 + DISPLAY "B-S99V99 1: " B-S99V99. + MOVE P-N99V99 TO B-S99V99 + IF B-S99V99 NOT = -1.32 + DISPLAY "B-S99V99 2: " B-S99V99. + MOVE P-9V99 TO B-S99V99 + IF B-S99V99 NOT = 1.1 + DISPLAY "B-S99V99 3: " B-S99V99. + MOVE P-S99 TO B-S99V99 + IF B-S99V99 NOT = 12 + DISPLAY "B-S99V99 4: " B-S99V99. + MOVE P-99 TO B-S99V99 + IF B-S99V99 NOT = 2 + DISPLAY "B-S99V99 5: " B-S99V99. + MOVE P-P99 TO B-S99V99 + IF B-S99V99 NOT = 0.02 + DISPLAY "B-S99V99 6: " B-S99V99. + MOVE P-9PP TO B-S99V99 + IF B-S99V99 NOT = 0 + DISPLAY "B-S99V99 7: " B-S99V99. + + MOVE P-S99V99 TO B-99V9 + IF B-99V9 NOT = 1.2 + DISPLAY "B-99V99 1: " B-99V9 . + MOVE P-N99V99 TO B-99V9 + IF B-99V9 NOT = 1.3 + DISPLAY "B-99V99 2: " B-99V9 . + MOVE P-9V99 TO B-99V9 + IF B-99V9 NOT = 1.1 + DISPLAY "B-99V99 3: " B-99V9 . + MOVE P-S99 TO B-99V9 + IF B-99V9 NOT = 12 + DISPLAY "B-99V99 4: " B-99V9 . + MOVE P-99 TO B-99V9 + IF B-99V9 NOT = 2 + DISPLAY "B-99V99 5: " B-99V9 . + MOVE P-P99 TO B-99V9 + IF B-99V9 NOT = 0 + DISPLAY "B-99V99 6: " B-99V9 . + MOVE P-9PP TO B-99V9 + IF B-99V9 NOT = 0 + DISPLAY "B-99V99 7: " B-99V9 . + + MOVE P-S99V99 TO B-S999 + IF B-S999 NOT = 1 + DISPLAY "B-S999 1: " B-S999 . + MOVE P-N99V99 TO B-S999 + IF B-S999 NOT = -1 + DISPLAY "B-S999 2: " B-S999 . + MOVE P-9V99 TO B-S999 + IF B-S999 NOT = 1 + DISPLAY "B-S999 3: " B-S999 . + MOVE P-S99 TO B-S999 + IF B-S999 NOT = 12 + DISPLAY "B-S999 4: " B-S999 . + MOVE P-99 TO B-S999 + IF B-S999 NOT = 2 + DISPLAY "B-S999 5: " B-S999 . + MOVE P-P99 TO B-S999 + IF B-S999 NOT = 0 + DISPLAY "B-S999 6: " B-S999 . + MOVE P-9PP TO B-S999 + IF B-S999 NOT = 200 + DISPLAY "B-S999 7: " B-S999 . + + MOVE P-S99V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 1: " B-99 . + MOVE P-N99V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 2: " B-99 . + MOVE P-9V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 3: " B-99 . + MOVE P-S99 TO B-99 + IF B-99 NOT = 12 + DISPLAY "B-99 4: " B-99 . + MOVE P-99 TO B-99 + IF B-99 NOT = 2 + DISPLAY "B-99 5: " B-99 . + MOVE P-P99 TO B-99 + IF B-99 NOT = 0 + DISPLAY "B-99 6: " B-99 . + MOVE P-9PP TO B-99 + IF B-99 NOT = 0 + DISPLAY "B-99 7: " B-99 . + + MOVE P-S99V99 TO B-P9 + IF B-P9 NOT = 0.03 + DISPLAY "B-P9 1: " B-P9 . + MOVE P-N99V99 TO B-P9 + IF B-P9 NOT = 0.02 + DISPLAY "B-P9 2: " B-P9 . + MOVE P-9V99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 3: " B-P9 . + MOVE P-S99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 4: " B-P9 . + MOVE P-99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 5: " B-P9 . + MOVE P-P99 TO B-P9 + IF B-P9 NOT = 0.02 + DISPLAY "B-P9 6: " B-P9 . + MOVE P-9PP TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 7: " B-P9 . + + MOVE P-S99V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 1: " B-9P . + MOVE P-N99V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 2: " B-9P . + MOVE P-9V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 3: " B-9P . + MOVE P-S99 TO B-9P + IF B-9P NOT = 10 + DISPLAY "B-9P 4: " B-9P . + MOVE P-99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 5: " B-9P . + MOVE P-P99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 6: " B-9P . + MOVE P-9PP TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 7: " B-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1775: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.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/data_binary.at:1775" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1776: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1776" +( $at_check_trace; $COBCRUN_DIRECT ./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: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_1271 +#AT_START_1272 +at_fn_group_banner 1272 'data_binary.at:1781' \ + "MOVE BINARY to PACKED-DECIMAL" " " 5 +at_xfail=no +( + printf "%s\n" "1272. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 B-S99V99 PIC S99V99 BINARY VALUE 1.23. + 01 B-N99V99 PIC S99V99 BINARY VALUE -1.32. + 01 B-9V99 PIC 9V99 BINARY VALUE 1.1. + 01 B-S99 PIC S99 BINARY VALUE 12. + 01 B-99 PIC 99 BINARY VALUE 2. + 01 B-P99 PIC P99 BINARY VALUE 0.02. + 01 B-9PP PIC 9PP BINARY VALUE 200. + 01 P-S99V99 PIC S99V99 PACKED-DECIMAL. + 01 P-99V9 PIC 99V9 PACKED-DECIMAL. + 01 P-S999 PIC S999 PACKED-DECIMAL. + 01 P-99 PIC 99 PACKED-DECIMAL. + 01 P-P9 PIC P9 PACKED-DECIMAL. + 01 P-9P PIC 9P PACKED-DECIMAL. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE B-S99V99 TO P-S99V99 + IF P-S99V99 NOT = 1.23 + DISPLAY "P-S99V99 1: " P-S99V99. + MOVE B-N99V99 TO P-S99V99 + IF P-S99V99 NOT = -1.32 + DISPLAY "P-S99V99 2: " P-S99V99. + MOVE B-9V99 TO P-S99V99 + IF P-S99V99 NOT = 1.1 + DISPLAY "P-S99V99 3: " P-S99V99. + MOVE B-S99 TO P-S99V99 + IF P-S99V99 NOT = 12 + DISPLAY "P-S99V99 4: " P-S99V99. + MOVE B-99 TO P-S99V99 + IF P-S99V99 NOT = 2 + DISPLAY "P-S99V99 5: " P-S99V99. + MOVE B-P99 TO P-S99V99 + IF P-S99V99 NOT = 0.02 + DISPLAY "P-S99V99 6: " P-S99V99. + MOVE B-9PP TO P-S99V99 + IF P-S99V99 NOT = 0 + DISPLAY "P-S99V99 7: " P-S99V99. + + MOVE B-S99V99 TO P-99V9 + IF P-99V9 NOT = 1.2 + DISPLAY "P-99V9 1: " P-99V9 . + MOVE B-N99V99 TO P-99V9 + IF P-99V9 NOT = 1.3 + DISPLAY "P-99V9 2: " P-99V9 . + MOVE B-9V99 TO P-99V9 + IF P-99V9 NOT = 1.1 + DISPLAY "P-99V9 3: " P-99V9 . + MOVE B-S99 TO P-99V9 + IF P-99V9 NOT = 12 + DISPLAY "P-99V9 4: " P-99V9 . + MOVE B-99 TO P-99V9 + IF P-99V9 NOT = 2 + DISPLAY "P-99V9 5: " P-99V9 . + MOVE B-P99 TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V9 6: " P-99V9 . + MOVE B-9PP TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V9 7: " P-99V9 . + + MOVE B-S99V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 1: " P-S999 . + MOVE B-N99V99 TO P-S999 + IF P-S999 NOT = -1 + DISPLAY "P-S999 2: " P-S999 . + MOVE B-9V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 3: " P-S999 . + MOVE B-S99 TO P-S999 + IF P-S999 NOT = 12 + DISPLAY "P-S999 4: " P-S999 . + MOVE B-99 TO P-S999 + IF P-S999 NOT = 2 + DISPLAY "P-S999 5: " P-S999 . + MOVE B-P99 TO P-S999 + IF P-S999 NOT = 0 + DISPLAY "P-S999 6: " P-S999 . + MOVE B-9PP TO P-S999 + IF P-S999 NOT = 200 + DISPLAY "P-S999 7: " P-S999 . + + MOVE B-S99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 1: " P-99 . + MOVE B-N99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 2: " P-99 . + MOVE B-9V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 3: " P-99 . + MOVE B-S99 TO P-99 + IF P-99 NOT = 12 + DISPLAY "P-99 4: " P-99 . + MOVE B-99 TO P-99 + IF P-99 NOT = 2 + DISPLAY "P-99 5: " P-99 . + MOVE B-P99 TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 6: " P-99 . + MOVE B-9PP TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 7: " P-99 . + + MOVE B-S99V99 TO P-P9 + IF P-P9 NOT = 0.03 + DISPLAY "P-P9 1: " P-P9 . + MOVE B-N99V99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 2: " P-P9 . + MOVE B-9V99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 3: " P-P9 . + MOVE B-S99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 4: " P-P9 . + MOVE B-99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 5: " P-P9 . + MOVE B-P99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 6: " P-P9 . + MOVE B-9PP TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 7: " P-P9 . + + MOVE B-S99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 1: " P-9P . + MOVE B-N99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 2: " P-9P . + MOVE B-9V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 3: " P-9P . + MOVE B-S99 TO P-9P + IF P-9P NOT = 10 + DISPLAY "P-9P 4: " P-9P . + MOVE B-99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 5: " P-9P . + MOVE B-P99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 6: " P-9P . + MOVE B-9PP TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 7: " P-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1955: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:1955" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1955" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:1956: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:1956" +( $at_check_trace; $COBCRUN_DIRECT ./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:1956" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1272 +#AT_START_1273 +at_fn_group_banner 1273 'data_binary.at:1961' \ + "MOVE BINARY to BINARY" " " 5 +at_xfail=no +( + printf "%s\n" "1273. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_display.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 B-S99V99 PIC S99V99 BINARY VALUE 1.23. + 01 B-N99V99 PIC S99V99 BINARY VALUE -1.32. + 01 B-9V99 PIC 9V99 BINARY VALUE 1.1. + 01 B-S99 PIC S99 BINARY VALUE 12. + 01 B-99 PIC 99 BINARY VALUE 2. + 01 B-P99 PIC P99 BINARY VALUE 0.02. + 01 B-9PP PIC 9PP BINARY VALUE 200. + 01 C-S99V99 PIC S99V99 BINARY. + 01 C-99V9 PIC 99V9 BINARY. + 01 C-S999 PIC S999 BINARY. + 01 C-99 PIC 99 BINARY. + 01 C-P9 PIC P9 BINARY. + 01 C-9P PIC 9P BINARY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE B-S99V99 TO C-S99V99 + IF C-S99V99 NOT = 1.23 + DISPLAY "C-S99V99 1: " C-S99V99. + MOVE B-N99V99 TO C-S99V99 + IF C-S99V99 NOT = -1.32 + DISPLAY "C-S99V99 2: " C-S99V99. + MOVE B-9V99 TO C-S99V99 + IF C-S99V99 NOT = 1.1 + DISPLAY "C-S99V99 3: " C-S99V99. + MOVE B-S99 TO C-S99V99 + IF C-S99V99 NOT = 12 + DISPLAY "C-S99V99 4: " C-S99V99. + MOVE B-99 TO C-S99V99 + IF C-S99V99 NOT = 2 + DISPLAY "C-S99V99 5: " C-S99V99. + MOVE B-P99 TO C-S99V99 + IF C-S99V99 NOT = 0.02 + DISPLAY "C-S99V99 6: " C-S99V99. + MOVE B-9PP TO C-S99V99 + IF C-S99V99 NOT = 0 + DISPLAY "C-S99V99 7: " C-S99V99. + + MOVE B-S99V99 TO C-99V9 + IF C-99V9 NOT = 1.2 + DISPLAY "C-99V9 1: " C-99V9 . + MOVE B-N99V99 TO C-99V9 + IF C-99V9 NOT = 1.3 + DISPLAY "C-99V9 2: " C-99V9 . + MOVE B-9V99 TO C-99V9 + IF C-99V9 NOT = 1.1 + DISPLAY "C-99V9 3: " C-99V9 . + MOVE B-S99 TO C-99V9 + IF C-99V9 NOT = 12 + DISPLAY "C-99V9 4: " C-99V9 . + MOVE B-99 TO C-99V9 + IF C-99V9 NOT = 2 + DISPLAY "C-99V9 5: " C-99V9 . + MOVE B-P99 TO C-99V9 + IF C-99V9 NOT = 0 + DISPLAY "C-99V9 6: " C-99V9 . + MOVE B-9PP TO C-99V9 + IF C-99V9 NOT = 0 + DISPLAY "C-99V9 7: " C-99V9 . + + MOVE B-S99V99 TO C-S999 + IF C-S999 NOT = 1 + DISPLAY "C-S999 1: " C-S999 . + MOVE B-N99V99 TO C-S999 + IF C-S999 NOT = -1 + DISPLAY "C-S999 2: " C-S999 . + MOVE B-9V99 TO C-S999 + IF C-S999 NOT = 1 + DISPLAY "C-S999 3: " C-S999 . + MOVE B-S99 TO C-S999 + IF C-S999 NOT = 12 + DISPLAY "C-S999 4: " C-S999 . + MOVE B-99 TO C-S999 + IF C-S999 NOT = 2 + DISPLAY "C-S999 5: " C-S999 . + MOVE B-P99 TO C-S999 + IF C-S999 NOT = 0 + DISPLAY "C-S999 6: " C-S999 . + MOVE B-9PP TO C-S999 + IF C-S999 NOT = 200 + DISPLAY "C-S999 7: " C-S999 . + + MOVE B-S99V99 TO C-99 + IF C-99 NOT = 1 + DISPLAY "C-99 1: " C-99 . + MOVE B-N99V99 TO C-99 + IF C-99 NOT = 1 + DISPLAY "C-99 2: " C-99 . + MOVE B-9V99 TO C-99 + IF C-99 NOT = 1 + DISPLAY "C-99 3: " C-99 . + MOVE B-S99 TO C-99 + IF C-99 NOT = 12 + DISPLAY "C-99 4: " C-99 . + MOVE B-99 TO C-99 + IF C-99 NOT = 2 + DISPLAY "C-99 5: " C-99 . + MOVE B-P99 TO C-99 + IF C-99 NOT = 0 + DISPLAY "C-99 6: " C-99 . + MOVE B-9PP TO C-99 + IF C-99 NOT = 0 + DISPLAY "C-99 7: " C-99 . + + MOVE B-S99V99 TO C-P9 + IF C-P9 NOT = 0.03 + DISPLAY "C-P9 1: " C-P9 . + MOVE B-N99V99 TO C-P9 + IF C-P9 NOT = 0.02 + DISPLAY "C-P9 2: " C-P9 . + MOVE B-9V99 TO C-P9 + IF C-P9 NOT = 0 + DISPLAY "C-P9 3: " C-P9 . + MOVE B-S99 TO C-P9 + IF C-P9 NOT = 0 + DISPLAY "C-P9 4: " C-P9 . + MOVE B-99 TO C-P9 + IF C-P9 NOT = 0 + DISPLAY "C-P9 5: " C-P9 . + MOVE B-P99 TO C-P9 + IF C-P9 NOT = 0.02 + DISPLAY "C-P9 6: " C-P9 . + MOVE B-9PP TO C-P9 + IF C-P9 NOT = 0 + DISPLAY "C-P9 7: " C-P9 . + + MOVE B-S99V99 TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 1: " C-9P . + MOVE B-N99V99 TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 2: " C-9P . + MOVE B-9V99 TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 3: " C-9P . + MOVE B-S99 TO C-9P + IF C-9P NOT = 10 + DISPLAY "C-9P 4: " C-9P . + MOVE B-99 TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 5: " C-9P . + MOVE B-P99 TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 6: " C-9P . + MOVE B-9PP TO C-9P + IF C-9P NOT = 0 + DISPLAY "C-9P 7: " C-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2137: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:2137" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2137" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2138: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:2138" +( $at_check_trace; $COBCRUN_DIRECT ./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:2138" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1273 +#AT_START_1274 +at_fn_group_banner 1274 'data_binary.at:2143' \ + "PPP COMP-5" " " 5 +at_xfail=no +( + printf "%s\n" "1274. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_display.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 XS. + 05 X-1 PIC 999PPP COMP-5 VALUE 91000. + 05 X-2 PIC 999PPP COMP-5 VALUE 92000. + 05 X-3 PIC X VALUE "$". + 05 X-4 PIC VPPP999 COMP-5 VALUE 0.000128. + 01 D-1 PIC 999PPP COMP-5 VALUE 95000. + 01 D-2 PIC 9999PP COMP-5 VALUE 193000. + PROCEDURE DIVISION. + DISPLAY "INIT X-1 : " X-1 " .". + DISPLAY "INIT X-2 : " X-2 " .". + DISPLAY "INIT X-4 : " X-4 " .". + DISPLAY "INIT D-1 : " D-1 " .". + MOVE D-1 TO X-2 X-1 + MOVE X-2 TO D-1. + DISPLAY "MOVE X-1 : " X-1 " .". + DISPLAY "MOVE X-2 : " X-2 " .". + MOVE 0.000256 TO X-4 + DISPLAY "MOVE X-4 : " X-4 " .". + DISPLAY "MOVE D-1 : " D-1 " .". + MOVE D-2 TO X-2 X-1 + DISPLAY "MOVE X-1 : " X-1 ":" D-2 " .". + DISPLAY "MOVE X-2 : " X-2 ":" D-2 " .". + MOVE 98000 TO X-1. + IF X-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " X-1. + MOVE 98000 TO D-1 + IF D-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " D-1. + ADD 1000 TO X-1 + IF X-1 NOT = 99000 + DISPLAY "+ 1000 failed: " X-1. + SUBTRACT 4000 FROM X-1. + IF X-1 NOT = 95000 + DISPLAY "- 4000 failed: " X-1. + DIVIDE 3 INTO X-1. + IF X-1 NOT = 31000 + DISPLAY "/ 3 failed: " X-1. + MULTIPLY 2 BY X-1 GIVING X-1. + IF X-1 NOT = 62000 + DISPLAY "* 2 failed: " X-1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2196: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:2196" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2196" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# CHECKME: currently the DISPLAYs all go to "real binary printing" and +# therefore no scale is printed at all; consider changing that and always +# pretty-print if requested by module +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2201: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:2201" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "INIT X-1 : 00091 . +INIT X-2 : 00092 . +INIT X-4 : 00128 . +INIT D-1 : 00095 . +MOVE X-1 : 00095 . +MOVE X-2 : 00095 . +MOVE X-4 : 00256 . +MOVE D-1 : 00095 . +MOVE X-1 : 00193:01930 . +MOVE X-2 : 00193:01930 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:2201" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1274 +#AT_START_1275 +at_fn_group_banner 1275 'data_binary.at:2217' \ + "arithmetic truncation with USAGE BINARY" " " 5 +at_xfail=no +( + printf "%s\n" "1275. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_packed.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 RESULT PIC 9(03) BINARY. + PROCEDURE DIVISION. + MAIN. + * internal arithmetic to DISPLAY + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2 / RESULT + IF RESULT NOT = 14 + DISPLAY "NOT 14: " RESULT. + + * internal arithmetic to DISPLAY, with sign drop + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 20 / RESULT + IF RESULT NOT = 4 + DISPLAY "NOT - 4: " RESULT. + + * internal arithmetic to DISPLAY with truncation of decimal-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT / 2 + IF RESULT NOT = 15 + DISPLAY "NOT 15: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2000 / RESULT + IF RESULT NOT = 984 + DISPLAY "NOT -1 984: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + * with leading zeros after truncation + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT + 2000 / RESULT + IF RESULT NOT = 16 + DISPLAY "NOT +20 16: " RESULT. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2264: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:2264" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2264" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_binary.at:2265: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_binary.at:2265" +( $at_check_trace; $COBCRUN_DIRECT ./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:2265" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1275 +#AT_START_1276 +at_fn_group_banner 1276 'data_display.at:22' \ + "DISPLAY: Sign ASCII" " " 5 +at_xfail=no +( + printf "%s\n" "1276. $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 +printf "%s\n" "$at_srcdir/data_display.at:64: \$COMPILE -fsign=ascii prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fsign=ascii prog.cob" "data_display.at:64" +( $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:64" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:65: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:65" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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: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_1276 +#AT_START_1277 +at_fn_group_banner 1277 'data_display.at:81' \ + "DISPLAY: Sign ASCII (2)" " " 5 +at_xfail=no +( + printf "%s\n" "1277. $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 +printf "%s\n" "$at_srcdir/data_display.at:121: \$COMPILE -fsign=ascii prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fsign=ascii prog.cob" "data_display.at:121" +( $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:121" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:122: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:122" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0123456789pqrstuvwxy" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_display.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_1277 +#AT_START_1278 +at_fn_group_banner 1278 'data_display.at:127' \ + "DISPLAY: Sign EBCDIC" " " 5 +at_xfail=no +( + printf "%s\n" "1278. $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 +printf "%s\n" "$at_srcdir/data_display.at:167: \$COMPILE -fsign=ebcdic prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fsign=ebcdic prog.cob" "data_display.at:167" +( $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:167" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:168: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:168" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "{ABCDEFGHI}JKLMNOPQR" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:168" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1278 +#AT_START_1279 +at_fn_group_banner 1279 'data_display.at:172' \ + "DISPLAY: unsigned" " " 5 +at_xfail=no +( + printf "%s\n" "1279. $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 +printf "%s\n" "$at_srcdir/data_display.at:205: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:205" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:206: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:206" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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: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_1279 +#AT_START_1280 +at_fn_group_banner 1280 'data_display.at:226' \ + "MOVE DISPLAY to DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1280. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_binary.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 D-S99V99 PIC S99V99 DISPLAY VALUE 1.23. + 01 D-N99V99 PIC S99V99 DISPLAY VALUE -1.32. + 01 D-9V99 PIC 9V99 DISPLAY VALUE 1.1. + 01 D-S99 PIC S99 DISPLAY VALUE 12. + 01 D-99 PIC 99 DISPLAY VALUE 2. + 01 D-P99 PIC P99 DISPLAY VALUE 0.02. + 01 D-9PP PIC 9PP DISPLAY VALUE 200. + 01 T-S99V99 PIC S99V99 DISPLAY. + 01 T-99V9 PIC 99V9 DISPLAY. + 01 T-S999 PIC S999 DISPLAY. + 01 T-99 PIC 99 DISPLAY. + 01 T-P9 PIC P9 DISPLAY. + 01 T-9P PIC 9P DISPLAY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE D-S99V99 TO T-S99V99 + IF T-S99V99 NOT = 1.23 + DISPLAY "T-S99V99 1: " T-S99V99. + MOVE D-N99V99 TO T-S99V99 + IF T-S99V99 NOT = -1.32 + DISPLAY "T-S99V99 2: " T-S99V99. + MOVE D-9V99 TO T-S99V99 + IF T-S99V99 NOT = 1.1 + DISPLAY "T-S99V99 3: " T-S99V99. + MOVE D-S99 TO T-S99V99 + IF T-S99V99 NOT = 12 + DISPLAY "T-S99V99 4: " T-S99V99. + MOVE D-99 TO T-S99V99 + IF T-S99V99 NOT = 2 + DISPLAY "T-S99V99 5: " T-S99V99. + MOVE D-P99 TO T-S99V99 + IF T-S99V99 NOT = 0.02 + DISPLAY "T-S99V99 6: " T-S99V99. + MOVE D-9PP TO T-S99V99 + IF T-S99V99 NOT = 0 + DISPLAY "T-S99V99 7: " T-S99V99. + + MOVE D-S99V99 TO T-99V9 + IF T-99V9 NOT = 1.2 + DISPLAY "T-99V9 1: " T-99V9 . + MOVE D-N99V99 TO T-99V9 + IF T-99V9 NOT = 1.3 + DISPLAY "T-99V9 2: " T-99V9 . + MOVE D-9V99 TO T-99V9 + IF T-99V9 NOT = 1.1 + DISPLAY "T-99V9 3: " T-99V9 . + MOVE D-S99 TO T-99V9 + IF T-99V9 NOT = 12 + DISPLAY "T-99V9 4: " T-99V9 . + MOVE D-99 TO T-99V9 + IF T-99V9 NOT = 2 + DISPLAY "T-99V9 5: " T-99V9 . + MOVE D-P99 TO T-99V9 + IF T-99V9 NOT = 0 + DISPLAY "T-99V9 6: " T-99V9 . + MOVE D-9PP TO T-99V9 + IF T-99V9 NOT = 0 + DISPLAY "T-99V9 7: " T-99V9 . + + MOVE D-S99V99 TO T-S999 + IF T-S999 NOT = 1 + DISPLAY "T-S999 1: " T-S999 . + MOVE D-N99V99 TO T-S999 + IF T-S999 NOT = -1 + DISPLAY "T-S999 2: " T-S999 . + MOVE D-9V99 TO T-S999 + IF T-S999 NOT = 1 + DISPLAY "T-S999 3: " T-S999 . + MOVE D-S99 TO T-S999 + IF T-S999 NOT = 12 + DISPLAY "T-S999 4: " T-S999 . + MOVE D-99 TO T-S999 + IF T-S999 NOT = 2 + DISPLAY "T-S999 5: " T-S999 . + MOVE D-P99 TO T-S999 + IF T-S999 NOT = 0 + DISPLAY "T-S999 6: " T-S999 . + MOVE D-9PP TO T-S999 + IF T-S999 NOT = 200 + DISPLAY "T-S999 7: " T-S999 . + + MOVE D-S99V99 TO T-99 + IF T-99 NOT = 1 + DISPLAY "T-99 1: " T-99 . + MOVE D-N99V99 TO T-99 + IF T-99 NOT = 1 + DISPLAY "T-99 2: " T-99 . + MOVE D-9V99 TO T-99 + IF T-99 NOT = 1 + DISPLAY "T-99 3: " T-99 . + MOVE D-S99 TO T-99 + IF T-99 NOT = 12 + DISPLAY "T-99 4: " T-99 . + MOVE D-99 TO T-99 + IF T-99 NOT = 2 + DISPLAY "T-99 5: " T-99 . + MOVE D-P99 TO T-99 + IF T-99 NOT = 0 + DISPLAY "T-99 6: " T-99 . + MOVE D-9PP TO T-99 + IF T-99 NOT = 0 + DISPLAY "T-99 7: " T-99 . + + MOVE D-S99V99 TO T-P9 + IF T-P9 NOT = 0.03 + DISPLAY "T-P9 1: " T-P9 . + MOVE D-N99V99 TO T-P9 + IF T-P9 NOT = 0.02 + DISPLAY "T-P9 2: " T-P9 . + MOVE D-9V99 TO T-P9 + IF T-P9 NOT = 0 + DISPLAY "T-P9 3: " T-P9 . + MOVE D-S99 TO T-P9 + IF T-P9 NOT = 0 + DISPLAY "T-P9 4: " T-P9 . + MOVE D-99 TO T-P9 + IF T-P9 NOT = 0 + DISPLAY "T-P9 5: " T-P9 . + MOVE D-P99 TO T-P9 + IF T-P9 NOT = 0.02 + DISPLAY "T-P9 6: " T-P9 . + MOVE D-9PP TO T-P9 + IF T-P9 NOT = 0 + DISPLAY "T-P9 7: " T-P9 . + + MOVE D-S99V99 TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 1: " T-9P . + MOVE D-N99V99 TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 2: " T-9P . + MOVE D-9V99 TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 3: " T-9P . + MOVE D-S99 TO T-9P + IF T-9P NOT = 10 + DISPLAY "T-9P 4: " T-9P . + MOVE D-99 TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 5: " T-9P . + MOVE D-P99 TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 6: " T-9P . + MOVE D-9PP TO T-9P + IF T-9P NOT = 0 + DISPLAY "T-9P 7: " T-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:402: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:402" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:402" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:403: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:403" +( $at_check_trace; $COBCRUN_DIRECT ./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_display.at:403" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1280 +#AT_START_1281 +at_fn_group_banner 1281 'data_display.at:408' \ + "PPP DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1281. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_binary.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 XS. + 05 X-1 PIC 999PPP DISPLAY VALUE 91000. + 05 X-2 PIC 999PPP DISPLAY VALUE 92000. + 05 X-3 PIC X VALUE "$". + 05 X-4 PIC VPPP999 DISPLAY VALUE 0.000128. + 01 D-1 PIC 999PPP DISPLAY VALUE 95000. + 01 D-2 PIC 9999PP DISPLAY VALUE 193000. + PROCEDURE DIVISION. + MAIN. + DISPLAY "INIT X-1 : " X-1 " .". + DISPLAY "INIT X-2 : " X-2 " .". + DISPLAY "INIT X-4 : " X-4 " .". + DISPLAY "INIT D-1 : " D-1 " .". + MOVE D-1 TO X-2 X-1 + MOVE X-2 TO D-1. + DISPLAY "MOVE X-1 : " X-1 " .". + DISPLAY "MOVE X-2 : " X-2 " .". + MOVE 0.000256 TO X-4 + DISPLAY "MOVE X-4 : " X-4 " .". + DISPLAY "MOVE D-1 : " D-1 " .". + MOVE D-2 TO X-2 X-1 + DISPLAY "MOVE X-1 : " X-1 ":" D-2 " .". + DISPLAY "MOVE X-2 : " X-2 ":" D-2 " .". + MOVE 98000 TO X-1. + IF X-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " X-1. + MOVE 98000 TO D-1 + IF D-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " D-1. + ADD 1000 TO X-1 + IF X-1 NOT = 99000 + DISPLAY "+ 1000 failed: " X-1. + SUBTRACT 4000 FROM X-1. + IF X-1 NOT = 95000 + DISPLAY "- 4000 failed: " X-1. + DIVIDE 3 INTO X-1. + IF X-1 NOT = 31000 + DISPLAY "/ 3 failed: " X-1. + MULTIPLY 2 BY X-1 GIVING X-1. + IF X-1 NOT = 62000 + DISPLAY "* 2 failed: " X-1. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:462: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:462" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:462" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:464: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:464" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "INIT X-1 : 091000 . +INIT X-2 : 092000 . +INIT X-4 : .000128 . +INIT D-1 : 095000 . +MOVE X-1 : 095000 . +MOVE X-2 : 095000 . +MOVE X-4 : .000256 . +MOVE D-1 : 095000 . +MOVE X-1 : 193000:193000 . +MOVE X-2 : 193000:193000 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:464" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1281 +#AT_START_1282 +at_fn_group_banner 1282 'data_display.at:480' \ + "arithmetic truncation with USAGE DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1282. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_binary.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 RESULT PIC 9(03). + PROCEDURE DIVISION. + MAIN. + * internal arithmetic to DISPLAY + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2 / RESULT + IF RESULT NOT = 14 + DISPLAY "NOT 14: " RESULT. + + * internal arithmetic to DISPLAY, with sign drop + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 20 / RESULT + IF RESULT NOT = 4 + DISPLAY "NOT - 4: " RESULT. + + * internal arithmetic to DISPLAY with truncation of decimal-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT / 2 + IF RESULT NOT = 15 + DISPLAY "NOT 15: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2000 / RESULT + IF RESULT NOT = 984 + DISPLAY "NOT -1 984: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + * with leading zeros after truncation + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT + 2000 / RESULT + IF RESULT NOT = 16 + DISPLAY "NOT +20 16: " RESULT. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:527: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:527" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:527" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:528: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:528" +( $at_check_trace; $COBCRUN_DIRECT ./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_display.at:528" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1282 +#AT_START_1283 +at_fn_group_banner 1283 'data_display.at:533' \ + "DISPLAY: ADD and SUBTRACT w/o SIZE ERROR" " " 5 +at_xfail=no +( + printf "%s\n" "1283. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was originally generated and contributed by Chuck Haatvedt. +# It tests a huge amount of ADD / SUBTRACT between DISPLAY (originally BCD) +# fields with different attributes (size, decimal places, sign) and checks +# for the expected value as well as the raise of a SIZE ERROR +# after the computation. +# This code is an adjusted duplicate of the test in data_packed.at +# and checking with cob_decimal (while the BCD uses its own optimized routine). + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTNR. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0001A PIC 9(08)V9(19) + VALUE 72210483.5706116943150334464. + 77 FLD0001B PIC 9(01) + VALUE 0. + 77 FLD0001E PIC X VALUE 'N'. + + 77 FLD0002A PIC 9(05)V9(26) + VALUE 83954.98773698940597753903603006. + 77 FLD0002B PIC 9(05)V9(27) + VALUE 85526.912891598327881581553810974. + 77 FLD0002E PIC X VALUE 'N'. + + 77 FLD0003A PIC 9(01) + VALUE 0. + 77 FLD0003B PIC 9(10)V9(08) + VALUE 4976916625.40136914. + 77 FLD0003E PIC X VALUE 'N'. + + 77 FLD0004A PIC S9(08)V9(03) + VALUE +31348416.669. + 77 FLD0004B PIC 9(05)V9(01) + VALUE 16799.5. + 77 FLD0004E PIC X VALUE 'N'. + + 77 FLD0005A PIC S9(07)V9(01) + VALUE +2337334.8. + 77 FLD0005B PIC S9(09)V9(03) + VALUE +324331791.973. + 77 FLD0005E PIC X VALUE 'N'. + + 77 FLD0006A PIC 9(04) + VALUE 1169. + 77 FLD0006B PIC 9(03)V9(31) + VALUE 912.5850054312464321171205483551602. + 77 FLD0006E PIC X VALUE 'N'. + + 77 FLD0007A PIC S9(04) + VALUE +1123. + 77 FLD0007B PIC S9(08)V9(02) + VALUE -27032151.91. + 77 FLD0007E PIC X VALUE 'N'. + + 77 FLD0008A PIC 9(01) + VALUE 0. + 77 FLD0008B PIC S9(03) + VALUE -091. + 77 FLD0008E PIC X VALUE 'N'. + + 77 FLD0009A PIC 9(10)V9(07) + VALUE 4695987895.4491957. + 77 FLD0009B PIC 9(05)V9(28) + VALUE 87164.4396861416259625343627703841. + 77 FLD0009E PIC X VALUE 'N'. + + 77 FLD0010A PIC 9(03)V9(32) + VALUE 932.59120224122482589734772773226723. + 77 FLD0010B PIC S9(09)V9(06) + VALUE +401314086.816856. + 77 FLD0010E PIC X VALUE 'N'. + + 77 FLD0011A PIC 9(09)V9(04) + VALUE 356168291.4830. + 77 FLD0011B PIC 9(04)V9(29) + VALUE 8869.25340695890795927880390081554. + 77 FLD0011E PIC X VALUE 'N'. + + 77 FLD0012A PIC 9(03) + VALUE 087. + 77 FLD0012B PIC 9(08)V9(19) + VALUE 71485769.2486604356929547066. + 77 FLD0012E PIC X VALUE 'N'. + + 77 FLD0013A PIC 9(06)V9(25) + VALUE 829630.0004717120923913853403064. + 77 FLD0013B PIC 9(07)V9(02) + VALUE 2497013.60. + 77 FLD0013E PIC X VALUE 'N'. + + 77 FLD0014A PIC 9(09)V9(13) + VALUE 592943121.2490873237541. + 77 FLD0014B PIC 9(06)V9(01) + VALUE 186764.7. + 77 FLD0014E PIC X VALUE 'N'. + + 77 FLD0015A PIC 9(07)V9(23) + VALUE 7984732.71412134533164817185024. + 77 FLD0015B PIC 9(10)V9(08) + VALUE 4953047329.19498391. + 77 FLD0015E PIC X VALUE 'N'. + + 77 FLD0016A PIC 9(05)V9(28) + VALUE 87275.9557853607148558694461826235. + 77 FLD0016B PIC S9(10)V9(06) + VALUE +4316165362.791636. + 77 FLD0016E PIC X VALUE 'N'. + + 77 FLD0017A PIC 9(01) + VALUE 0. + 77 FLD0017B PIC 9(04)V9(30) + VALUE 8983.341087204116393039043941826093. + 77 FLD0017E PIC X VALUE 'N'. + + 77 FLD0018A PIC 9(07)V9(21) + VALUE 7619026.805277494540646898713. + 77 FLD0018B PIC S9(01) + VALUE -0. + 77 FLD0018E PIC X VALUE 'N'. + + 77 FLD0019A PIC S9(10)V9(08) + VALUE -4930528885.68236813. + 77 FLD0019B PIC S9(09)V9(06) + VALUE +402620216.542097. + 77 FLD0019E PIC X VALUE 'N'. + + 77 FLD0020A PIC 9(09)V9(15) + VALUE 643887452.720044328735582. + 77 FLD0020B PIC 9(09)V9(11) + VALUE 552340679.26366126055. + 77 FLD0020E PIC X VALUE 'N'. + + 77 FLD0021A PIC 9(01)V9(36) + VALUE 9.880441680787707126043528660375159233. + 77 FLD0021B PIC S9(01) + VALUE -0. + 77 FLD0021E PIC X VALUE 'N'. + + 77 FLD0022A PIC 9(06)V9(24) + VALUE 810040.192546636172998830716096. + 77 FLD0022B PIC 9(07)V9(21) + VALUE 7610660.641468062204140210269. + 77 FLD0022E PIC X VALUE 'N'. + + 77 FLD0023A PIC 9(02) + VALUE 06. + 77 FLD0023B PIC 9(02)V9(34) + VALUE 95.1865432391802879230624512274516746. + 77 FLD0023E PIC X VALUE 'N'. + + 77 FLD0024A PIC 9(09)V9(03) + VALUE 329406009.124. + 77 FLD0024B PIC S9(09)V9(06) + VALUE +410668612.232476. + 77 FLD0024E PIC X VALUE 'N'. + + 77 FLD0025A PIC S9(01) + VALUE +0. + 77 FLD0025B PIC 9(07)V9(02) + VALUE 2497488.27. + 77 FLD0025E PIC X VALUE 'N'. + + 77 FLD0026A PIC 9(01) + VALUE 0. + 77 FLD0026B PIC S9(09)V9(05) + VALUE -383757196.20564. + 77 FLD0026E PIC X VALUE 'N'. + + 77 FLD0027A PIC 9(09)V9(13) + VALUE 601026867.0937520818498. + 77 FLD0027B PIC 9(06)V9(25) + VALUE 815849.1045356750515082921992870. + 77 FLD0027E PIC X VALUE 'N'. + + 77 FLD0028A PIC 9(04)V9(29) + VALUE 8794.72782911061568000832266989164. + 77 FLD0028B PIC S9(01) + VALUE +0. + 77 FLD0028E PIC X VALUE 'N'. + + 77 FLD0029A PIC 9(05) + VALUE 13697. + 77 FLD0029B PIC 9(09)V9(17) + VALUE 684374480.18294422258378517. + 77 FLD0029E PIC X VALUE 'N'. + + 77 FLD0030A PIC S9(01) + VALUE +0. + 77 FLD0030B PIC 9(08)V9(18) + VALUE 70264210.169553353857452293. + 77 FLD0030E PIC X VALUE 'N'. + + 77 FLD0031A PIC 9(01) + VALUE 0. + 77 FLD0031B PIC 9(08)V9(18) + VALUE 70450280.588407820925311852. + 77 FLD0031E PIC X VALUE 'N'. + + 77 FLD0032A PIC 9(10)V9(10) + VALUE 5269599769.4606222516. + 77 FLD0032B PIC S9(09)V9(03) + VALUE +322379197.669. + 77 FLD0032E PIC X VALUE 'N'. + + 77 FLD0033A PIC 9(09)V9(15) + VALUE 641903038.069859710468278. + 77 FLD0033B PIC 9(09)V9(03) + VALUE 318353502.142. + 77 FLD0033E PIC X VALUE 'N'. + + 77 FLD0034A PIC S9(02) + VALUE -05. + 77 FLD0034B PIC S9(07)V9(01) + VALUE +2126766.9. + 77 FLD0034E PIC X VALUE 'N'. + + 77 FLD0035A PIC 9(06)V9(25) + VALUE 816285.5924199176049782522568420. + 77 FLD0035B PIC 9(07)V9(01) + VALUE 2276316.1. + 77 FLD0035E PIC X VALUE 'N'. + + 77 FLD0036A PIC 9(01)V9(36) + VALUE 9.789384107274801127829277902492322027. + 77 FLD0036B PIC 9(05)V9(27) + VALUE 84790.535447228665422159110676147. + 77 FLD0036E PIC X VALUE 'N'. + + 77 FLD0037A PIC 9(10)V9(11) + VALUE 5559560836.79804091701. + 77 FLD0037B PIC S9(05) + VALUE -15352. + 77 FLD0037E PIC X VALUE 'N'. + + 77 FLD0038A PIC 9(02)V9(34) + VALUE 95.5897506417712539139586169767426326. + 77 FLD0038B PIC 9(06)V9(25) + VALUE 819342.2486726212872198971126636. + 77 FLD0038E PIC X VALUE 'N'. + + 77 FLD0039A PIC 9(04)V9(29) + VALUE 8933.20399454893721014059337903745. + 77 FLD0039B PIC 9(06)V9(01) + VALUE 205344.3. + 77 FLD0039E PIC X VALUE 'N'. + + 77 FLD0040A PIC S9(06) + VALUE -162227. + 77 FLD0040B PIC S9(03) + VALUE +101. + 77 FLD0040E PIC X VALUE 'N'. + + 77 FLD0041A PIC 9(09)V9(17) + VALUE 687709210.19485042879892944. + 77 FLD0041B PIC 9(10)V9(09) + VALUE 5032246021.307608119. + 77 FLD0041E PIC X VALUE 'N'. + + 77 FLD0042A PIC 9(07)V9(22) + VALUE 7680734.5400734650109342283030. + 77 FLD0042B PIC 9(10)V9(10) + VALUE 5398987461.4943655917. + 77 FLD0042E PIC X VALUE 'N'. + + 77 FLD0043A PIC S9(08)V9(02) + VALUE -28038049.48. + 77 FLD0043B PIC 9(04)V9(30) + VALUE 9102.051349475740460448491830902639. + 77 FLD0043E PIC X VALUE 'N'. + + 77 FLD0044A PIC 9(06)V9(01) + VALUE 206224.3. + 77 FLD0044B PIC 9(09)V9(04) + VALUE 359534215.7883. + 77 FLD0044E PIC X VALUE 'N'. + + 77 FLD0045A PIC 9(08)V9(02) + VALUE 28592495.81. + 77 FLD0045B PIC 9(09)V9(05) + VALUE 377058873.76830. + 77 FLD0045E PIC X VALUE 'N'. + + 77 FLD0046A PIC 9(01) + VALUE 0. + 77 FLD0046B PIC 9(05)V9(27) + VALUE 86000.025910646182847330010190489. + 77 FLD0046E PIC X VALUE 'N'. + + 77 FLD0047A PIC 9(08)V9(02) + VALUE 26966592.97. + 77 FLD0047B PIC 9(10)V9(08) + VALUE 4982239515.90845814. + 77 FLD0047E PIC X VALUE 'N'. + + 77 FLD0048A PIC 9(05)V9(26) + VALUE 83962.84254838164429202151950448. + 77 FLD0048B PIC S9(05)V9(01) + VALUE -17309.9. + 77 FLD0048E PIC X VALUE 'N'. + + 77 FLD0049A PIC 9(09)V9(16) + VALUE 677621907.0336453320635428. + 77 FLD0049B PIC 9(01)V9(36) + VALUE 9.784571866912429305429554915463086217. + 77 FLD0049E PIC X VALUE 'N'. + + 77 FLD0050A PIC 9(09)V9(03) + VALUE 329667670.988. + 77 FLD0050B PIC 9(09)V9(06) + VALUE 408790070.710566. + 77 FLD0050E PIC X VALUE 'N'. + + 77 FLD0051A PIC 9(09)V9(15) + VALUE 643375703.689413991348544. + 77 FLD0051B PIC 9(04)V9(30) + VALUE 9064.871948640588206203005938732530. + 77 FLD0051E PIC X VALUE 'N'. + + 77 FLD0052A PIC 9(09)V9(04) + VALUE 367200483.8576. + 77 FLD0052B PIC 9(09)V9(11) + VALUE 550990476.15163754265. + 77 FLD0052E PIC X VALUE 'N'. + + 77 FLD0053A PIC 9(07)V9(01) + VALUE 2260324.6. + 77 FLD0053B PIC S9(09)V9(04) + VALUE -361176713.4701. + 77 FLD0053E PIC X VALUE 'N'. + + 77 FLD0054A PIC S9(01) + VALUE +0. + 77 FLD0054B PIC 9(09)V9(03) + VALUE 319288758.232. + 77 FLD0054E PIC X VALUE 'N'. + + 77 FLD0055A PIC 9(09)V9(14) + VALUE 622232417.66982828604426. + 77 FLD0055B PIC 9(08)V9(17) + VALUE 68254498.02012105715576240. + 77 FLD0055E PIC X VALUE 'N'. + + 77 FLD0056A PIC 9(07)V9(01) + VALUE 2161993.9. + 77 FLD0056B PIC 9(08)V9(02) + VALUE 27806089.73. + 77 FLD0056E PIC X VALUE 'N'. + + 77 FLD0057A PIC 9(03)V9(32) + VALUE 929.20878243011406638629523513372987. + 77 FLD0057B PIC S9(02) + VALUE -06. + 77 FLD0057E PIC X VALUE 'N'. + + 77 FLD0058A PIC 9(02)V9(34) + VALUE 96.6574119281082611010447180888149887. + 77 FLD0058B PIC S9(09)V9(04) + VALUE +343623662.0368. + 77 FLD0058E PIC X VALUE 'N'. + + 77 FLD0059A PIC 9(07)V9(02) + VALUE 2566438.61. + 77 FLD0059B PIC 9(09)V9(14) + VALUE 625762300.58564874525472. + 77 FLD0059E PIC X VALUE 'N'. + + 77 FLD0060A PIC 9(01)V9(36) + VALUE 9.888752946983269120906356874911580234. + 77 FLD0060B PIC 9(06) + VALUE 159150. + 77 FLD0060E PIC X VALUE 'N'. + + 77 FLD0061A PIC 9(03) + VALUE 095. + 77 FLD0061B PIC 9(06)V9(25) + VALUE 816564.2123096498172785118185856. + 77 FLD0061E PIC X VALUE 'N'. + + 77 FLD0062A PIC 9(10)V9(11) + VALUE 5579259193.81647705819. + 77 FLD0062B PIC 9(09)V9(13) + VALUE 602304146.8914084317631. + 77 FLD0062E PIC X VALUE 'N'. + + 77 FLD0063A PIC S9(07)V9(01) + VALUE +2106925.6. + 77 FLD0063B PIC 9(08)V9(19) + VALUE 73193550.7264897311507922950. + 77 FLD0063E PIC X VALUE 'N'. + + 77 FLD0064A PIC 9(06)V9(25) + VALUE 828553.1635867423583263757791428. + 77 FLD0064B PIC S9(04) + VALUE +1113. + 77 FLD0064E PIC X VALUE 'N'. + + 77 FLD0065A PIC 9(08)V9(02) + VALUE 26934154.73. + 77 FLD0065B PIC S9(04) + VALUE +1223. + 77 FLD0065E PIC X VALUE 'N'. + + 77 FLD0066A PIC 9(01) + VALUE 0. + 77 FLD0066B PIC 9(05)V9(27) + VALUE 85085.260849998822774153950376785. + 77 FLD0066E PIC X VALUE 'N'. + + 77 FLD0067A PIC S9(03) + VALUE -091. + 77 FLD0067B PIC S9(01) + VALUE +0. + 77 FLD0067E PIC X VALUE 'N'. + + 77 FLD0068A PIC 9(06)V9(25) + VALUE 838055.6814082209537986045688739. + 77 FLD0068B PIC 9(01) + VALUE 0. + 77 FLD0068E PIC X VALUE 'N'. + + 77 FLD0069A PIC 9(10)V9(08) + VALUE 4880885916.76487937. + 77 FLD0069B PIC 9(03) + VALUE 097. + 77 FLD0069E PIC X VALUE 'N'. + + 77 FLD0070A PIC 9(08)V9(18) + VALUE 69654747.914044090606466852. + 77 FLD0070B PIC S9(06)V9(01) + VALUE -192591.5. + 77 FLD0070E PIC X VALUE 'N'. + + 77 FLD0071A PIC 9(02) + VALUE 05. + 77 FLD0071B PIC 9(04) + VALUE 1269. + 77 FLD0071E PIC X VALUE 'N'. + + 77 FLD0072A PIC 9(01)V9(36) + VALUE 9.925387953744267965916492357791867107. + 77 FLD0072B PIC 9(09)V9(15) + VALUE 655377323.717403204028641. + 77 FLD0072E PIC X VALUE 'N'. + + 77 FLD0073A PIC 9(01)V9(36) + VALUE 9.812328554525302504174533169134519994. + 77 FLD0073B PIC 9(08)V9(18) + VALUE 70717230.890474991333860543. + 77 FLD0073E PIC X VALUE 'N'. + + 77 FLD0074A PIC 9(03)V9(32) + VALUE 925.84903592679257400277492706663906. + 77 FLD0074B PIC 9(01)V9(36) + VALUE 9.839916331263631743553332853480242192. + 77 FLD0074E PIC X VALUE 'N'. + + 77 FLD0075A PIC 9(10)V9(10) + VALUE 5446083738.8683014381. + 77 FLD0075B PIC S9(07)V9(01) + VALUE +2205661.8. + 77 FLD0075E PIC X VALUE 'N'. + + 77 FLD0076A PIC S9(07)V9(02) + VALUE +2412584.18. + 77 FLD0076B PIC 9(02)V9(34) + VALUE 95.1877730461857529675739897356834262. + 77 FLD0076E PIC X VALUE 'N'. + + 77 FLD0077A PIC 9(10)V9(08) + VALUE 4971042025.86989840. + 77 FLD0077B PIC 9(05)V9(28) + VALUE 87747.7884783979700245026833727024. + 77 FLD0077E PIC X VALUE 'N'. + + 77 FLD0078A PIC 9(06)V9(01) + VALUE 186044.2. + 77 FLD0078B PIC 9(10)V9(10) + VALUE 5264094377.6727222580. + 77 FLD0078E PIC X VALUE 'N'. + + 77 FLD0079A PIC 9(09)V9(15) + VALUE 638119223.314542294289708. + 77 FLD0079B PIC S9(03) + VALUE +101. + 77 FLD0079E PIC X VALUE 'N'. + + 77 FLD0080A PIC 9(07)V9(23) + VALUE 7905587.67133311302011122734256. + 77 FLD0080B PIC S9(09)V9(04) + VALUE -363247849.5626. + 77 FLD0080E PIC X VALUE 'N'. + + 77 FLD0081A PIC 9(01)V9(36) + VALUE 9.951308658902108250643436804239172488. + 77 FLD0081B PIC 9(09)V9(04) + VALUE 367206952.3371. + 77 FLD0081E PIC X VALUE 'N'. + + 77 FLD0082A PIC S9(08)V9(02) + VALUE -26324419.10. + 77 FLD0082B PIC 9(07)V9(22) + VALUE 7666475.1738066827524420432382. + 77 FLD0082E PIC X VALUE 'N'. + + 77 FLD0083A PIC 9(09)V9(14) + VALUE 631384121.39469823891602. + 77 FLD0083B PIC S9(07)V9(02) + VALUE -2518657.33. + 77 FLD0083E PIC X VALUE 'N'. + + 77 FLD0084A PIC 9(04)V9(29) + VALUE 8913.08379718931953483718189090723. + 77 FLD0084B PIC 9(09)V9(06) + VALUE 405118244.918866. + 77 FLD0084E PIC X VALUE 'N'. + + 77 FLD0085A PIC 9(05) + VALUE 15779. + 77 FLD0085B PIC 9(10)V9(06) + VALUE 4354227755.611629. + 77 FLD0085E PIC X VALUE 'N'. + + 77 FLD0086A PIC 9(01)V9(36) + VALUE 9.766547774737049936177868403319735080. + 77 FLD0086B PIC 9(10)V9(11) + VALUE 5711670223.78104349833. + 77 FLD0086E PIC X VALUE 'N'. + + 77 FLD0087A PIC 9(09)V9(14) + VALUE 617158605.01368802193411. + 77 FLD0087B PIC 9(04) + VALUE 1168. + 77 FLD0087E PIC X VALUE 'N'. + + 77 FLD0088A PIC 9(10)V9(12) + VALUE 5809468198.000283800652. + 77 FLD0088B PIC 9(09)V9(03) + VALUE 327927843.481. + 77 FLD0088E PIC X VALUE 'N'. + + 77 FLD0089A PIC 9(06)V9(24) + VALUE 802942.222446262787727278009697. + 77 FLD0089B PIC 9(03)V9(31) + VALUE 913.0556640200002682661306607769802. + 77 FLD0089E PIC X VALUE 'N'. + + 77 FLD0090A PIC S9(08)V9(02) + VALUE -28271627.31. + 77 FLD0090B PIC S9(08)V9(03) + VALUE -29023436.992. + 77 FLD0090E PIC X VALUE 'N'. + + 77 FLD0091A PIC 9(09)V9(07) + VALUE 438808038.0901770. + 77 FLD0091B PIC 9(08)V9(18) + VALUE 69809163.794725925811235356. + 77 FLD0091E PIC X VALUE 'N'. + + 77 FLD0092A PIC S9(07)V9(01) + VALUE +2146587.0. + 77 FLD0092B PIC 9(06)V9(25) + VALUE 828676.9901534452031910404912196. + 77 FLD0092E PIC X VALUE 'N'. + + 77 FLD0093A PIC 9(06)V9(25) + VALUE 831848.6927757260396276706160278. + 77 FLD0093B PIC 9(07)V9(23) + VALUE 7909193.25337388512409120266966. + 77 FLD0093E PIC X VALUE 'N'. + + 77 FLD0094A PIC 9(07)V9(01) + VALUE 2260698.5. + 77 FLD0094B PIC 9(10)V9(10) + VALUE 5308926344.5354850645. + 77 FLD0094E PIC X VALUE 'N'. + + 77 FLD0095A PIC 9(07)V9(22) + VALUE 7681159.7607563408818265315858. + 77 FLD0095B PIC 9(06)V9(25) + VALUE 835614.2190518044410296738533361. + 77 FLD0095E PIC X VALUE 'N'. + + 77 FLD0096A PIC 9(01) + VALUE 0. + 77 FLD0096B PIC 9(05)V9(28) + VALUE 87505.3049076218392166026660561328. + 77 FLD0096E PIC X VALUE 'N'. + + 77 FLD0097A PIC 9(03) + VALUE 085. + 77 FLD0097B PIC 9(07)V9(22) + VALUE 7663819.4132902548449948199049. + 77 FLD0097E PIC X VALUE 'N'. + + 77 FLD0098A PIC 9(05)V9(28) + VALUE 87637.1310136299430659789777564583. + 77 FLD0098B PIC 9(08)V9(04) + VALUE 33500668.0379. + 77 FLD0098E PIC X VALUE 'N'. + + 77 FLD0099A PIC S9(10)V9(08) + VALUE -4946809917.70565292. + 77 FLD0099B PIC S9(08)V9(03) + VALUE +30007106.715. + 77 FLD0099E PIC X VALUE 'N'. + + 77 FLD0100A PIC 9(10)V9(09) + VALUE 5148281813.288457797. + 77 FLD0100B PIC 9(09)V9(14) + VALUE 609442213.66168171982735. + 77 FLD0100E PIC X VALUE 'N'. + + 77 FLD0101A PIC S9(07)V9(02) + VALUE -2605358.58. + 77 FLD0101B PIC S9(07)V9(02) + VALUE -2515761.93. + 77 FLD0101E PIC X VALUE 'N'. + + 77 FLD0102A PIC 9(05) + VALUE 13880. + 77 FLD0102B PIC 9(09)V9(14) + VALUE 626009568.32775289662151. + 77 FLD0102E PIC X VALUE 'N'. + + 77 FLD0103A PIC 9(03)V9(32) + VALUE 929.51599988912647631877916865050792. + 77 FLD0103B PIC 9(01) + VALUE 0. + 77 FLD0103E PIC X VALUE 'N'. + + 77 FLD0104A PIC 9(07)V9(01) + VALUE 2254306.3. + 77 FLD0104B PIC S9(10)V9(08) + VALUE -4810300752.02174334. + 77 FLD0104E PIC X VALUE 'N'. + + 77 FLD0105A PIC S9(08)V9(03) + VALUE -29081388.428. + 77 FLD0105B PIC 9(08)V9(02) + VALUE 27558698.77. + 77 FLD0105E PIC X VALUE 'N'. + + 77 FLD0106A PIC S9(02) + VALUE -07. + 77 FLD0106B PIC S9(08)V9(02) + VALUE -26362185.29. + 77 FLD0106E PIC X VALUE 'N'. + + 77 FLD0107A PIC 9(09)V9(16) + VALUE 677462443.7557797973497031. + 77 FLD0107B PIC 9(08)V9(19) + VALUE 71705910.5997380985542122289. + 77 FLD0107E PIC X VALUE 'N'. + + 77 FLD0108A PIC 9(09)V9(14) + VALUE 610210882.31341436003418. + 77 FLD0108B PIC S9(08)V9(02) + VALUE -28421053.19. + 77 FLD0108E PIC X VALUE 'N'. + + 77 FLD0109A PIC S9(04) + VALUE +1136. + 77 FLD0109B PIC 9(04)V9(30) + VALUE 9020.720262660837374113498299266211. + 77 FLD0109E PIC X VALUE 'N'. + + 77 FLD0110A PIC 9(07)V9(23) + VALUE 7940109.55673497886841971649118. + 77 FLD0110B PIC 9(08)V9(18) + VALUE 69721135.284383173313926818. + 77 FLD0110E PIC X VALUE 'N'. + + 77 FLD0111A PIC 9(09)V9(03) + VALUE 326472185.831. + 77 FLD0111B PIC 9(10)V9(09) + VALUE 5255901748.964217912. + 77 FLD0111E PIC X VALUE 'N'. + + 77 FLD0112A PIC 9(08)V9(19) + VALUE 71238052.4624002697819946661. + 77 FLD0112B PIC S9(08)V9(02) + VALUE -27133920.74. + 77 FLD0112E PIC X VALUE 'N'. + + 77 FLD0113A PIC 9(04)V9(30) + VALUE 9092.566324157485002643852567416615. + 77 FLD0113B PIC 9(04) + VALUE 1277. + 77 FLD0113E PIC X VALUE 'N'. + + 77 FLD0114A PIC 9(09)V9(07) + VALUE 437805064.1539988. + 77 FLD0114B PIC 9(05)V9(01) + VALUE 17667.3. + 77 FLD0114E PIC X VALUE 'N'. + + 77 FLD0115A PIC 9(02)V9(34) + VALUE 96.2362934933669089687668929400388151. + 77 FLD0115B PIC S9(08)V9(03) + VALUE +30236682.408. + 77 FLD0115E PIC X VALUE 'N'. + + 77 FLD0116A PIC 9(07)V9(22) + VALUE 7646463.4359510952332783517704. + 77 FLD0116B PIC 9(01) + VALUE 0. + 77 FLD0116E PIC X VALUE 'N'. + + 77 FLD0117A PIC 9(09)V9(14) + VALUE 617509561.34001855346582. + 77 FLD0117B PIC 9(05) + VALUE 13612. + 77 FLD0117E PIC X VALUE 'N'. + + 77 FLD0118A PIC 9(10)V9(10) + VALUE 5408402726.5490597358. + 77 FLD0118B PIC S9(03) + VALUE -080. + 77 FLD0118E PIC X VALUE 'N'. + + 77 FLD0119A PIC S9(08)V9(03) + VALUE +30078875.458. + 77 FLD0119B PIC 9(07)V9(02) + VALUE 2460449.05. + 77 FLD0119E PIC X VALUE 'N'. + + 77 FLD0120A PIC 9(06)V9(25) + VALUE 830160.1137616416714593015058198. + 77 FLD0120B PIC S9(02) + VALUE -07. + 77 FLD0120E PIC X VALUE 'N'. + + 77 FLD0121A PIC S9(07)V9(01) + VALUE +2338292.2. + 77 FLD0121B PIC S9(09)V9(03) + VALUE +320991974.822. + 77 FLD0121E PIC X VALUE 'N'. + + 77 FLD0122A PIC S9(06)V9(01) + VALUE -184951.8. + 77 FLD0122B PIC 9(08)V9(02) + VALUE 26752619.72. + 77 FLD0122E PIC X VALUE 'N'. + + 77 FLD0123A PIC S9(02) + VALUE -05. + 77 FLD0123B PIC 9(07)V9(21) + VALUE 7502027.502690824523057244732. + 77 FLD0123E PIC X VALUE 'N'. + + 77 FLD0124A PIC 9(01) + VALUE 0. + 77 FLD0124B PIC S9(10)V9(06) + VALUE +4223876720.963152. + 77 FLD0124E PIC X VALUE 'N'. + + 77 FLD0125A PIC 9(04)V9(29) + VALUE 8800.31826789913984576685379579430. + 77 FLD0125B PIC 9(09)V9(15) + VALUE 637787216.045794358443288. + 77 FLD0125E PIC X VALUE 'N'. + + 77 FLD0126A PIC 9(06)V9(24) + VALUE 807990.071015203703552742808824. + 77 FLD0126B PIC 9(07)V9(01) + VALUE 2285688.0. + 77 FLD0126E PIC X VALUE 'N'. + + 77 FLD0127A PIC 9(04)V9(30) + VALUE 8981.860178820127993404298649693373. + 77 FLD0127B PIC 9(05)V9(28) + VALUE 87878.0390073648609572387613297905. + 77 FLD0127E PIC X VALUE 'N'. + + 77 FLD0128A PIC 9(10)V9(06) + VALUE 4298489587.591516. + 77 FLD0128B PIC 9(08)V9(02) + VALUE 26904320.50. + 77 FLD0128E PIC X VALUE 'N'. + + 77 FLD0129A PIC S9(08)V9(04) + VALUE +33460508.1048. + 77 FLD0129B PIC 9(09)V9(14) + VALUE 629564859.51748508700376. + 77 FLD0129E PIC X VALUE 'N'. + + 77 FLD0130A PIC 9(01) + VALUE 0. + 77 FLD0130B PIC 9(08)V9(03) + VALUE 30500681.275. + 77 FLD0130E PIC X VALUE 'N'. + + 77 FLD0131A PIC 9(08)V9(02) + VALUE 26916210.05. + 77 FLD0131B PIC 9(08)V9(18) + VALUE 70626515.642831921848454612. + 77 FLD0131E PIC X VALUE 'N'. + + 77 FLD0132A PIC 9(04) + VALUE 1270. + 77 FLD0132B PIC 9(07)V9(01) + VALUE 2163498.7. + 77 FLD0132E PIC X VALUE 'N'. + + 77 FLD0133A PIC 9(01)V9(36) + VALUE 9.890353542063604619372085835493635386. + 77 FLD0133B PIC S9(07)V9(02) + VALUE -2528421.98. + 77 FLD0133E PIC X VALUE 'N'. + + 77 FLD0134A PIC 9(08)V9(18) + VALUE 70385499.741438917187252855. + 77 FLD0134B PIC 9(09)V9(16) + VALUE 673960062.4739148226893803. + 77 FLD0134E PIC X VALUE 'N'. + + 77 FLD0135A PIC 9(10)V9(07) + VALUE 4678335500.0128495. + 77 FLD0135B PIC 9(07)V9(02) + VALUE 2561321.97. + 77 FLD0135E PIC X VALUE 'N'. + + 77 FLD0136A PIC S9(05) + VALUE -15169. + 77 FLD0136B PIC 9(08)V9(19) + VALUE 72091249.9695820607747975827. + 77 FLD0136E PIC X VALUE 'N'. + + 77 FLD0137A PIC S9(08)V9(02) + VALUE -27190319.39. + 77 FLD0137B PIC 9(03)V9(32) + VALUE 921.23024961283406231160597599227912. + 77 FLD0137E PIC X VALUE 'N'. + + 77 FLD0138A PIC S9(10)V9(08) + VALUE -4824223828.94490853. + 77 FLD0138B PIC 9(04)V9(30) + VALUE 8976.142294415691003095503219810780. + 77 FLD0138E PIC X VALUE 'N'. + + 77 FLD0139A PIC 9(09)V9(03) + VALUE 319644653.394. + 77 FLD0139B PIC 9(06)V9(25) + VALUE 818318.3537620841718762676464393. + 77 FLD0139E PIC X VALUE 'N'. + + 77 FLD0140A PIC S9(01) + VALUE +0. + 77 FLD0140B PIC 9(03)V9(31) + VALUE 913.4502802484925076953459210926666. + 77 FLD0140E PIC X VALUE 'N'. + + 77 FLD0141A PIC 9(09)V9(14) + VALUE 612266512.11346116987499. + 77 FLD0141B PIC 9(06)V9(01) + VALUE 198046.5. + 77 FLD0141E PIC X VALUE 'N'. + + 77 FLD0142A PIC 9(09)V9(04) + VALUE 356201246.7531. + 77 FLD0142B PIC S9(04) + VALUE +1134. + 77 FLD0142E PIC X VALUE 'N'. + + 77 FLD0143A PIC S9(07)V9(02) + VALUE -2608987.15. + 77 FLD0143B PIC 9(06)V9(01) + VALUE 205887.8. + 77 FLD0143E PIC X VALUE 'N'. + + 77 FLD0144A PIC 9(10)V9(11) + VALUE 5664625691.64754570216. + 77 FLD0144B PIC 9(07)V9(01) + VALUE 2170292.3. + 77 FLD0144E PIC X VALUE 'N'. + + 77 FLD0145A PIC 9(09)V9(13) + VALUE 592809780.4295365813587. + 77 FLD0145B PIC 9(09)V9(06) + VALUE 416669902.306984. + 77 FLD0145E PIC X VALUE 'N'. + + 77 FLD0146A PIC S9(03) + VALUE -091. + 77 FLD0146B PIC 9(09)V9(13) + VALUE 592675280.7490164309811. + 77 FLD0146E PIC X VALUE 'N'. + + 77 FLD0147A PIC 9(03) + VALUE 085. + 77 FLD0147B PIC 9(10)V9(05) + VALUE 3974420340.21838. + 77 FLD0147E PIC X VALUE 'N'. + + 77 FLD0148A PIC 9(04) + VALUE 1189. + 77 FLD0148B PIC 9(08)V9(04) + VALUE 33583306.9980. + 77 FLD0148E PIC X VALUE 'N'. + + 77 FLD0149A PIC 9(05)V9(27) + VALUE 86469.811002464236349140946913394. + 77 FLD0149B PIC S9(02) + VALUE -05. + 77 FLD0149E PIC X VALUE 'N'. + + 77 FLD0150A PIC S9(02) + VALUE -06. + 77 FLD0150B PIC 9(01)V9(36) + VALUE 9.779789481524289174174668914929497987. + 77 FLD0150E PIC X VALUE 'N'. + + 77 FLD0151A PIC 9(09)V9(13) + VALUE 602633749.4884196344102. + 77 FLD0151B PIC 9(07)V9(22) + VALUE 7715228.5011189425389943608024. + 77 FLD0151E PIC X VALUE 'N'. + + 77 FLD0152A PIC S9(08)V9(02) + VALUE -28005400.65. + 77 FLD0152B PIC 9(02)V9(34) + VALUE 96.9689035330467796747200281970435753. + 77 FLD0152E PIC X VALUE 'N'. + + 77 FLD0153A PIC 9(08)V9(18) + VALUE 69246387.672994647033419823. + 77 FLD0153B PIC 9(07)V9(22) + VALUE 7700147.9845998110906890588012. + 77 FLD0153E PIC X VALUE 'N'. + + 77 FLD0154A PIC 9(09)V9(14) + VALUE 618531644.61004783714059. + 77 FLD0154B PIC 9(10)V9(07) + VALUE 4667533939.9326892. + 77 FLD0154E PIC X VALUE 'N'. + + 77 FLD0155A PIC 9(10)V9(12) + VALUE 5816028861.286740569980. + 77 FLD0155B PIC 9(03)V9(31) + VALUE 920.9824083062539967770021576143335. + 77 FLD0155E PIC X VALUE 'N'. + + 77 FLD0156A PIC 9(02)V9(34) + VALUE 95.3830714078202746009083057288080453. + 77 FLD0156B PIC 9(04)V9(30) + VALUE 9080.971133779824899789900882751680. + 77 FLD0156E PIC X VALUE 'N'. + + 77 FLD0157A PIC 9(09)V9(16) + VALUE 659745695.0483697735165833. + 77 FLD0157B PIC 9(10)V9(06) + VALUE 4359875032.276696. + 77 FLD0157E PIC X VALUE 'N'. + + 77 FLD0158A PIC S9(09)V9(06) + VALUE +412656981.234114. + 77 FLD0158B PIC 9(09)V9(14) + VALUE 611832243.66474420197192. + 77 FLD0158E PIC X VALUE 'N'. + + 77 FLD0159A PIC 9(01) + VALUE 0. + 77 FLD0159B PIC 9(09)V9(15) + VALUE 643529357.674236912600918. + 77 FLD0159E PIC X VALUE 'N'. + + 77 FLD0160A PIC 9(08)V9(20) + VALUE 74656107.83998073429756914265. + 77 FLD0160B PIC 9(06)V9(01) + VALUE 207077.8. + 77 FLD0160E PIC X VALUE 'N'. + + 77 FLD0161A PIC 9(07)V9(22) + VALUE 7887170.9741627593626134284932. + 77 FLD0161B PIC 9(08)V9(19) + VALUE 71702582.3615881408024108623. + 77 FLD0161E PIC X VALUE 'N'. + + 77 FLD0162A PIC S9(02) + VALUE -07. + 77 FLD0162B PIC 9(10)V9(11) + VALUE 5668143857.58160899086. + 77 FLD0162E PIC X VALUE 'N'. + + 77 FLD0163A PIC 9(09)V9(14) + VALUE 618392824.19829444403802. + 77 FLD0163B PIC 9(09)V9(15) + VALUE 650815786.826470232817598. + 77 FLD0163E PIC X VALUE 'N'. + + 77 FLD0164A PIC S9(06)V9(01) + VALUE +204076.7. + 77 FLD0164B PIC 9(04) + VALUE 1076. + 77 FLD0164E PIC X VALUE 'N'. + + 77 FLD0165A PIC 9(09)V9(14) + VALUE 610409164.63927785695631. + 77 FLD0165B PIC 9(04) + VALUE 1267. + 77 FLD0165E PIC X VALUE 'N'. + + 77 FLD0166A PIC 9(07)V9(02) + VALUE 2460589.98. + 77 FLD0166B PIC 9(05)V9(01) + VALUE 17630.0. + 77 FLD0166E PIC X VALUE 'N'. + + 77 FLD0167A PIC S9(09)V9(03) + VALUE +323253458.962. + 77 FLD0167B PIC 9(06)V9(25) + VALUE 838285.1322478405142746282763255. + 77 FLD0167E PIC X VALUE 'N'. + + 77 FLD0168A PIC S9(04) + VALUE +1200. + 77 FLD0168B PIC S9(10)V9(06) + VALUE +4326937205.661665. + 77 FLD0168E PIC X VALUE 'N'. + + 77 FLD0169A PIC 9(06)V9(25) + VALUE 834885.7368063762329768451309064. + 77 FLD0169B PIC 9(08)V9(18) + VALUE 70699865.109667991980302304. + 77 FLD0169E PIC X VALUE 'N'. + + 77 FLD0170A PIC 9(08)V9(19) + VALUE 72325482.4666709539293663056. + 77 FLD0170B PIC 9(01)V9(36) + VALUE 9.863493423765207213094186045054811984. + 77 FLD0170E PIC X VALUE 'N'. + + 77 FLD0171A PIC 9(09)V9(16) + VALUE 675345293.4675296948086042. + 77 FLD0171B PIC 9(10)V9(06) + VALUE 4258478422.558273. + 77 FLD0171E PIC X VALUE 'N'. + + 77 FLD0172A PIC 9(02)V9(34) + VALUE 96.0216523360032936373897882731398567. + 77 FLD0172B PIC 9(04)V9(30) + VALUE 8999.798406174591702821885519369971. + 77 FLD0172E PIC X VALUE 'N'. + + 77 FLD0173A PIC S9(09)V9(06) + VALUE +412472914.336663. + 77 FLD0173B PIC 9(10)V9(08) + VALUE 4786981213.45750904. + 77 FLD0173E PIC X VALUE 'N'. + + 77 FLD0174A PIC S9(04) + VALUE +1244. + 77 FLD0174B PIC 9(10)V9(09) + VALUE 5152586737.087611057. + 77 FLD0174E PIC X VALUE 'N'. + + 77 FLD0175A PIC S9(05) + VALUE +13456. + 77 FLD0175B PIC S9(02) + VALUE -05. + 77 FLD0175E PIC X VALUE 'N'. + + 77 FLD0176A PIC 9(07)V9(23) + VALUE 7902178.74582138546379894705751. + 77 FLD0176B PIC 9(08)V9(03) + VALUE 29797398.003. + 77 FLD0176E PIC X VALUE 'N'. + + 77 FLD0177A PIC 9(07)V9(21) + VALUE 7618839.577049143496623173632. + 77 FLD0177B PIC 9(07)V9(02) + VALUE 2373414.07. + 77 FLD0177E PIC X VALUE 'N'. + + 77 FLD0178A PIC 9(09)V9(04) + VALUE 355502105.3348. + 77 FLD0178B PIC S9(08)V9(03) + VALUE +31397739.222. + 77 FLD0178E PIC X VALUE 'N'. + + 77 FLD0179A PIC 9(09)V9(05) + VALUE 388560564.63472. + 77 FLD0179B PIC 9(03) + VALUE 099. + 77 FLD0179E PIC X VALUE 'N'. + + 77 FLD0180A PIC 9(05)V9(27) + VALUE 85946.157652659294079455776227405. + 77 FLD0180B PIC 9(10)V9(10) + VALUE 5435189439.3573940700. + 77 FLD0180E PIC X VALUE 'N'. + + 77 FLD0181A PIC 9(06)V9(01) + VALUE 188908.8. + 77 FLD0181B PIC S9(10)V9(08) + VALUE -4740924741.33910868. + 77 FLD0181E PIC X VALUE 'N'. + + 77 FLD0182A PIC 9(10)V9(13) + VALUE 6061401860.3468300394609. + 77 FLD0182B PIC 9(09)V9(15) + VALUE 643493508.008180281620980. + 77 FLD0182E PIC X VALUE 'N'. + + 77 FLD0183A PIC 9(07)V9(23) + VALUE 7910108.10526126539876656806882. + 77 FLD0183B PIC S9(02) + VALUE -05. + 77 FLD0183E PIC X VALUE 'N'. + + 77 FLD0184A PIC 9(09)V9(15) + VALUE 635945742.812533687526865. + 77 FLD0184B PIC S9(07)V9(01) + VALUE +2343773.6. + 77 FLD0184E PIC X VALUE 'N'. + + 77 FLD0185A PIC 9(05) + VALUE 15666. + 77 FLD0185B PIC 9(08)V9(20) + VALUE 73935660.38753716096465495866. + 77 FLD0185E PIC X VALUE 'N'. + + 77 FLD0186A PIC 9(02) + VALUE 07. + 77 FLD0186B PIC 9(05)V9(26) + VALUE 84084.08947119312415452441200613. + 77 FLD0186E PIC X VALUE 'N'. + + 77 FLD0187A PIC 9(09)V9(13) + VALUE 604672028.7423602568921. + 77 FLD0187B PIC 9(10)V9(12) + VALUE 5893278013.192120301511. + 77 FLD0187E PIC X VALUE 'N'. + + 77 FLD0188A PIC 9(08)V9(17) + VALUE 68008236.87569536035724127. + 77 FLD0188B PIC 9(07)V9(21) + VALUE 7537078.198448752264226868646. + 77 FLD0188E PIC X VALUE 'N'. + + 77 FLD0189A PIC 9(10)V9(09) + VALUE 5115071016.238050827. + 77 FLD0189B PIC 9(10)V9(11) + VALUE 5668524677.20726727051. + 77 FLD0189E PIC X VALUE 'N'. + + 77 FLD0190A PIC 9(07)V9(02) + VALUE 2382137.54. + 77 FLD0190B PIC 9(09)V9(14) + VALUE 627148648.94273569806415. + 77 FLD0190E PIC X VALUE 'N'. + + 77 FLD0191A PIC 9(05) + VALUE 13720. + 77 FLD0191B PIC 9(06)V9(24) + VALUE 803717.168989411478996487403492. + 77 FLD0191E PIC X VALUE 'N'. + + 77 FLD0192A PIC 9(01)V9(36) + VALUE 9.894259454195439840162862310535274446. + 77 FLD0192B PIC 9(09)V9(04) + VALUE 358034239.3955. + 77 FLD0192E PIC X VALUE 'N'. + + 77 FLD0193A PIC 9(10)V9(06) + VALUE 4252943677.090519. + 77 FLD0193B PIC 9(09)V9(14) + VALUE 612048644.17243076690766. + 77 FLD0193E PIC X VALUE 'N'. + + 77 FLD0194A PIC 9(09)V9(06) + VALUE 417168379.939779. + 77 FLD0194B PIC 9(09)V9(15) + VALUE 634454032.998696626499679. + 77 FLD0194E PIC X VALUE 'N'. + + 77 FLD0195A PIC 9(08)V9(02) + VALUE 26645846.45. + 77 FLD0195B PIC 9(05) + VALUE 14921. + 77 FLD0195E PIC X VALUE 'N'. + + 77 FLD0196A PIC 9(01) + VALUE 0. + 77 FLD0196B PIC S9(05)V9(01) + VALUE -18000.7. + 77 FLD0196E PIC X VALUE 'N'. + + 77 FLD0197A PIC 9(01)V9(36) + VALUE 9.847788375924405590566834689525421708. + 77 FLD0197B PIC 9(02) + VALUE 05. + 77 FLD0197E PIC X VALUE 'N'. + + 77 FLD0198A PIC 9(09)V9(13) + VALUE 593293108.5591157671643. + 77 FLD0198B PIC S9(05) + VALUE +14072. + 77 FLD0198E PIC X VALUE 'N'. + + 77 FLD0199A PIC 9(07)V9(02) + VALUE 2483287.24. + 77 FLD0199B PIC 9(07)V9(23) + VALUE 7969040.17410605347571106449322. + 77 FLD0199E PIC X VALUE 'N'. + + 77 FLD0200A PIC S9(10)V9(08) + VALUE -4935972790.60619176. + 77 FLD0200B PIC 9(10)V9(07) + VALUE 4582475224.7206340. + 77 FLD0200E PIC X VALUE 'N'. + + 77 FLD0201A PIC 9(04) + VALUE 1282. + 77 FLD0201B PIC 9(07)V9(23) + VALUE 7926313.90444417882612526682351. + 77 FLD0201E PIC X VALUE 'N'. + + 77 FLD0202A PIC S9(09)V9(04) + VALUE -360603443.7503. + 77 FLD0202B PIC 9(03)V9(32) + VALUE 935.68197555010013122256395945441909. + 77 FLD0202E PIC X VALUE 'N'. + + 77 FLD0203A PIC 9(09)V9(14) + VALUE 628607663.38264040253847. + 77 FLD0203B PIC 9(03)V9(31) + VALUE 920.1886012491730104656539879215415. + 77 FLD0203E PIC X VALUE 'N'. + + 77 FLD0204A PIC 9(01)V9(35) + VALUE 9.73054030732718233664968465745914727. + 77 FLD0204B PIC 9(07)V9(01) + VALUE 2363275.3. + 77 FLD0204E PIC X VALUE 'N'. + + 77 FLD0205A PIC 9(09)V9(15) + VALUE 648926914.508991536933990. + 77 FLD0205B PIC 9(09)V9(15) + VALUE 639814213.238647178094709. + 77 FLD0205E PIC X VALUE 'N'. + + 77 FLD0206A PIC 9(06)V9(01) + VALUE 186967.7. + 77 FLD0206B PIC 9(08)V9(18) + VALUE 70826356.466434425840361654. + 77 FLD0206E PIC X VALUE 'N'. + + 77 FLD0207A PIC 9(05)V9(26) + VALUE 83944.39242287422553445708217623. + 77 FLD0207B PIC 9(07)V9(21) + VALUE 7607846.993308088334728722657. + 77 FLD0207E PIC X VALUE 'N'. + + 77 FLD0208A PIC 9(02)V9(34) + VALUE 96.7940040016311842308027735271025449. + 77 FLD0208B PIC 9(07)V9(01) + VALUE 2151595.4. + 77 FLD0208E PIC X VALUE 'N'. + + 77 FLD0209A PIC 9(03)V9(32) + VALUE 926.61149050802726900855077474261634. + 77 FLD0209B PIC 9(07)V9(23) + VALUE 7951784.48263920700789242346218. + 77 FLD0209E PIC X VALUE 'N'. + + 77 FLD0210A PIC 9(08)V9(19) + VALUE 72323528.1456575562764044207. + 77 FLD0210B PIC 9(01) + VALUE 0. + 77 FLD0210E PIC X VALUE 'N'. + + 77 FLD0211A PIC 9(01) + VALUE 0. + 77 FLD0211B PIC S9(09)V9(07) + VALUE +442113770.7554604. + 77 FLD0211E PIC X VALUE 'N'. + + 77 FLD0212A PIC 9(10)V9(08) + VALUE 4892032792.55731038. + 77 FLD0212B PIC S9(09)V9(05) + VALUE -372935567.70682. + 77 FLD0212E PIC X VALUE 'N'. + + 77 FLD0213A PIC S9(03) + VALUE -082. + 77 FLD0213B PIC 9(07)V9(21) + VALUE 7525721.770631302875997903356. + 77 FLD0213E PIC X VALUE 'N'. + + 77 FLD0214A PIC 9(01) + VALUE 0. + 77 FLD0214B PIC 9(09)V9(16) + VALUE 666893270.4655321508369070. + 77 FLD0214E PIC X VALUE 'N'. + + 77 FLD0215A PIC 9(03)V9(32) + VALUE 926.34033699271633999217101518297567. + 77 FLD0215B PIC S9(05)V9(01) + VALUE -18226.5. + 77 FLD0215E PIC X VALUE 'N'. + + 77 FLD0216A PIC S9(08)V9(02) + VALUE -28095374.87. + 77 FLD0216B PIC 9(08)V9(02) + VALUE 28541793.87. + 77 FLD0216E PIC X VALUE 'N'. + + 77 FLD0217A PIC 9(08)V9(20) + VALUE 74562962.48658396130792880285. + 77 FLD0217B PIC S9(09)V9(07) + VALUE +444563659.0422049. + 77 FLD0217E PIC X VALUE 'N'. + + 77 FLD0218A PIC S9(05)V9(01) + VALUE -18094.6. + 77 FLD0218B PIC 9(01)V9(36) + VALUE 9.867255193327033602201936446363106369. + 77 FLD0218E PIC X VALUE 'N'. + + 77 FLD0219A PIC 9(09)V9(12) + VALUE 578788992.127507229135. + 77 FLD0219B PIC 9(10)V9(10) + VALUE 5297903516.0907261836. + 77 FLD0219E PIC X VALUE 'N'. + + 77 FLD0220A PIC 9(09)V9(12) + VALUE 573343525.907533679841. + 77 FLD0220B PIC S9(05) + VALUE +14161. + 77 FLD0220E PIC X VALUE 'N'. + + 77 FLD0221A PIC 9(01) + VALUE 0. + 77 FLD0221B PIC 9(04)V9(29) + VALUE 8789.10367794605407176788958167890. + 77 FLD0221E PIC X VALUE 'N'. + + 77 FLD0222A PIC 9(09)V9(14) + VALUE 628182805.25174396977661. + 77 FLD0222B PIC S9(05) + VALUE -15228. + 77 FLD0222E PIC X VALUE 'N'. + + 77 FLD0223A PIC 9(01) + VALUE 0. + 77 FLD0223B PIC 9(08)V9(18) + VALUE 69950927.082806102497158917. + 77 FLD0223E PIC X VALUE 'N'. + + 77 FLD0224A PIC 9(06)V9(25) + VALUE 838187.2267509891116787912324070. + 77 FLD0224B PIC S9(09)V9(05) + VALUE -382169497.04991. + 77 FLD0224E PIC X VALUE 'N'. + + 77 FLD0225A PIC 9(05) + VALUE 13797. + 77 FLD0225B PIC 9(09)V9(12) + VALUE 572598612.808938978169. + 77 FLD0225E PIC X VALUE 'N'. + + 77 FLD0226A PIC 9(05) + VALUE 14900. + 77 FLD0226B PIC S9(07)V9(01) + VALUE +2129995.4. + 77 FLD0226E PIC X VALUE 'N'. + + 77 FLD0227A PIC 9(09)V9(14) + VALUE 629583055.15940859997670. + 77 FLD0227B PIC 9(04)V9(30) + VALUE 8983.577034983017961522477889957372. + 77 FLD0227E PIC X VALUE 'N'. + + 77 FLD0228A PIC S9(07)V9(01) + VALUE +2225916.3. + 77 FLD0228B PIC 9(01)V9(36) + VALUE 9.739690596877397243957830141880549490. + 77 FLD0228E PIC X VALUE 'N'. + + 77 FLD0229A PIC 9(01)V9(36) + VALUE 9.870473603260505601753038718015886843. + 77 FLD0229B PIC 9(08)V9(20) + VALUE 73838029.76208535540081356884. + 77 FLD0229E PIC X VALUE 'N'. + + 77 FLD0230A PIC S9(06)V9(01) + VALUE +201492.2. + 77 FLD0230B PIC S9(02) + VALUE -06. + 77 FLD0230E PIC X VALUE 'N'. + + 77 FLD0231A PIC 9(05)V9(28) + VALUE 87781.6812716511907233041256404248. + 77 FLD0231B PIC S9(08)V9(02) + VALUE -27182116.43. + 77 FLD0231E PIC X VALUE 'N'. + + 77 FLD0232A PIC 9(09)V9(04) + VALUE 356308264.5328. + 77 FLD0232B PIC 9(06)V9(25) + VALUE 833280.3014261945806495646138500. + 77 FLD0232E PIC X VALUE 'N'. + + 77 FLD0233A PIC 9(07)V9(21) + VALUE 7552156.809035388551620826547. + 77 FLD0233B PIC 9(08)V9(04) + VALUE 33739768.3403. + 77 FLD0233E PIC X VALUE 'N'. + + 77 FLD0234A PIC 9(08)V9(04) + VALUE 33831052.6754. + 77 FLD0234B PIC 9(09)V9(13) + VALUE 593899144.9424572133253. + 77 FLD0234E PIC X VALUE 'N'. + + 77 FLD0235A PIC S9(05) + VALUE +14123. + 77 FLD0235B PIC S9(10)V9(08) + VALUE -4808329310.19295639. + 77 FLD0235E PIC X VALUE 'N'. + + 77 FLD0236A PIC 9(04)V9(29) + VALUE 8818.23528289915170574886360554955. + 77 FLD0236B PIC 9(08)V9(18) + VALUE 70480160.116860446350983693. + 77 FLD0236E PIC X VALUE 'N'. + + 77 FLD0237A PIC 9(08)V9(02) + VALUE 28742037.59. + 77 FLD0237B PIC 9(04)V9(29) + VALUE 8850.90488581330880890618573175743. + 77 FLD0237E PIC X VALUE 'N'. + + 77 FLD0238A PIC 9(09)V9(15) + VALUE 634521096.430120334908053. + 77 FLD0238B PIC 9(06)V9(01) + VALUE 198396.3. + 77 FLD0238E PIC X VALUE 'N'. + + 77 FLD0239A PIC 9(09)V9(16) + VALUE 678585779.2924817610824561. + 77 FLD0239B PIC 9(09)V9(14) + VALUE 614739880.97122655993587. + 77 FLD0239E PIC X VALUE 'N'. + + 77 FLD0240A PIC 9(10)V9(06) + VALUE 4289853576.446766. + 77 FLD0240B PIC 9(06)V9(25) + VALUE 833165.4817075836438888813972880. + 77 FLD0240E PIC X VALUE 'N'. + + 77 FLD0241A PIC S9(05) + VALUE +14407. + 77 FLD0241B PIC 9(09)V9(14) + VALUE 608742950.23205993171444. + 77 FLD0241E PIC X VALUE 'N'. + + 77 FLD0242A PIC 9(10)V9(12) + VALUE 5860383854.989427154791. + 77 FLD0242B PIC S9(06)V9(01) + VALUE +201770.8. + 77 FLD0242E PIC X VALUE 'N'. + + 77 FLD0243A PIC 9(02)V9(34) + VALUE 97.0409660969254295181940506154205650. + 77 FLD0243B PIC 9(05)V9(28) + VALUE 86928.4847432245544318618613033322. + 77 FLD0243E PIC X VALUE 'N'. + + 77 FLD0244A PIC S9(01) + VALUE +0. + 77 FLD0244B PIC 9(09)V9(13) + VALUE 596454149.7067354924865. + 77 FLD0244E PIC X VALUE 'N'. + + 77 FLD0245A PIC S9(09)V9(05) + VALUE -371716886.14542. + 77 FLD0245B PIC 9(09)V9(15) + VALUE 636050719.355519267317333. + 77 FLD0245E PIC X VALUE 'N'. + + 77 FLD0246A PIC 9(05)V9(28) + VALUE 87216.9313623637143528810611314838. + 77 FLD0246B PIC 9(06)V9(01) + VALUE 208199.5. + 77 FLD0246E PIC X VALUE 'N'. + + 77 FLD0247A PIC 9(06)V9(25) + VALUE 834494.8214770686600871840710169. + 77 FLD0247B PIC 9(08)V9(19) + VALUE 73372232.8570783122181353519. + 77 FLD0247E PIC X VALUE 'N'. + + 77 FLD0248A PIC 9(04)V9(29) + VALUE 8885.56418584546814365410227765096. + 77 FLD0248B PIC 9(10)V9(11) + VALUE 5683594830.11341870550. + 77 FLD0248E PIC X VALUE 'N'. + + 77 FLD0249A PIC 9(09)V9(16) + VALUE 678470839.5950102000071524. + 77 FLD0249B PIC 9(09)V9(16) + VALUE 673175418.3146980707874718. + 77 FLD0249E PIC X VALUE 'N'. + + 77 FLD0250A PIC 9(09)V9(15) + VALUE 643468324.926731005675151. + 77 FLD0250B PIC 9(04)V9(30) + VALUE 9057.675398841628089385835664870683. + 77 FLD0250E PIC X VALUE 'N'. + + 77 FLD0251A PIC S9(09)V9(06) + VALUE +402548910.007195. + 77 FLD0251B PIC 9(06)V9(25) + VALUE 830149.1080513825338016431487631. + 77 FLD0251E PIC X VALUE 'N'. + + 77 FLD0252A PIC S9(05)V9(01) + VALUE -18339.3. + 77 FLD0252B PIC S9(07)V9(01) + VALUE +2343087.3. + 77 FLD0252E PIC X VALUE 'N'. + + 77 FLD0253A PIC 9(06)V9(25) + VALUE 822593.8518184680026124055984837. + 77 FLD0253B PIC 9(07)V9(01) + VALUE 2159897.7. + 77 FLD0253E PIC X VALUE 'N'. + + 77 FLD0254A PIC 9(10)V9(10) + VALUE 5401895692.3872574193. + 77 FLD0254B PIC S9(07)V9(02) + VALUE +2405256.16. + 77 FLD0254E PIC X VALUE 'N'. + + 77 FLD0255A PIC 9(02)V9(34) + VALUE 94.8299297085154591080424779647728428. + 77 FLD0255B PIC 9(10)V9(10) + VALUE 5408143412.7739858030. + 77 FLD0255E PIC X VALUE 'N'. + + 77 FLD0256A PIC S9(09)V9(08) + VALUE -473179644.06591722. + 77 FLD0256B PIC 9(04)V9(30) + VALUE 9107.434804383051085707734273455571. + 77 FLD0256E PIC X VALUE 'N'. + + 77 FLD0257A PIC 9(09)V9(12) + VALUE 577029491.737192756772. + 77 FLD0257B PIC S9(03) + VALUE -084. + 77 FLD0257E PIC X VALUE 'N'. + + 77 FLD0258A PIC 9(10)V9(12) + VALUE 5908893351.960881057394. + 77 FLD0258B PIC 9(05)V9(27) + VALUE 84978.202175808337237583600654033. + 77 FLD0258E PIC X VALUE 'N'. + + 77 FLD0259A PIC 9(03)V9(32) + VALUE 937.55337057593879368511124994256533. + 77 FLD0259B PIC S9(09)V9(05) + VALUE -374669242.27931. + 77 FLD0259E PIC X VALUE 'N'. + + 77 FLD0260A PIC 9(05)V9(27) + VALUE 86648.984966754782899300835197209. + 77 FLD0260B PIC 9(09)V9(13) + VALUE 601823310.0433563187436. + 77 FLD0260E PIC X VALUE 'N'. + + 77 FLD0261A PIC S9(09)V9(05) + VALUE -374213925.47904. + 77 FLD0261B PIC 9(09)V9(05) + VALUE 379885544.06227. + 77 FLD0261E PIC X VALUE 'N'. + + 77 FLD0262A PIC S9(05)V9(01) + VALUE -17015.9. + 77 FLD0262B PIC 9(09)V9(17) + VALUE 687559565.36759821329241049. + 77 FLD0262E PIC X VALUE 'N'. + + 77 FLD0263A PIC 9(05)V9(26) + VALUE 84046.29767805690265802809335582. + 77 FLD0263B PIC S9(02) + VALUE -06. + 77 FLD0263E PIC X VALUE 'N'. + + 77 FLD0264A PIC 9(03)V9(32) + VALUE 935.78568596491340514376133796758949. + 77 FLD0264B PIC 9(05)V9(01) + VALUE 17620.4. + 77 FLD0264E PIC X VALUE 'N'. + + 77 FLD0265A PIC S9(09)V9(05) + VALUE -380334582.15301. + 77 FLD0265B PIC 9(01)V9(36) + VALUE 9.854231270822284560750858872779645025. + 77 FLD0265E PIC X VALUE 'N'. + + 77 FLD0266A PIC 9(05)V9(27) + VALUE 84707.693570856212872399737534578. + 77 FLD0266B PIC 9(02)V9(34) + VALUE 96.1883348354436562566149859776487573. + 77 FLD0266E PIC X VALUE 'N'. + + 77 FLD0267A PIC 9(03) + VALUE 087. + 77 FLD0267B PIC S9(07)V9(01) + VALUE +2348814.4. + 77 FLD0267E PIC X VALUE 'N'. + + 77 FLD0268A PIC S9(01) + VALUE -0. + 77 FLD0268B PIC 9(06)V9(25) + VALUE 821150.0957830146774085733341053. + 77 FLD0268E PIC X VALUE 'N'. + + 77 FLD0269A PIC 9(08)V9(18) + VALUE 69955495.182247551255727557. + 77 FLD0269B PIC 9(01) + VALUE 0. + 77 FLD0269E PIC X VALUE 'N'. + + 77 FLD0270A PIC 9(08)V9(18) + VALUE 69584936.933990082508216801. + 77 FLD0270B PIC S9(04) + VALUE +1200. + 77 FLD0270E PIC X VALUE 'N'. + + 77 FLD0271A PIC 9(10)V9(07) + VALUE 4478155927.4435323. + 77 FLD0271B PIC 9(07)V9(02) + VALUE 2371664.59. + 77 FLD0271E PIC X VALUE 'N'. + + 77 FLD0272A PIC S9(09)V9(06) + VALUE +411514667.070764. + 77 FLD0272B PIC S9(10)V9(08) + VALUE -4748492295.95657285. + 77 FLD0272E PIC X VALUE 'N'. + + 77 FLD0273A PIC 9(10)V9(07) + VALUE 4698099460.5024867. + 77 FLD0273B PIC S9(10)V9(06) + VALUE +4338009792.593093. + 77 FLD0273E PIC X VALUE 'N'. + + 77 FLD0274A PIC 9(07)V9(01) + VALUE 2190249.4. + 77 FLD0274B PIC 9(10)V9(10) + VALUE 5271665070.2586675958. + 77 FLD0274E PIC X VALUE 'N'. + + 77 FLD0275A PIC 9(04) + VALUE 1157. + 77 FLD0275B PIC S9(07)V9(02) + VALUE +2422980.94. + 77 FLD0275E PIC X VALUE 'N'. + + 77 FLD0276A PIC 9(04)V9(30) + VALUE 9021.044697283423507983002309629227. + 77 FLD0276B PIC 9(02)V9(33) + VALUE 94.591784695476577304873444518307223. + 77 FLD0276E PIC X VALUE 'N'. + + 77 FLD0277A PIC 9(01)V9(36) + VALUE 9.749582162084949876756923003995325416. + 77 FLD0277B PIC 9(10)V9(08) + VALUE 4992154586.01645512. + 77 FLD0277E PIC X VALUE 'N'. + + 77 FLD0278A PIC 9(10)V9(06) + VALUE 4251062706.993476. + 77 FLD0278B PIC 9(03)V9(31) + VALUE 914.7657257947739983805490737722720. + 77 FLD0278E PIC X VALUE 'N'. + + 77 FLD0279A PIC S9(08)V9(02) + VALUE -27159201.10. + 77 FLD0279B PIC 9(03)V9(32) + VALUE 921.08160397424898579998853165307082. + 77 FLD0279E PIC X VALUE 'N'. + + 77 FLD0280A PIC 9(07)V9(02) + VALUE 2571968.92. + 77 FLD0280B PIC 9(08)V9(19) + VALUE 71229222.1254675839148262639. + 77 FLD0280E PIC X VALUE 'N'. + + 77 FLD0281A PIC S9(09)V9(04) + VALUE +342861689.3811. + 77 FLD0281B PIC 9(10)V9(07) + VALUE 4662459797.7205073. + 77 FLD0281E PIC X VALUE 'N'. + + 77 FLD0282A PIC S9(10)V9(07) + VALUE -4600147325.4430291. + 77 FLD0282B PIC 9(07)V9(22) + VALUE 7889304.3658446049271049105300. + 77 FLD0282E PIC X VALUE 'N'. + + 77 FLD0283A PIC 9(01) + VALUE 0. + 77 FLD0283B PIC S9(05)V9(01) + VALUE -18273.9. + 77 FLD0283E PIC X VALUE 'N'. + + 77 FLD0284A PIC 9(09)V9(17) + VALUE 689733171.20512533939802324. + 77 FLD0284B PIC 9(01) + VALUE 0. + 77 FLD0284E PIC X VALUE 'N'. + + 77 FLD0285A PIC 9(03)V9(32) + VALUE 928.78828230193799520009179104818031. + 77 FLD0285B PIC 9(08)V9(20) + VALUE 73692142.62351649891158444916. + 77 FLD0285E PIC X VALUE 'N'. + + 77 FLD0286A PIC 9(08)V9(18) + VALUE 70426964.322731444578806758. + 77 FLD0286B PIC 9(07)V9(01) + VALUE 2181620.7. + 77 FLD0286E PIC X VALUE 'N'. + + 77 FLD0287A PIC S9(07)V9(02) + VALUE -2521413.84. + 77 FLD0287B PIC 9(06) + VALUE 158585. + 77 FLD0287E PIC X VALUE 'N'. + + 77 FLD0288A PIC 9(09)V9(17) + VALUE 688074525.02240640246355951. + 77 FLD0288B PIC 9(04)V9(29) + VALUE 8936.92752615119712089608583482913. + 77 FLD0288E PIC X VALUE 'N'. + + 77 FLD0289A PIC S9(03) + VALUE -092. + 77 FLD0289B PIC 9(10)V9(11) + VALUE 5676330984.14293657540. + 77 FLD0289E PIC X VALUE 'N'. + + 77 FLD0290A PIC S9(09)V9(05) + VALUE -382951207.35442. + 77 FLD0290B PIC S9(03) + VALUE -094. + 77 FLD0290E PIC X VALUE 'N'. + + 77 FLD0291A PIC 9(01)V9(36) + VALUE 9.859384124391753490002088256005663424. + 77 FLD0291B PIC 9(06)V9(25) + VALUE 830008.1335268413296191170047677. + 77 FLD0291E PIC X VALUE 'N'. + + 77 FLD0292A PIC S9(08)V9(03) + VALUE +31020519.916. + 77 FLD0292B PIC 9(01) + VALUE 0. + 77 FLD0292E PIC X VALUE 'N'. + + 77 FLD0293A PIC S9(03) + VALUE -093. + 77 FLD0293B PIC 9(08)V9(03) + VALUE 30744484.924. + 77 FLD0293E PIC X VALUE 'N'. + + 77 FLD0294A PIC S9(09)V9(06) + VALUE +412445339.504106. + 77 FLD0294B PIC 9(01) + VALUE 0. + 77 FLD0294E PIC X VALUE 'N'. + + 77 FLD0295A PIC S9(07)V9(02) + VALUE -2502548.06. + 77 FLD0295B PIC S9(07)V9(01) + VALUE +2138373.7. + 77 FLD0295E PIC X VALUE 'N'. + + 77 FLD0296A PIC S9(06) + VALUE -160918. + 77 FLD0296B PIC 9(09)V9(12) + VALUE 574303107.736577889141. + 77 FLD0296E PIC X VALUE 'N'. + + 77 FLD0297A PIC 9(08)V9(03) + VALUE 30843552.269. + 77 FLD0297B PIC 9(10)V9(09) + VALUE 5180156945.333709295. + 77 FLD0297E PIC X VALUE 'N'. + + 77 FLD0298A PIC S9(10)V9(08) + VALUE -4831587379.88150510. + 77 FLD0298B PIC 9(01)V9(36) + VALUE 9.983859909908295859892746193509083241. + 77 FLD0298E PIC X VALUE 'N'. + + 77 FLD0299A PIC 9(10)V9(13) + VALUE 6064872573.5835784522720. + 77 FLD0299B PIC 9(09)V9(16) + VALUE 669818284.8844781434038964. + 77 FLD0299E PIC X VALUE 'N'. + + 77 FLD0300A PIC 9(08)V9(20) + VALUE 73956142.30661028409841151187. + 77 FLD0300B PIC 9(09)V9(14) + VALUE 624082886.12038953502292. + 77 FLD0300E PIC X VALUE 'N'. + + 77 FLD0301A PIC S9(10)V9(07) + VALUE -4524568495.0704084. + 77 FLD0301B PIC S9(01) + VALUE +0. + 77 FLD0301E PIC X VALUE 'N'. + + 77 FLD0302A PIC 9(02)V9(34) + VALUE 94.9764690231816866017311440373305231. + 77 FLD0302B PIC 9(10)V9(06) + VALUE 4291773437.216153. + 77 FLD0302E PIC X VALUE 'N'. + + 77 FLD0303A PIC 9(01)V9(36) + VALUE 9.998247249142951931233369577967096120. + 77 FLD0303B PIC 9(01) + VALUE 0. + 77 FLD0303E PIC X VALUE 'N'. + + 77 FLD0304A PIC S9(03) + VALUE -083. + 77 FLD0304B PIC 9(10)V9(11) + VALUE 5565734306.84127234968. + 77 FLD0304E PIC X VALUE 'N'. + + 77 FLD0305A PIC 9(09)V9(03) + VALUE 328435884.788. + 77 FLD0305B PIC S9(01) + VALUE +0. + 77 FLD0305E PIC X VALUE 'N'. + + 77 FLD0306A PIC S9(03) + VALUE -083. + 77 FLD0306B PIC S9(10)V9(08) + VALUE -4936418970.17687181. + 77 FLD0306E PIC X VALUE 'N'. + + 77 FLD0307A PIC 9(10)V9(10) + VALUE 5430567751.9659767416. + 77 FLD0307B PIC 9(03)V9(32) + VALUE 928.08547489686554765597747973515652. + 77 FLD0307E PIC X VALUE 'N'. + + 77 FLD0308A PIC 9(09)V9(05) + VALUE 377189267.62120. + 77 FLD0308B PIC 9(02)V9(34) + VALUE 96.4274365663057242414879510761238634. + 77 FLD0308E PIC X VALUE 'N'. + + 77 FLD0309A PIC 9(09)V9(03) + VALUE 325461096.612. + 77 FLD0309B PIC S9(03) + VALUE -093. + 77 FLD0309E PIC X VALUE 'N'. + + 77 FLD0310A PIC 9(09)V9(05) + VALUE 377541451.37210. + 77 FLD0310B PIC 9(09)V9(06) + VALUE 416709099.760976. + 77 FLD0310E PIC X VALUE 'N'. + + 77 FLD0311A PIC S9(02) + VALUE -06. + 77 FLD0311B PIC 9(01)V9(36) + VALUE 9.931117203050255914931199185957666486. + 77 FLD0311E PIC X VALUE 'N'. + + 77 FLD0312A PIC S9(10)V9(07) + VALUE -4631183834.9707568. + 77 FLD0312B PIC 9(01) + VALUE 0. + 77 FLD0312E PIC X VALUE 'N'. + + 77 FLD0313A PIC 9(05)V9(27) + VALUE 86493.365621715367907995641871821. + 77 FLD0313B PIC 9(09)V9(05) + VALUE 375066571.23058. + 77 FLD0313E PIC X VALUE 'N'. + + 77 FLD0314A PIC 9(03) + VALUE 088. + 77 FLD0314B PIC 9(08)V9(18) + VALUE 69720866.107690404600560896. + 77 FLD0314E PIC X VALUE 'N'. + + 77 FLD0315A PIC 9(07)V9(23) + VALUE 7933336.74589681625555215305212. + 77 FLD0315B PIC 9(09)V9(17) + VALUE 688307785.43204196306959374. + 77 FLD0315E PIC X VALUE 'N'. + + 77 FLD0316A PIC 9(06)V9(01) + VALUE 195827.4. + 77 FLD0316B PIC 9(10)V9(11) + VALUE 5611864585.06384822086. + 77 FLD0316E PIC X VALUE 'N'. + + 77 FLD0317A PIC 9(10)V9(08) + VALUE 4983225307.65216153. + 77 FLD0317B PIC S9(09)V9(03) + VALUE +331361572.492. + 77 FLD0317E PIC X VALUE 'N'. + + 77 FLD0318A PIC 9(08)V9(02) + VALUE 26926374.69. + 77 FLD0318B PIC 9(04)V9(29) + VALUE 8825.34717446214034275442372745601. + 77 FLD0318E PIC X VALUE 'N'. + + 77 FLD0319A PIC 9(08)V9(18) + VALUE 69931441.978879860243978328. + 77 FLD0319B PIC 9(09)V9(15) + VALUE 650439668.121860714578019. + 77 FLD0319E PIC X VALUE 'N'. + + 77 FLD0320A PIC 9(08)V9(19) + VALUE 71973495.8824565840274090078. + 77 FLD0320B PIC 9(10)V9(11) + VALUE 5542215777.53993832615. + 77 FLD0320E PIC X VALUE 'N'. + + 77 FLD0321A PIC 9(10)V9(09) + VALUE 5005504874.853489161. + 77 FLD0321B PIC 9(09)V9(16) + VALUE 660163921.0521921263818967. + 77 FLD0321E PIC X VALUE 'N'. + + 77 FLD0322A PIC S9(09)V9(07) + VALUE +442005310.2249054. + 77 FLD0322B PIC 9(09)V9(14) + VALUE 617916374.92097983841432. + 77 FLD0322E PIC X VALUE 'N'. + + 77 FLD0323A PIC S9(05) + VALUE -15097. + 77 FLD0323B PIC 9(01)V9(35) + VALUE 9.73366140153258840861383305309573188. + 77 FLD0323E PIC X VALUE 'N'. + + 77 FLD0324A PIC 9(10)V9(11) + VALUE 5601604504.75820970162. + 77 FLD0324B PIC 9(10)V9(10) + VALUE 5319146871.9734047443. + 77 FLD0324E PIC X VALUE 'N'. + + 77 FLD0325A PIC 9(04) + VALUE 1169. + 77 FLD0325B PIC 9(08)V9(19) + VALUE 72332591.2353324218528882738. + 77 FLD0325E PIC X VALUE 'N'. + + 77 FLD0326A PIC S9(08)V9(03) + VALUE +31312044.720. + 77 FLD0326B PIC S9(02) + VALUE -05. + 77 FLD0326E PIC X VALUE 'N'. + + 77 FLD0327A PIC S9(03) + VALUE -090. + 77 FLD0327B PIC S9(07)V9(01) + VALUE +2122536.7. + 77 FLD0327E PIC X VALUE 'N'. + + 77 FLD0328A PIC 9(08)V9(19) + VALUE 71147504.7716873310044150002. + 77 FLD0328B PIC S9(09)V9(05) + VALUE -393175029.86891. + 77 FLD0328E PIC X VALUE 'N'. + + 77 FLD0329A PIC S9(01) + VALUE +0. + 77 FLD0329B PIC 9(02)V9(34) + VALUE 95.2096907591406971249625712516717612. + 77 FLD0329E PIC X VALUE 'N'. + + 77 FLD0330A PIC 9(09)V9(07) + VALUE 445280746.1581723. + 77 FLD0330B PIC 9(07)V9(23) + VALUE 7955244.25555017788980194382020. + 77 FLD0330E PIC X VALUE 'N'. + + 77 FLD0331A PIC S9(07)V9(01) + VALUE +2232816.8. + 77 FLD0331B PIC 9(08)V9(02) + VALUE 27670053.03. + 77 FLD0331E PIC X VALUE 'N'. + + 77 FLD0332A PIC 9(05)V9(27) + VALUE 86562.988696340348315771962006692. + 77 FLD0332B PIC 9(09)V9(04) + VALUE 355930982.9079. + 77 FLD0332E PIC X VALUE 'N'. + + 77 FLD0333A PIC 9(02)V9(34) + VALUE 95.6494138775326296908474432711955159. + 77 FLD0333B PIC S9(07)V9(02) + VALUE +2431333.31. + 77 FLD0333E PIC X VALUE 'N'. + + 77 FLD0334A PIC 9(08)V9(03) + VALUE 28999492.466. + 77 FLD0334B PIC 9(09)V9(03) + VALUE 326043905.981. + 77 FLD0334E PIC X VALUE 'N'. + + 77 FLD0335A PIC S9(08)V9(03) + VALUE +30334218.791. + 77 FLD0335B PIC 9(10)V9(09) + VALUE 5075855226.668805064. + 77 FLD0335E PIC X VALUE 'N'. + + 77 FLD0336A PIC 9(05)V9(27) + VALUE 85800.255545984371874368434873758. + 77 FLD0336B PIC S9(08)V9(03) + VALUE -29245898.644. + 77 FLD0336E PIC X VALUE 'N'. + + 77 FLD0337A PIC 9(08)V9(19) + VALUE 72003996.5448931451597047725. + 77 FLD0337B PIC 9(08)V9(19) + VALUE 71409231.4076567258318561925. + 77 FLD0337E PIC X VALUE 'N'. + + 77 FLD0338A PIC S9(01) + VALUE -0. + 77 FLD0338B PIC 9(10)V9(10) + VALUE 5304768900.0456310637. + 77 FLD0338E PIC X VALUE 'N'. + + 77 FLD0339A PIC S9(06) + VALUE -160552. + 77 FLD0339B PIC 9(09)V9(13) + VALUE 594533435.7259434154840. + 77 FLD0339E PIC X VALUE 'N'. + + 77 FLD0340A PIC 9(10)V9(09) + VALUE 5028381651.473269320. + 77 FLD0340B PIC S9(09)V9(04) + VALUE -361499697.6055. + 77 FLD0340E PIC X VALUE 'N'. + + 77 FLD0341A PIC 9(10)V9(11) + VALUE 5676316159.01010966318. + 77 FLD0341B PIC 9(09)V9(12) + VALUE 572076310.146404809486. + 77 FLD0341E PIC X VALUE 'N'. + + 77 FLD0342A PIC S9(07)V9(01) + VALUE +2347143.0. + 77 FLD0342B PIC S9(10)V9(07) + VALUE -4530575977.8135124. + 77 FLD0342E PIC X VALUE 'N'. + + 77 FLD0343A PIC 9(08)V9(19) + VALUE 72866356.1504289902792663724. + 77 FLD0343B PIC 9(06)V9(01) + VALUE 195736.6. + 77 FLD0343E PIC X VALUE 'N'. + + 77 FLD0344A PIC 9(09)V9(07) + VALUE 439744878.9947105. + 77 FLD0344B PIC 9(04)V9(29) + VALUE 8815.39565612843856179381418769480. + 77 FLD0344E PIC X VALUE 'N'. + + 77 FLD0345A PIC 9(01) + VALUE 0. + 77 FLD0345B PIC 9(09)V9(06) + VALUE 405441574.894889. + 77 FLD0345E PIC X VALUE 'N'. + + 77 FLD0346A PIC 9(07)V9(22) + VALUE 7807860.0333687642187641131386. + 77 FLD0346B PIC 9(09)V9(16) + VALUE 674345587.8778652490268541. + 77 FLD0346E PIC X VALUE 'N'. + + 77 FLD0347A PIC 9(08)V9(18) + VALUE 70165985.253748408556617732. + 77 FLD0347B PIC 9(06) + VALUE 158396. + 77 FLD0347E PIC X VALUE 'N'. + + 77 FLD0348A PIC 9(08)V9(04) + VALUE 33778742.7133. + 77 FLD0348B PIC 9(09)V9(12) + VALUE 575387126.330844100863. + 77 FLD0348E PIC X VALUE 'N'. + + 77 FLD0349A PIC 9(10)V9(09) + VALUE 5122785066.779668161. + 77 FLD0349B PIC 9(03)V9(32) + VALUE 924.84903066843715535583214659709483. + 77 FLD0349E PIC X VALUE 'N'. + + 77 FLD0350A PIC 9(02) + VALUE 07. + 77 FLD0350B PIC 9(06)V9(25) + VALUE 826494.1389960360762501068165875. + 77 FLD0350E PIC X VALUE 'N'. + + 77 FLD0351A PIC 9(05)V9(27) + VALUE 84942.576912519174303639601930626. + 77 FLD0351B PIC 9(10)V9(10) + VALUE 5388327188.5283523516. + 77 FLD0351E PIC X VALUE 'N'. + + 77 FLD0352A PIC 9(03)V9(32) + VALUE 937.88592938035042489985926295048557. + 77 FLD0352B PIC 9(06)V9(01) + VALUE 195629.8. + 77 FLD0352E PIC X VALUE 'N'. + + 77 FLD0353A PIC S9(07)V9(02) + VALUE -2544588.73. + 77 FLD0353B PIC 9(02)V9(33) + VALUE 94.340663054368900652946194895775988. + 77 FLD0353E PIC X VALUE 'N'. + + 77 FLD0354A PIC 9(07)V9(01) + VALUE 2152460.4. + 77 FLD0354B PIC S9(08)V9(03) + VALUE -29015200.342. + 77 FLD0354E PIC X VALUE 'N'. + + 77 FLD0355A PIC 9(06)V9(01) + VALUE 208715.4. + 77 FLD0355B PIC S9(05) + VALUE -15428. + 77 FLD0355E PIC X VALUE 'N'. + + 77 FLD0356A PIC S9(09)V9(05) + VALUE -391398983.37050. + 77 FLD0356B PIC 9(05)V9(27) + VALUE 84690.187478976841628508509529638. + 77 FLD0356E PIC X VALUE 'N'. + + 77 FLD0357A PIC 9(10)V9(10) + VALUE 5323345989.0667944591. + 77 FLD0357B PIC 9(03) + VALUE 079. + 77 FLD0357E PIC X VALUE 'N'. + + 77 FLD0358A PIC 9(08)V9(03) + VALUE 29848403.943. + 77 FLD0358B PIC 9(09)V9(17) + VALUE 688595894.53938552239264936. + 77 FLD0358E PIC X VALUE 'N'. + + 77 FLD0359A PIC 9(07)V9(22) + VALUE 7654789.5985185210321333215688. + 77 FLD0359B PIC 9(01)V9(36) + VALUE 9.927521413787718795873615817981772124. + 77 FLD0359E PIC X VALUE 'N'. + + 77 FLD0360A PIC S9(09)V9(06) + VALUE +400277612.276280. + 77 FLD0360B PIC 9(08)V9(02) + VALUE 26666225.04. + 77 FLD0360E PIC X VALUE 'N'. + + 77 FLD0361A PIC 9(06)V9(25) + VALUE 823089.8044061112361902132761315. + 77 FLD0361B PIC 9(05)V9(27) + VALUE 84762.044237681810621154454565839. + 77 FLD0361E PIC X VALUE 'N'. + + 77 FLD0362A PIC S9(01) + VALUE -0. + 77 FLD0362B PIC 9(04)V9(30) + VALUE 8970.899599407193836242413453874178. + 77 FLD0362E PIC X VALUE 'N'. + + 77 FLD0363A PIC 9(09)V9(04) + VALUE 358575926.2078. + 77 FLD0363B PIC 9(04)V9(30) + VALUE 9034.927431796696550847514117776881. + 77 FLD0363E PIC X VALUE 'N'. + + 77 FLD0364A PIC S9(04) + VALUE +1234. + 77 FLD0364B PIC 9(06)V9(25) + VALUE 830028.0009277749559970516202156. + 77 FLD0364E PIC X VALUE 'N'. + + 77 FLD0365A PIC 9(09)V9(11) + VALUE 551967009.62472056151. + 77 FLD0365B PIC 9(09)V9(16) + VALUE 658782379.9892106313436102. + 77 FLD0365E PIC X VALUE 'N'. + + 77 FLD0366A PIC 9(06)V9(25) + VALUE 822414.3642778768414913770357088. + 77 FLD0366B PIC 9(06)V9(25) + VALUE 838180.2974044693099742175945721. + 77 FLD0366E PIC X VALUE 'N'. + + 77 FLD0367A PIC 9(09)V9(13) + VALUE 595975436.9256639039420. + 77 FLD0367B PIC S9(06)V9(01) + VALUE -191378.3. + 77 FLD0367E PIC X VALUE 'N'. + + 77 FLD0368A PIC 9(05) + VALUE 15663. + 77 FLD0368B PIC 9(01) + VALUE 0. + 77 FLD0368E PIC X VALUE 'N'. + + 77 FLD0369A PIC 9(01) + VALUE 0. + 77 FLD0369B PIC S9(08)V9(03) + VALUE +31224128.387. + 77 FLD0369E PIC X VALUE 'N'. + + 77 FLD0370A PIC 9(01) + VALUE 0. + 77 FLD0370B PIC S9(01) + VALUE -0. + 77 FLD0370E PIC X VALUE 'N'. + + 77 FLD0371A PIC S9(01) + VALUE +0. + 77 FLD0371B PIC S9(03) + VALUE -082. + 77 FLD0371E PIC X VALUE 'N'. + + 77 FLD0372A PIC 9(10)V9(09) + VALUE 5067586024.551302692. + 77 FLD0372B PIC 9(10)V9(09) + VALUE 5017586497.117959565. + 77 FLD0372E PIC X VALUE 'N'. + + 77 FLD0373A PIC 9(09)V9(16) + VALUE 660730415.8912360447786227. + 77 FLD0373B PIC S9(09)V9(04) + VALUE -352559577.5040. + 77 FLD0373E PIC X VALUE 'N'. + + 77 FLD0374A PIC 9(01) + VALUE 0. + 77 FLD0374B PIC 9(08)V9(19) + VALUE 71126449.7973442155753787119. + 77 FLD0374E PIC X VALUE 'N'. + + 77 FLD0375A PIC 9(07)V9(22) + VALUE 7816763.9605777072819847717255. + 77 FLD0375B PIC 9(01) + VALUE 0. + 77 FLD0375E PIC X VALUE 'N'. + + 77 FLD0376A PIC 9(05)V9(27) + VALUE 84980.958923270843996533585595898. + 77 FLD0376B PIC 9(10)V9(09) + VALUE 5240094598.000759607. + 77 FLD0376E PIC X VALUE 'N'. + + 77 FLD0377A PIC 9(02)V9(34) + VALUE 96.7759547981370871205797357106348499. + 77 FLD0377B PIC 9(07)V9(22) + VALUE 7813622.4062247550126159012506. + 77 FLD0377E PIC X VALUE 'N'. + + 77 FLD0378A PIC S9(01) + VALUE -0. + 77 FLD0378B PIC S9(06) + VALUE -163135. + 77 FLD0378E PIC X VALUE 'N'. + + 77 FLD0379A PIC 9(10)V9(10) + VALUE 5351160784.1302399890. + 77 FLD0379B PIC 9(01) + VALUE 0. + 77 FLD0379E PIC X VALUE 'N'. + + 77 FLD0380A PIC 9(09)V9(03) + VALUE 318886259.138. + 77 FLD0380B PIC S9(01) + VALUE +0. + 77 FLD0380E PIC X VALUE 'N'. + + 77 FLD0381A PIC 9(10)V9(09) + VALUE 5188977124.912377281. + 77 FLD0381B PIC 9(03) + VALUE 096. + 77 FLD0381E PIC X VALUE 'N'. + + 77 FLD0382A PIC 9(10)V9(10) + VALUE 5469463185.9002762475. + 77 FLD0382B PIC 9(04) + VALUE 1276. + 77 FLD0382E PIC X VALUE 'N'. + + 77 FLD0383A PIC 9(04)V9(29) + VALUE 8846.28028341020278269013488170458. + 77 FLD0383B PIC 9(06)V9(24) + VALUE 801588.906111812216082057602761. + 77 FLD0383E PIC X VALUE 'N'. + + 77 FLD0384A PIC S9(07)V9(02) + VALUE +2410021.83. + 77 FLD0384B PIC 9(01) + VALUE 0. + 77 FLD0384E PIC X VALUE 'N'. + + 77 FLD0385A PIC 9(09)V9(14) + VALUE 616198826.41569234671408. + 77 FLD0385B PIC 9(04)V9(29) + VALUE 8914.93363280043138452413131744833. + 77 FLD0385E PIC X VALUE 'N'. + + 77 FLD0386A PIC 9(10)V9(11) + VALUE 5671006446.22052230126. + 77 FLD0386B PIC 9(07)V9(21) + VALUE 7538453.430795608589676248811. + 77 FLD0386E PIC X VALUE 'N'. + + 77 FLD0387A PIC 9(08)V9(03) + VALUE 30516405.931. + 77 FLD0387B PIC 9(09)V9(16) + VALUE 660134959.6835575095354897. + 77 FLD0387E PIC X VALUE 'N'. + + 77 FLD0388A PIC 9(10)V9(11) + VALUE 5691303425.20841603359. + 77 FLD0388B PIC 9(03) + VALUE 099. + 77 FLD0388E PIC X VALUE 'N'. + + 77 FLD0389A PIC S9(10)V9(06) + VALUE +4300560615.719126. + 77 FLD0389B PIC 9(10)V9(12) + VALUE 5882065365.633618592156. + 77 FLD0389E PIC X VALUE 'N'. + + 77 FLD0390A PIC S9(02) + VALUE -07. + 77 FLD0390B PIC 9(03) + VALUE 095. + 77 FLD0390E PIC X VALUE 'N'. + + 77 FLD0391A PIC S9(08)V9(03) + VALUE +30066642.536. + 77 FLD0391B PIC S9(08)V9(02) + VALUE -26329271.26. + 77 FLD0391E PIC X VALUE 'N'. + + 77 FLD0392A PIC 9(02)V9(34) + VALUE 95.7627258628673261320329856971511617. + 77 FLD0392B PIC 9(10)V9(07) + VALUE 4682510725.0510572. + 77 FLD0392E PIC X VALUE 'N'. + + 77 FLD0393A PIC 9(02) + VALUE 05. + 77 FLD0393B PIC 9(04)V9(30) + VALUE 9067.420163680885991652758093550801. + 77 FLD0393E PIC X VALUE 'N'. + + 77 FLD0394A PIC 9(05)V9(01) + VALUE 16807.8. + 77 FLD0394B PIC S9(10)V9(08) + VALUE -4746288002.63585892. + 77 FLD0394E PIC X VALUE 'N'. + + 77 FLD0395A PIC 9(10)V9(09) + VALUE 5206691882.901124390. + 77 FLD0395B PIC S9(01) + VALUE +0. + 77 FLD0395E PIC X VALUE 'N'. + + 77 FLD0396A PIC 9(09)V9(06) + VALUE 419939827.280791. + 77 FLD0396B PIC 9(09)V9(07) + VALUE 446487444.5871826. + 77 FLD0396E PIC X VALUE 'N'. + + 77 FLD0397A PIC 9(05)V9(27) + VALUE 85569.982924983467587054519754019. + 77 FLD0397B PIC S9(02) + VALUE -07. + 77 FLD0397E PIC X VALUE 'N'. + + 77 FLD0398A PIC 9(05)V9(26) + VALUE 84110.85692078776876456913669244. + 77 FLD0398B PIC S9(08)V9(02) + VALUE -28358417.67. + 77 FLD0398E PIC X VALUE 'N'. + + 77 FLD0399A PIC 9(05)V9(27) + VALUE 86215.377080746946614198122915695. + 77 FLD0399B PIC 9(07)V9(02) + VALUE 2481207.70. + 77 FLD0399E PIC X VALUE 'N'. + + 77 FLD0400A PIC 9(10)V9(08) + VALUE 4880703034.67910082. + 77 FLD0400B PIC 9(06)V9(25) + VALUE 835199.6491942943467989834971376. + 77 FLD0400E PIC X VALUE 'N'. + + 77 FLD0401A PIC 9(08)V9(03) + VALUE 30757829.425. + 77 FLD0401B PIC 9(01) + VALUE 0. + 77 FLD0401E PIC X VALUE 'N'. + + 77 FLD0402A PIC 9(04)V9(29) + VALUE 8843.41306989221531686951038864208. + 77 FLD0402B PIC 9(08)V9(18) + VALUE 69652895.633901057426129455. + 77 FLD0402E PIC X VALUE 'N'. + + 77 FLD0403A PIC 9(10)V9(10) + VALUE 5351391185.2119278034. + 77 FLD0403B PIC 9(03)V9(32) + VALUE 939.96913575689089448417234962107613. + 77 FLD0403E PIC X VALUE 'N'. + + 77 FLD0404A PIC S9(10)V9(08) + VALUE -4810592903.51378177. + 77 FLD0404B PIC 9(09)V9(16) + VALUE 670850774.7441430080215241. + 77 FLD0404E PIC X VALUE 'N'. + + 77 FLD0405A PIC S9(09)V9(04) + VALUE -360620744.0007. + 77 FLD0405B PIC S9(05) + VALUE +14133. + 77 FLD0405E PIC X VALUE 'N'. + + 77 FLD0406A PIC S9(07)V9(02) + VALUE -2503018.94. + 77 FLD0406B PIC 9(07)V9(23) + VALUE 7996063.91391730064732712435215. + 77 FLD0406E PIC X VALUE 'N'. + + 77 FLD0407A PIC 9(09)V9(13) + VALUE 592634898.8738083800598. + 77 FLD0407B PIC 9(01)V9(36) + VALUE 9.879241102928391082826919955550692975. + 77 FLD0407E PIC X VALUE 'N'. + + 77 FLD0408A PIC 9(09)V9(07) + VALUE 438100099.1119252. + 77 FLD0408B PIC 9(08)V9(02) + VALUE 28626783.20. + 77 FLD0408E PIC X VALUE 'N'. + + 77 FLD0409A PIC 9(08)V9(02) + VALUE 28575188.65. + 77 FLD0409B PIC 9(09)V9(12) + VALUE 576691261.515216657684. + 77 FLD0409E PIC X VALUE 'N'. + + 77 FLD0410A PIC 9(09)V9(14) + VALUE 615937928.60877261130525. + 77 FLD0410B PIC 9(01)V9(36) + VALUE 9.822719722312858170454319406417198479. + 77 FLD0410E PIC X VALUE 'N'. + + 77 FLD0411A PIC 9(09)V9(17) + VALUE 688573322.26995748847286904. + 77 FLD0411B PIC 9(07)V9(22) + VALUE 7775778.4281136710369253250973. + 77 FLD0411E PIC X VALUE 'N'. + + 77 FLD0412A PIC 9(09)V9(12) + VALUE 572677017.522024045526. + 77 FLD0412B PIC S9(01) + VALUE +0. + 77 FLD0412E PIC X VALUE 'N'. + + 77 FLD0413A PIC 9(06)V9(25) + VALUE 828822.6462986850728853482905833. + 77 FLD0413B PIC S9(01) + VALUE +0. + 77 FLD0413E PIC X VALUE 'N'. + + 77 FLD0414A PIC 9(05)V9(27) + VALUE 84413.303017262042438062508153961. + 77 FLD0414B PIC S9(05) + VALUE -15377. + 77 FLD0414E PIC X VALUE 'N'. + + 77 FLD0415A PIC 9(09)V9(15) + VALUE 650722988.227690701812377. + 77 FLD0415B PIC 9(03)V9(31) + VALUE 919.0351051613949717733476063585840. + 77 FLD0415E PIC X VALUE 'N'. + + 77 FLD0416A PIC 9(09)V9(16) + VALUE 675584038.8269652718733482. + 77 FLD0416B PIC S9(01) + VALUE +0. + 77 FLD0416E PIC X VALUE 'N'. + + 77 FLD0417A PIC 9(03)V9(32) + VALUE 942.59186417160190085695603556814603. + 77 FLD0417B PIC 9(04)V9(29) + VALUE 8943.54109346381376255408213182818. + 77 FLD0417E PIC X VALUE 'N'. + + 77 FLD0418A PIC 9(01) + VALUE 0. + 77 FLD0418B PIC 9(01) + VALUE 0. + 77 FLD0418E PIC X VALUE 'N'. + + 77 FLD0419A PIC 9(09)V9(06) + VALUE 415695619.544491. + 77 FLD0419B PIC 9(10)V9(10) + VALUE 5349169017.3884820502. + 77 FLD0419E PIC X VALUE 'N'. + + 77 FLD0420A PIC 9(08)V9(02) + VALUE 26881191.37. + 77 FLD0420B PIC 9(04)V9(30) + VALUE 9092.387304867948216724471421912312. + 77 FLD0420E PIC X VALUE 'N'. + + 77 FLD0421A PIC 9(08)V9(19) + VALUE 71124707.9077118260492795798. + 77 FLD0421B PIC S9(06)V9(01) + VALUE +210383.3. + 77 FLD0421E PIC X VALUE 'N'. + + 77 FLD0422A PIC 9(08)V9(18) + VALUE 69276472.004700051510184266. + 77 FLD0422B PIC 9(02)V9(34) + VALUE 96.7464238557165900900258748151827603. + 77 FLD0422E PIC X VALUE 'N'. + + 77 FLD0423A PIC 9(09)V9(13) + VALUE 595417774.2919815052857. + 77 FLD0423B PIC 9(09)V9(17) + VALUE 689527286.14626146441679566. + 77 FLD0423E PIC X VALUE 'N'. + + 77 FLD0424A PIC 9(09)V9(11) + VALUE 551151541.59885582085. + 77 FLD0424B PIC 9(08)V9(19) + VALUE 72724692.5117367437607640567. + 77 FLD0424E PIC X VALUE 'N'. + + 77 FLD0425A PIC S9(10)V9(08) + VALUE -4741628720.81754727. + 77 FLD0425B PIC 9(10)V9(12) + VALUE 5846836543.074439562772. + 77 FLD0425E PIC X VALUE 'N'. + + 77 FLD0426A PIC 9(10)V9(11) + VALUE 5601456695.80725313885. + 77 FLD0426B PIC 9(10)V9(11) + VALUE 5581868249.31393821280. + 77 FLD0426E PIC X VALUE 'N'. + + 77 FLD0427A PIC 9(09)V9(04) + VALUE 365284621.5641. + 77 FLD0427B PIC 9(07)V9(22) + VALUE 7792109.4871910845380824639505. + 77 FLD0427E PIC X VALUE 'N'. + + 77 FLD0428A PIC 9(05)V9(27) + VALUE 85913.234918316627730661139139556. + 77 FLD0428B PIC 9(01)V9(36) + VALUE 9.753152813075189886404814387788064777. + 77 FLD0428E PIC X VALUE 'N'. + + 77 FLD0429A PIC 9(07)V9(22) + VALUE 7833347.6062909002113343603923. + 77 FLD0429B PIC 9(09)V9(06) + VALUE 415311789.274485. + 77 FLD0429E PIC X VALUE 'N'. + + 77 FLD0430A PIC 9(08)V9(03) + VALUE 30820998.502. + 77 FLD0430B PIC 9(09)V9(04) + VALUE 345613119.3468. + 77 FLD0430E PIC X VALUE 'N'. + + 77 FLD0431A PIC S9(01) + VALUE +0. + 77 FLD0431B PIC 9(03)V9(31) + VALUE 920.3928254587173674039490833820309. + 77 FLD0431E PIC X VALUE 'N'. + + 77 FLD0432A PIC 9(10)V9(11) + VALUE 5612307034.00538710745. + 77 FLD0432B PIC S9(06) + VALUE -161655. + 77 FLD0432E PIC X VALUE 'N'. + + 77 FLD0433A PIC 9(08)V9(19) + VALUE 72012955.8244768763763943297. + 77 FLD0433B PIC 9(06)V9(01) + VALUE 206502.1. + 77 FLD0433E PIC X VALUE 'N'. + + 77 FLD0434A PIC S9(10)V9(07) + VALUE -4547054675.3415619. + 77 FLD0434B PIC 9(03)V9(32) + VALUE 931.50114075800283242045907172723673. + 77 FLD0434E PIC X VALUE 'N'. + + 77 FLD0435A PIC 9(03) + VALUE 087. + 77 FLD0435B PIC 9(10)V9(12) + VALUE 5848414344.863717140299. + 77 FLD0435E PIC X VALUE 'N'. + + 77 FLD0436A PIC S9(01) + VALUE +0. + 77 FLD0436B PIC 9(06)V9(25) + VALUE 830719.5843004202551185244374210. + 77 FLD0436E PIC X VALUE 'N'. + + 77 FLD0437A PIC 9(09)V9(15) + VALUE 632897272.198471361193128. + 77 FLD0437B PIC 9(09)V9(15) + VALUE 644015379.475938010145341. + 77 FLD0437E PIC X VALUE 'N'. + + 77 FLD0438A PIC 9(09)V9(16) + VALUE 664694021.6365745390802999. + 77 FLD0438B PIC 9(05)V9(28) + VALUE 87427.7230957161255453513604152249. + 77 FLD0438E PIC X VALUE 'N'. + + 77 FLD0439A PIC 9(10)V9(08) + VALUE 4961134805.43429519. + 77 FLD0439B PIC 9(10)V9(11) + VALUE 5610850764.78219813012. + 77 FLD0439E PIC X VALUE 'N'. + + 77 FLD0440A PIC 9(04)V9(29) + VALUE 8899.07507055040514210020319296745. + 77 FLD0440B PIC 9(10)V9(07) + VALUE 4554701137.8932739. + 77 FLD0440E PIC X VALUE 'N'. + + 77 FLD0441A PIC 9(08)V9(19) + VALUE 71126905.4406556744396539215. + 77 FLD0441B PIC S9(10)V9(06) + VALUE +4339238601.837461. + 77 FLD0441E PIC X VALUE 'N'. + + 77 FLD0442A PIC 9(05)V9(01) + VALUE 16995.1. + 77 FLD0442B PIC 9(03)V9(31) + VALUE 915.7753741786495149668212434335146. + 77 FLD0442E PIC X VALUE 'N'. + + 77 FLD0443A PIC S9(10)V9(08) + VALUE -4744984255.46487689. + 77 FLD0443B PIC 9(09)V9(14) + VALUE 620915031.52970173307068. + 77 FLD0443E PIC X VALUE 'N'. + + 77 FLD0444A PIC 9(02)V9(33) + VALUE 94.673816662087151296844922399031929. + 77 FLD0444B PIC 9(10)V9(09) + VALUE 5047752845.189990011. + 77 FLD0444E PIC X VALUE 'N'. + + 77 FLD0445A PIC 9(10)V9(10) + VALUE 5416554544.5299512206. + 77 FLD0445B PIC S9(10)V9(07) + VALUE -4623541965.4562581. + 77 FLD0445E PIC X VALUE 'N'. + + 77 FLD0446A PIC 9(10)V9(09) + VALUE 5044897846.697211640. + 77 FLD0446B PIC 9(09)V9(16) + VALUE 665206327.4939082893055797. + 77 FLD0446E PIC X VALUE 'N'. + + 77 FLD0447A PIC 9(02) + VALUE 06. + 77 FLD0447B PIC 9(08)V9(02) + VALUE 27717300.69. + 77 FLD0447E PIC X VALUE 'N'. + + 77 FLD0448A PIC 9(06)V9(01) + VALUE 186565.4. + 77 FLD0448B PIC 9(10)V9(10) + VALUE 5373290497.5367845601. + 77 FLD0448E PIC X VALUE 'N'. + + 77 FLD0449A PIC S9(09)V9(05) + VALUE -384988094.18704. + 77 FLD0449B PIC S9(08)V9(04) + VALUE +34016016.2924. + 77 FLD0449E PIC X VALUE 'N'. + + 77 FLD0450A PIC 9(09)V9(14) + VALUE 625578375.50228334588808. + 77 FLD0450B PIC 9(09)V9(13) + VALUE 597300618.6146695428718. + 77 FLD0450E PIC X VALUE 'N'. + + 77 FLD0451A PIC 9(01) + VALUE 0. + 77 FLD0451B PIC S9(07)V9(02) + VALUE -2517390.40. + 77 FLD0451E PIC X VALUE 'N'. + + 77 FLD0452A PIC 9(08)V9(02) + VALUE 26826484.18. + 77 FLD0452B PIC 9(10)V9(11) + VALUE 5576443525.30127562772. + 77 FLD0452E PIC X VALUE 'N'. + + 77 FLD0453A PIC 9(10)V9(10) + VALUE 5383526546.5392911909. + 77 FLD0453B PIC 9(02)V9(34) + VALUE 96.7573296701221163829131910461001098. + 77 FLD0453E PIC X VALUE 'N'. + + 77 FLD0454A PIC S9(03) + VALUE -090. + 77 FLD0454B PIC S9(01) + VALUE -0. + 77 FLD0454E PIC X VALUE 'N'. + + 77 FLD0455A PIC S9(01) + VALUE -0. + 77 FLD0455B PIC 9(05)V9(27) + VALUE 85105.998788168291113720442808698. + 77 FLD0455E PIC X VALUE 'N'. + + 77 FLD0456A PIC S9(03) + VALUE -093. + 77 FLD0456B PIC 9(05) + VALUE 15509. + 77 FLD0456E PIC X VALUE 'N'. + + 77 FLD0457A PIC 9(04)V9(30) + VALUE 9063.641671624598217249513254500925. + 77 FLD0457B PIC 9(01) + VALUE 0. + 77 FLD0457E PIC X VALUE 'N'. + + 77 FLD0458A PIC 9(02) + VALUE 06. + 77 FLD0458B PIC 9(09)V9(03) + VALUE 319507540.378. + 77 FLD0458E PIC X VALUE 'N'. + + 77 FLD0459A PIC 9(06)V9(01) + VALUE 198479.9. + 77 FLD0459B PIC 9(10)V9(11) + VALUE 5635468078.16151518188. + 77 FLD0459E PIC X VALUE 'N'. + + 77 FLD0460A PIC 9(01) + VALUE 0. + 77 FLD0460B PIC 9(07)V9(22) + VALUE 7834589.5335320658858790920930. + 77 FLD0460E PIC X VALUE 'N'. + + 77 FLD0461A PIC S9(01) + VALUE +0. + 77 FLD0461B PIC S9(07)V9(01) + VALUE +2146839.2. + 77 FLD0461E PIC X VALUE 'N'. + + 77 FLD0462A PIC 9(08)V9(02) + VALUE 26776595.69. + 77 FLD0462B PIC 9(02)V9(34) + VALUE 95.2391194548525610308331579290097579. + 77 FLD0462E PIC X VALUE 'N'. + + 77 FLD0463A PIC 9(05)V9(27) + VALUE 85490.666934027292889197724434779. + 77 FLD0463B PIC 9(09)V9(06) + VALUE 407249114.981761. + 77 FLD0463E PIC X VALUE 'N'. + + 77 FLD0464A PIC 9(10)V9(07) + VALUE 4587031190.3834293. + 77 FLD0464B PIC 9(08)V9(19) + VALUE 71857481.5704608793609509120. + 77 FLD0464E PIC X VALUE 'N'. + + 77 FLD0465A PIC 9(10)V9(12) + VALUE 5816563985.597106301028. + 77 FLD0465B PIC 9(06)V9(25) + VALUE 837937.1800695708527584315561398. + 77 FLD0465E PIC X VALUE 'N'. + + 77 FLD0466A PIC 9(09)V9(15) + VALUE 654381306.333900236715805. + 77 FLD0466B PIC 9(05) + VALUE 14616. + 77 FLD0466E PIC X VALUE 'N'. + + 77 FLD0467A PIC S9(07)V9(01) + VALUE +2343287.0. + 77 FLD0467B PIC 9(04)V9(29) + VALUE 8929.74677715112297171629052172647. + 77 FLD0467E PIC X VALUE 'N'. + + 77 FLD0468A PIC S9(10)V9(06) + VALUE +4344132145.767680. + 77 FLD0468B PIC 9(08)V9(03) + VALUE 29592230.696. + 77 FLD0468E PIC X VALUE 'N'. + + 77 FLD0469A PIC 9(08)V9(18) + VALUE 70961503.876956555370014712. + 77 FLD0469B PIC 9(10)V9(09) + VALUE 5200119971.346918168. + 77 FLD0469E PIC X VALUE 'N'. + + 77 FLD0470A PIC 9(03)V9(31) + VALUE 913.6810028966669827710234130790922. + 77 FLD0470B PIC S9(09)V9(05) + VALUE -383130523.18889. + 77 FLD0470E PIC X VALUE 'N'. + + 77 FLD0471A PIC S9(07)V9(02) + VALUE -2507103.69. + 77 FLD0471B PIC 9(01) + VALUE 0. + 77 FLD0471E PIC X VALUE 'N'. + + 77 FLD0472A PIC 9(10)V9(09) + VALUE 5103990869.050332168. + 77 FLD0472B PIC 9(06)V9(26) + VALUE 843393.74409143441635450244575622. + 77 FLD0472E PIC X VALUE 'N'. + + 77 FLD0473A PIC 9(08)V9(20) + VALUE 74367162.06805468187823748849. + 77 FLD0473B PIC 9(08)V9(18) + VALUE 70143773.259305752798553612. + 77 FLD0473E PIC X VALUE 'N'. + + 77 FLD0474A PIC 9(08)V9(19) + VALUE 72625744.5118117406224200749. + 77 FLD0474B PIC S9(05) + VALUE +13295. + 77 FLD0474E PIC X VALUE 'N'. + + 77 FLD0475A PIC 9(10)V9(07) + VALUE 4588724634.2999971. + 77 FLD0475B PIC S9(09)V9(06) + VALUE +420010897.357724. + 77 FLD0475E PIC X VALUE 'N'. + + 77 FLD0476A PIC 9(08)V9(02) + VALUE 28869933.49. + 77 FLD0476B PIC 9(06)V9(01) + VALUE 197306.5. + 77 FLD0476E PIC X VALUE 'N'. + + 77 FLD0477A PIC 9(08)V9(20) + VALUE 74492482.99155191155307420558. + 77 FLD0477B PIC S9(09)V9(05) + VALUE -380644102.28203. + 77 FLD0477E PIC X VALUE 'N'. + + 77 FLD0478A PIC 9(08)V9(19) + VALUE 72616162.5751895356550846827. + 77 FLD0478B PIC 9(09)V9(04) + VALUE 345871637.9604. + 77 FLD0478E PIC X VALUE 'N'. + + 77 FLD0479A PIC S9(09)V9(06) + VALUE +413502052.896697. + 77 FLD0479B PIC 9(06)V9(25) + VALUE 820524.8465168897276100778981344. + 77 FLD0479E PIC X VALUE 'N'. + + 77 FLD0480A PIC S9(06)V9(01) + VALUE +203017.8. + 77 FLD0480B PIC 9(08)V9(20) + VALUE 74798417.21657910502685240317. + 77 FLD0480E PIC X VALUE 'N'. + + 77 FLD0481A PIC 9(05) + VALUE 15658. + 77 FLD0481B PIC 9(01)V9(36) + VALUE 9.907459007614364265847939350351225584. + 77 FLD0481E PIC X VALUE 'N'. + + 77 FLD0482A PIC 9(08)V9(18) + VALUE 70905037.950447225014727337. + 77 FLD0482B PIC S9(10)V9(08) + VALUE -4922020906.16106868. + 77 FLD0482E PIC X VALUE 'N'. + + 77 FLD0483A PIC 9(03) + VALUE 079. + 77 FLD0483B PIC S9(09)V9(03) + VALUE +323420049.144. + 77 FLD0483E PIC X VALUE 'N'. + + 77 FLD0484A PIC S9(01) + VALUE +0. + 77 FLD0484B PIC 9(09)V9(12) + VALUE 577123861.473882282524. + 77 FLD0484E PIC X VALUE 'N'. + + 77 FLD0485A PIC 9(07)V9(02) + VALUE 2567572.97. + 77 FLD0485B PIC 9(05)V9(01) + VALUE 16688.0. + 77 FLD0485E PIC X VALUE 'N'. + + 77 FLD0486A PIC 9(05) + VALUE 13937. + 77 FLD0486B PIC 9(10)V9(07) + VALUE 4583814690.4965959. + 77 FLD0486E PIC X VALUE 'N'. + + 77 FLD0487A PIC 9(06)V9(01) + VALUE 209384.2. + 77 FLD0487B PIC 9(08)V9(18) + VALUE 70207035.549040885946681100. + 77 FLD0487E PIC X VALUE 'N'. + + 77 FLD0488A PIC S9(10)V9(07) + VALUE -4519198906.7966076. + 77 FLD0488B PIC 9(09)V9(16) + VALUE 669660091.3134611587906874. + 77 FLD0488E PIC X VALUE 'N'. + + 77 FLD0489A PIC S9(05)V9(01) + VALUE -17360.6. + 77 FLD0489B PIC 9(01)V9(36) + VALUE 9.950567826331271348294649214949458837. + 77 FLD0489E PIC X VALUE 'N'. + + 77 FLD0490A PIC 9(10)V9(10) + VALUE 5352566580.2623056954. + 77 FLD0490B PIC 9(08)V9(02) + VALUE 28596817.06. + 77 FLD0490E PIC X VALUE 'N'. + + 77 FLD0491A PIC 9(03)V9(31) + VALUE 918.2459205467069507378141679510008. + 77 FLD0491B PIC 9(09)V9(16) + VALUE 661285516.5476814178759923. + 77 FLD0491E PIC X VALUE 'N'. + + 77 FLD0492A PIC 9(06)V9(25) + VALUE 819266.4570447540928199714471702. + 77 FLD0492B PIC S9(09)V9(04) + VALUE +343135449.1145. + 77 FLD0492E PIC X VALUE 'N'. + + 77 FLD0493A PIC S9(05)V9(01) + VALUE -18038.5. + 77 FLD0493B PIC 9(06)V9(24) + VALUE 808734.959278862186593528349476. + 77 FLD0493E PIC X VALUE 'N'. + + 77 FLD0494A PIC 9(05)V9(28) + VALUE 87574.5417791477964719604187848744. + 77 FLD0494B PIC 9(10)V9(09) + VALUE 5133082903.157394349. + 77 FLD0494E PIC X VALUE 'N'. + + 77 FLD0495A PIC S9(02) + VALUE -05. + 77 FLD0495B PIC 9(09)V9(15) + VALUE 646882578.915106698502768. + 77 FLD0495E PIC X VALUE 'N'. + + 77 FLD0496A PIC 9(06)V9(25) + VALUE 816763.6415427422802437718019064. + 77 FLD0496B PIC S9(04) + VALUE +1240. + 77 FLD0496E PIC X VALUE 'N'. + + 77 FLD0497A PIC 9(06)V9(25) + VALUE 836230.6435874340415637107071233. + 77 FLD0497B PIC 9(09)V9(16) + VALUE 665491997.9684780217965567. + 77 FLD0497E PIC X VALUE 'N'. + + 77 FLD0498A PIC 9(10)V9(08) + VALUE 4792455293.49441590. + 77 FLD0498B PIC 9(06)V9(01) + VALUE 189449.4. + 77 FLD0498E PIC X VALUE 'N'. + + 77 FLD0499A PIC 9(02) + VALUE 05. + 77 FLD0499B PIC 9(09)V9(15) + VALUE 634131211.402607308791345. + 77 FLD0499E PIC X VALUE 'N'. + + * RESULTS-AREA. + 78 XPC-FLD0001B + VALUE '3'. + 78 XPC-FLD0001E VALUE 'N'. + 78 XPC-FLD0002B + VALUE '01571925154608921904042517780914'. + 78 XPC-FLD0002E VALUE 'N'. + 78 XPC-FLD0003B + VALUE '497691662540136914'. + 78 XPC-FLD0003E VALUE 'N'. + 78 XPC-FLD0004B + VALUE '316171'. + 78 XPC-FLD0004E VALUE 'N'. + 78 XPC-FLD0005B + VALUE '326669126773'. + 78 XPC-FLD0005E VALUE 'N'. + 78 XPC-FLD0006B + VALUE '2564149945687535678828794516448398'. + 78 XPC-FLD0006E VALUE 'N'. + 78 XPC-FLD0007B + VALUE '270310289q'. + 78 XPC-FLD0007E VALUE 'N'. + 78 XPC-FLD0008B + VALUE '09q'. + 78 XPC-FLD0008E VALUE 'N'. + 78 XPC-FLD0009B + VALUE '871644396861416259625343627703841'. + 78 XPC-FLD0009E VALUE 'Y'. + 78 XPC-FLD0010B + VALUE '401313154225653'. + 78 XPC-FLD0010E VALUE 'N'. + 78 XPC-FLD0011B + VALUE '716073640695890795927880390081554'. + 78 XPC-FLD0011E VALUE 'N'. + 78 XPC-FLD0012B + VALUE '714856822486604356929547066'. + 78 XPC-FLD0012E VALUE 'N'. + 78 XPC-FLD0013B + VALUE '332664360'. + 78 XPC-FLD0013E VALUE 'N'. + 78 XPC-FLD0014B + VALUE '7563565'. + 78 XPC-FLD0014E VALUE 'N'. + 78 XPC-FLD0015B + VALUE '496103206190910525'. + 78 XPC-FLD0015E VALUE 'N'. + 78 XPC-FLD0016B + VALUE '4316078086835850'. + 78 XPC-FLD0016E VALUE 'N'. + 78 XPC-FLD0017B + VALUE '8983341087204116393039043941826093'. + 78 XPC-FLD0017E VALUE 'N'. + 78 XPC-FLD0018B + VALUE 'p'. + 78 XPC-FLD0018E VALUE 'Y'. + 78 XPC-FLD0019B + VALUE '52790866914027q'. + 78 XPC-FLD0019E VALUE 'N'. + 78 XPC-FLD0020B + VALUE '09154677345638306818'. + 78 XPC-FLD0020E VALUE 'N'. + 78 XPC-FLD0021B + VALUE '9'. + 78 XPC-FLD0021E VALUE 'N'. + 78 XPC-FLD0022B + VALUE '6800620448921426031141379552'. + 78 XPC-FLD0022E VALUE 'N'. + 78 XPC-FLD0023B + VALUE '011865432391802879230624512274516746'. + 78 XPC-FLD0023E VALUE 'N'. + 78 XPC-FLD0024B + VALUE '081262603108476'. + 78 XPC-FLD0024E VALUE 'N'. + 78 XPC-FLD0025B + VALUE '249748827'. + 78 XPC-FLD0025E VALUE 'N'. + 78 XPC-FLD0026B + VALUE '3837571962056t'. + 78 XPC-FLD0026E VALUE 'N'. + 78 XPC-FLD0027B + VALUE '8158491045356750515082921992870'. + 78 XPC-FLD0027E VALUE 'Y'. + 78 XPC-FLD0028B + VALUE 't'. + 78 XPC-FLD0028E VALUE 'N'. + 78 XPC-FLD0029B + VALUE '68438817718294422258378517'. + 78 XPC-FLD0029E VALUE 'N'. + 78 XPC-FLD0030B + VALUE '70264210169553353857452293'. + 78 XPC-FLD0030E VALUE 'N'. + 78 XPC-FLD0031B + VALUE '70450280588407820925311852'. + 78 XPC-FLD0031E VALUE 'N'. + 78 XPC-FLD0032B + VALUE '94722057179q'. + 78 XPC-FLD0032E VALUE 'N'. + 78 XPC-FLD0033B + VALUE '960256540211'. + 78 XPC-FLD0033E VALUE 'N'. + 78 XPC-FLD0034B + VALUE '21267719'. + 78 XPC-FLD0034E VALUE 'N'. + 78 XPC-FLD0035B + VALUE '30926016'. + 78 XPC-FLD0035E VALUE 'N'. + 78 XPC-FLD0036B + VALUE '84780746063121390621031281398244'. + 78 XPC-FLD0036E VALUE 'N'. + 78 XPC-FLD0037B + VALUE '45484'. + 78 XPC-FLD0037E VALUE 'N'. + 78 XPC-FLD0038B + VALUE '8192466589219795159659831540466'. + 78 XPC-FLD0038E VALUE 'N'. + 78 XPC-FLD0039B + VALUE '2142775'. + 78 XPC-FLD0039E VALUE 'N'. + 78 XPC-FLD0040B + VALUE '328'. + 78 XPC-FLD0040E VALUE 'N'. + 78 XPC-FLD0041B + VALUE '5719955231502458547'. + 78 XPC-FLD0041E VALUE 'N'. + 78 XPC-FLD0042B + VALUE '53913067269542921266'. + 78 XPC-FLD0042E VALUE 'N'. + 78 XPC-FLD0043B + VALUE '8947428650524259539551508169097361'. + 78 XPC-FLD0043E VALUE 'N'. + 78 XPC-FLD0044B + VALUE '3593279914883'. + 78 XPC-FLD0044E VALUE 'N'. + 78 XPC-FLD0045B + VALUE '40565136957830'. + 78 XPC-FLD0045E VALUE 'N'. + 78 XPC-FLD0046B + VALUE '86000025910646182847330010190489'. + 78 XPC-FLD0046E VALUE 'N'. + 78 XPC-FLD0047B + VALUE '500920610887845814'. + 78 XPC-FLD0047E VALUE 'N'. + 78 XPC-FLD0048B + VALUE '17309y'. + 78 XPC-FLD0048E VALUE 'Y'. + 78 XPC-FLD0049B + VALUE '6818217198975972105429554915463086217'. + 78 XPC-FLD0049E VALUE 'N'. + 78 XPC-FLD0050B + VALUE '079122399722566'. + 78 XPC-FLD0050E VALUE 'N'. + 78 XPC-FLD0051B + VALUE '9064871948640588206203005938732530'. + 78 XPC-FLD0051E VALUE 'Y'. + 78 XPC-FLD0052B + VALUE '18378999229403754265'. + 78 XPC-FLD0052E VALUE 'N'. + 78 XPC-FLD0053B + VALUE '358916388870q'. + 78 XPC-FLD0053E VALUE 'N'. + 78 XPC-FLD0054B + VALUE '319288758232'. + 78 XPC-FLD0054E VALUE 'N'. + 78 XPC-FLD0055B + VALUE '9048691568994934320002240'. + 78 XPC-FLD0055E VALUE 'N'. + 78 XPC-FLD0056B + VALUE '2564409583'. + 78 XPC-FLD0056E VALUE 'N'. + 78 XPC-FLD0057B + VALUE '0v'. + 78 XPC-FLD0057E VALUE 'Y'. + 78 XPC-FLD0058B + VALUE '3436235653793'. + 78 XPC-FLD0058E VALUE 'N'. + 78 XPC-FLD0059B + VALUE '62832873919564874525472'. + 78 XPC-FLD0059E VALUE 'N'. + 78 XPC-FLD0060B + VALUE '159140'. + 78 XPC-FLD0060E VALUE 'N'. + 78 XPC-FLD0061B + VALUE '8166592123096498172785118185856'. + 78 XPC-FLD0061E VALUE 'N'. + 78 XPC-FLD0062B + VALUE '9769550469250686264269'. + 78 XPC-FLD0062E VALUE 'N'. + 78 XPC-FLD0063B + VALUE '753004763264897311507922950'. + 78 XPC-FLD0063E VALUE 'N'. + 78 XPC-FLD0064B + VALUE '744p'. + 78 XPC-FLD0064E VALUE 'N'. + 78 XPC-FLD0065B + VALUE '5377'. + 78 XPC-FLD0065E VALUE 'N'. + 78 XPC-FLD0066B + VALUE '85085260849998822774153950376785'. + 78 XPC-FLD0066E VALUE 'N'. + 78 XPC-FLD0067B + VALUE 'q'. + 78 XPC-FLD0067E VALUE 'N'. + 78 XPC-FLD0068B + VALUE '5'. + 78 XPC-FLD0068E VALUE 'N'. + 78 XPC-FLD0069B + VALUE '097'. + 78 XPC-FLD0069E VALUE 'Y'. + 78 XPC-FLD0070B + VALUE '847339t'. + 78 XPC-FLD0070E VALUE 'N'. + 78 XPC-FLD0071B + VALUE '1274'. + 78 XPC-FLD0071E VALUE 'N'. + 78 XPC-FLD0072B + VALUE '655377313792015250284373'. + 78 XPC-FLD0072E VALUE 'N'. + 78 XPC-FLD0073B + VALUE '70717240702803545859163047'. + 78 XPC-FLD0073E VALUE 'N'. + 78 XPC-FLD0074B + VALUE '6009119595528942259221594213158817808'. + 78 XPC-FLD0074E VALUE 'N'. + 78 XPC-FLD0075B + VALUE '22056618'. + 78 XPC-FLD0075E VALUE 'Y'. + 78 XPC-FLD0076B + VALUE '889922269538142470324260102643165738'. + 78 XPC-FLD0076E VALUE 'N'. + 78 XPC-FLD0077B + VALUE '297736583767979700245026833727024'. + 78 XPC-FLD0077E VALUE 'N'. + 78 XPC-FLD0078B + VALUE '52639083334727222580'. + 78 XPC-FLD0078E VALUE 'N'. + 78 XPC-FLD0079B + VALUE '324'. + 78 XPC-FLD0079E VALUE 'N'. + 78 XPC-FLD0080B + VALUE '371153437233y'. + 78 XPC-FLD0080E VALUE 'N'. + 78 XPC-FLD0081B + VALUE '3672069622884'. + 78 XPC-FLD0081E VALUE 'N'. + 78 XPC-FLD0082B + VALUE '39908942738066827524420432382'. + 78 XPC-FLD0082E VALUE 'N'. + 78 XPC-FLD0083B + VALUE '886546406'. + 78 XPC-FLD0083E VALUE 'N'. + 78 XPC-FLD0084B + VALUE '405109331835068'. + 78 XPC-FLD0084E VALUE 'N'. + 78 XPC-FLD0085B + VALUE '4354243534611629'. + 78 XPC-FLD0085E VALUE 'N'. + 78 XPC-FLD0086B + VALUE '571167021401449572359'. + 78 XPC-FLD0086E VALUE 'N'. + 78 XPC-FLD0087B + VALUE '1168'. + 78 XPC-FLD0087E VALUE 'Y'. + 78 XPC-FLD0088B + VALUE '481540354519'. + 78 XPC-FLD0088E VALUE 'N'. + 78 XPC-FLD0089B + VALUE '8552781102827879955441403577769802'. + 78 XPC-FLD0089E VALUE 'N'. + 78 XPC-FLD0090B + VALUE '0075180968r'. + 78 XPC-FLD0090E VALUE 'N'. + 78 XPC-FLD0091B + VALUE '08617201884902925811235356'. + 78 XPC-FLD0091E VALUE 'N'. + 78 XPC-FLD0092B + VALUE '3179100098465547968089595087804'. + 78 XPC-FLD0092E VALUE 'N'. + 78 XPC-FLD0093B + VALUE '874104194614961116371887328568'. + 78 XPC-FLD0093E VALUE 'N'. + 78 XPC-FLD0094B + VALUE '53066656460354850645'. + 78 XPC-FLD0094E VALUE 'N'. + 78 XPC-FLD0095B + VALUE '5167739798081453228562054391361'. + 78 XPC-FLD0095E VALUE 'N'. + 78 XPC-FLD0096B + VALUE '875053049076218392166026660561328'. + 78 XPC-FLD0096E VALUE 'N'. + 78 XPC-FLD0097B + VALUE '76639044132902548449948199049'. + 78 XPC-FLD0097E VALUE 'N'. + 78 XPC-FLD0098B + VALUE '334130309068'. + 78 XPC-FLD0098E VALUE 'N'. + 78 XPC-FLD0099B + VALUE '30007106715'. + 78 XPC-FLD0099E VALUE 'Y'. + 78 XPC-FLD0100B + VALUE '53883959962677607717265'. + 78 XPC-FLD0100E VALUE 'N'. + 78 XPC-FLD0101B + VALUE '51211205q'. + 78 XPC-FLD0101E VALUE 'N'. + 78 XPC-FLD0102B + VALUE '62599568832775289662151'. + 78 XPC-FLD0102E VALUE 'N'. + 78 XPC-FLD0103B + VALUE '9'. + 78 XPC-FLD0103E VALUE 'N'. + 78 XPC-FLD0104B + VALUE '48125550583217433t'. + 78 XPC-FLD0104E VALUE 'N'. + 78 XPC-FLD0105B + VALUE '0152268965'. + 78 XPC-FLD0105E VALUE 'N'. + 78 XPC-FLD0106B + VALUE '263621782y'. + 78 XPC-FLD0106E VALUE 'N'. + 78 XPC-FLD0107B + VALUE '491683543555178959039153289'. + 78 XPC-FLD0107E VALUE 'N'. + 78 XPC-FLD0108B + VALUE '284210531y'. + 78 XPC-FLD0108E VALUE 'Y'. + 78 XPC-FLD0109B + VALUE '0156720262660837374113498299266211'. + 78 XPC-FLD0109E VALUE 'N'. + 78 XPC-FLD0110B + VALUE '61781025727648194445507101'. + 78 XPC-FLD0110E VALUE 'N'. + 78 XPC-FLD0111B + VALUE '5582373934795217912'. + 78 XPC-FLD0111E VALUE 'N'. + 78 XPC-FLD0112B + VALUE '983719732p'. + 78 XPC-FLD0112E VALUE 'N'. + 78 XPC-FLD0113B + VALUE '0369'. + 78 XPC-FLD0113E VALUE 'N'. + 78 XPC-FLD0114B + VALUE '176673'. + 78 XPC-FLD0114E VALUE 'Y'. + 78 XPC-FLD0115B + VALUE '30236778644'. + 78 XPC-FLD0115E VALUE 'N'. + 78 XPC-FLD0116B + VALUE '3'. + 78 XPC-FLD0116E VALUE 'N'. + 78 XPC-FLD0117B + VALUE '13612'. + 78 XPC-FLD0117E VALUE 'Y'. + 78 XPC-FLD0118B + VALUE '80v'. + 78 XPC-FLD0118E VALUE 'N'. + 78 XPC-FLD0119B + VALUE '253932450'. + 78 XPC-FLD0119E VALUE 'N'. + 78 XPC-FLD0120B + VALUE '0w'. + 78 XPC-FLD0120E VALUE 'Y'. + 78 XPC-FLD0121B + VALUE '323330267022'. + 78 XPC-FLD0121E VALUE 'N'. + 78 XPC-FLD0122B + VALUE '2693757152'. + 78 XPC-FLD0122E VALUE 'N'. + 78 XPC-FLD0123B + VALUE '7502022502690824523057244732'. + 78 XPC-FLD0123E VALUE 'N'. + 78 XPC-FLD0124B + VALUE '4223876720963152'. + 78 XPC-FLD0124E VALUE 'N'. + 78 XPC-FLD0125B + VALUE '637796016364062257583133'. + 78 XPC-FLD0125E VALUE 'N'. + 78 XPC-FLD0126B + VALUE '14776979'. + 78 XPC-FLD0126E VALUE 'N'. + 78 XPC-FLD0127B + VALUE '968598991861849889506430599794838'. + 78 XPC-FLD0127E VALUE 'N'. + 78 XPC-FLD0128B + VALUE '7158526709'. + 78 XPC-FLD0128E VALUE 'N'. + 78 XPC-FLD0129B + VALUE '66302536762228508700376'. + 78 XPC-FLD0129E VALUE 'N'. + 78 XPC-FLD0130B + VALUE '30500681275'. + 78 XPC-FLD0130E VALUE 'N'. + 78 XPC-FLD0131B + VALUE '97542725692831921848454612'. + 78 XPC-FLD0131E VALUE 'N'. + 78 XPC-FLD0132B + VALUE '21622287'. + 78 XPC-FLD0132E VALUE 'N'. + 78 XPC-FLD0133B + VALUE '25284120x'. + 78 XPC-FLD0133E VALUE 'N'. + 78 XPC-FLD0134B + VALUE '6035745627324759055021274'. + 78 XPC-FLD0134E VALUE 'N'. + 78 XPC-FLD0135B + VALUE '256132197'. + 78 XPC-FLD0135E VALUE 'Y'. + 78 XPC-FLD0136B + VALUE '721064189695820607747975827'. + 78 XPC-FLD0136E VALUE 'N'. + 78 XPC-FLD0137B + VALUE '39815975038716593768839402400772088'. + 78 XPC-FLD0137E VALUE 'N'. + 78 XPC-FLD0138B + VALUE '8976142294415691003095503219810780'. + 78 XPC-FLD0138E VALUE 'Y'. + 78 XPC-FLD0139B + VALUE '4629717477620841718762676464393'. + 78 XPC-FLD0139E VALUE 'N'. + 78 XPC-FLD0140B + VALUE '9134502802484925076953459210926666'. + 78 XPC-FLD0140E VALUE 'N'. + 78 XPC-FLD0141B + VALUE '1980465'. + 78 XPC-FLD0141E VALUE 'Y'. + 78 XPC-FLD0142B + VALUE '011r'. + 78 XPC-FLD0142E VALUE 'N'. + 78 XPC-FLD0143B + VALUE '4030993'. + 78 XPC-FLD0143E VALUE 'N'. + 78 XPC-FLD0144B + VALUE '21702923'. + 78 XPC-FLD0144E VALUE 'Y'. + 78 XPC-FLD0145B + VALUE '009479682736520'. + 78 XPC-FLD0145E VALUE 'N'. + 78 XPC-FLD0146B + VALUE '5926753717490164309811'. + 78 XPC-FLD0146E VALUE 'N'. + 78 XPC-FLD0147B + VALUE '397442042521838'. + 78 XPC-FLD0147E VALUE 'N'. + 78 XPC-FLD0148B + VALUE '335821179980'. + 78 XPC-FLD0148E VALUE 'N'. + 78 XPC-FLD0149B + VALUE '64'. + 78 XPC-FLD0149E VALUE 'N'. + 78 XPC-FLD0150B + VALUE '9779789481524289174174668914929497987'. + 78 XPC-FLD0150E VALUE 'Y'. + 78 XPC-FLD0151B + VALUE '03489779895385769491943608024'. + 78 XPC-FLD0151E VALUE 'N'. + 78 XPC-FLD0152B + VALUE '976189035330467796747200281970435753'. + 78 XPC-FLD0152E VALUE 'N'. + 78 XPC-FLD0153B + VALUE '77001479845998110906890588012'. + 78 XPC-FLD0153E VALUE 'Y'. + 78 XPC-FLD0154B + VALUE '40490022953226413'. + 78 XPC-FLD0154E VALUE 'N'. + 78 XPC-FLD0155B + VALUE '7822691488762339967770021576143335'. + 78 XPC-FLD0155E VALUE 'N'. + 78 XPC-FLD0156B + VALUE '8985588062372004625188992577022871'. + 78 XPC-FLD0156E VALUE 'N'. + 78 XPC-FLD0157B + VALUE '5019620727325065'. + 78 XPC-FLD0157E VALUE 'N'. + 78 XPC-FLD0158B + VALUE '19917526243063020197192'. + 78 XPC-FLD0158E VALUE 'N'. + 78 XPC-FLD0159B + VALUE '643529357674236912600918'. + 78 XPC-FLD0159E VALUE 'N'. + 78 XPC-FLD0160B + VALUE '4490300'. + 78 XPC-FLD0160E VALUE 'N'. + 78 XPC-FLD0161B + VALUE '795897533357509001650242907'. + 78 XPC-FLD0161E VALUE 'N'. + 78 XPC-FLD0162B + VALUE '566814386458160899086'. + 78 XPC-FLD0162E VALUE 'N'. + 78 XPC-FLD0163B + VALUE '269208611024764676855618'. + 78 XPC-FLD0163E VALUE 'N'. + 78 XPC-FLD0164B + VALUE '3000'. + 78 XPC-FLD0164E VALUE 'N'. + 78 XPC-FLD0165B + VALUE '1267'. + 78 XPC-FLD0165E VALUE 'Y'. + 78 XPC-FLD0166B + VALUE '429599'. + 78 XPC-FLD0166E VALUE 'N'. + 78 XPC-FLD0167B + VALUE '0917440942478405142746282763255'. + 78 XPC-FLD0167E VALUE 'N'. + 78 XPC-FLD0168B + VALUE '4326936005661665'. + 78 XPC-FLD0168E VALUE 'N'. + 78 XPC-FLD0169B + VALUE '71534750846474368213279149'. + 78 XPC-FLD0169E VALUE 'N'. + 78 XPC-FLD0170B + VALUE '2603177530164159092505813954945188016'. + 78 XPC-FLD0170E VALUE 'N'. + 78 XPC-FLD0171B + VALUE '4933823716025802'. + 78 XPC-FLD0171E VALUE 'N'. + 78 XPC-FLD0172B + VALUE '8903776753838588409184495731096831'. + 78 XPC-FLD0172E VALUE 'N'. + 78 XPC-FLD0173B + VALUE '519945412779417204'. + 78 XPC-FLD0173E VALUE 'N'. + 78 XPC-FLD0174B + VALUE '5152585493087611057'. + 78 XPC-FLD0174E VALUE 'N'. + 78 XPC-FLD0175B + VALUE '51'. + 78 XPC-FLD0175E VALUE 'N'. + 78 XPC-FLD0176B + VALUE '21895219257'. + 78 XPC-FLD0176E VALUE 'N'. + 78 XPC-FLD0177B + VALUE '999225364'. + 78 XPC-FLD0177E VALUE 'N'. + 78 XPC-FLD0178B + VALUE '2410436611r'. + 78 XPC-FLD0178E VALUE 'N'. + 78 XPC-FLD0179B + VALUE '663'. + 78 XPC-FLD0179E VALUE 'N'. + 78 XPC-FLD0180B + VALUE '54351034931997414107'. + 78 XPC-FLD0180E VALUE 'N'. + 78 XPC-FLD0181B + VALUE '47407358325391086x'. + 78 XPC-FLD0181E VALUE 'N'. + 78 XPC-FLD0182B + VALUE '417908352338649757839920'. + 78 XPC-FLD0182E VALUE 'N'. + 78 XPC-FLD0183B + VALUE '0u'. + 78 XPC-FLD0183E VALUE 'Y'. + 78 XPC-FLD0184B + VALUE '3601969r'. + 78 XPC-FLD0184E VALUE 'N'. + 78 XPC-FLD0185B + VALUE '7395132638753716096465495866'. + 78 XPC-FLD0185E VALUE 'N'. + 78 XPC-FLD0186B + VALUE '8407708947119312415452441200613'. + 78 XPC-FLD0186E VALUE 'N'. + 78 XPC-FLD0187B + VALUE '6497950041934480558403'. + 78 XPC-FLD0187E VALUE 'N'. + 78 XPC-FLD0188B + VALUE '0471158677246608093014401354'. + 78 XPC-FLD0188E VALUE 'N'. + 78 XPC-FLD0189B + VALUE '566852467720726727051'. + 78 XPC-FLD0189E VALUE 'Y'. + 78 XPC-FLD0190B + VALUE '62476651140273569806415'. + 78 XPC-FLD0190E VALUE 'N'. + 78 XPC-FLD0191B + VALUE '817437168989411478996487403492'. + 78 XPC-FLD0191E VALUE 'N'. + 78 XPC-FLD0192B + VALUE '3580342295012'. + 78 XPC-FLD0192E VALUE 'N'. + 78 XPC-FLD0193B + VALUE '86499232126294976690766'. + 78 XPC-FLD0193E VALUE 'N'. + 78 XPC-FLD0194B + VALUE '217285653058917626499679'. + 78 XPC-FLD0194E VALUE 'N'. + 78 XPC-FLD0195B + VALUE '14921'. + 78 XPC-FLD0195E VALUE 'Y'. + 78 XPC-FLD0196B + VALUE '18000w'. + 78 XPC-FLD0196E VALUE 'N'. + 78 XPC-FLD0197B + VALUE '14'. + 78 XPC-FLD0197E VALUE 'N'. + 78 XPC-FLD0198B + VALUE '14072'. + 78 XPC-FLD0198E VALUE 'Y'. + 78 XPC-FLD0199B + VALUE '045232741410605347571106449322'. + 78 XPC-FLD0199E VALUE 'N'. + 78 XPC-FLD0200B + VALUE '95184480153268257'. + 78 XPC-FLD0200E VALUE 'N'. + 78 XPC-FLD0201B + VALUE '792759590444417882612526682351'. + 78 XPC-FLD0201E VALUE 'N'. + 78 XPC-FLD0202B + VALUE '37943227555010013122256395945441909'. + 78 XPC-FLD0202E VALUE 'N'. + 78 XPC-FLD0203B + VALUE '5835712416517114804656539879215415'. + 78 XPC-FLD0203E VALUE 'N'. + 78 XPC-FLD0204B + VALUE '23632655'. + 78 XPC-FLD0204E VALUE 'N'. + 78 XPC-FLD0205B + VALUE '288741127747638715028699'. + 78 XPC-FLD0205E VALUE 'N'. + 78 XPC-FLD0206B + VALUE '70639388766434425840361654'. + 78 XPC-FLD0206E VALUE 'N'. + 78 XPC-FLD0207B + VALUE '7691791385730962560263179739'. + 78 XPC-FLD0207E VALUE 'N'. + 78 XPC-FLD0208B + VALUE '21514986'. + 78 XPC-FLD0208E VALUE 'N'. + 78 XPC-FLD0209B + VALUE '795271109412971503516143201295'. + 78 XPC-FLD0209E VALUE 'N'. + 78 XPC-FLD0210B + VALUE '0'. + 78 XPC-FLD0210E VALUE 'Y'. + 78 XPC-FLD0211B + VALUE '4421137707554604'. + 78 XPC-FLD0211E VALUE 'N'. + 78 XPC-FLD0212B + VALUE '2649683602641s'. + 78 XPC-FLD0212E VALUE 'N'. + 78 XPC-FLD0213B + VALUE '7525639770631302875997903356'. + 78 XPC-FLD0213E VALUE 'N'. + 78 XPC-FLD0214B + VALUE '6668932704655321508369070'. + 78 XPC-FLD0214E VALUE 'N'. + 78 XPC-FLD0215B + VALUE '17300q'. + 78 XPC-FLD0215E VALUE 'N'. + 78 XPC-FLD0216B + VALUE '5663716874'. + 78 XPC-FLD0216E VALUE 'N'. + 78 XPC-FLD0217B + VALUE '5191266215287888'. + 78 XPC-FLD0217E VALUE 'N'. + 78 XPC-FLD0218B + VALUE '4467255193327033602201936446363106369'. + 78 XPC-FLD0218E VALUE 'N'. + 78 XPC-FLD0219B + VALUE '58766925082182334127'. + 78 XPC-FLD0219E VALUE 'N'. + 78 XPC-FLD0220B + VALUE '2936t'. + 78 XPC-FLD0220E VALUE 'N'. + 78 XPC-FLD0221B + VALUE '878910367794605407176788958167890'. + 78 XPC-FLD0221E VALUE 'N'. + 78 XPC-FLD0222B + VALUE '1522x'. + 78 XPC-FLD0222E VALUE 'Y'. + 78 XPC-FLD0223B + VALUE '69950927082806102497158917'. + 78 XPC-FLD0223E VALUE 'N'. + 78 XPC-FLD0224B + VALUE '3830076842766v'. + 78 XPC-FLD0224E VALUE 'N'. + 78 XPC-FLD0225B + VALUE '572612409808938978169'. + 78 XPC-FLD0225E VALUE 'N'. + 78 XPC-FLD0226B + VALUE '21150954'. + 78 XPC-FLD0226E VALUE 'N'. + 78 XPC-FLD0227B + VALUE '2038736443582994661522477889957372'. + 78 XPC-FLD0227E VALUE 'N'. + 78 XPC-FLD0228B + VALUE '9739690596877397243957830141880549490'. + 78 XPC-FLD0228E VALUE 'Y'. + 78 XPC-FLD0229B + VALUE '7383803963255895866131917059'. + 78 XPC-FLD0229E VALUE 'N'. + 78 XPC-FLD0230B + VALUE '9x'. + 78 XPC-FLD0230E VALUE 'N'. + 78 XPC-FLD0231B + VALUE '270943347t'. + 78 XPC-FLD0231E VALUE 'N'. + 78 XPC-FLD0232B + VALUE '4749842313738054193504353861500'. + 78 XPC-FLD0232E VALUE 'N'. + 78 XPC-FLD0233B + VALUE '412919251493'. + 78 XPC-FLD0233E VALUE 'N'. + 78 XPC-FLD0234B + VALUE '5600680922670572133253'. + 78 XPC-FLD0234E VALUE 'N'. + 78 XPC-FLD0235B + VALUE '48083151871929563y'. + 78 XPC-FLD0235E VALUE 'N'. + 78 XPC-FLD0236B + VALUE '70471341881577547199277944'. + 78 XPC-FLD0236E VALUE 'N'. + 78 XPC-FLD0237B + VALUE '885090488581330880890618573175743'. + 78 XPC-FLD0237E VALUE 'Y'. + 78 XPC-FLD0238B + VALUE '3227001'. + 78 XPC-FLD0238E VALUE 'N'. + 78 XPC-FLD0239B + VALUE '29332566026370832101832'. + 78 XPC-FLD0239E VALUE 'N'. + 78 XPC-FLD0240B + VALUE '8331654817075836438888813972880'. + 78 XPC-FLD0240E VALUE 'Y'. + 78 XPC-FLD0241B + VALUE '60875735723205993171444'. + 78 XPC-FLD0241E VALUE 'N'. + 78 XPC-FLD0242B + VALUE '182084q'. + 78 XPC-FLD0242E VALUE 'N'. + 78 XPC-FLD0243B + VALUE '870255257093214798613800553539476'. + 78 XPC-FLD0243E VALUE 'N'. + 78 XPC-FLD0244B + VALUE '5964541497067354924865'. + 78 XPC-FLD0244E VALUE 'N'. + 78 XPC-FLD0245B + VALUE '264333833210099267317333'. + 78 XPC-FLD0245E VALUE 'N'. + 78 XPC-FLD0246B + VALUE '1209825'. + 78 XPC-FLD0246E VALUE 'N'. + 78 XPC-FLD0247B + VALUE '742067276785553808782225359'. + 78 XPC-FLD0247E VALUE 'N'. + 78 XPC-FLD0248B + VALUE '568358594454923286003'. + 78 XPC-FLD0248E VALUE 'N'. + 78 XPC-FLD0249B + VALUE '6731754183146980707874718'. + 78 XPC-FLD0249E VALUE 'Y'. + 78 XPC-FLD0250B + VALUE '9267251332164047061614164335129317'. + 78 XPC-FLD0250E VALUE 'N'. + 78 XPC-FLD0251B + VALUE '3790591152463825338016431487631'. + 78 XPC-FLD0251E VALUE 'N'. + 78 XPC-FLD0252B + VALUE '23614266'. + 78 XPC-FLD0252E VALUE 'N'. + 78 XPC-FLD0253B + VALUE '29824915'. + 78 XPC-FLD0253E VALUE 'N'. + 78 XPC-FLD0254B + VALUE '94904362r'. + 78 XPC-FLD0254E VALUE 'N'. + 78 XPC-FLD0255B + VALUE '54081435076039155115'. + 78 XPC-FLD0255E VALUE 'N'. + 78 XPC-FLD0256B + VALUE '8751500721603051085707734273455571'. + 78 XPC-FLD0256E VALUE 'N'. + 78 XPC-FLD0257B + VALUE '407'. + 78 XPC-FLD0257E VALUE 'N'. + 78 XPC-FLD0258B + VALUE '84978202175808337237583600654033'. + 78 XPC-FLD0258E VALUE 'Y'. + 78 XPC-FLD0259B + VALUE '3746683047259s'. + 78 XPC-FLD0259E VALUE 'N'. + 78 XPC-FLD0260B + VALUE '6017366610583895639607'. + 78 XPC-FLD0260E VALUE 'N'. + 78 XPC-FLD0261B + VALUE '00567161858323'. + 78 XPC-FLD0261E VALUE 'N'. + 78 XPC-FLD0262B + VALUE '68757658126759821329241049'. + 78 XPC-FLD0262E VALUE 'N'. + 78 XPC-FLD0263B + VALUE '40'. + 78 XPC-FLD0263E VALUE 'N'. + 78 XPC-FLD0264B + VALUE '166846'. + 78 XPC-FLD0264E VALUE 'N'. + 78 XPC-FLD0265B + VALUE '2298778729177715439249141127220354975'. + 78 XPC-FLD0265E VALUE 'N'. + 78 XPC-FLD0266B + VALUE '115052360207692161431225486003512427'. + 78 XPC-FLD0266E VALUE 'N'. + 78 XPC-FLD0267B + VALUE '23489014'. + 78 XPC-FLD0267E VALUE 'N'. + 78 XPC-FLD0268B + VALUE '8211500957830146774085733341053'. + 78 XPC-FLD0268E VALUE 'N'. + 78 XPC-FLD0269B + VALUE '5'. + 78 XPC-FLD0269E VALUE 'N'. + 78 XPC-FLD0270B + VALUE '1200'. + 78 XPC-FLD0270E VALUE 'Y'. + 78 XPC-FLD0271B + VALUE '052759203'. + 78 XPC-FLD0271E VALUE 'N'. + 78 XPC-FLD0272B + VALUE '51600069630273368u'. + 78 XPC-FLD0272E VALUE 'N'. + 78 XPC-FLD0273B + VALUE '9036109253095579'. + 78 XPC-FLD0273E VALUE 'N'. + 78 XPC-FLD0274B + VALUE '52694748208586675958'. + 78 XPC-FLD0274E VALUE 'N'. + 78 XPC-FLD0275B + VALUE '242413794'. + 78 XPC-FLD0275E VALUE 'N'. + 78 XPC-FLD0276B + VALUE '94591784695476577304873444518307223'. + 78 XPC-FLD0276E VALUE 'Y'. + 78 XPC-FLD0277B + VALUE '499215459576603728'. + 78 XPC-FLD0277E VALUE 'N'. + 78 XPC-FLD0278B + VALUE '7922277502052260016194509262277280'. + 78 XPC-FLD0278E VALUE 'N'. + 78 XPC-FLD0279B + VALUE '92108160397424898579998853165307082'. + 78 XPC-FLD0279E VALUE 'Y'. + 78 XPC-FLD0280B + VALUE '686572532054675839148262639'. + 78 XPC-FLD0280E VALUE 'N'. + 78 XPC-FLD0281B + VALUE '50053214871016073'. + 78 XPC-FLD0281E VALUE 'N'. + 78 XPC-FLD0282B + VALUE '78893043658446049271049105300'. + 78 XPC-FLD0282E VALUE 'Y'. + 78 XPC-FLD0283B + VALUE '18273y'. + 78 XPC-FLD0283E VALUE 'N'. + 78 XPC-FLD0284B + VALUE '1'. + 78 XPC-FLD0284E VALUE 'N'. + 78 XPC-FLD0285B + VALUE '7369307141179880084957964925'. + 78 XPC-FLD0285E VALUE 'N'. + 78 XPC-FLD0286B + VALUE '82453436'. + 78 XPC-FLD0286E VALUE 'N'. + 78 XPC-FLD0287B + VALUE '362828'. + 78 XPC-FLD0287E VALUE 'N'. + 78 XPC-FLD0288B + VALUE '893692752615119712089608583482913'. + 78 XPC-FLD0288E VALUE 'Y'. + 78 XPC-FLD0289B + VALUE '567633089214293657540'. + 78 XPC-FLD0289E VALUE 'N'. + 78 XPC-FLD0290B + VALUE '113'. + 78 XPC-FLD0290E VALUE 'N'. + 78 XPC-FLD0291B + VALUE '8300179929109657213726070068559'. + 78 XPC-FLD0291E VALUE 'N'. + 78 XPC-FLD0292B + VALUE '9'. + 78 XPC-FLD0292E VALUE 'N'. + 78 XPC-FLD0293B + VALUE '30744391924'. + 78 XPC-FLD0293E VALUE 'N'. + 78 XPC-FLD0294B + VALUE '0'. + 78 XPC-FLD0294E VALUE 'Y'. + 78 XPC-FLD0295B + VALUE '0364174s'. + 78 XPC-FLD0295E VALUE 'N'. + 78 XPC-FLD0296B + VALUE '574464025736577889141'. + 78 XPC-FLD0296E VALUE 'N'. + 78 XPC-FLD0297B + VALUE '5211000497602709295'. + 78 XPC-FLD0297E VALUE 'N'. + 78 XPC-FLD0298B + VALUE '9865365009908295859892746193509083241'. + 78 XPC-FLD0298E VALUE 'N'. + 78 XPC-FLD0299B + VALUE '7346908584680565956758964'. + 78 XPC-FLD0299E VALUE 'N'. + 78 XPC-FLD0300B + VALUE '55012674381377925092450'. + 78 XPC-FLD0300E VALUE 'N'. + 78 XPC-FLD0301B + VALUE 'u'. + 78 XPC-FLD0301E VALUE 'N'. + 78 XPC-FLD0302B + VALUE '4291773342239683'. + 78 XPC-FLD0302E VALUE 'N'. + 78 XPC-FLD0303B + VALUE '9'. + 78 XPC-FLD0303E VALUE 'N'. + 78 XPC-FLD0304B + VALUE '556573438984127234968'. + 78 XPC-FLD0304E VALUE 'N'. + 78 XPC-FLD0305B + VALUE '4'. + 78 XPC-FLD0305E VALUE 'N'. + 78 XPC-FLD0306B + VALUE '49364188871768718q'. + 78 XPC-FLD0306E VALUE 'N'. + 78 XPC-FLD0307B + VALUE '68005145163846554765597747973515652'. + 78 XPC-FLD0307E VALUE 'N'. + 78 XPC-FLD0308B + VALUE '711937634336942757585120489238761366'. + 78 XPC-FLD0308E VALUE 'N'. + 78 XPC-FLD0309B + VALUE '09s'. + 78 XPC-FLD0309E VALUE 'Y'. + 78 XPC-FLD0310B + VALUE '039167648388876'. + 78 XPC-FLD0310E VALUE 'N'. + 78 XPC-FLD0311B + VALUE '3931117203050255914931199185957666486'. + 78 XPC-FLD0311E VALUE 'N'. + 78 XPC-FLD0312B + VALUE '0'. + 78 XPC-FLD0312E VALUE 'Y'. + 78 XPC-FLD0313B + VALUE '37515306459620'. + 78 XPC-FLD0313E VALUE 'N'. + 78 XPC-FLD0314B + VALUE '69720778107690404600560896'. + 78 XPC-FLD0314E VALUE 'N'. + 78 XPC-FLD0315B + VALUE '69624112217793877932514589'. + 78 XPC-FLD0315E VALUE 'N'. + 78 XPC-FLD0316B + VALUE '561166875766384822086'. + 78 XPC-FLD0316E VALUE 'N'. + 78 XPC-FLD0317B + VALUE '314586880144'. + 78 XPC-FLD0317E VALUE 'N'. + 78 XPC-FLD0318B + VALUE '882534717446214034275442372745601'. + 78 XPC-FLD0318E VALUE 'Y'. + 78 XPC-FLD0319B + VALUE '720371110100740574821997'. + 78 XPC-FLD0319E VALUE 'N'. + 78 XPC-FLD0320B + VALUE '547024228165748174212'. + 78 XPC-FLD0320E VALUE 'N'. + 78 XPC-FLD0321B + VALUE '6601639210521921263818967'. + 78 XPC-FLD0321E VALUE 'Y'. + 78 XPC-FLD0322B + VALUE '17591106469607443841432'. + 78 XPC-FLD0322E VALUE 'N'. + 78 XPC-FLD0323B + VALUE '726633859846741159138616694690426812'. + 78 XPC-FLD0323E VALUE 'N'. + 78 XPC-FLD0324B + VALUE '02824576327848049573'. + 78 XPC-FLD0324E VALUE 'N'. + 78 XPC-FLD0325B + VALUE '723337602353324218528882738'. + 78 XPC-FLD0325E VALUE 'N'. + 78 XPC-FLD0326B + VALUE '4y'. + 78 XPC-FLD0326E VALUE 'N'. + 78 XPC-FLD0327B + VALUE '21224467'. + 78 XPC-FLD0327E VALUE 'N'. + 78 XPC-FLD0328B + VALUE '4643225346405y'. + 78 XPC-FLD0328E VALUE 'N'. + 78 XPC-FLD0329B + VALUE '952096907591406971249625712516717612'. + 78 XPC-FLD0329E VALUE 'N'. + 78 XPC-FLD0330B + VALUE '795524425555017788980194382020'. + 78 XPC-FLD0330E VALUE 'Y'. + 78 XPC-FLD0331B + VALUE '2990286983'. + 78 XPC-FLD0331E VALUE 'N'. + 78 XPC-FLD0332B + VALUE '3558444199192'. + 78 XPC-FLD0332E VALUE 'N'. + 78 XPC-FLD0333B + VALUE '243142895'. + 78 XPC-FLD0333E VALUE 'N'. + 78 XPC-FLD0334B + VALUE '297044413515'. + 78 XPC-FLD0334E VALUE 'N'. + 78 XPC-FLD0335B + VALUE '5106189445459805064'. + 78 XPC-FLD0335E VALUE 'N'. + 78 XPC-FLD0336B + VALUE '2933169889y'. + 78 XPC-FLD0336E VALUE 'N'. + 78 XPC-FLD0337B + VALUE '434132279525498709915609650'. + 78 XPC-FLD0337E VALUE 'N'. + 78 XPC-FLD0338B + VALUE '53047689000456310637'. + 78 XPC-FLD0338E VALUE 'N'. + 78 XPC-FLD0339B + VALUE '5943728837259434154840'. + 78 XPC-FLD0339E VALUE 'N'. + 78 XPC-FLD0340B + VALUE '389881349078w'. + 78 XPC-FLD0340E VALUE 'N'. + 78 XPC-FLD0341B + VALUE '248392469156514472666'. + 78 XPC-FLD0341E VALUE 'N'. + 78 XPC-FLD0342B + VALUE '4532923120813512t'. + 78 XPC-FLD0342E VALUE 'N'. + 78 XPC-FLD0343B + VALUE '0620927'. + 78 XPC-FLD0343E VALUE 'N'. + 78 XPC-FLD0344B + VALUE '606359905437156143820618581230520'. + 78 XPC-FLD0344E VALUE 'N'. + 78 XPC-FLD0345B + VALUE '405441574894889'. + 78 XPC-FLD0345E VALUE 'N'. + 78 XPC-FLD0346B + VALUE '6665377278444964848080899'. + 78 XPC-FLD0346E VALUE 'N'. + 78 XPC-FLD0347B + VALUE '324381'. + 78 XPC-FLD0347E VALUE 'N'. + 78 XPC-FLD0348B + VALUE '541608383617544100863'. + 78 XPC-FLD0348E VALUE 'N'. + 78 XPC-FLD0349B + VALUE '99162869882943715535583214659709483'. + 78 XPC-FLD0349E VALUE 'N'. + 78 XPC-FLD0350B + VALUE '8264871389960360762501068165875'. + 78 XPC-FLD0350E VALUE 'N'. + 78 XPC-FLD0351B + VALUE '53884121311052648707'. + 78 XPC-FLD0351E VALUE 'N'. + 78 XPC-FLD0352B + VALUE '1946919'. + 78 XPC-FLD0352E VALUE 'N'. + 78 XPC-FLD0353B + VALUE '94389336945631099347053805104224012'. + 78 XPC-FLD0353E VALUE 'N'. + 78 XPC-FLD0354B + VALUE '3116766074r'. + 78 XPC-FLD0354E VALUE 'N'. + 78 XPC-FLD0355B + VALUE '93287'. + 78 XPC-FLD0355E VALUE 'N'. + 78 XPC-FLD0356B + VALUE '83673557978976841628508509529638'. + 78 XPC-FLD0356E VALUE 'N'. + 78 XPC-FLD0357B + VALUE '079'. + 78 XPC-FLD0357E VALUE 'Y'. + 78 XPC-FLD0358B + VALUE '65874749059638552239264936'. + 78 XPC-FLD0358E VALUE 'N'. + 78 XPC-FLD0359B + VALUE '9526039934819852117442415817981772124'. + 78 XPC-FLD0359E VALUE 'N'. + 78 XPC-FLD0360B + VALUE '2666622504'. + 78 XPC-FLD0360E VALUE 'Y'. + 78 XPC-FLD0361B + VALUE '07851848643793046811367730697339'. + 78 XPC-FLD0361E VALUE 'N'. + 78 XPC-FLD0362B + VALUE '8970899599407193836242413453874178'. + 78 XPC-FLD0362E VALUE 'N'. + 78 XPC-FLD0363B + VALUE '9034927431796696550847514117776881'. + 78 XPC-FLD0363E VALUE 'Y'. + 78 XPC-FLD0364B + VALUE '8287940009277749559970516202156'. + 78 XPC-FLD0364E VALUE 'N'. + 78 XPC-FLD0365B + VALUE '2107493896139311928536102'. + 78 XPC-FLD0365E VALUE 'N'. + 78 XPC-FLD0366B + VALUE '0157659331265924684828405588633'. + 78 XPC-FLD0366E VALUE 'N'. + 78 XPC-FLD0367B + VALUE '7840586'. + 78 XPC-FLD0367E VALUE 'N'. + 78 XPC-FLD0368B + VALUE '3'. + 78 XPC-FLD0368E VALUE 'N'. + 78 XPC-FLD0369B + VALUE '31224128387'. + 78 XPC-FLD0369E VALUE 'N'. + 78 XPC-FLD0370B + VALUE 'p'. + 78 XPC-FLD0370E VALUE 'N'. + 78 XPC-FLD0371B + VALUE '08r'. + 78 XPC-FLD0371E VALUE 'N'. + 78 XPC-FLD0372B + VALUE '0049999527433343127'. + 78 XPC-FLD0372E VALUE 'N'. + 78 XPC-FLD0373B + VALUE '3081708383872'. + 78 XPC-FLD0373E VALUE 'N'. + 78 XPC-FLD0374B + VALUE '711264497973442155753787119'. + 78 XPC-FLD0374E VALUE 'N'. + 78 XPC-FLD0375B + VALUE '0'. + 78 XPC-FLD0375E VALUE 'Y'. + 78 XPC-FLD0376B + VALUE '5240009617041836336'. + 78 XPC-FLD0376E VALUE 'N'. + 78 XPC-FLD0377B + VALUE '78137191821795531497030218303'. + 78 XPC-FLD0377E VALUE 'N'. + 78 XPC-FLD0378B + VALUE '16313u'. + 78 XPC-FLD0378E VALUE 'N'. + 78 XPC-FLD0379B + VALUE '4'. + 78 XPC-FLD0379E VALUE 'N'. + 78 XPC-FLD0380B + VALUE 'y'. + 78 XPC-FLD0380E VALUE 'N'. + 78 XPC-FLD0381B + VALUE '096'. + 78 XPC-FLD0381E VALUE 'Y'. + 78 XPC-FLD0382B + VALUE '1909'. + 78 XPC-FLD0382E VALUE 'N'. + 78 XPC-FLD0383B + VALUE '810435186395222418864747737642'. + 78 XPC-FLD0383E VALUE 'N'. + 78 XPC-FLD0384B + VALUE '0'. + 78 XPC-FLD0384E VALUE 'Y'. + 78 XPC-FLD0385B + VALUE '774134932514714546452413131744833'. + 78 XPC-FLD0385E VALUE 'N'. + 78 XPC-FLD0386B + VALUE '3467992789726692670323751189'. + 78 XPC-FLD0386E VALUE 'N'. + 78 XPC-FLD0387B + VALUE '6906513656145575095354897'. + 78 XPC-FLD0387E VALUE 'N'. + 78 XPC-FLD0388B + VALUE '326'. + 78 XPC-FLD0388E VALUE 'N'. + 78 XPC-FLD0389B + VALUE '0182625981352744592156'. + 78 XPC-FLD0389E VALUE 'N'. + 78 XPC-FLD0390B + VALUE '102'. + 78 XPC-FLD0390E VALUE 'N'. + 78 XPC-FLD0391B + VALUE '0373737127'. + 78 XPC-FLD0391E VALUE 'N'. + 78 XPC-FLD0392B + VALUE '46825106292883313'. + 78 XPC-FLD0392E VALUE 'N'. + 78 XPC-FLD0393B + VALUE '9072420163680885991652758093550801'. + 78 XPC-FLD0393E VALUE 'N'. + 78 XPC-FLD0394B + VALUE '47463048104358589r'. + 78 XPC-FLD0394E VALUE 'N'. + 78 XPC-FLD0395B + VALUE '2'. + 78 XPC-FLD0395E VALUE 'N'. + 78 XPC-FLD0396B + VALUE '0265476173063916'. + 78 XPC-FLD0396E VALUE 'N'. + 78 XPC-FLD0397B + VALUE '62'. + 78 XPC-FLD0397E VALUE 'N'. + 78 XPC-FLD0398B + VALUE '284425285r'. + 78 XPC-FLD0398E VALUE 'N'. + 78 XPC-FLD0399B + VALUE '256742307'. + 78 XPC-FLD0399E VALUE 'N'. + 78 XPC-FLD0400B + VALUE '8678350299065256532010165028624'. + 78 XPC-FLD0400E VALUE 'N'. + 78 XPC-FLD0401B + VALUE '9'. + 78 XPC-FLD0401E VALUE 'N'. + 78 XPC-FLD0402B + VALUE '69644052220831165210812585'. + 78 XPC-FLD0402E VALUE 'N'. + 78 XPC-FLD0403B + VALUE '12518106356029089448417234962107613'. + 78 XPC-FLD0403E VALUE 'N'. + 78 XPC-FLD0404B + VALUE '4814436782579247780215241'. + 78 XPC-FLD0404E VALUE 'N'. + 78 XPC-FLD0405B + VALUE '14133'. + 78 XPC-FLD0405E VALUE 'Y'. + 78 XPC-FLD0406B + VALUE '049908285391730064732712435215'. + 78 XPC-FLD0406E VALUE 'N'. + 78 XPC-FLD0407B + VALUE '8753049482988191082826919955550692975'. + 78 XPC-FLD0407E VALUE 'N'. + 78 XPC-FLD0408B + VALUE '2862678320'. + 78 XPC-FLD0408E VALUE 'Y'. + 78 XPC-FLD0409B + VALUE '605266450165216657684'. + 78 XPC-FLD0409E VALUE 'N'. + 78 XPC-FLD0410B + VALUE '8786052888992391829545680593582801521'. + 78 XPC-FLD0410E VALUE 'N'. + 78 XPC-FLD0411B + VALUE '77757784281136710369253250973'. + 78 XPC-FLD0411E VALUE 'Y'. + 78 XPC-FLD0412B + VALUE 'w'. + 78 XPC-FLD0412E VALUE 'N'. + 78 XPC-FLD0413B + VALUE '2'. + 78 XPC-FLD0413E VALUE 'N'. + 78 XPC-FLD0414B + VALUE '9979p'. + 78 XPC-FLD0414E VALUE 'N'. + 78 XPC-FLD0415B + VALUE '9072627958632073487733476063585840'. + 78 XPC-FLD0415E VALUE 'N'. + 78 XPC-FLD0416B + VALUE 'x'. + 78 XPC-FLD0416E VALUE 'N'. + 78 XPC-FLD0417B + VALUE '988613295763541566341103816739632'. + 78 XPC-FLD0417E VALUE 'N'. + 78 XPC-FLD0418B + VALUE '0'. + 78 XPC-FLD0418E VALUE 'N'. + 78 XPC-FLD0419B + VALUE '57648646369329730502'. + 78 XPC-FLD0419E VALUE 'N'. + 78 XPC-FLD0420B + VALUE '9092387304867948216724471421912312'. + 78 XPC-FLD0420E VALUE 'Y'. + 78 XPC-FLD0421B + VALUE '3350912'. + 78 XPC-FLD0421E VALUE 'N'. + 78 XPC-FLD0422B + VALUE '752582761957935941759741251848172397'. + 78 XPC-FLD0422E VALUE 'N'. + 78 XPC-FLD0423B + VALUE '68952728614626146441679566'. + 78 XPC-FLD0423E VALUE 'Y'. + 78 XPC-FLD0424B + VALUE '784268490871190770892359433'. + 78 XPC-FLD0424E VALUE 'N'. + 78 XPC-FLD0425B + VALUE '1105207822256892292772'. + 78 XPC-FLD0425E VALUE 'N'. + 78 XPC-FLD0426B + VALUE '001958844649331492605'. + 78 XPC-FLD0426E VALUE 'N'. + 78 XPC-FLD0427B + VALUE '30767310512910845380824639505'. + 78 XPC-FLD0427E VALUE 'N'. + 78 XPC-FLD0428B + VALUE '3481765503552540774734325168211935223'. + 78 XPC-FLD0428E VALUE 'N'. + 78 XPC-FLD0429B + VALUE '423145136880775'. + 78 XPC-FLD0429E VALUE 'N'. + 78 XPC-FLD0430B + VALUE '3147921208448'. + 78 XPC-FLD0430E VALUE 'N'. + 78 XPC-FLD0431B + VALUE '9203928254587173674039490833820309'. + 78 XPC-FLD0431E VALUE 'N'. + 78 XPC-FLD0432B + VALUE '16165u'. + 78 XPC-FLD0432E VALUE 'Y'. + 78 XPC-FLD0433B + VALUE '2194579'. + 78 XPC-FLD0433E VALUE 'N'. + 78 XPC-FLD0434B + VALUE '60684270265800283242045907172723673'. + 78 XPC-FLD0434E VALUE 'N'. + 78 XPC-FLD0435B + VALUE '5848414431863717140299'. + 78 XPC-FLD0435E VALUE 'N'. + 78 XPC-FLD0436B + VALUE '8307195843004202551185244374210'. + 78 XPC-FLD0436E VALUE 'N'. + 78 XPC-FLD0437B + VALUE '276912651674409371338469'. + 78 XPC-FLD0437E VALUE 'N'. + 78 XPC-FLD0438B + VALUE '874277230957161255453513604152249'. + 78 XPC-FLD0438E VALUE 'Y'. + 78 XPC-FLD0439B + VALUE '057198557021649332012'. + 78 XPC-FLD0439E VALUE 'N'. + 78 XPC-FLD0440B + VALUE '45546922388182033'. + 78 XPC-FLD0440E VALUE 'N'. + 78 XPC-FLD0441B + VALUE '4410365507278116'. + 78 XPC-FLD0441E VALUE 'N'. + 78 XPC-FLD0442B + VALUE '0793246258213504850331787565664854'. + 78 XPC-FLD0442E VALUE 'N'. + 78 XPC-FLD0443B + VALUE '12406922393517515692932'. + 78 XPC-FLD0443E VALUE 'N'. + 78 XPC-FLD0444B + VALUE '5047752750516173348'. + 78 XPC-FLD0444E VALUE 'N'. + 78 XPC-FLD0445B + VALUE '07930125790736931'. + 78 XPC-FLD0445E VALUE 'N'. + 78 XPC-FLD0446B + VALUE '3796915192033033506944203'. + 78 XPC-FLD0446E VALUE 'N'. + 78 XPC-FLD0447B + VALUE '2771730669'. + 78 XPC-FLD0447E VALUE 'N'. + 78 XPC-FLD0448B + VALUE '53731039321367845601'. + 78 XPC-FLD0448E VALUE 'N'. + 78 XPC-FLD0449B + VALUE '50972077894v'. + 78 XPC-FLD0449E VALUE 'N'. + 78 XPC-FLD0450B + VALUE '0282777568876138030162'. + 78 XPC-FLD0450E VALUE 'N'. + 78 XPC-FLD0451B + VALUE '25173904p'. + 78 XPC-FLD0451E VALUE 'N'. + 78 XPC-FLD0452B + VALUE '554961704112127562772'. + 78 XPC-FLD0452E VALUE 'N'. + 78 XPC-FLD0453B + VALUE '967573296701221163829131910461001098'. + 78 XPC-FLD0453E VALUE 'Y'. + 78 XPC-FLD0454B + VALUE '0'. + 78 XPC-FLD0454E VALUE 'N'. + 78 XPC-FLD0455B + VALUE '85105998788168291113720442808698'. + 78 XPC-FLD0455E VALUE 'N'. + 78 XPC-FLD0456B + VALUE '15602'. + 78 XPC-FLD0456E VALUE 'N'. + 78 XPC-FLD0457B + VALUE '3'. + 78 XPC-FLD0457E VALUE 'N'. + 78 XPC-FLD0458B + VALUE '319507534378'. + 78 XPC-FLD0458E VALUE 'N'. + 78 XPC-FLD0459B + VALUE '563566655806151518188'. + 78 XPC-FLD0459E VALUE 'N'. + 78 XPC-FLD0460B + VALUE '78345895335320658858790920930'. + 78 XPC-FLD0460E VALUE 'N'. + 78 XPC-FLD0461B + VALUE '21468392'. + 78 XPC-FLD0461E VALUE 'N'. + 78 XPC-FLD0462B + VALUE '952391194548525610308331579290097579'. + 78 XPC-FLD0462E VALUE 'Y'. + 78 XPC-FLD0463B + VALUE '407334605648695'. + 78 XPC-FLD0463E VALUE 'N'. + 78 XPC-FLD0464B + VALUE '151737088129684206390490880'. + 78 XPC-FLD0464E VALUE 'N'. + 78 XPC-FLD0465B + VALUE '8379371800695708527584315561398'. + 78 XPC-FLD0465E VALUE 'Y'. + 78 XPC-FLD0466B + VALUE '66690'. + 78 XPC-FLD0466E VALUE 'N'. + 78 XPC-FLD0467B + VALUE '221674677715112297171629052172647'. + 78 XPC-FLD0467E VALUE 'N'. + 78 XPC-FLD0468B + VALUE '29592230696'. + 78 XPC-FLD0468E VALUE 'Y'. + 78 XPC-FLD0469B + VALUE '5271081475223874723'. + 78 XPC-FLD0469E VALUE 'N'. + 78 XPC-FLD0470B + VALUE '3831314368698y'. + 78 XPC-FLD0470E VALUE 'N'. + 78 XPC-FLD0471B + VALUE '0'. + 78 XPC-FLD0471E VALUE 'Y'. + 78 XPC-FLD0472B + VALUE '14747530624073358364549755424378'. + 78 XPC-FLD0472E VALUE 'N'. + 78 XPC-FLD0473B + VALUE '44510935327360434676791100'. + 78 XPC-FLD0473E VALUE 'N'. + 78 XPC-FLD0474B + VALUE '13295'. + 78 XPC-FLD0474E VALUE 'Y'. + 78 XPC-FLD0475B + VALUE '008735531657721'. + 78 XPC-FLD0475E VALUE 'N'. + 78 XPC-FLD0476B + VALUE '6726269'. + 78 XPC-FLD0476E VALUE 'N'. + 78 XPC-FLD0477B + VALUE '3061516192904w'. + 78 XPC-FLD0477E VALUE 'N'. + 78 XPC-FLD0478B + VALUE '2732554753852'. + 78 XPC-FLD0478E VALUE 'N'. + 78 XPC-FLD0479B + VALUE '3225777432138897276100778981344'. + 78 XPC-FLD0479E VALUE 'N'. + 78 XPC-FLD0480B + VALUE '7459539941657910502685240317'. + 78 XPC-FLD0480E VALUE 'N'. + 78 XPC-FLD0481B + VALUE '7907459007614364265847939350351225584'. + 78 XPC-FLD0481E VALUE 'N'. + 78 XPC-FLD0482B + VALUE '49929259441115159p'. + 78 XPC-FLD0482E VALUE 'N'. + 78 XPC-FLD0483B + VALUE '323420128144'. + 78 XPC-FLD0483E VALUE 'N'. + 78 XPC-FLD0484B + VALUE '577123861473882282524'. + 78 XPC-FLD0484E VALUE 'N'. + 78 XPC-FLD0485B + VALUE '842609'. + 78 XPC-FLD0485E VALUE 'N'. + 78 XPC-FLD0486B + VALUE '45838007534965959'. + 78 XPC-FLD0486E VALUE 'N'. + 78 XPC-FLD0487B + VALUE '70416419749040885946681100'. + 78 XPC-FLD0487E VALUE 'N'. + 78 XPC-FLD0488B + VALUE '1888589981100687587906874'. + 78 XPC-FLD0488E VALUE 'N'. + 78 XPC-FLD0489B + VALUE '9950567826331271348294649214949458837'. + 78 XPC-FLD0489E VALUE 'Y'. + 78 XPC-FLD0490B + VALUE '2396976320'. + 78 XPC-FLD0490E VALUE 'N'. + 78 XPC-FLD0491B + VALUE '6612864347936019645829430'. + 78 XPC-FLD0491E VALUE 'N'. + 78 XPC-FLD0492B + VALUE '3423161826574'. + 78 XPC-FLD0492E VALUE 'N'. + 78 XPC-FLD0493B + VALUE '790696459278862186593528349476'. + 78 XPC-FLD0493E VALUE 'N'. + 78 XPC-FLD0494B + VALUE '5132995328615615201'. + 78 XPC-FLD0494E VALUE 'N'. + 78 XPC-FLD0495B + VALUE '646882573915106698502768'. + 78 XPC-FLD0495E VALUE 'N'. + 78 XPC-FLD0496B + VALUE '552s'. + 78 XPC-FLD0496E VALUE 'N'. + 78 XPC-FLD0497B + VALUE '6663282286120654558381204'. + 78 XPC-FLD0497E VALUE 'N'. + 78 XPC-FLD0498B + VALUE '1894494'. + 78 XPC-FLD0498E VALUE 'Y'. + 78 XPC-FLD0499B + VALUE '634131216402607308791345'. + 78 XPC-FLD0499E VALUE 'N'. + + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + ADD FLD0001A TO FLD0001B. + SUBTRACT FLD0002A FROM FLD0002B. + ADD FLD0003A TO FLD0003B + ON SIZE ERROR MOVE 'Y' TO FLD0003E. + SUBTRACT FLD0004A FROM FLD0004B. + ADD FLD0005A TO FLD0005B. + SUBTRACT FLD0006A FROM FLD0006B + ON SIZE ERROR MOVE 'Y' TO FLD0006E. + ADD FLD0007A TO FLD0007B. + SUBTRACT FLD0008A FROM FLD0008B. + ADD FLD0009A TO FLD0009B + ON SIZE ERROR MOVE 'Y' TO FLD0009E. + SUBTRACT FLD0010A FROM FLD0010B. + ADD FLD0011A TO FLD0011B. + SUBTRACT FLD0012A FROM FLD0012B + ON SIZE ERROR MOVE 'Y' TO FLD0012E. + ADD FLD0013A TO FLD0013B. + SUBTRACT FLD0014A FROM FLD0014B. + ADD FLD0015A TO FLD0015B + ON SIZE ERROR MOVE 'Y' TO FLD0015E. + SUBTRACT FLD0016A FROM FLD0016B. + ADD FLD0017A TO FLD0017B. + SUBTRACT FLD0018A FROM FLD0018B + ON SIZE ERROR MOVE 'Y' TO FLD0018E. + ADD FLD0019A TO FLD0019B. + SUBTRACT FLD0020A FROM FLD0020B. + ADD FLD0021A TO FLD0021B + ON SIZE ERROR MOVE 'Y' TO FLD0021E. + SUBTRACT FLD0022A FROM FLD0022B. + ADD FLD0023A TO FLD0023B. + SUBTRACT FLD0024A FROM FLD0024B + ON SIZE ERROR MOVE 'Y' TO FLD0024E. + ADD FLD0025A TO FLD0025B. + SUBTRACT FLD0026A FROM FLD0026B. + ADD FLD0027A TO FLD0027B + ON SIZE ERROR MOVE 'Y' TO FLD0027E. + SUBTRACT FLD0028A FROM FLD0028B. + ADD FLD0029A TO FLD0029B. + SUBTRACT FLD0030A FROM FLD0030B + ON SIZE ERROR MOVE 'Y' TO FLD0030E. + ADD FLD0031A TO FLD0031B. + SUBTRACT FLD0032A FROM FLD0032B. + ADD FLD0033A TO FLD0033B + ON SIZE ERROR MOVE 'Y' TO FLD0033E. + SUBTRACT FLD0034A FROM FLD0034B. + ADD FLD0035A TO FLD0035B. + SUBTRACT FLD0036A FROM FLD0036B + ON SIZE ERROR MOVE 'Y' TO FLD0036E. + ADD FLD0037A TO FLD0037B. + SUBTRACT FLD0038A FROM FLD0038B. + ADD FLD0039A TO FLD0039B + ON SIZE ERROR MOVE 'Y' TO FLD0039E. + SUBTRACT FLD0040A FROM FLD0040B. + ADD FLD0041A TO FLD0041B. + SUBTRACT FLD0042A FROM FLD0042B + ON SIZE ERROR MOVE 'Y' TO FLD0042E. + ADD FLD0043A TO FLD0043B. + SUBTRACT FLD0044A FROM FLD0044B. + ADD FLD0045A TO FLD0045B + ON SIZE ERROR MOVE 'Y' TO FLD0045E. + SUBTRACT FLD0046A FROM FLD0046B. + ADD FLD0047A TO FLD0047B. + SUBTRACT FLD0048A FROM FLD0048B + ON SIZE ERROR MOVE 'Y' TO FLD0048E. + ADD FLD0049A TO FLD0049B. + SUBTRACT FLD0050A FROM FLD0050B. + ADD FLD0051A TO FLD0051B + ON SIZE ERROR MOVE 'Y' TO FLD0051E. + SUBTRACT FLD0052A FROM FLD0052B. + ADD FLD0053A TO FLD0053B. + SUBTRACT FLD0054A FROM FLD0054B + ON SIZE ERROR MOVE 'Y' TO FLD0054E. + ADD FLD0055A TO FLD0055B. + SUBTRACT FLD0056A FROM FLD0056B. + ADD FLD0057A TO FLD0057B + ON SIZE ERROR MOVE 'Y' TO FLD0057E. + SUBTRACT FLD0058A FROM FLD0058B. + ADD FLD0059A TO FLD0059B. + SUBTRACT FLD0060A FROM FLD0060B + ON SIZE ERROR MOVE 'Y' TO FLD0060E. + ADD FLD0061A TO FLD0061B. + SUBTRACT FLD0062A FROM FLD0062B. + ADD FLD0063A TO FLD0063B + ON SIZE ERROR MOVE 'Y' TO FLD0063E. + SUBTRACT FLD0064A FROM FLD0064B. + ADD FLD0065A TO FLD0065B. + SUBTRACT FLD0066A FROM FLD0066B + ON SIZE ERROR MOVE 'Y' TO FLD0066E. + ADD FLD0067A TO FLD0067B. + SUBTRACT FLD0068A FROM FLD0068B. + ADD FLD0069A TO FLD0069B + ON SIZE ERROR MOVE 'Y' TO FLD0069E. + SUBTRACT FLD0070A FROM FLD0070B. + ADD FLD0071A TO FLD0071B. + SUBTRACT FLD0072A FROM FLD0072B + ON SIZE ERROR MOVE 'Y' TO FLD0072E. + ADD FLD0073A TO FLD0073B. + SUBTRACT FLD0074A FROM FLD0074B. + ADD FLD0075A TO FLD0075B + ON SIZE ERROR MOVE 'Y' TO FLD0075E. + SUBTRACT FLD0076A FROM FLD0076B. + ADD FLD0077A TO FLD0077B. + SUBTRACT FLD0078A FROM FLD0078B + ON SIZE ERROR MOVE 'Y' TO FLD0078E. + ADD FLD0079A TO FLD0079B. + SUBTRACT FLD0080A FROM FLD0080B. + ADD FLD0081A TO FLD0081B + ON SIZE ERROR MOVE 'Y' TO FLD0081E. + SUBTRACT FLD0082A FROM FLD0082B. + ADD FLD0083A TO FLD0083B. + SUBTRACT FLD0084A FROM FLD0084B + ON SIZE ERROR MOVE 'Y' TO FLD0084E. + ADD FLD0085A TO FLD0085B. + SUBTRACT FLD0086A FROM FLD0086B. + ADD FLD0087A TO FLD0087B + ON SIZE ERROR MOVE 'Y' TO FLD0087E. + SUBTRACT FLD0088A FROM FLD0088B. + ADD FLD0089A TO FLD0089B. + SUBTRACT FLD0090A FROM FLD0090B + ON SIZE ERROR MOVE 'Y' TO FLD0090E. + ADD FLD0091A TO FLD0091B. + SUBTRACT FLD0092A FROM FLD0092B. + ADD FLD0093A TO FLD0093B + ON SIZE ERROR MOVE 'Y' TO FLD0093E. + SUBTRACT FLD0094A FROM FLD0094B. + ADD FLD0095A TO FLD0095B. + SUBTRACT FLD0096A FROM FLD0096B + ON SIZE ERROR MOVE 'Y' TO FLD0096E. + ADD FLD0097A TO FLD0097B. + SUBTRACT FLD0098A FROM FLD0098B. + ADD FLD0099A TO FLD0099B + ON SIZE ERROR MOVE 'Y' TO FLD0099E. + SUBTRACT FLD0100A FROM FLD0100B. + ADD FLD0101A TO FLD0101B. + SUBTRACT FLD0102A FROM FLD0102B + ON SIZE ERROR MOVE 'Y' TO FLD0102E. + ADD FLD0103A TO FLD0103B. + SUBTRACT FLD0104A FROM FLD0104B. + ADD FLD0105A TO FLD0105B + ON SIZE ERROR MOVE 'Y' TO FLD0105E. + SUBTRACT FLD0106A FROM FLD0106B. + ADD FLD0107A TO FLD0107B. + SUBTRACT FLD0108A FROM FLD0108B + ON SIZE ERROR MOVE 'Y' TO FLD0108E. + ADD FLD0109A TO FLD0109B. + SUBTRACT FLD0110A FROM FLD0110B. + ADD FLD0111A TO FLD0111B + ON SIZE ERROR MOVE 'Y' TO FLD0111E. + SUBTRACT FLD0112A FROM FLD0112B. + ADD FLD0113A TO FLD0113B. + SUBTRACT FLD0114A FROM FLD0114B + ON SIZE ERROR MOVE 'Y' TO FLD0114E. + ADD FLD0115A TO FLD0115B. + SUBTRACT FLD0116A FROM FLD0116B. + ADD FLD0117A TO FLD0117B + ON SIZE ERROR MOVE 'Y' TO FLD0117E. + SUBTRACT FLD0118A FROM FLD0118B. + ADD FLD0119A TO FLD0119B. + SUBTRACT FLD0120A FROM FLD0120B + ON SIZE ERROR MOVE 'Y' TO FLD0120E. + ADD FLD0121A TO FLD0121B. + SUBTRACT FLD0122A FROM FLD0122B. + ADD FLD0123A TO FLD0123B + ON SIZE ERROR MOVE 'Y' TO FLD0123E. + SUBTRACT FLD0124A FROM FLD0124B. + ADD FLD0125A TO FLD0125B. + SUBTRACT FLD0126A FROM FLD0126B + ON SIZE ERROR MOVE 'Y' TO FLD0126E. + ADD FLD0127A TO FLD0127B. + SUBTRACT FLD0128A FROM FLD0128B. + ADD FLD0129A TO FLD0129B + ON SIZE ERROR MOVE 'Y' TO FLD0129E. + SUBTRACT FLD0130A FROM FLD0130B. + ADD FLD0131A TO FLD0131B. + SUBTRACT FLD0132A FROM FLD0132B + ON SIZE ERROR MOVE 'Y' TO FLD0132E. + ADD FLD0133A TO FLD0133B. + SUBTRACT FLD0134A FROM FLD0134B. + ADD FLD0135A TO FLD0135B + ON SIZE ERROR MOVE 'Y' TO FLD0135E. + SUBTRACT FLD0136A FROM FLD0136B. + ADD FLD0137A TO FLD0137B. + SUBTRACT FLD0138A FROM FLD0138B + ON SIZE ERROR MOVE 'Y' TO FLD0138E. + ADD FLD0139A TO FLD0139B. + SUBTRACT FLD0140A FROM FLD0140B. + ADD FLD0141A TO FLD0141B + ON SIZE ERROR MOVE 'Y' TO FLD0141E. + SUBTRACT FLD0142A FROM FLD0142B. + ADD FLD0143A TO FLD0143B. + SUBTRACT FLD0144A FROM FLD0144B + ON SIZE ERROR MOVE 'Y' TO FLD0144E. + ADD FLD0145A TO FLD0145B. + SUBTRACT FLD0146A FROM FLD0146B. + ADD FLD0147A TO FLD0147B + ON SIZE ERROR MOVE 'Y' TO FLD0147E. + SUBTRACT FLD0148A FROM FLD0148B. + ADD FLD0149A TO FLD0149B. + SUBTRACT FLD0150A FROM FLD0150B + ON SIZE ERROR MOVE 'Y' TO FLD0150E. + ADD FLD0151A TO FLD0151B. + SUBTRACT FLD0152A FROM FLD0152B. + ADD FLD0153A TO FLD0153B + ON SIZE ERROR MOVE 'Y' TO FLD0153E. + SUBTRACT FLD0154A FROM FLD0154B. + ADD FLD0155A TO FLD0155B. + SUBTRACT FLD0156A FROM FLD0156B + ON SIZE ERROR MOVE 'Y' TO FLD0156E. + ADD FLD0157A TO FLD0157B. + SUBTRACT FLD0158A FROM FLD0158B. + ADD FLD0159A TO FLD0159B + ON SIZE ERROR MOVE 'Y' TO FLD0159E. + SUBTRACT FLD0160A FROM FLD0160B. + ADD FLD0161A TO FLD0161B. + SUBTRACT FLD0162A FROM FLD0162B + ON SIZE ERROR MOVE 'Y' TO FLD0162E. + ADD FLD0163A TO FLD0163B. + SUBTRACT FLD0164A FROM FLD0164B. + ADD FLD0165A TO FLD0165B + ON SIZE ERROR MOVE 'Y' TO FLD0165E. + SUBTRACT FLD0166A FROM FLD0166B. + ADD FLD0167A TO FLD0167B. + SUBTRACT FLD0168A FROM FLD0168B + ON SIZE ERROR MOVE 'Y' TO FLD0168E. + ADD FLD0169A TO FLD0169B. + SUBTRACT FLD0170A FROM FLD0170B. + ADD FLD0171A TO FLD0171B + ON SIZE ERROR MOVE 'Y' TO FLD0171E. + SUBTRACT FLD0172A FROM FLD0172B. + ADD FLD0173A TO FLD0173B. + SUBTRACT FLD0174A FROM FLD0174B + ON SIZE ERROR MOVE 'Y' TO FLD0174E. + ADD FLD0175A TO FLD0175B. + SUBTRACT FLD0176A FROM FLD0176B. + ADD FLD0177A TO FLD0177B + ON SIZE ERROR MOVE 'Y' TO FLD0177E. + SUBTRACT FLD0178A FROM FLD0178B. + ADD FLD0179A TO FLD0179B. + SUBTRACT FLD0180A FROM FLD0180B + ON SIZE ERROR MOVE 'Y' TO FLD0180E. + ADD FLD0181A TO FLD0181B. + SUBTRACT FLD0182A FROM FLD0182B. + ADD FLD0183A TO FLD0183B + ON SIZE ERROR MOVE 'Y' TO FLD0183E. + SUBTRACT FLD0184A FROM FLD0184B. + ADD FLD0185A TO FLD0185B. + SUBTRACT FLD0186A FROM FLD0186B + ON SIZE ERROR MOVE 'Y' TO FLD0186E. + ADD FLD0187A TO FLD0187B. + SUBTRACT FLD0188A FROM FLD0188B. + ADD FLD0189A TO FLD0189B + ON SIZE ERROR MOVE 'Y' TO FLD0189E. + SUBTRACT FLD0190A FROM FLD0190B. + ADD FLD0191A TO FLD0191B. + SUBTRACT FLD0192A FROM FLD0192B + ON SIZE ERROR MOVE 'Y' TO FLD0192E. + ADD FLD0193A TO FLD0193B. + SUBTRACT FLD0194A FROM FLD0194B. + ADD FLD0195A TO FLD0195B + ON SIZE ERROR MOVE 'Y' TO FLD0195E. + SUBTRACT FLD0196A FROM FLD0196B. + ADD FLD0197A TO FLD0197B. + SUBTRACT FLD0198A FROM FLD0198B + ON SIZE ERROR MOVE 'Y' TO FLD0198E. + ADD FLD0199A TO FLD0199B. + SUBTRACT FLD0200A FROM FLD0200B. + ADD FLD0201A TO FLD0201B + ON SIZE ERROR MOVE 'Y' TO FLD0201E. + SUBTRACT FLD0202A FROM FLD0202B. + ADD FLD0203A TO FLD0203B. + SUBTRACT FLD0204A FROM FLD0204B + ON SIZE ERROR MOVE 'Y' TO FLD0204E. + ADD FLD0205A TO FLD0205B. + SUBTRACT FLD0206A FROM FLD0206B. + ADD FLD0207A TO FLD0207B + ON SIZE ERROR MOVE 'Y' TO FLD0207E. + SUBTRACT FLD0208A FROM FLD0208B. + ADD FLD0209A TO FLD0209B. + SUBTRACT FLD0210A FROM FLD0210B + ON SIZE ERROR MOVE 'Y' TO FLD0210E. + ADD FLD0211A TO FLD0211B. + SUBTRACT FLD0212A FROM FLD0212B. + ADD FLD0213A TO FLD0213B + ON SIZE ERROR MOVE 'Y' TO FLD0213E. + SUBTRACT FLD0214A FROM FLD0214B. + ADD FLD0215A TO FLD0215B. + SUBTRACT FLD0216A FROM FLD0216B + ON SIZE ERROR MOVE 'Y' TO FLD0216E. + ADD FLD0217A TO FLD0217B. + SUBTRACT FLD0218A FROM FLD0218B. + ADD FLD0219A TO FLD0219B + ON SIZE ERROR MOVE 'Y' TO FLD0219E. + SUBTRACT FLD0220A FROM FLD0220B. + ADD FLD0221A TO FLD0221B. + SUBTRACT FLD0222A FROM FLD0222B + ON SIZE ERROR MOVE 'Y' TO FLD0222E. + ADD FLD0223A TO FLD0223B. + SUBTRACT FLD0224A FROM FLD0224B. + ADD FLD0225A TO FLD0225B + ON SIZE ERROR MOVE 'Y' TO FLD0225E. + SUBTRACT FLD0226A FROM FLD0226B. + ADD FLD0227A TO FLD0227B. + SUBTRACT FLD0228A FROM FLD0228B + ON SIZE ERROR MOVE 'Y' TO FLD0228E. + ADD FLD0229A TO FLD0229B. + SUBTRACT FLD0230A FROM FLD0230B. + ADD FLD0231A TO FLD0231B + ON SIZE ERROR MOVE 'Y' TO FLD0231E. + SUBTRACT FLD0232A FROM FLD0232B. + ADD FLD0233A TO FLD0233B. + SUBTRACT FLD0234A FROM FLD0234B + ON SIZE ERROR MOVE 'Y' TO FLD0234E. + ADD FLD0235A TO FLD0235B. + SUBTRACT FLD0236A FROM FLD0236B. + ADD FLD0237A TO FLD0237B + ON SIZE ERROR MOVE 'Y' TO FLD0237E. + SUBTRACT FLD0238A FROM FLD0238B. + ADD FLD0239A TO FLD0239B. + SUBTRACT FLD0240A FROM FLD0240B + ON SIZE ERROR MOVE 'Y' TO FLD0240E. + ADD FLD0241A TO FLD0241B. + SUBTRACT FLD0242A FROM FLD0242B. + ADD FLD0243A TO FLD0243B + ON SIZE ERROR MOVE 'Y' TO FLD0243E. + SUBTRACT FLD0244A FROM FLD0244B. + ADD FLD0245A TO FLD0245B. + SUBTRACT FLD0246A FROM FLD0246B + ON SIZE ERROR MOVE 'Y' TO FLD0246E. + ADD FLD0247A TO FLD0247B. + SUBTRACT FLD0248A FROM FLD0248B. + ADD FLD0249A TO FLD0249B + ON SIZE ERROR MOVE 'Y' TO FLD0249E. + SUBTRACT FLD0250A FROM FLD0250B. + ADD FLD0251A TO FLD0251B. + SUBTRACT FLD0252A FROM FLD0252B + ON SIZE ERROR MOVE 'Y' TO FLD0252E. + ADD FLD0253A TO FLD0253B. + SUBTRACT FLD0254A FROM FLD0254B. + ADD FLD0255A TO FLD0255B + ON SIZE ERROR MOVE 'Y' TO FLD0255E. + SUBTRACT FLD0256A FROM FLD0256B. + ADD FLD0257A TO FLD0257B. + SUBTRACT FLD0258A FROM FLD0258B + ON SIZE ERROR MOVE 'Y' TO FLD0258E. + ADD FLD0259A TO FLD0259B. + SUBTRACT FLD0260A FROM FLD0260B. + ADD FLD0261A TO FLD0261B + ON SIZE ERROR MOVE 'Y' TO FLD0261E. + SUBTRACT FLD0262A FROM FLD0262B. + ADD FLD0263A TO FLD0263B. + SUBTRACT FLD0264A FROM FLD0264B + ON SIZE ERROR MOVE 'Y' TO FLD0264E. + ADD FLD0265A TO FLD0265B. + SUBTRACT FLD0266A FROM FLD0266B. + ADD FLD0267A TO FLD0267B + ON SIZE ERROR MOVE 'Y' TO FLD0267E. + SUBTRACT FLD0268A FROM FLD0268B. + ADD FLD0269A TO FLD0269B. + SUBTRACT FLD0270A FROM FLD0270B + ON SIZE ERROR MOVE 'Y' TO FLD0270E. + ADD FLD0271A TO FLD0271B. + SUBTRACT FLD0272A FROM FLD0272B. + ADD FLD0273A TO FLD0273B + ON SIZE ERROR MOVE 'Y' TO FLD0273E. + SUBTRACT FLD0274A FROM FLD0274B. + ADD FLD0275A TO FLD0275B. + SUBTRACT FLD0276A FROM FLD0276B + ON SIZE ERROR MOVE 'Y' TO FLD0276E. + ADD FLD0277A TO FLD0277B. + SUBTRACT FLD0278A FROM FLD0278B. + ADD FLD0279A TO FLD0279B + ON SIZE ERROR MOVE 'Y' TO FLD0279E. + SUBTRACT FLD0280A FROM FLD0280B. + ADD FLD0281A TO FLD0281B. + SUBTRACT FLD0282A FROM FLD0282B + ON SIZE ERROR MOVE 'Y' TO FLD0282E. + ADD FLD0283A TO FLD0283B. + SUBTRACT FLD0284A FROM FLD0284B. + ADD FLD0285A TO FLD0285B + ON SIZE ERROR MOVE 'Y' TO FLD0285E. + SUBTRACT FLD0286A FROM FLD0286B. + ADD FLD0287A TO FLD0287B. + SUBTRACT FLD0288A FROM FLD0288B + ON SIZE ERROR MOVE 'Y' TO FLD0288E. + ADD FLD0289A TO FLD0289B. + SUBTRACT FLD0290A FROM FLD0290B. + ADD FLD0291A TO FLD0291B + ON SIZE ERROR MOVE 'Y' TO FLD0291E. + SUBTRACT FLD0292A FROM FLD0292B. + ADD FLD0293A TO FLD0293B. + SUBTRACT FLD0294A FROM FLD0294B + ON SIZE ERROR MOVE 'Y' TO FLD0294E. + ADD FLD0295A TO FLD0295B. + SUBTRACT FLD0296A FROM FLD0296B. + ADD FLD0297A TO FLD0297B + ON SIZE ERROR MOVE 'Y' TO FLD0297E. + SUBTRACT FLD0298A FROM FLD0298B. + ADD FLD0299A TO FLD0299B. + SUBTRACT FLD0300A FROM FLD0300B + ON SIZE ERROR MOVE 'Y' TO FLD0300E. + ADD FLD0301A TO FLD0301B. + SUBTRACT FLD0302A FROM FLD0302B. + ADD FLD0303A TO FLD0303B + ON SIZE ERROR MOVE 'Y' TO FLD0303E. + SUBTRACT FLD0304A FROM FLD0304B. + ADD FLD0305A TO FLD0305B. + SUBTRACT FLD0306A FROM FLD0306B + ON SIZE ERROR MOVE 'Y' TO FLD0306E. + ADD FLD0307A TO FLD0307B. + SUBTRACT FLD0308A FROM FLD0308B. + ADD FLD0309A TO FLD0309B + ON SIZE ERROR MOVE 'Y' TO FLD0309E. + SUBTRACT FLD0310A FROM FLD0310B. + ADD FLD0311A TO FLD0311B. + SUBTRACT FLD0312A FROM FLD0312B + ON SIZE ERROR MOVE 'Y' TO FLD0312E. + ADD FLD0313A TO FLD0313B. + SUBTRACT FLD0314A FROM FLD0314B. + ADD FLD0315A TO FLD0315B + ON SIZE ERROR MOVE 'Y' TO FLD0315E. + SUBTRACT FLD0316A FROM FLD0316B. + ADD FLD0317A TO FLD0317B. + SUBTRACT FLD0318A FROM FLD0318B + ON SIZE ERROR MOVE 'Y' TO FLD0318E. + ADD FLD0319A TO FLD0319B. + SUBTRACT FLD0320A FROM FLD0320B. + ADD FLD0321A TO FLD0321B + ON SIZE ERROR MOVE 'Y' TO FLD0321E. + SUBTRACT FLD0322A FROM FLD0322B. + ADD FLD0323A TO FLD0323B. + SUBTRACT FLD0324A FROM FLD0324B + ON SIZE ERROR MOVE 'Y' TO FLD0324E. + ADD FLD0325A TO FLD0325B. + SUBTRACT FLD0326A FROM FLD0326B. + ADD FLD0327A TO FLD0327B + ON SIZE ERROR MOVE 'Y' TO FLD0327E. + SUBTRACT FLD0328A FROM FLD0328B. + ADD FLD0329A TO FLD0329B. + SUBTRACT FLD0330A FROM FLD0330B + ON SIZE ERROR MOVE 'Y' TO FLD0330E. + ADD FLD0331A TO FLD0331B. + SUBTRACT FLD0332A FROM FLD0332B. + ADD FLD0333A TO FLD0333B + ON SIZE ERROR MOVE 'Y' TO FLD0333E. + SUBTRACT FLD0334A FROM FLD0334B. + ADD FLD0335A TO FLD0335B. + SUBTRACT FLD0336A FROM FLD0336B + ON SIZE ERROR MOVE 'Y' TO FLD0336E. + ADD FLD0337A TO FLD0337B. + SUBTRACT FLD0338A FROM FLD0338B. + ADD FLD0339A TO FLD0339B + ON SIZE ERROR MOVE 'Y' TO FLD0339E. + SUBTRACT FLD0340A FROM FLD0340B. + ADD FLD0341A TO FLD0341B. + SUBTRACT FLD0342A FROM FLD0342B + ON SIZE ERROR MOVE 'Y' TO FLD0342E. + ADD FLD0343A TO FLD0343B. + SUBTRACT FLD0344A FROM FLD0344B. + ADD FLD0345A TO FLD0345B + ON SIZE ERROR MOVE 'Y' TO FLD0345E. + SUBTRACT FLD0346A FROM FLD0346B. + ADD FLD0347A TO FLD0347B. + SUBTRACT FLD0348A FROM FLD0348B + ON SIZE ERROR MOVE 'Y' TO FLD0348E. + ADD FLD0349A TO FLD0349B. + SUBTRACT FLD0350A FROM FLD0350B. + ADD FLD0351A TO FLD0351B + ON SIZE ERROR MOVE 'Y' TO FLD0351E. + SUBTRACT FLD0352A FROM FLD0352B. + ADD FLD0353A TO FLD0353B. + SUBTRACT FLD0354A FROM FLD0354B + ON SIZE ERROR MOVE 'Y' TO FLD0354E. + ADD FLD0355A TO FLD0355B. + SUBTRACT FLD0356A FROM FLD0356B. + ADD FLD0357A TO FLD0357B + ON SIZE ERROR MOVE 'Y' TO FLD0357E. + SUBTRACT FLD0358A FROM FLD0358B. + ADD FLD0359A TO FLD0359B. + SUBTRACT FLD0360A FROM FLD0360B + ON SIZE ERROR MOVE 'Y' TO FLD0360E. + ADD FLD0361A TO FLD0361B. + SUBTRACT FLD0362A FROM FLD0362B. + ADD FLD0363A TO FLD0363B + ON SIZE ERROR MOVE 'Y' TO FLD0363E. + SUBTRACT FLD0364A FROM FLD0364B. + ADD FLD0365A TO FLD0365B. + SUBTRACT FLD0366A FROM FLD0366B + ON SIZE ERROR MOVE 'Y' TO FLD0366E. + ADD FLD0367A TO FLD0367B. + SUBTRACT FLD0368A FROM FLD0368B. + ADD FLD0369A TO FLD0369B + ON SIZE ERROR MOVE 'Y' TO FLD0369E. + SUBTRACT FLD0370A FROM FLD0370B. + ADD FLD0371A TO FLD0371B. + SUBTRACT FLD0372A FROM FLD0372B + ON SIZE ERROR MOVE 'Y' TO FLD0372E. + ADD FLD0373A TO FLD0373B. + SUBTRACT FLD0374A FROM FLD0374B. + ADD FLD0375A TO FLD0375B + ON SIZE ERROR MOVE 'Y' TO FLD0375E. + SUBTRACT FLD0376A FROM FLD0376B. + ADD FLD0377A TO FLD0377B. + SUBTRACT FLD0378A FROM FLD0378B + ON SIZE ERROR MOVE 'Y' TO FLD0378E. + ADD FLD0379A TO FLD0379B. + SUBTRACT FLD0380A FROM FLD0380B. + ADD FLD0381A TO FLD0381B + ON SIZE ERROR MOVE 'Y' TO FLD0381E. + SUBTRACT FLD0382A FROM FLD0382B. + ADD FLD0383A TO FLD0383B. + SUBTRACT FLD0384A FROM FLD0384B + ON SIZE ERROR MOVE 'Y' TO FLD0384E. + ADD FLD0385A TO FLD0385B. + SUBTRACT FLD0386A FROM FLD0386B. + ADD FLD0387A TO FLD0387B + ON SIZE ERROR MOVE 'Y' TO FLD0387E. + SUBTRACT FLD0388A FROM FLD0388B. + ADD FLD0389A TO FLD0389B. + SUBTRACT FLD0390A FROM FLD0390B + ON SIZE ERROR MOVE 'Y' TO FLD0390E. + ADD FLD0391A TO FLD0391B. + SUBTRACT FLD0392A FROM FLD0392B. + ADD FLD0393A TO FLD0393B + ON SIZE ERROR MOVE 'Y' TO FLD0393E. + SUBTRACT FLD0394A FROM FLD0394B. + ADD FLD0395A TO FLD0395B. + SUBTRACT FLD0396A FROM FLD0396B + ON SIZE ERROR MOVE 'Y' TO FLD0396E. + ADD FLD0397A TO FLD0397B. + SUBTRACT FLD0398A FROM FLD0398B. + ADD FLD0399A TO FLD0399B + ON SIZE ERROR MOVE 'Y' TO FLD0399E. + SUBTRACT FLD0400A FROM FLD0400B. + ADD FLD0401A TO FLD0401B. + SUBTRACT FLD0402A FROM FLD0402B + ON SIZE ERROR MOVE 'Y' TO FLD0402E. + ADD FLD0403A TO FLD0403B. + SUBTRACT FLD0404A FROM FLD0404B. + ADD FLD0405A TO FLD0405B + ON SIZE ERROR MOVE 'Y' TO FLD0405E. + SUBTRACT FLD0406A FROM FLD0406B. + ADD FLD0407A TO FLD0407B. + SUBTRACT FLD0408A FROM FLD0408B + ON SIZE ERROR MOVE 'Y' TO FLD0408E. + ADD FLD0409A TO FLD0409B. + SUBTRACT FLD0410A FROM FLD0410B. + ADD FLD0411A TO FLD0411B + ON SIZE ERROR MOVE 'Y' TO FLD0411E. + SUBTRACT FLD0412A FROM FLD0412B. + ADD FLD0413A TO FLD0413B. + SUBTRACT FLD0414A FROM FLD0414B + ON SIZE ERROR MOVE 'Y' TO FLD0414E. + ADD FLD0415A TO FLD0415B. + SUBTRACT FLD0416A FROM FLD0416B. + ADD FLD0417A TO FLD0417B + ON SIZE ERROR MOVE 'Y' TO FLD0417E. + SUBTRACT FLD0418A FROM FLD0418B. + ADD FLD0419A TO FLD0419B. + SUBTRACT FLD0420A FROM FLD0420B + ON SIZE ERROR MOVE 'Y' TO FLD0420E. + ADD FLD0421A TO FLD0421B. + SUBTRACT FLD0422A FROM FLD0422B. + ADD FLD0423A TO FLD0423B + ON SIZE ERROR MOVE 'Y' TO FLD0423E. + SUBTRACT FLD0424A FROM FLD0424B. + ADD FLD0425A TO FLD0425B. + SUBTRACT FLD0426A FROM FLD0426B + ON SIZE ERROR MOVE 'Y' TO FLD0426E. + ADD FLD0427A TO FLD0427B. + SUBTRACT FLD0428A FROM FLD0428B. + ADD FLD0429A TO FLD0429B + ON SIZE ERROR MOVE 'Y' TO FLD0429E. + SUBTRACT FLD0430A FROM FLD0430B. + ADD FLD0431A TO FLD0431B. + SUBTRACT FLD0432A FROM FLD0432B + ON SIZE ERROR MOVE 'Y' TO FLD0432E. + ADD FLD0433A TO FLD0433B. + SUBTRACT FLD0434A FROM FLD0434B. + ADD FLD0435A TO FLD0435B + ON SIZE ERROR MOVE 'Y' TO FLD0435E. + SUBTRACT FLD0436A FROM FLD0436B. + ADD FLD0437A TO FLD0437B. + SUBTRACT FLD0438A FROM FLD0438B + ON SIZE ERROR MOVE 'Y' TO FLD0438E. + ADD FLD0439A TO FLD0439B. + SUBTRACT FLD0440A FROM FLD0440B. + ADD FLD0441A TO FLD0441B + ON SIZE ERROR MOVE 'Y' TO FLD0441E. + SUBTRACT FLD0442A FROM FLD0442B. + ADD FLD0443A TO FLD0443B. + SUBTRACT FLD0444A FROM FLD0444B + ON SIZE ERROR MOVE 'Y' TO FLD0444E. + ADD FLD0445A TO FLD0445B. + SUBTRACT FLD0446A FROM FLD0446B. + ADD FLD0447A TO FLD0447B + ON SIZE ERROR MOVE 'Y' TO FLD0447E. + SUBTRACT FLD0448A FROM FLD0448B. + ADD FLD0449A TO FLD0449B. + SUBTRACT FLD0450A FROM FLD0450B + ON SIZE ERROR MOVE 'Y' TO FLD0450E. + ADD FLD0451A TO FLD0451B. + SUBTRACT FLD0452A FROM FLD0452B. + ADD FLD0453A TO FLD0453B + ON SIZE ERROR MOVE 'Y' TO FLD0453E. + SUBTRACT FLD0454A FROM FLD0454B. + ADD FLD0455A TO FLD0455B. + SUBTRACT FLD0456A FROM FLD0456B + ON SIZE ERROR MOVE 'Y' TO FLD0456E. + ADD FLD0457A TO FLD0457B. + SUBTRACT FLD0458A FROM FLD0458B. + ADD FLD0459A TO FLD0459B + ON SIZE ERROR MOVE 'Y' TO FLD0459E. + SUBTRACT FLD0460A FROM FLD0460B. + ADD FLD0461A TO FLD0461B. + SUBTRACT FLD0462A FROM FLD0462B + ON SIZE ERROR MOVE 'Y' TO FLD0462E. + ADD FLD0463A TO FLD0463B. + SUBTRACT FLD0464A FROM FLD0464B. + ADD FLD0465A TO FLD0465B + ON SIZE ERROR MOVE 'Y' TO FLD0465E. + SUBTRACT FLD0466A FROM FLD0466B. + ADD FLD0467A TO FLD0467B. + SUBTRACT FLD0468A FROM FLD0468B + ON SIZE ERROR MOVE 'Y' TO FLD0468E. + ADD FLD0469A TO FLD0469B. + SUBTRACT FLD0470A FROM FLD0470B. + ADD FLD0471A TO FLD0471B + ON SIZE ERROR MOVE 'Y' TO FLD0471E. + SUBTRACT FLD0472A FROM FLD0472B. + ADD FLD0473A TO FLD0473B. + SUBTRACT FLD0474A FROM FLD0474B + ON SIZE ERROR MOVE 'Y' TO FLD0474E. + ADD FLD0475A TO FLD0475B. + SUBTRACT FLD0476A FROM FLD0476B. + ADD FLD0477A TO FLD0477B + ON SIZE ERROR MOVE 'Y' TO FLD0477E. + SUBTRACT FLD0478A FROM FLD0478B. + ADD FLD0479A TO FLD0479B. + SUBTRACT FLD0480A FROM FLD0480B + ON SIZE ERROR MOVE 'Y' TO FLD0480E. + ADD FLD0481A TO FLD0481B. + SUBTRACT FLD0482A FROM FLD0482B. + ADD FLD0483A TO FLD0483B + ON SIZE ERROR MOVE 'Y' TO FLD0483E. + SUBTRACT FLD0484A FROM FLD0484B. + ADD FLD0485A TO FLD0485B. + SUBTRACT FLD0486A FROM FLD0486B + ON SIZE ERROR MOVE 'Y' TO FLD0486E. + ADD FLD0487A TO FLD0487B. + SUBTRACT FLD0488A FROM FLD0488B. + ADD FLD0489A TO FLD0489B + ON SIZE ERROR MOVE 'Y' TO FLD0489E. + SUBTRACT FLD0490A FROM FLD0490B. + ADD FLD0491A TO FLD0491B. + SUBTRACT FLD0492A FROM FLD0492B + ON SIZE ERROR MOVE 'Y' TO FLD0492E. + ADD FLD0493A TO FLD0493B. + SUBTRACT FLD0494A FROM FLD0494B. + ADD FLD0495A TO FLD0495B + ON SIZE ERROR MOVE 'Y' TO FLD0495E. + SUBTRACT FLD0496A FROM FLD0496B. + ADD FLD0497A TO FLD0497B. + SUBTRACT FLD0498A FROM FLD0498B + ON SIZE ERROR MOVE 'Y' TO FLD0498E. + ADD FLD0499A TO FLD0499B. + + *4000-COMPARE. + + IF FLD0001B (1:) NOT EQUAL XPC-FLD0001B + DISPLAY 'FLD0001B ==> ' FLD0001B + DISPLAY 'EXPECTED ==> ' XPC-FLD0001B. + IF FLD0001E NOT EQUAL XPC-FLD0001E + DISPLAY 'FLD0001E ==> ' FLD0001E + DISPLAY 'EXPECTED ==> ' XPC-FLD0001E. + IF FLD0002B (1:) NOT EQUAL XPC-FLD0002B + DISPLAY 'FLD0002B ==> ' FLD0002B + DISPLAY 'EXPECTED ==> ' XPC-FLD0002B. + IF FLD0002E NOT EQUAL XPC-FLD0002E + DISPLAY 'FLD0002E ==> ' FLD0002E + DISPLAY 'EXPECTED ==> ' XPC-FLD0002E. + IF FLD0003B (1:) NOT EQUAL XPC-FLD0003B + DISPLAY 'FLD0003B ==> ' FLD0003B + DISPLAY 'EXPECTED ==> ' XPC-FLD0003B. + IF FLD0003E NOT EQUAL XPC-FLD0003E + DISPLAY 'FLD0003E ==> ' FLD0003E + DISPLAY 'EXPECTED ==> ' XPC-FLD0003E. + IF FLD0004B (1:) NOT EQUAL XPC-FLD0004B + DISPLAY 'FLD0004B ==> ' FLD0004B + DISPLAY 'EXPECTED ==> ' XPC-FLD0004B. + IF FLD0004E NOT EQUAL XPC-FLD0004E + DISPLAY 'FLD0004E ==> ' FLD0004E + DISPLAY 'EXPECTED ==> ' XPC-FLD0004E. + IF FLD0005B (1:) NOT EQUAL XPC-FLD0005B + DISPLAY 'FLD0005B ==> ' FLD0005B + DISPLAY 'EXPECTED ==> ' XPC-FLD0005B. + IF FLD0005E NOT EQUAL XPC-FLD0005E + DISPLAY 'FLD0005E ==> ' FLD0005E + DISPLAY 'EXPECTED ==> ' XPC-FLD0005E. + IF FLD0006B (1:) NOT EQUAL XPC-FLD0006B + DISPLAY 'FLD0006B ==> ' FLD0006B + DISPLAY 'EXPECTED ==> ' XPC-FLD0006B. + IF FLD0006E NOT EQUAL XPC-FLD0006E + DISPLAY 'FLD0006E ==> ' FLD0006E + DISPLAY 'EXPECTED ==> ' XPC-FLD0006E. + IF FLD0007B (1:) NOT EQUAL XPC-FLD0007B + DISPLAY 'FLD0007B ==> ' FLD0007B + DISPLAY 'EXPECTED ==> ' XPC-FLD0007B. + IF FLD0007E NOT EQUAL XPC-FLD0007E + DISPLAY 'FLD0007E ==> ' FLD0007E + DISPLAY 'EXPECTED ==> ' XPC-FLD0007E. + IF FLD0008B (1:) NOT EQUAL XPC-FLD0008B + DISPLAY 'FLD0008B ==> ' FLD0008B + DISPLAY 'EXPECTED ==> ' XPC-FLD0008B. + IF FLD0008E NOT EQUAL XPC-FLD0008E + DISPLAY 'FLD0008E ==> ' FLD0008E + DISPLAY 'EXPECTED ==> ' XPC-FLD0008E. + IF FLD0009B (1:) NOT EQUAL XPC-FLD0009B + DISPLAY 'FLD0009B ==> ' FLD0009B + DISPLAY 'EXPECTED ==> ' XPC-FLD0009B. + IF FLD0009E NOT EQUAL XPC-FLD0009E + DISPLAY 'FLD0009E ==> ' FLD0009E + DISPLAY 'EXPECTED ==> ' XPC-FLD0009E. + IF FLD0010B (1:) NOT EQUAL XPC-FLD0010B + DISPLAY 'FLD0010B ==> ' FLD0010B + DISPLAY 'EXPECTED ==> ' XPC-FLD0010B. + IF FLD0010E NOT EQUAL XPC-FLD0010E + DISPLAY 'FLD0010E ==> ' FLD0010E + DISPLAY 'EXPECTED ==> ' XPC-FLD0010E. + IF FLD0011B (1:) NOT EQUAL XPC-FLD0011B + DISPLAY 'FLD0011B ==> ' FLD0011B + DISPLAY 'EXPECTED ==> ' XPC-FLD0011B. + IF FLD0011E NOT EQUAL XPC-FLD0011E + DISPLAY 'FLD0011E ==> ' FLD0011E + DISPLAY 'EXPECTED ==> ' XPC-FLD0011E. + IF FLD0012B (1:) NOT EQUAL XPC-FLD0012B + DISPLAY 'FLD0012B ==> ' FLD0012B + DISPLAY 'EXPECTED ==> ' XPC-FLD0012B. + IF FLD0012E NOT EQUAL XPC-FLD0012E + DISPLAY 'FLD0012E ==> ' FLD0012E + DISPLAY 'EXPECTED ==> ' XPC-FLD0012E. + IF FLD0013B (1:) NOT EQUAL XPC-FLD0013B + DISPLAY 'FLD0013B ==> ' FLD0013B + DISPLAY 'EXPECTED ==> ' XPC-FLD0013B. + IF FLD0013E NOT EQUAL XPC-FLD0013E + DISPLAY 'FLD0013E ==> ' FLD0013E + DISPLAY 'EXPECTED ==> ' XPC-FLD0013E. + IF FLD0014B (1:) NOT EQUAL XPC-FLD0014B + DISPLAY 'FLD0014B ==> ' FLD0014B + DISPLAY 'EXPECTED ==> ' XPC-FLD0014B. + IF FLD0014E NOT EQUAL XPC-FLD0014E + DISPLAY 'FLD0014E ==> ' FLD0014E + DISPLAY 'EXPECTED ==> ' XPC-FLD0014E. + IF FLD0015B (1:) NOT EQUAL XPC-FLD0015B + DISPLAY 'FLD0015B ==> ' FLD0015B + DISPLAY 'EXPECTED ==> ' XPC-FLD0015B. + IF FLD0015E NOT EQUAL XPC-FLD0015E + DISPLAY 'FLD0015E ==> ' FLD0015E + DISPLAY 'EXPECTED ==> ' XPC-FLD0015E. + IF FLD0016B (1:) NOT EQUAL XPC-FLD0016B + DISPLAY 'FLD0016B ==> ' FLD0016B + DISPLAY 'EXPECTED ==> ' XPC-FLD0016B. + IF FLD0016E NOT EQUAL XPC-FLD0016E + DISPLAY 'FLD0016E ==> ' FLD0016E + DISPLAY 'EXPECTED ==> ' XPC-FLD0016E. + IF FLD0017B (1:) NOT EQUAL XPC-FLD0017B + DISPLAY 'FLD0017B ==> ' FLD0017B + DISPLAY 'EXPECTED ==> ' XPC-FLD0017B. + IF FLD0017E NOT EQUAL XPC-FLD0017E + DISPLAY 'FLD0017E ==> ' FLD0017E + DISPLAY 'EXPECTED ==> ' XPC-FLD0017E. + IF FLD0018B (1:) NOT EQUAL XPC-FLD0018B + DISPLAY 'FLD0018B ==> ' FLD0018B + DISPLAY 'EXPECTED ==> ' XPC-FLD0018B. + IF FLD0018E NOT EQUAL XPC-FLD0018E + DISPLAY 'FLD0018E ==> ' FLD0018E + DISPLAY 'EXPECTED ==> ' XPC-FLD0018E. + IF FLD0019B (1:) NOT EQUAL XPC-FLD0019B + DISPLAY 'FLD0019B ==> ' FLD0019B + DISPLAY 'EXPECTED ==> ' XPC-FLD0019B. + IF FLD0019E NOT EQUAL XPC-FLD0019E + DISPLAY 'FLD0019E ==> ' FLD0019E + DISPLAY 'EXPECTED ==> ' XPC-FLD0019E. + IF FLD0020B (1:) NOT EQUAL XPC-FLD0020B + DISPLAY 'FLD0020B ==> ' FLD0020B + DISPLAY 'EXPECTED ==> ' XPC-FLD0020B. + IF FLD0020E NOT EQUAL XPC-FLD0020E + DISPLAY 'FLD0020E ==> ' FLD0020E + DISPLAY 'EXPECTED ==> ' XPC-FLD0020E. + IF FLD0021B (1:) NOT EQUAL XPC-FLD0021B + DISPLAY 'FLD0021B ==> ' FLD0021B + DISPLAY 'EXPECTED ==> ' XPC-FLD0021B. + IF FLD0021E NOT EQUAL XPC-FLD0021E + DISPLAY 'FLD0021E ==> ' FLD0021E + DISPLAY 'EXPECTED ==> ' XPC-FLD0021E. + IF FLD0022B (1:) NOT EQUAL XPC-FLD0022B + DISPLAY 'FLD0022B ==> ' FLD0022B + DISPLAY 'EXPECTED ==> ' XPC-FLD0022B. + IF FLD0022E NOT EQUAL XPC-FLD0022E + DISPLAY 'FLD0022E ==> ' FLD0022E + DISPLAY 'EXPECTED ==> ' XPC-FLD0022E. + IF FLD0023B (1:) NOT EQUAL XPC-FLD0023B + DISPLAY 'FLD0023B ==> ' FLD0023B + DISPLAY 'EXPECTED ==> ' XPC-FLD0023B. + IF FLD0023E NOT EQUAL XPC-FLD0023E + DISPLAY 'FLD0023E ==> ' FLD0023E + DISPLAY 'EXPECTED ==> ' XPC-FLD0023E. + IF FLD0024B (1:) NOT EQUAL XPC-FLD0024B + DISPLAY 'FLD0024B ==> ' FLD0024B + DISPLAY 'EXPECTED ==> ' XPC-FLD0024B. + IF FLD0024E NOT EQUAL XPC-FLD0024E + DISPLAY 'FLD0024E ==> ' FLD0024E + DISPLAY 'EXPECTED ==> ' XPC-FLD0024E. + IF FLD0025B (1:) NOT EQUAL XPC-FLD0025B + DISPLAY 'FLD0025B ==> ' FLD0025B + DISPLAY 'EXPECTED ==> ' XPC-FLD0025B. + IF FLD0025E NOT EQUAL XPC-FLD0025E + DISPLAY 'FLD0025E ==> ' FLD0025E + DISPLAY 'EXPECTED ==> ' XPC-FLD0025E. + IF FLD0026B (1:) NOT EQUAL XPC-FLD0026B + DISPLAY 'FLD0026B ==> ' FLD0026B + DISPLAY 'EXPECTED ==> ' XPC-FLD0026B. + IF FLD0026E NOT EQUAL XPC-FLD0026E + DISPLAY 'FLD0026E ==> ' FLD0026E + DISPLAY 'EXPECTED ==> ' XPC-FLD0026E. + IF FLD0027B (1:) NOT EQUAL XPC-FLD0027B + DISPLAY 'FLD0027B ==> ' FLD0027B + DISPLAY 'EXPECTED ==> ' XPC-FLD0027B. + IF FLD0027E NOT EQUAL XPC-FLD0027E + DISPLAY 'FLD0027E ==> ' FLD0027E + DISPLAY 'EXPECTED ==> ' XPC-FLD0027E. + IF FLD0028B (1:) NOT EQUAL XPC-FLD0028B + DISPLAY 'FLD0028B ==> ' FLD0028B + DISPLAY 'EXPECTED ==> ' XPC-FLD0028B. + IF FLD0028E NOT EQUAL XPC-FLD0028E + DISPLAY 'FLD0028E ==> ' FLD0028E + DISPLAY 'EXPECTED ==> ' XPC-FLD0028E. + IF FLD0029B (1:) NOT EQUAL XPC-FLD0029B + DISPLAY 'FLD0029B ==> ' FLD0029B + DISPLAY 'EXPECTED ==> ' XPC-FLD0029B. + IF FLD0029E NOT EQUAL XPC-FLD0029E + DISPLAY 'FLD0029E ==> ' FLD0029E + DISPLAY 'EXPECTED ==> ' XPC-FLD0029E. + IF FLD0030B (1:) NOT EQUAL XPC-FLD0030B + DISPLAY 'FLD0030B ==> ' FLD0030B + DISPLAY 'EXPECTED ==> ' XPC-FLD0030B. + IF FLD0030E NOT EQUAL XPC-FLD0030E + DISPLAY 'FLD0030E ==> ' FLD0030E + DISPLAY 'EXPECTED ==> ' XPC-FLD0030E. + IF FLD0031B (1:) NOT EQUAL XPC-FLD0031B + DISPLAY 'FLD0031B ==> ' FLD0031B + DISPLAY 'EXPECTED ==> ' XPC-FLD0031B. + IF FLD0031E NOT EQUAL XPC-FLD0031E + DISPLAY 'FLD0031E ==> ' FLD0031E + DISPLAY 'EXPECTED ==> ' XPC-FLD0031E. + IF FLD0032B (1:) NOT EQUAL XPC-FLD0032B + DISPLAY 'FLD0032B ==> ' FLD0032B + DISPLAY 'EXPECTED ==> ' XPC-FLD0032B. + IF FLD0032E NOT EQUAL XPC-FLD0032E + DISPLAY 'FLD0032E ==> ' FLD0032E + DISPLAY 'EXPECTED ==> ' XPC-FLD0032E. + IF FLD0033B (1:) NOT EQUAL XPC-FLD0033B + DISPLAY 'FLD0033B ==> ' FLD0033B + DISPLAY 'EXPECTED ==> ' XPC-FLD0033B. + IF FLD0033E NOT EQUAL XPC-FLD0033E + DISPLAY 'FLD0033E ==> ' FLD0033E + DISPLAY 'EXPECTED ==> ' XPC-FLD0033E. + IF FLD0034B (1:) NOT EQUAL XPC-FLD0034B + DISPLAY 'FLD0034B ==> ' FLD0034B + DISPLAY 'EXPECTED ==> ' XPC-FLD0034B. + IF FLD0034E NOT EQUAL XPC-FLD0034E + DISPLAY 'FLD0034E ==> ' FLD0034E + DISPLAY 'EXPECTED ==> ' XPC-FLD0034E. + IF FLD0035B (1:) NOT EQUAL XPC-FLD0035B + DISPLAY 'FLD0035B ==> ' FLD0035B + DISPLAY 'EXPECTED ==> ' XPC-FLD0035B. + IF FLD0035E NOT EQUAL XPC-FLD0035E + DISPLAY 'FLD0035E ==> ' FLD0035E + DISPLAY 'EXPECTED ==> ' XPC-FLD0035E. + IF FLD0036B (1:) NOT EQUAL XPC-FLD0036B + DISPLAY 'FLD0036B ==> ' FLD0036B + DISPLAY 'EXPECTED ==> ' XPC-FLD0036B. + IF FLD0036E NOT EQUAL XPC-FLD0036E + DISPLAY 'FLD0036E ==> ' FLD0036E + DISPLAY 'EXPECTED ==> ' XPC-FLD0036E. + IF FLD0037B (1:) NOT EQUAL XPC-FLD0037B + DISPLAY 'FLD0037B ==> ' FLD0037B + DISPLAY 'EXPECTED ==> ' XPC-FLD0037B. + IF FLD0037E NOT EQUAL XPC-FLD0037E + DISPLAY 'FLD0037E ==> ' FLD0037E + DISPLAY 'EXPECTED ==> ' XPC-FLD0037E. + IF FLD0038B (1:) NOT EQUAL XPC-FLD0038B + DISPLAY 'FLD0038B ==> ' FLD0038B + DISPLAY 'EXPECTED ==> ' XPC-FLD0038B. + IF FLD0038E NOT EQUAL XPC-FLD0038E + DISPLAY 'FLD0038E ==> ' FLD0038E + DISPLAY 'EXPECTED ==> ' XPC-FLD0038E. + IF FLD0039B (1:) NOT EQUAL XPC-FLD0039B + DISPLAY 'FLD0039B ==> ' FLD0039B + DISPLAY 'EXPECTED ==> ' XPC-FLD0039B. + IF FLD0039E NOT EQUAL XPC-FLD0039E + DISPLAY 'FLD0039E ==> ' FLD0039E + DISPLAY 'EXPECTED ==> ' XPC-FLD0039E. + IF FLD0040B (1:) NOT EQUAL XPC-FLD0040B + DISPLAY 'FLD0040B ==> ' FLD0040B + DISPLAY 'EXPECTED ==> ' XPC-FLD0040B. + IF FLD0040E NOT EQUAL XPC-FLD0040E + DISPLAY 'FLD0040E ==> ' FLD0040E + DISPLAY 'EXPECTED ==> ' XPC-FLD0040E. + IF FLD0041B (1:) NOT EQUAL XPC-FLD0041B + DISPLAY 'FLD0041B ==> ' FLD0041B + DISPLAY 'EXPECTED ==> ' XPC-FLD0041B. + IF FLD0041E NOT EQUAL XPC-FLD0041E + DISPLAY 'FLD0041E ==> ' FLD0041E + DISPLAY 'EXPECTED ==> ' XPC-FLD0041E. + IF FLD0042B (1:) NOT EQUAL XPC-FLD0042B + DISPLAY 'FLD0042B ==> ' FLD0042B + DISPLAY 'EXPECTED ==> ' XPC-FLD0042B. + IF FLD0042E NOT EQUAL XPC-FLD0042E + DISPLAY 'FLD0042E ==> ' FLD0042E + DISPLAY 'EXPECTED ==> ' XPC-FLD0042E. + IF FLD0043B (1:) NOT EQUAL XPC-FLD0043B + DISPLAY 'FLD0043B ==> ' FLD0043B + DISPLAY 'EXPECTED ==> ' XPC-FLD0043B. + IF FLD0043E NOT EQUAL XPC-FLD0043E + DISPLAY 'FLD0043E ==> ' FLD0043E + DISPLAY 'EXPECTED ==> ' XPC-FLD0043E. + IF FLD0044B (1:) NOT EQUAL XPC-FLD0044B + DISPLAY 'FLD0044B ==> ' FLD0044B + DISPLAY 'EXPECTED ==> ' XPC-FLD0044B. + IF FLD0044E NOT EQUAL XPC-FLD0044E + DISPLAY 'FLD0044E ==> ' FLD0044E + DISPLAY 'EXPECTED ==> ' XPC-FLD0044E. + IF FLD0045B (1:) NOT EQUAL XPC-FLD0045B + DISPLAY 'FLD0045B ==> ' FLD0045B + DISPLAY 'EXPECTED ==> ' XPC-FLD0045B. + IF FLD0045E NOT EQUAL XPC-FLD0045E + DISPLAY 'FLD0045E ==> ' FLD0045E + DISPLAY 'EXPECTED ==> ' XPC-FLD0045E. + IF FLD0046B (1:) NOT EQUAL XPC-FLD0046B + DISPLAY 'FLD0046B ==> ' FLD0046B + DISPLAY 'EXPECTED ==> ' XPC-FLD0046B. + IF FLD0046E NOT EQUAL XPC-FLD0046E + DISPLAY 'FLD0046E ==> ' FLD0046E + DISPLAY 'EXPECTED ==> ' XPC-FLD0046E. + IF FLD0047B (1:) NOT EQUAL XPC-FLD0047B + DISPLAY 'FLD0047B ==> ' FLD0047B + DISPLAY 'EXPECTED ==> ' XPC-FLD0047B. + IF FLD0047E NOT EQUAL XPC-FLD0047E + DISPLAY 'FLD0047E ==> ' FLD0047E + DISPLAY 'EXPECTED ==> ' XPC-FLD0047E. + IF FLD0048B (1:) NOT EQUAL XPC-FLD0048B + DISPLAY 'FLD0048B ==> ' FLD0048B + DISPLAY 'EXPECTED ==> ' XPC-FLD0048B. + IF FLD0048E NOT EQUAL XPC-FLD0048E + DISPLAY 'FLD0048E ==> ' FLD0048E + DISPLAY 'EXPECTED ==> ' XPC-FLD0048E. + IF FLD0049B (1:) NOT EQUAL XPC-FLD0049B + DISPLAY 'FLD0049B ==> ' FLD0049B + DISPLAY 'EXPECTED ==> ' XPC-FLD0049B. + IF FLD0049E NOT EQUAL XPC-FLD0049E + DISPLAY 'FLD0049E ==> ' FLD0049E + DISPLAY 'EXPECTED ==> ' XPC-FLD0049E. + IF FLD0050B (1:) NOT EQUAL XPC-FLD0050B + DISPLAY 'FLD0050B ==> ' FLD0050B + DISPLAY 'EXPECTED ==> ' XPC-FLD0050B. + IF FLD0050E NOT EQUAL XPC-FLD0050E + DISPLAY 'FLD0050E ==> ' FLD0050E + DISPLAY 'EXPECTED ==> ' XPC-FLD0050E. + IF FLD0051B (1:) NOT EQUAL XPC-FLD0051B + DISPLAY 'FLD0051B ==> ' FLD0051B + DISPLAY 'EXPECTED ==> ' XPC-FLD0051B. + IF FLD0051E NOT EQUAL XPC-FLD0051E + DISPLAY 'FLD0051E ==> ' FLD0051E + DISPLAY 'EXPECTED ==> ' XPC-FLD0051E. + IF FLD0052B (1:) NOT EQUAL XPC-FLD0052B + DISPLAY 'FLD0052B ==> ' FLD0052B + DISPLAY 'EXPECTED ==> ' XPC-FLD0052B. + IF FLD0052E NOT EQUAL XPC-FLD0052E + DISPLAY 'FLD0052E ==> ' FLD0052E + DISPLAY 'EXPECTED ==> ' XPC-FLD0052E. + IF FLD0053B (1:) NOT EQUAL XPC-FLD0053B + DISPLAY 'FLD0053B ==> ' FLD0053B + DISPLAY 'EXPECTED ==> ' XPC-FLD0053B. + IF FLD0053E NOT EQUAL XPC-FLD0053E + DISPLAY 'FLD0053E ==> ' FLD0053E + DISPLAY 'EXPECTED ==> ' XPC-FLD0053E. + IF FLD0054B (1:) NOT EQUAL XPC-FLD0054B + DISPLAY 'FLD0054B ==> ' FLD0054B + DISPLAY 'EXPECTED ==> ' XPC-FLD0054B. + IF FLD0054E NOT EQUAL XPC-FLD0054E + DISPLAY 'FLD0054E ==> ' FLD0054E + DISPLAY 'EXPECTED ==> ' XPC-FLD0054E. + IF FLD0055B (1:) NOT EQUAL XPC-FLD0055B + DISPLAY 'FLD0055B ==> ' FLD0055B + DISPLAY 'EXPECTED ==> ' XPC-FLD0055B. + IF FLD0055E NOT EQUAL XPC-FLD0055E + DISPLAY 'FLD0055E ==> ' FLD0055E + DISPLAY 'EXPECTED ==> ' XPC-FLD0055E. + IF FLD0056B (1:) NOT EQUAL XPC-FLD0056B + DISPLAY 'FLD0056B ==> ' FLD0056B + DISPLAY 'EXPECTED ==> ' XPC-FLD0056B. + IF FLD0056E NOT EQUAL XPC-FLD0056E + DISPLAY 'FLD0056E ==> ' FLD0056E + DISPLAY 'EXPECTED ==> ' XPC-FLD0056E. + IF FLD0057B (1:) NOT EQUAL XPC-FLD0057B + DISPLAY 'FLD0057B ==> ' FLD0057B + DISPLAY 'EXPECTED ==> ' XPC-FLD0057B. + IF FLD0057E NOT EQUAL XPC-FLD0057E + DISPLAY 'FLD0057E ==> ' FLD0057E + DISPLAY 'EXPECTED ==> ' XPC-FLD0057E. + IF FLD0058B (1:) NOT EQUAL XPC-FLD0058B + DISPLAY 'FLD0058B ==> ' FLD0058B + DISPLAY 'EXPECTED ==> ' XPC-FLD0058B. + IF FLD0058E NOT EQUAL XPC-FLD0058E + DISPLAY 'FLD0058E ==> ' FLD0058E + DISPLAY 'EXPECTED ==> ' XPC-FLD0058E. + IF FLD0059B (1:) NOT EQUAL XPC-FLD0059B + DISPLAY 'FLD0059B ==> ' FLD0059B + DISPLAY 'EXPECTED ==> ' XPC-FLD0059B. + IF FLD0059E NOT EQUAL XPC-FLD0059E + DISPLAY 'FLD0059E ==> ' FLD0059E + DISPLAY 'EXPECTED ==> ' XPC-FLD0059E. + IF FLD0060B (1:) NOT EQUAL XPC-FLD0060B + DISPLAY 'FLD0060B ==> ' FLD0060B + DISPLAY 'EXPECTED ==> ' XPC-FLD0060B. + IF FLD0060E NOT EQUAL XPC-FLD0060E + DISPLAY 'FLD0060E ==> ' FLD0060E + DISPLAY 'EXPECTED ==> ' XPC-FLD0060E. + IF FLD0061B (1:) NOT EQUAL XPC-FLD0061B + DISPLAY 'FLD0061B ==> ' FLD0061B + DISPLAY 'EXPECTED ==> ' XPC-FLD0061B. + IF FLD0061E NOT EQUAL XPC-FLD0061E + DISPLAY 'FLD0061E ==> ' FLD0061E + DISPLAY 'EXPECTED ==> ' XPC-FLD0061E. + IF FLD0062B (1:) NOT EQUAL XPC-FLD0062B + DISPLAY 'FLD0062B ==> ' FLD0062B + DISPLAY 'EXPECTED ==> ' XPC-FLD0062B. + IF FLD0062E NOT EQUAL XPC-FLD0062E + DISPLAY 'FLD0062E ==> ' FLD0062E + DISPLAY 'EXPECTED ==> ' XPC-FLD0062E. + IF FLD0063B (1:) NOT EQUAL XPC-FLD0063B + DISPLAY 'FLD0063B ==> ' FLD0063B + DISPLAY 'EXPECTED ==> ' XPC-FLD0063B. + IF FLD0063E NOT EQUAL XPC-FLD0063E + DISPLAY 'FLD0063E ==> ' FLD0063E + DISPLAY 'EXPECTED ==> ' XPC-FLD0063E. + IF FLD0064B (1:) NOT EQUAL XPC-FLD0064B + DISPLAY 'FLD0064B ==> ' FLD0064B + DISPLAY 'EXPECTED ==> ' XPC-FLD0064B. + IF FLD0064E NOT EQUAL XPC-FLD0064E + DISPLAY 'FLD0064E ==> ' FLD0064E + DISPLAY 'EXPECTED ==> ' XPC-FLD0064E. + IF FLD0065B (1:) NOT EQUAL XPC-FLD0065B + DISPLAY 'FLD0065B ==> ' FLD0065B + DISPLAY 'EXPECTED ==> ' XPC-FLD0065B. + IF FLD0065E NOT EQUAL XPC-FLD0065E + DISPLAY 'FLD0065E ==> ' FLD0065E + DISPLAY 'EXPECTED ==> ' XPC-FLD0065E. + IF FLD0066B (1:) NOT EQUAL XPC-FLD0066B + DISPLAY 'FLD0066B ==> ' FLD0066B + DISPLAY 'EXPECTED ==> ' XPC-FLD0066B. + IF FLD0066E NOT EQUAL XPC-FLD0066E + DISPLAY 'FLD0066E ==> ' FLD0066E + DISPLAY 'EXPECTED ==> ' XPC-FLD0066E. + IF FLD0067B (1:) NOT EQUAL XPC-FLD0067B + DISPLAY 'FLD0067B ==> ' FLD0067B + DISPLAY 'EXPECTED ==> ' XPC-FLD0067B. + IF FLD0067E NOT EQUAL XPC-FLD0067E + DISPLAY 'FLD0067E ==> ' FLD0067E + DISPLAY 'EXPECTED ==> ' XPC-FLD0067E. + IF FLD0068B (1:) NOT EQUAL XPC-FLD0068B + DISPLAY 'FLD0068B ==> ' FLD0068B + DISPLAY 'EXPECTED ==> ' XPC-FLD0068B. + IF FLD0068E NOT EQUAL XPC-FLD0068E + DISPLAY 'FLD0068E ==> ' FLD0068E + DISPLAY 'EXPECTED ==> ' XPC-FLD0068E. + IF FLD0069B (1:) NOT EQUAL XPC-FLD0069B + DISPLAY 'FLD0069B ==> ' FLD0069B + DISPLAY 'EXPECTED ==> ' XPC-FLD0069B. + IF FLD0069E NOT EQUAL XPC-FLD0069E + DISPLAY 'FLD0069E ==> ' FLD0069E + DISPLAY 'EXPECTED ==> ' XPC-FLD0069E. + IF FLD0070B (1:) NOT EQUAL XPC-FLD0070B + DISPLAY 'FLD0070B ==> ' FLD0070B + DISPLAY 'EXPECTED ==> ' XPC-FLD0070B. + IF FLD0070E NOT EQUAL XPC-FLD0070E + DISPLAY 'FLD0070E ==> ' FLD0070E + DISPLAY 'EXPECTED ==> ' XPC-FLD0070E. + IF FLD0071B (1:) NOT EQUAL XPC-FLD0071B + DISPLAY 'FLD0071B ==> ' FLD0071B + DISPLAY 'EXPECTED ==> ' XPC-FLD0071B. + IF FLD0071E NOT EQUAL XPC-FLD0071E + DISPLAY 'FLD0071E ==> ' FLD0071E + DISPLAY 'EXPECTED ==> ' XPC-FLD0071E. + IF FLD0072B (1:) NOT EQUAL XPC-FLD0072B + DISPLAY 'FLD0072B ==> ' FLD0072B + DISPLAY 'EXPECTED ==> ' XPC-FLD0072B. + IF FLD0072E NOT EQUAL XPC-FLD0072E + DISPLAY 'FLD0072E ==> ' FLD0072E + DISPLAY 'EXPECTED ==> ' XPC-FLD0072E. + IF FLD0073B (1:) NOT EQUAL XPC-FLD0073B + DISPLAY 'FLD0073B ==> ' FLD0073B + DISPLAY 'EXPECTED ==> ' XPC-FLD0073B. + IF FLD0073E NOT EQUAL XPC-FLD0073E + DISPLAY 'FLD0073E ==> ' FLD0073E + DISPLAY 'EXPECTED ==> ' XPC-FLD0073E. + IF FLD0074B (1:) NOT EQUAL XPC-FLD0074B + DISPLAY 'FLD0074B ==> ' FLD0074B + DISPLAY 'EXPECTED ==> ' XPC-FLD0074B. + IF FLD0074E NOT EQUAL XPC-FLD0074E + DISPLAY 'FLD0074E ==> ' FLD0074E + DISPLAY 'EXPECTED ==> ' XPC-FLD0074E. + IF FLD0075B (1:) NOT EQUAL XPC-FLD0075B + DISPLAY 'FLD0075B ==> ' FLD0075B + DISPLAY 'EXPECTED ==> ' XPC-FLD0075B. + IF FLD0075E NOT EQUAL XPC-FLD0075E + DISPLAY 'FLD0075E ==> ' FLD0075E + DISPLAY 'EXPECTED ==> ' XPC-FLD0075E. + IF FLD0076B (1:) NOT EQUAL XPC-FLD0076B + DISPLAY 'FLD0076B ==> ' FLD0076B + DISPLAY 'EXPECTED ==> ' XPC-FLD0076B. + IF FLD0076E NOT EQUAL XPC-FLD0076E + DISPLAY 'FLD0076E ==> ' FLD0076E + DISPLAY 'EXPECTED ==> ' XPC-FLD0076E. + IF FLD0077B (1:) NOT EQUAL XPC-FLD0077B + DISPLAY 'FLD0077B ==> ' FLD0077B + DISPLAY 'EXPECTED ==> ' XPC-FLD0077B. + IF FLD0077E NOT EQUAL XPC-FLD0077E + DISPLAY 'FLD0077E ==> ' FLD0077E + DISPLAY 'EXPECTED ==> ' XPC-FLD0077E. + IF FLD0078B (1:) NOT EQUAL XPC-FLD0078B + DISPLAY 'FLD0078B ==> ' FLD0078B + DISPLAY 'EXPECTED ==> ' XPC-FLD0078B. + IF FLD0078E NOT EQUAL XPC-FLD0078E + DISPLAY 'FLD0078E ==> ' FLD0078E + DISPLAY 'EXPECTED ==> ' XPC-FLD0078E. + IF FLD0079B (1:) NOT EQUAL XPC-FLD0079B + DISPLAY 'FLD0079B ==> ' FLD0079B + DISPLAY 'EXPECTED ==> ' XPC-FLD0079B. + IF FLD0079E NOT EQUAL XPC-FLD0079E + DISPLAY 'FLD0079E ==> ' FLD0079E + DISPLAY 'EXPECTED ==> ' XPC-FLD0079E. + IF FLD0080B (1:) NOT EQUAL XPC-FLD0080B + DISPLAY 'FLD0080B ==> ' FLD0080B + DISPLAY 'EXPECTED ==> ' XPC-FLD0080B. + IF FLD0080E NOT EQUAL XPC-FLD0080E + DISPLAY 'FLD0080E ==> ' FLD0080E + DISPLAY 'EXPECTED ==> ' XPC-FLD0080E. + IF FLD0081B (1:) NOT EQUAL XPC-FLD0081B + DISPLAY 'FLD0081B ==> ' FLD0081B + DISPLAY 'EXPECTED ==> ' XPC-FLD0081B. + IF FLD0081E NOT EQUAL XPC-FLD0081E + DISPLAY 'FLD0081E ==> ' FLD0081E + DISPLAY 'EXPECTED ==> ' XPC-FLD0081E. + IF FLD0082B (1:) NOT EQUAL XPC-FLD0082B + DISPLAY 'FLD0082B ==> ' FLD0082B + DISPLAY 'EXPECTED ==> ' XPC-FLD0082B. + IF FLD0082E NOT EQUAL XPC-FLD0082E + DISPLAY 'FLD0082E ==> ' FLD0082E + DISPLAY 'EXPECTED ==> ' XPC-FLD0082E. + IF FLD0083B (1:) NOT EQUAL XPC-FLD0083B + DISPLAY 'FLD0083B ==> ' FLD0083B + DISPLAY 'EXPECTED ==> ' XPC-FLD0083B. + IF FLD0083E NOT EQUAL XPC-FLD0083E + DISPLAY 'FLD0083E ==> ' FLD0083E + DISPLAY 'EXPECTED ==> ' XPC-FLD0083E. + IF FLD0084B (1:) NOT EQUAL XPC-FLD0084B + DISPLAY 'FLD0084B ==> ' FLD0084B + DISPLAY 'EXPECTED ==> ' XPC-FLD0084B. + IF FLD0084E NOT EQUAL XPC-FLD0084E + DISPLAY 'FLD0084E ==> ' FLD0084E + DISPLAY 'EXPECTED ==> ' XPC-FLD0084E. + IF FLD0085B (1:) NOT EQUAL XPC-FLD0085B + DISPLAY 'FLD0085B ==> ' FLD0085B + DISPLAY 'EXPECTED ==> ' XPC-FLD0085B. + IF FLD0085E NOT EQUAL XPC-FLD0085E + DISPLAY 'FLD0085E ==> ' FLD0085E + DISPLAY 'EXPECTED ==> ' XPC-FLD0085E. + IF FLD0086B (1:) NOT EQUAL XPC-FLD0086B + DISPLAY 'FLD0086B ==> ' FLD0086B + DISPLAY 'EXPECTED ==> ' XPC-FLD0086B. + IF FLD0086E NOT EQUAL XPC-FLD0086E + DISPLAY 'FLD0086E ==> ' FLD0086E + DISPLAY 'EXPECTED ==> ' XPC-FLD0086E. + IF FLD0087B (1:) NOT EQUAL XPC-FLD0087B + DISPLAY 'FLD0087B ==> ' FLD0087B + DISPLAY 'EXPECTED ==> ' XPC-FLD0087B. + IF FLD0087E NOT EQUAL XPC-FLD0087E + DISPLAY 'FLD0087E ==> ' FLD0087E + DISPLAY 'EXPECTED ==> ' XPC-FLD0087E. + IF FLD0088B (1:) NOT EQUAL XPC-FLD0088B + DISPLAY 'FLD0088B ==> ' FLD0088B + DISPLAY 'EXPECTED ==> ' XPC-FLD0088B. + IF FLD0088E NOT EQUAL XPC-FLD0088E + DISPLAY 'FLD0088E ==> ' FLD0088E + DISPLAY 'EXPECTED ==> ' XPC-FLD0088E. + IF FLD0089B (1:) NOT EQUAL XPC-FLD0089B + DISPLAY 'FLD0089B ==> ' FLD0089B + DISPLAY 'EXPECTED ==> ' XPC-FLD0089B. + IF FLD0089E NOT EQUAL XPC-FLD0089E + DISPLAY 'FLD0089E ==> ' FLD0089E + DISPLAY 'EXPECTED ==> ' XPC-FLD0089E. + IF FLD0090B (1:) NOT EQUAL XPC-FLD0090B + DISPLAY 'FLD0090B ==> ' FLD0090B + DISPLAY 'EXPECTED ==> ' XPC-FLD0090B. + IF FLD0090E NOT EQUAL XPC-FLD0090E + DISPLAY 'FLD0090E ==> ' FLD0090E + DISPLAY 'EXPECTED ==> ' XPC-FLD0090E. + IF FLD0091B (1:) NOT EQUAL XPC-FLD0091B + DISPLAY 'FLD0091B ==> ' FLD0091B + DISPLAY 'EXPECTED ==> ' XPC-FLD0091B. + IF FLD0091E NOT EQUAL XPC-FLD0091E + DISPLAY 'FLD0091E ==> ' FLD0091E + DISPLAY 'EXPECTED ==> ' XPC-FLD0091E. + IF FLD0092B (1:) NOT EQUAL XPC-FLD0092B + DISPLAY 'FLD0092B ==> ' FLD0092B + DISPLAY 'EXPECTED ==> ' XPC-FLD0092B. + IF FLD0092E NOT EQUAL XPC-FLD0092E + DISPLAY 'FLD0092E ==> ' FLD0092E + DISPLAY 'EXPECTED ==> ' XPC-FLD0092E. + IF FLD0093B (1:) NOT EQUAL XPC-FLD0093B + DISPLAY 'FLD0093B ==> ' FLD0093B + DISPLAY 'EXPECTED ==> ' XPC-FLD0093B. + IF FLD0093E NOT EQUAL XPC-FLD0093E + DISPLAY 'FLD0093E ==> ' FLD0093E + DISPLAY 'EXPECTED ==> ' XPC-FLD0093E. + IF FLD0094B (1:) NOT EQUAL XPC-FLD0094B + DISPLAY 'FLD0094B ==> ' FLD0094B + DISPLAY 'EXPECTED ==> ' XPC-FLD0094B. + IF FLD0094E NOT EQUAL XPC-FLD0094E + DISPLAY 'FLD0094E ==> ' FLD0094E + DISPLAY 'EXPECTED ==> ' XPC-FLD0094E. + IF FLD0095B (1:) NOT EQUAL XPC-FLD0095B + DISPLAY 'FLD0095B ==> ' FLD0095B + DISPLAY 'EXPECTED ==> ' XPC-FLD0095B. + IF FLD0095E NOT EQUAL XPC-FLD0095E + DISPLAY 'FLD0095E ==> ' FLD0095E + DISPLAY 'EXPECTED ==> ' XPC-FLD0095E. + IF FLD0096B (1:) NOT EQUAL XPC-FLD0096B + DISPLAY 'FLD0096B ==> ' FLD0096B + DISPLAY 'EXPECTED ==> ' XPC-FLD0096B. + IF FLD0096E NOT EQUAL XPC-FLD0096E + DISPLAY 'FLD0096E ==> ' FLD0096E + DISPLAY 'EXPECTED ==> ' XPC-FLD0096E. + IF FLD0097B (1:) NOT EQUAL XPC-FLD0097B + DISPLAY 'FLD0097B ==> ' FLD0097B + DISPLAY 'EXPECTED ==> ' XPC-FLD0097B. + IF FLD0097E NOT EQUAL XPC-FLD0097E + DISPLAY 'FLD0097E ==> ' FLD0097E + DISPLAY 'EXPECTED ==> ' XPC-FLD0097E. + IF FLD0098B (1:) NOT EQUAL XPC-FLD0098B + DISPLAY 'FLD0098B ==> ' FLD0098B + DISPLAY 'EXPECTED ==> ' XPC-FLD0098B. + IF FLD0098E NOT EQUAL XPC-FLD0098E + DISPLAY 'FLD0098E ==> ' FLD0098E + DISPLAY 'EXPECTED ==> ' XPC-FLD0098E. + IF FLD0099B (1:) NOT EQUAL XPC-FLD0099B + DISPLAY 'FLD0099B ==> ' FLD0099B + DISPLAY 'EXPECTED ==> ' XPC-FLD0099B. + IF FLD0099E NOT EQUAL XPC-FLD0099E + DISPLAY 'FLD0099E ==> ' FLD0099E + DISPLAY 'EXPECTED ==> ' XPC-FLD0099E. + IF FLD0100B (1:) NOT EQUAL XPC-FLD0100B + DISPLAY 'FLD0100B ==> ' FLD0100B + DISPLAY 'EXPECTED ==> ' XPC-FLD0100B. + IF FLD0100E NOT EQUAL XPC-FLD0100E + DISPLAY 'FLD0100E ==> ' FLD0100E + DISPLAY 'EXPECTED ==> ' XPC-FLD0100E. + IF FLD0101B (1:) NOT EQUAL XPC-FLD0101B + DISPLAY 'FLD0101B ==> ' FLD0101B + DISPLAY 'EXPECTED ==> ' XPC-FLD0101B. + IF FLD0101E NOT EQUAL XPC-FLD0101E + DISPLAY 'FLD0101E ==> ' FLD0101E + DISPLAY 'EXPECTED ==> ' XPC-FLD0101E. + IF FLD0102B (1:) NOT EQUAL XPC-FLD0102B + DISPLAY 'FLD0102B ==> ' FLD0102B + DISPLAY 'EXPECTED ==> ' XPC-FLD0102B. + IF FLD0102E NOT EQUAL XPC-FLD0102E + DISPLAY 'FLD0102E ==> ' FLD0102E + DISPLAY 'EXPECTED ==> ' XPC-FLD0102E. + IF FLD0103B (1:) NOT EQUAL XPC-FLD0103B + DISPLAY 'FLD0103B ==> ' FLD0103B + DISPLAY 'EXPECTED ==> ' XPC-FLD0103B. + IF FLD0103E NOT EQUAL XPC-FLD0103E + DISPLAY 'FLD0103E ==> ' FLD0103E + DISPLAY 'EXPECTED ==> ' XPC-FLD0103E. + IF FLD0104B (1:) NOT EQUAL XPC-FLD0104B + DISPLAY 'FLD0104B ==> ' FLD0104B + DISPLAY 'EXPECTED ==> ' XPC-FLD0104B. + IF FLD0104E NOT EQUAL XPC-FLD0104E + DISPLAY 'FLD0104E ==> ' FLD0104E + DISPLAY 'EXPECTED ==> ' XPC-FLD0104E. + IF FLD0105B (1:) NOT EQUAL XPC-FLD0105B + DISPLAY 'FLD0105B ==> ' FLD0105B + DISPLAY 'EXPECTED ==> ' XPC-FLD0105B. + IF FLD0105E NOT EQUAL XPC-FLD0105E + DISPLAY 'FLD0105E ==> ' FLD0105E + DISPLAY 'EXPECTED ==> ' XPC-FLD0105E. + IF FLD0106B (1:) NOT EQUAL XPC-FLD0106B + DISPLAY 'FLD0106B ==> ' FLD0106B + DISPLAY 'EXPECTED ==> ' XPC-FLD0106B. + IF FLD0106E NOT EQUAL XPC-FLD0106E + DISPLAY 'FLD0106E ==> ' FLD0106E + DISPLAY 'EXPECTED ==> ' XPC-FLD0106E. + IF FLD0107B (1:) NOT EQUAL XPC-FLD0107B + DISPLAY 'FLD0107B ==> ' FLD0107B + DISPLAY 'EXPECTED ==> ' XPC-FLD0107B. + IF FLD0107E NOT EQUAL XPC-FLD0107E + DISPLAY 'FLD0107E ==> ' FLD0107E + DISPLAY 'EXPECTED ==> ' XPC-FLD0107E. + IF FLD0108B (1:) NOT EQUAL XPC-FLD0108B + DISPLAY 'FLD0108B ==> ' FLD0108B + DISPLAY 'EXPECTED ==> ' XPC-FLD0108B. + IF FLD0108E NOT EQUAL XPC-FLD0108E + DISPLAY 'FLD0108E ==> ' FLD0108E + DISPLAY 'EXPECTED ==> ' XPC-FLD0108E. + IF FLD0109B (1:) NOT EQUAL XPC-FLD0109B + DISPLAY 'FLD0109B ==> ' FLD0109B + DISPLAY 'EXPECTED ==> ' XPC-FLD0109B. + IF FLD0109E NOT EQUAL XPC-FLD0109E + DISPLAY 'FLD0109E ==> ' FLD0109E + DISPLAY 'EXPECTED ==> ' XPC-FLD0109E. + IF FLD0110B (1:) NOT EQUAL XPC-FLD0110B + DISPLAY 'FLD0110B ==> ' FLD0110B + DISPLAY 'EXPECTED ==> ' XPC-FLD0110B. + IF FLD0110E NOT EQUAL XPC-FLD0110E + DISPLAY 'FLD0110E ==> ' FLD0110E + DISPLAY 'EXPECTED ==> ' XPC-FLD0110E. + IF FLD0111B (1:) NOT EQUAL XPC-FLD0111B + DISPLAY 'FLD0111B ==> ' FLD0111B + DISPLAY 'EXPECTED ==> ' XPC-FLD0111B. + IF FLD0111E NOT EQUAL XPC-FLD0111E + DISPLAY 'FLD0111E ==> ' FLD0111E + DISPLAY 'EXPECTED ==> ' XPC-FLD0111E. + IF FLD0112B (1:) NOT EQUAL XPC-FLD0112B + DISPLAY 'FLD0112B ==> ' FLD0112B + DISPLAY 'EXPECTED ==> ' XPC-FLD0112B. + IF FLD0112E NOT EQUAL XPC-FLD0112E + DISPLAY 'FLD0112E ==> ' FLD0112E + DISPLAY 'EXPECTED ==> ' XPC-FLD0112E. + IF FLD0113B (1:) NOT EQUAL XPC-FLD0113B + DISPLAY 'FLD0113B ==> ' FLD0113B + DISPLAY 'EXPECTED ==> ' XPC-FLD0113B. + IF FLD0113E NOT EQUAL XPC-FLD0113E + DISPLAY 'FLD0113E ==> ' FLD0113E + DISPLAY 'EXPECTED ==> ' XPC-FLD0113E. + IF FLD0114B (1:) NOT EQUAL XPC-FLD0114B + DISPLAY 'FLD0114B ==> ' FLD0114B + DISPLAY 'EXPECTED ==> ' XPC-FLD0114B. + IF FLD0114E NOT EQUAL XPC-FLD0114E + DISPLAY 'FLD0114E ==> ' FLD0114E + DISPLAY 'EXPECTED ==> ' XPC-FLD0114E. + IF FLD0115B (1:) NOT EQUAL XPC-FLD0115B + DISPLAY 'FLD0115B ==> ' FLD0115B + DISPLAY 'EXPECTED ==> ' XPC-FLD0115B. + IF FLD0115E NOT EQUAL XPC-FLD0115E + DISPLAY 'FLD0115E ==> ' FLD0115E + DISPLAY 'EXPECTED ==> ' XPC-FLD0115E. + IF FLD0116B (1:) NOT EQUAL XPC-FLD0116B + DISPLAY 'FLD0116B ==> ' FLD0116B + DISPLAY 'EXPECTED ==> ' XPC-FLD0116B. + IF FLD0116E NOT EQUAL XPC-FLD0116E + DISPLAY 'FLD0116E ==> ' FLD0116E + DISPLAY 'EXPECTED ==> ' XPC-FLD0116E. + IF FLD0117B (1:) NOT EQUAL XPC-FLD0117B + DISPLAY 'FLD0117B ==> ' FLD0117B + DISPLAY 'EXPECTED ==> ' XPC-FLD0117B. + IF FLD0117E NOT EQUAL XPC-FLD0117E + DISPLAY 'FLD0117E ==> ' FLD0117E + DISPLAY 'EXPECTED ==> ' XPC-FLD0117E. + IF FLD0118B (1:) NOT EQUAL XPC-FLD0118B + DISPLAY 'FLD0118B ==> ' FLD0118B + DISPLAY 'EXPECTED ==> ' XPC-FLD0118B. + IF FLD0118E NOT EQUAL XPC-FLD0118E + DISPLAY 'FLD0118E ==> ' FLD0118E + DISPLAY 'EXPECTED ==> ' XPC-FLD0118E. + IF FLD0119B (1:) NOT EQUAL XPC-FLD0119B + DISPLAY 'FLD0119B ==> ' FLD0119B + DISPLAY 'EXPECTED ==> ' XPC-FLD0119B. + IF FLD0119E NOT EQUAL XPC-FLD0119E + DISPLAY 'FLD0119E ==> ' FLD0119E + DISPLAY 'EXPECTED ==> ' XPC-FLD0119E. + IF FLD0120B (1:) NOT EQUAL XPC-FLD0120B + DISPLAY 'FLD0120B ==> ' FLD0120B + DISPLAY 'EXPECTED ==> ' XPC-FLD0120B. + IF FLD0120E NOT EQUAL XPC-FLD0120E + DISPLAY 'FLD0120E ==> ' FLD0120E + DISPLAY 'EXPECTED ==> ' XPC-FLD0120E. + IF FLD0121B (1:) NOT EQUAL XPC-FLD0121B + DISPLAY 'FLD0121B ==> ' FLD0121B + DISPLAY 'EXPECTED ==> ' XPC-FLD0121B. + IF FLD0121E NOT EQUAL XPC-FLD0121E + DISPLAY 'FLD0121E ==> ' FLD0121E + DISPLAY 'EXPECTED ==> ' XPC-FLD0121E. + IF FLD0122B (1:) NOT EQUAL XPC-FLD0122B + DISPLAY 'FLD0122B ==> ' FLD0122B + DISPLAY 'EXPECTED ==> ' XPC-FLD0122B. + IF FLD0122E NOT EQUAL XPC-FLD0122E + DISPLAY 'FLD0122E ==> ' FLD0122E + DISPLAY 'EXPECTED ==> ' XPC-FLD0122E. + IF FLD0123B (1:) NOT EQUAL XPC-FLD0123B + DISPLAY 'FLD0123B ==> ' FLD0123B + DISPLAY 'EXPECTED ==> ' XPC-FLD0123B. + IF FLD0123E NOT EQUAL XPC-FLD0123E + DISPLAY 'FLD0123E ==> ' FLD0123E + DISPLAY 'EXPECTED ==> ' XPC-FLD0123E. + IF FLD0124B (1:) NOT EQUAL XPC-FLD0124B + DISPLAY 'FLD0124B ==> ' FLD0124B + DISPLAY 'EXPECTED ==> ' XPC-FLD0124B. + IF FLD0124E NOT EQUAL XPC-FLD0124E + DISPLAY 'FLD0124E ==> ' FLD0124E + DISPLAY 'EXPECTED ==> ' XPC-FLD0124E. + IF FLD0125B (1:) NOT EQUAL XPC-FLD0125B + DISPLAY 'FLD0125B ==> ' FLD0125B + DISPLAY 'EXPECTED ==> ' XPC-FLD0125B. + IF FLD0125E NOT EQUAL XPC-FLD0125E + DISPLAY 'FLD0125E ==> ' FLD0125E + DISPLAY 'EXPECTED ==> ' XPC-FLD0125E. + IF FLD0126B (1:) NOT EQUAL XPC-FLD0126B + DISPLAY 'FLD0126B ==> ' FLD0126B + DISPLAY 'EXPECTED ==> ' XPC-FLD0126B. + IF FLD0126E NOT EQUAL XPC-FLD0126E + DISPLAY 'FLD0126E ==> ' FLD0126E + DISPLAY 'EXPECTED ==> ' XPC-FLD0126E. + IF FLD0127B (1:) NOT EQUAL XPC-FLD0127B + DISPLAY 'FLD0127B ==> ' FLD0127B + DISPLAY 'EXPECTED ==> ' XPC-FLD0127B. + IF FLD0127E NOT EQUAL XPC-FLD0127E + DISPLAY 'FLD0127E ==> ' FLD0127E + DISPLAY 'EXPECTED ==> ' XPC-FLD0127E. + IF FLD0128B (1:) NOT EQUAL XPC-FLD0128B + DISPLAY 'FLD0128B ==> ' FLD0128B + DISPLAY 'EXPECTED ==> ' XPC-FLD0128B. + IF FLD0128E NOT EQUAL XPC-FLD0128E + DISPLAY 'FLD0128E ==> ' FLD0128E + DISPLAY 'EXPECTED ==> ' XPC-FLD0128E. + IF FLD0129B (1:) NOT EQUAL XPC-FLD0129B + DISPLAY 'FLD0129B ==> ' FLD0129B + DISPLAY 'EXPECTED ==> ' XPC-FLD0129B. + IF FLD0129E NOT EQUAL XPC-FLD0129E + DISPLAY 'FLD0129E ==> ' FLD0129E + DISPLAY 'EXPECTED ==> ' XPC-FLD0129E. + IF FLD0130B (1:) NOT EQUAL XPC-FLD0130B + DISPLAY 'FLD0130B ==> ' FLD0130B + DISPLAY 'EXPECTED ==> ' XPC-FLD0130B. + IF FLD0130E NOT EQUAL XPC-FLD0130E + DISPLAY 'FLD0130E ==> ' FLD0130E + DISPLAY 'EXPECTED ==> ' XPC-FLD0130E. + IF FLD0131B (1:) NOT EQUAL XPC-FLD0131B + DISPLAY 'FLD0131B ==> ' FLD0131B + DISPLAY 'EXPECTED ==> ' XPC-FLD0131B. + IF FLD0131E NOT EQUAL XPC-FLD0131E + DISPLAY 'FLD0131E ==> ' FLD0131E + DISPLAY 'EXPECTED ==> ' XPC-FLD0131E. + IF FLD0132B (1:) NOT EQUAL XPC-FLD0132B + DISPLAY 'FLD0132B ==> ' FLD0132B + DISPLAY 'EXPECTED ==> ' XPC-FLD0132B. + IF FLD0132E NOT EQUAL XPC-FLD0132E + DISPLAY 'FLD0132E ==> ' FLD0132E + DISPLAY 'EXPECTED ==> ' XPC-FLD0132E. + IF FLD0133B (1:) NOT EQUAL XPC-FLD0133B + DISPLAY 'FLD0133B ==> ' FLD0133B + DISPLAY 'EXPECTED ==> ' XPC-FLD0133B. + IF FLD0133E NOT EQUAL XPC-FLD0133E + DISPLAY 'FLD0133E ==> ' FLD0133E + DISPLAY 'EXPECTED ==> ' XPC-FLD0133E. + IF FLD0134B (1:) NOT EQUAL XPC-FLD0134B + DISPLAY 'FLD0134B ==> ' FLD0134B + DISPLAY 'EXPECTED ==> ' XPC-FLD0134B. + IF FLD0134E NOT EQUAL XPC-FLD0134E + DISPLAY 'FLD0134E ==> ' FLD0134E + DISPLAY 'EXPECTED ==> ' XPC-FLD0134E. + IF FLD0135B (1:) NOT EQUAL XPC-FLD0135B + DISPLAY 'FLD0135B ==> ' FLD0135B + DISPLAY 'EXPECTED ==> ' XPC-FLD0135B. + IF FLD0135E NOT EQUAL XPC-FLD0135E + DISPLAY 'FLD0135E ==> ' FLD0135E + DISPLAY 'EXPECTED ==> ' XPC-FLD0135E. + IF FLD0136B (1:) NOT EQUAL XPC-FLD0136B + DISPLAY 'FLD0136B ==> ' FLD0136B + DISPLAY 'EXPECTED ==> ' XPC-FLD0136B. + IF FLD0136E NOT EQUAL XPC-FLD0136E + DISPLAY 'FLD0136E ==> ' FLD0136E + DISPLAY 'EXPECTED ==> ' XPC-FLD0136E. + IF FLD0137B (1:) NOT EQUAL XPC-FLD0137B + DISPLAY 'FLD0137B ==> ' FLD0137B + DISPLAY 'EXPECTED ==> ' XPC-FLD0137B. + IF FLD0137E NOT EQUAL XPC-FLD0137E + DISPLAY 'FLD0137E ==> ' FLD0137E + DISPLAY 'EXPECTED ==> ' XPC-FLD0137E. + IF FLD0138B (1:) NOT EQUAL XPC-FLD0138B + DISPLAY 'FLD0138B ==> ' FLD0138B + DISPLAY 'EXPECTED ==> ' XPC-FLD0138B. + IF FLD0138E NOT EQUAL XPC-FLD0138E + DISPLAY 'FLD0138E ==> ' FLD0138E + DISPLAY 'EXPECTED ==> ' XPC-FLD0138E. + IF FLD0139B (1:) NOT EQUAL XPC-FLD0139B + DISPLAY 'FLD0139B ==> ' FLD0139B + DISPLAY 'EXPECTED ==> ' XPC-FLD0139B. + IF FLD0139E NOT EQUAL XPC-FLD0139E + DISPLAY 'FLD0139E ==> ' FLD0139E + DISPLAY 'EXPECTED ==> ' XPC-FLD0139E. + IF FLD0140B (1:) NOT EQUAL XPC-FLD0140B + DISPLAY 'FLD0140B ==> ' FLD0140B + DISPLAY 'EXPECTED ==> ' XPC-FLD0140B. + IF FLD0140E NOT EQUAL XPC-FLD0140E + DISPLAY 'FLD0140E ==> ' FLD0140E + DISPLAY 'EXPECTED ==> ' XPC-FLD0140E. + IF FLD0141B (1:) NOT EQUAL XPC-FLD0141B + DISPLAY 'FLD0141B ==> ' FLD0141B + DISPLAY 'EXPECTED ==> ' XPC-FLD0141B. + IF FLD0141E NOT EQUAL XPC-FLD0141E + DISPLAY 'FLD0141E ==> ' FLD0141E + DISPLAY 'EXPECTED ==> ' XPC-FLD0141E. + IF FLD0142B (1:) NOT EQUAL XPC-FLD0142B + DISPLAY 'FLD0142B ==> ' FLD0142B + DISPLAY 'EXPECTED ==> ' XPC-FLD0142B. + IF FLD0142E NOT EQUAL XPC-FLD0142E + DISPLAY 'FLD0142E ==> ' FLD0142E + DISPLAY 'EXPECTED ==> ' XPC-FLD0142E. + IF FLD0143B (1:) NOT EQUAL XPC-FLD0143B + DISPLAY 'FLD0143B ==> ' FLD0143B + DISPLAY 'EXPECTED ==> ' XPC-FLD0143B. + IF FLD0143E NOT EQUAL XPC-FLD0143E + DISPLAY 'FLD0143E ==> ' FLD0143E + DISPLAY 'EXPECTED ==> ' XPC-FLD0143E. + IF FLD0144B (1:) NOT EQUAL XPC-FLD0144B + DISPLAY 'FLD0144B ==> ' FLD0144B + DISPLAY 'EXPECTED ==> ' XPC-FLD0144B. + IF FLD0144E NOT EQUAL XPC-FLD0144E + DISPLAY 'FLD0144E ==> ' FLD0144E + DISPLAY 'EXPECTED ==> ' XPC-FLD0144E. + IF FLD0145B (1:) NOT EQUAL XPC-FLD0145B + DISPLAY 'FLD0145B ==> ' FLD0145B + DISPLAY 'EXPECTED ==> ' XPC-FLD0145B. + IF FLD0145E NOT EQUAL XPC-FLD0145E + DISPLAY 'FLD0145E ==> ' FLD0145E + DISPLAY 'EXPECTED ==> ' XPC-FLD0145E. + IF FLD0146B (1:) NOT EQUAL XPC-FLD0146B + DISPLAY 'FLD0146B ==> ' FLD0146B + DISPLAY 'EXPECTED ==> ' XPC-FLD0146B. + IF FLD0146E NOT EQUAL XPC-FLD0146E + DISPLAY 'FLD0146E ==> ' FLD0146E + DISPLAY 'EXPECTED ==> ' XPC-FLD0146E. + IF FLD0147B (1:) NOT EQUAL XPC-FLD0147B + DISPLAY 'FLD0147B ==> ' FLD0147B + DISPLAY 'EXPECTED ==> ' XPC-FLD0147B. + IF FLD0147E NOT EQUAL XPC-FLD0147E + DISPLAY 'FLD0147E ==> ' FLD0147E + DISPLAY 'EXPECTED ==> ' XPC-FLD0147E. + IF FLD0148B (1:) NOT EQUAL XPC-FLD0148B + DISPLAY 'FLD0148B ==> ' FLD0148B + DISPLAY 'EXPECTED ==> ' XPC-FLD0148B. + IF FLD0148E NOT EQUAL XPC-FLD0148E + DISPLAY 'FLD0148E ==> ' FLD0148E + DISPLAY 'EXPECTED ==> ' XPC-FLD0148E. + IF FLD0149B (1:) NOT EQUAL XPC-FLD0149B + DISPLAY 'FLD0149B ==> ' FLD0149B + DISPLAY 'EXPECTED ==> ' XPC-FLD0149B. + IF FLD0149E NOT EQUAL XPC-FLD0149E + DISPLAY 'FLD0149E ==> ' FLD0149E + DISPLAY 'EXPECTED ==> ' XPC-FLD0149E. + IF FLD0150B (1:) NOT EQUAL XPC-FLD0150B + DISPLAY 'FLD0150B ==> ' FLD0150B + DISPLAY 'EXPECTED ==> ' XPC-FLD0150B. + IF FLD0150E NOT EQUAL XPC-FLD0150E + DISPLAY 'FLD0150E ==> ' FLD0150E + DISPLAY 'EXPECTED ==> ' XPC-FLD0150E. + IF FLD0151B (1:) NOT EQUAL XPC-FLD0151B + DISPLAY 'FLD0151B ==> ' FLD0151B + DISPLAY 'EXPECTED ==> ' XPC-FLD0151B. + IF FLD0151E NOT EQUAL XPC-FLD0151E + DISPLAY 'FLD0151E ==> ' FLD0151E + DISPLAY 'EXPECTED ==> ' XPC-FLD0151E. + IF FLD0152B (1:) NOT EQUAL XPC-FLD0152B + DISPLAY 'FLD0152B ==> ' FLD0152B + DISPLAY 'EXPECTED ==> ' XPC-FLD0152B. + IF FLD0152E NOT EQUAL XPC-FLD0152E + DISPLAY 'FLD0152E ==> ' FLD0152E + DISPLAY 'EXPECTED ==> ' XPC-FLD0152E. + IF FLD0153B (1:) NOT EQUAL XPC-FLD0153B + DISPLAY 'FLD0153B ==> ' FLD0153B + DISPLAY 'EXPECTED ==> ' XPC-FLD0153B. + IF FLD0153E NOT EQUAL XPC-FLD0153E + DISPLAY 'FLD0153E ==> ' FLD0153E + DISPLAY 'EXPECTED ==> ' XPC-FLD0153E. + IF FLD0154B (1:) NOT EQUAL XPC-FLD0154B + DISPLAY 'FLD0154B ==> ' FLD0154B + DISPLAY 'EXPECTED ==> ' XPC-FLD0154B. + IF FLD0154E NOT EQUAL XPC-FLD0154E + DISPLAY 'FLD0154E ==> ' FLD0154E + DISPLAY 'EXPECTED ==> ' XPC-FLD0154E. + IF FLD0155B (1:) NOT EQUAL XPC-FLD0155B + DISPLAY 'FLD0155B ==> ' FLD0155B + DISPLAY 'EXPECTED ==> ' XPC-FLD0155B. + IF FLD0155E NOT EQUAL XPC-FLD0155E + DISPLAY 'FLD0155E ==> ' FLD0155E + DISPLAY 'EXPECTED ==> ' XPC-FLD0155E. + IF FLD0156B (1:) NOT EQUAL XPC-FLD0156B + DISPLAY 'FLD0156B ==> ' FLD0156B + DISPLAY 'EXPECTED ==> ' XPC-FLD0156B. + IF FLD0156E NOT EQUAL XPC-FLD0156E + DISPLAY 'FLD0156E ==> ' FLD0156E + DISPLAY 'EXPECTED ==> ' XPC-FLD0156E. + IF FLD0157B (1:) NOT EQUAL XPC-FLD0157B + DISPLAY 'FLD0157B ==> ' FLD0157B + DISPLAY 'EXPECTED ==> ' XPC-FLD0157B. + IF FLD0157E NOT EQUAL XPC-FLD0157E + DISPLAY 'FLD0157E ==> ' FLD0157E + DISPLAY 'EXPECTED ==> ' XPC-FLD0157E. + IF FLD0158B (1:) NOT EQUAL XPC-FLD0158B + DISPLAY 'FLD0158B ==> ' FLD0158B + DISPLAY 'EXPECTED ==> ' XPC-FLD0158B. + IF FLD0158E NOT EQUAL XPC-FLD0158E + DISPLAY 'FLD0158E ==> ' FLD0158E + DISPLAY 'EXPECTED ==> ' XPC-FLD0158E. + IF FLD0159B (1:) NOT EQUAL XPC-FLD0159B + DISPLAY 'FLD0159B ==> ' FLD0159B + DISPLAY 'EXPECTED ==> ' XPC-FLD0159B. + IF FLD0159E NOT EQUAL XPC-FLD0159E + DISPLAY 'FLD0159E ==> ' FLD0159E + DISPLAY 'EXPECTED ==> ' XPC-FLD0159E. + IF FLD0160B (1:) NOT EQUAL XPC-FLD0160B + DISPLAY 'FLD0160B ==> ' FLD0160B + DISPLAY 'EXPECTED ==> ' XPC-FLD0160B. + IF FLD0160E NOT EQUAL XPC-FLD0160E + DISPLAY 'FLD0160E ==> ' FLD0160E + DISPLAY 'EXPECTED ==> ' XPC-FLD0160E. + IF FLD0161B (1:) NOT EQUAL XPC-FLD0161B + DISPLAY 'FLD0161B ==> ' FLD0161B + DISPLAY 'EXPECTED ==> ' XPC-FLD0161B. + IF FLD0161E NOT EQUAL XPC-FLD0161E + DISPLAY 'FLD0161E ==> ' FLD0161E + DISPLAY 'EXPECTED ==> ' XPC-FLD0161E. + IF FLD0162B (1:) NOT EQUAL XPC-FLD0162B + DISPLAY 'FLD0162B ==> ' FLD0162B + DISPLAY 'EXPECTED ==> ' XPC-FLD0162B. + IF FLD0162E NOT EQUAL XPC-FLD0162E + DISPLAY 'FLD0162E ==> ' FLD0162E + DISPLAY 'EXPECTED ==> ' XPC-FLD0162E. + IF FLD0163B (1:) NOT EQUAL XPC-FLD0163B + DISPLAY 'FLD0163B ==> ' FLD0163B + DISPLAY 'EXPECTED ==> ' XPC-FLD0163B. + IF FLD0163E NOT EQUAL XPC-FLD0163E + DISPLAY 'FLD0163E ==> ' FLD0163E + DISPLAY 'EXPECTED ==> ' XPC-FLD0163E. + IF FLD0164B (1:) NOT EQUAL XPC-FLD0164B + DISPLAY 'FLD0164B ==> ' FLD0164B + DISPLAY 'EXPECTED ==> ' XPC-FLD0164B. + IF FLD0164E NOT EQUAL XPC-FLD0164E + DISPLAY 'FLD0164E ==> ' FLD0164E + DISPLAY 'EXPECTED ==> ' XPC-FLD0164E. + IF FLD0165B (1:) NOT EQUAL XPC-FLD0165B + DISPLAY 'FLD0165B ==> ' FLD0165B + DISPLAY 'EXPECTED ==> ' XPC-FLD0165B. + IF FLD0165E NOT EQUAL XPC-FLD0165E + DISPLAY 'FLD0165E ==> ' FLD0165E + DISPLAY 'EXPECTED ==> ' XPC-FLD0165E. + IF FLD0166B (1:) NOT EQUAL XPC-FLD0166B + DISPLAY 'FLD0166B ==> ' FLD0166B + DISPLAY 'EXPECTED ==> ' XPC-FLD0166B. + IF FLD0166E NOT EQUAL XPC-FLD0166E + DISPLAY 'FLD0166E ==> ' FLD0166E + DISPLAY 'EXPECTED ==> ' XPC-FLD0166E. + IF FLD0167B (1:) NOT EQUAL XPC-FLD0167B + DISPLAY 'FLD0167B ==> ' FLD0167B + DISPLAY 'EXPECTED ==> ' XPC-FLD0167B. + IF FLD0167E NOT EQUAL XPC-FLD0167E + DISPLAY 'FLD0167E ==> ' FLD0167E + DISPLAY 'EXPECTED ==> ' XPC-FLD0167E. + IF FLD0168B (1:) NOT EQUAL XPC-FLD0168B + DISPLAY 'FLD0168B ==> ' FLD0168B + DISPLAY 'EXPECTED ==> ' XPC-FLD0168B. + IF FLD0168E NOT EQUAL XPC-FLD0168E + DISPLAY 'FLD0168E ==> ' FLD0168E + DISPLAY 'EXPECTED ==> ' XPC-FLD0168E. + IF FLD0169B (1:) NOT EQUAL XPC-FLD0169B + DISPLAY 'FLD0169B ==> ' FLD0169B + DISPLAY 'EXPECTED ==> ' XPC-FLD0169B. + IF FLD0169E NOT EQUAL XPC-FLD0169E + DISPLAY 'FLD0169E ==> ' FLD0169E + DISPLAY 'EXPECTED ==> ' XPC-FLD0169E. + IF FLD0170B (1:) NOT EQUAL XPC-FLD0170B + DISPLAY 'FLD0170B ==> ' FLD0170B + DISPLAY 'EXPECTED ==> ' XPC-FLD0170B. + IF FLD0170E NOT EQUAL XPC-FLD0170E + DISPLAY 'FLD0170E ==> ' FLD0170E + DISPLAY 'EXPECTED ==> ' XPC-FLD0170E. + IF FLD0171B (1:) NOT EQUAL XPC-FLD0171B + DISPLAY 'FLD0171B ==> ' FLD0171B + DISPLAY 'EXPECTED ==> ' XPC-FLD0171B. + IF FLD0171E NOT EQUAL XPC-FLD0171E + DISPLAY 'FLD0171E ==> ' FLD0171E + DISPLAY 'EXPECTED ==> ' XPC-FLD0171E. + IF FLD0172B (1:) NOT EQUAL XPC-FLD0172B + DISPLAY 'FLD0172B ==> ' FLD0172B + DISPLAY 'EXPECTED ==> ' XPC-FLD0172B. + IF FLD0172E NOT EQUAL XPC-FLD0172E + DISPLAY 'FLD0172E ==> ' FLD0172E + DISPLAY 'EXPECTED ==> ' XPC-FLD0172E. + IF FLD0173B (1:) NOT EQUAL XPC-FLD0173B + DISPLAY 'FLD0173B ==> ' FLD0173B + DISPLAY 'EXPECTED ==> ' XPC-FLD0173B. + IF FLD0173E NOT EQUAL XPC-FLD0173E + DISPLAY 'FLD0173E ==> ' FLD0173E + DISPLAY 'EXPECTED ==> ' XPC-FLD0173E. + IF FLD0174B (1:) NOT EQUAL XPC-FLD0174B + DISPLAY 'FLD0174B ==> ' FLD0174B + DISPLAY 'EXPECTED ==> ' XPC-FLD0174B. + IF FLD0174E NOT EQUAL XPC-FLD0174E + DISPLAY 'FLD0174E ==> ' FLD0174E + DISPLAY 'EXPECTED ==> ' XPC-FLD0174E. + IF FLD0175B (1:) NOT EQUAL XPC-FLD0175B + DISPLAY 'FLD0175B ==> ' FLD0175B + DISPLAY 'EXPECTED ==> ' XPC-FLD0175B. + IF FLD0175E NOT EQUAL XPC-FLD0175E + DISPLAY 'FLD0175E ==> ' FLD0175E + DISPLAY 'EXPECTED ==> ' XPC-FLD0175E. + IF FLD0176B (1:) NOT EQUAL XPC-FLD0176B + DISPLAY 'FLD0176B ==> ' FLD0176B + DISPLAY 'EXPECTED ==> ' XPC-FLD0176B. + IF FLD0176E NOT EQUAL XPC-FLD0176E + DISPLAY 'FLD0176E ==> ' FLD0176E + DISPLAY 'EXPECTED ==> ' XPC-FLD0176E. + IF FLD0177B (1:) NOT EQUAL XPC-FLD0177B + DISPLAY 'FLD0177B ==> ' FLD0177B + DISPLAY 'EXPECTED ==> ' XPC-FLD0177B. + IF FLD0177E NOT EQUAL XPC-FLD0177E + DISPLAY 'FLD0177E ==> ' FLD0177E + DISPLAY 'EXPECTED ==> ' XPC-FLD0177E. + IF FLD0178B (1:) NOT EQUAL XPC-FLD0178B + DISPLAY 'FLD0178B ==> ' FLD0178B + DISPLAY 'EXPECTED ==> ' XPC-FLD0178B. + IF FLD0178E NOT EQUAL XPC-FLD0178E + DISPLAY 'FLD0178E ==> ' FLD0178E + DISPLAY 'EXPECTED ==> ' XPC-FLD0178E. + IF FLD0179B (1:) NOT EQUAL XPC-FLD0179B + DISPLAY 'FLD0179B ==> ' FLD0179B + DISPLAY 'EXPECTED ==> ' XPC-FLD0179B. + IF FLD0179E NOT EQUAL XPC-FLD0179E + DISPLAY 'FLD0179E ==> ' FLD0179E + DISPLAY 'EXPECTED ==> ' XPC-FLD0179E. + IF FLD0180B (1:) NOT EQUAL XPC-FLD0180B + DISPLAY 'FLD0180B ==> ' FLD0180B + DISPLAY 'EXPECTED ==> ' XPC-FLD0180B. + IF FLD0180E NOT EQUAL XPC-FLD0180E + DISPLAY 'FLD0180E ==> ' FLD0180E + DISPLAY 'EXPECTED ==> ' XPC-FLD0180E. + IF FLD0181B (1:) NOT EQUAL XPC-FLD0181B + DISPLAY 'FLD0181B ==> ' FLD0181B + DISPLAY 'EXPECTED ==> ' XPC-FLD0181B. + IF FLD0181E NOT EQUAL XPC-FLD0181E + DISPLAY 'FLD0181E ==> ' FLD0181E + DISPLAY 'EXPECTED ==> ' XPC-FLD0181E. + IF FLD0182B (1:) NOT EQUAL XPC-FLD0182B + DISPLAY 'FLD0182B ==> ' FLD0182B + DISPLAY 'EXPECTED ==> ' XPC-FLD0182B. + IF FLD0182E NOT EQUAL XPC-FLD0182E + DISPLAY 'FLD0182E ==> ' FLD0182E + DISPLAY 'EXPECTED ==> ' XPC-FLD0182E. + IF FLD0183B (1:) NOT EQUAL XPC-FLD0183B + DISPLAY 'FLD0183B ==> ' FLD0183B + DISPLAY 'EXPECTED ==> ' XPC-FLD0183B. + IF FLD0183E NOT EQUAL XPC-FLD0183E + DISPLAY 'FLD0183E ==> ' FLD0183E + DISPLAY 'EXPECTED ==> ' XPC-FLD0183E. + IF FLD0184B (1:) NOT EQUAL XPC-FLD0184B + DISPLAY 'FLD0184B ==> ' FLD0184B + DISPLAY 'EXPECTED ==> ' XPC-FLD0184B. + IF FLD0184E NOT EQUAL XPC-FLD0184E + DISPLAY 'FLD0184E ==> ' FLD0184E + DISPLAY 'EXPECTED ==> ' XPC-FLD0184E. + IF FLD0185B (1:) NOT EQUAL XPC-FLD0185B + DISPLAY 'FLD0185B ==> ' FLD0185B + DISPLAY 'EXPECTED ==> ' XPC-FLD0185B. + IF FLD0185E NOT EQUAL XPC-FLD0185E + DISPLAY 'FLD0185E ==> ' FLD0185E + DISPLAY 'EXPECTED ==> ' XPC-FLD0185E. + IF FLD0186B (1:) NOT EQUAL XPC-FLD0186B + DISPLAY 'FLD0186B ==> ' FLD0186B + DISPLAY 'EXPECTED ==> ' XPC-FLD0186B. + IF FLD0186E NOT EQUAL XPC-FLD0186E + DISPLAY 'FLD0186E ==> ' FLD0186E + DISPLAY 'EXPECTED ==> ' XPC-FLD0186E. + IF FLD0187B (1:) NOT EQUAL XPC-FLD0187B + DISPLAY 'FLD0187B ==> ' FLD0187B + DISPLAY 'EXPECTED ==> ' XPC-FLD0187B. + IF FLD0187E NOT EQUAL XPC-FLD0187E + DISPLAY 'FLD0187E ==> ' FLD0187E + DISPLAY 'EXPECTED ==> ' XPC-FLD0187E. + IF FLD0188B (1:) NOT EQUAL XPC-FLD0188B + DISPLAY 'FLD0188B ==> ' FLD0188B + DISPLAY 'EXPECTED ==> ' XPC-FLD0188B. + IF FLD0188E NOT EQUAL XPC-FLD0188E + DISPLAY 'FLD0188E ==> ' FLD0188E + DISPLAY 'EXPECTED ==> ' XPC-FLD0188E. + IF FLD0189B (1:) NOT EQUAL XPC-FLD0189B + DISPLAY 'FLD0189B ==> ' FLD0189B + DISPLAY 'EXPECTED ==> ' XPC-FLD0189B. + IF FLD0189E NOT EQUAL XPC-FLD0189E + DISPLAY 'FLD0189E ==> ' FLD0189E + DISPLAY 'EXPECTED ==> ' XPC-FLD0189E. + IF FLD0190B (1:) NOT EQUAL XPC-FLD0190B + DISPLAY 'FLD0190B ==> ' FLD0190B + DISPLAY 'EXPECTED ==> ' XPC-FLD0190B. + IF FLD0190E NOT EQUAL XPC-FLD0190E + DISPLAY 'FLD0190E ==> ' FLD0190E + DISPLAY 'EXPECTED ==> ' XPC-FLD0190E. + IF FLD0191B (1:) NOT EQUAL XPC-FLD0191B + DISPLAY 'FLD0191B ==> ' FLD0191B + DISPLAY 'EXPECTED ==> ' XPC-FLD0191B. + IF FLD0191E NOT EQUAL XPC-FLD0191E + DISPLAY 'FLD0191E ==> ' FLD0191E + DISPLAY 'EXPECTED ==> ' XPC-FLD0191E. + IF FLD0192B (1:) NOT EQUAL XPC-FLD0192B + DISPLAY 'FLD0192B ==> ' FLD0192B + DISPLAY 'EXPECTED ==> ' XPC-FLD0192B. + IF FLD0192E NOT EQUAL XPC-FLD0192E + DISPLAY 'FLD0192E ==> ' FLD0192E + DISPLAY 'EXPECTED ==> ' XPC-FLD0192E. + IF FLD0193B (1:) NOT EQUAL XPC-FLD0193B + DISPLAY 'FLD0193B ==> ' FLD0193B + DISPLAY 'EXPECTED ==> ' XPC-FLD0193B. + IF FLD0193E NOT EQUAL XPC-FLD0193E + DISPLAY 'FLD0193E ==> ' FLD0193E + DISPLAY 'EXPECTED ==> ' XPC-FLD0193E. + IF FLD0194B (1:) NOT EQUAL XPC-FLD0194B + DISPLAY 'FLD0194B ==> ' FLD0194B + DISPLAY 'EXPECTED ==> ' XPC-FLD0194B. + IF FLD0194E NOT EQUAL XPC-FLD0194E + DISPLAY 'FLD0194E ==> ' FLD0194E + DISPLAY 'EXPECTED ==> ' XPC-FLD0194E. + IF FLD0195B (1:) NOT EQUAL XPC-FLD0195B + DISPLAY 'FLD0195B ==> ' FLD0195B + DISPLAY 'EXPECTED ==> ' XPC-FLD0195B. + IF FLD0195E NOT EQUAL XPC-FLD0195E + DISPLAY 'FLD0195E ==> ' FLD0195E + DISPLAY 'EXPECTED ==> ' XPC-FLD0195E. + IF FLD0196B (1:) NOT EQUAL XPC-FLD0196B + DISPLAY 'FLD0196B ==> ' FLD0196B + DISPLAY 'EXPECTED ==> ' XPC-FLD0196B. + IF FLD0196E NOT EQUAL XPC-FLD0196E + DISPLAY 'FLD0196E ==> ' FLD0196E + DISPLAY 'EXPECTED ==> ' XPC-FLD0196E. + IF FLD0197B (1:) NOT EQUAL XPC-FLD0197B + DISPLAY 'FLD0197B ==> ' FLD0197B + DISPLAY 'EXPECTED ==> ' XPC-FLD0197B. + IF FLD0197E NOT EQUAL XPC-FLD0197E + DISPLAY 'FLD0197E ==> ' FLD0197E + DISPLAY 'EXPECTED ==> ' XPC-FLD0197E. + IF FLD0198B (1:) NOT EQUAL XPC-FLD0198B + DISPLAY 'FLD0198B ==> ' FLD0198B + DISPLAY 'EXPECTED ==> ' XPC-FLD0198B. + IF FLD0198E NOT EQUAL XPC-FLD0198E + DISPLAY 'FLD0198E ==> ' FLD0198E + DISPLAY 'EXPECTED ==> ' XPC-FLD0198E. + IF FLD0199B (1:) NOT EQUAL XPC-FLD0199B + DISPLAY 'FLD0199B ==> ' FLD0199B + DISPLAY 'EXPECTED ==> ' XPC-FLD0199B. + IF FLD0199E NOT EQUAL XPC-FLD0199E + DISPLAY 'FLD0199E ==> ' FLD0199E + DISPLAY 'EXPECTED ==> ' XPC-FLD0199E. + IF FLD0200B (1:) NOT EQUAL XPC-FLD0200B + DISPLAY 'FLD0200B ==> ' FLD0200B + DISPLAY 'EXPECTED ==> ' XPC-FLD0200B. + IF FLD0200E NOT EQUAL XPC-FLD0200E + DISPLAY 'FLD0200E ==> ' FLD0200E + DISPLAY 'EXPECTED ==> ' XPC-FLD0200E. + IF FLD0201B (1:) NOT EQUAL XPC-FLD0201B + DISPLAY 'FLD0201B ==> ' FLD0201B + DISPLAY 'EXPECTED ==> ' XPC-FLD0201B. + IF FLD0201E NOT EQUAL XPC-FLD0201E + DISPLAY 'FLD0201E ==> ' FLD0201E + DISPLAY 'EXPECTED ==> ' XPC-FLD0201E. + IF FLD0202B (1:) NOT EQUAL XPC-FLD0202B + DISPLAY 'FLD0202B ==> ' FLD0202B + DISPLAY 'EXPECTED ==> ' XPC-FLD0202B. + IF FLD0202E NOT EQUAL XPC-FLD0202E + DISPLAY 'FLD0202E ==> ' FLD0202E + DISPLAY 'EXPECTED ==> ' XPC-FLD0202E. + IF FLD0203B (1:) NOT EQUAL XPC-FLD0203B + DISPLAY 'FLD0203B ==> ' FLD0203B + DISPLAY 'EXPECTED ==> ' XPC-FLD0203B. + IF FLD0203E NOT EQUAL XPC-FLD0203E + DISPLAY 'FLD0203E ==> ' FLD0203E + DISPLAY 'EXPECTED ==> ' XPC-FLD0203E. + IF FLD0204B (1:) NOT EQUAL XPC-FLD0204B + DISPLAY 'FLD0204B ==> ' FLD0204B + DISPLAY 'EXPECTED ==> ' XPC-FLD0204B. + IF FLD0204E NOT EQUAL XPC-FLD0204E + DISPLAY 'FLD0204E ==> ' FLD0204E + DISPLAY 'EXPECTED ==> ' XPC-FLD0204E. + IF FLD0205B (1:) NOT EQUAL XPC-FLD0205B + DISPLAY 'FLD0205B ==> ' FLD0205B + DISPLAY 'EXPECTED ==> ' XPC-FLD0205B. + IF FLD0205E NOT EQUAL XPC-FLD0205E + DISPLAY 'FLD0205E ==> ' FLD0205E + DISPLAY 'EXPECTED ==> ' XPC-FLD0205E. + IF FLD0206B (1:) NOT EQUAL XPC-FLD0206B + DISPLAY 'FLD0206B ==> ' FLD0206B + DISPLAY 'EXPECTED ==> ' XPC-FLD0206B. + IF FLD0206E NOT EQUAL XPC-FLD0206E + DISPLAY 'FLD0206E ==> ' FLD0206E + DISPLAY 'EXPECTED ==> ' XPC-FLD0206E. + IF FLD0207B (1:) NOT EQUAL XPC-FLD0207B + DISPLAY 'FLD0207B ==> ' FLD0207B + DISPLAY 'EXPECTED ==> ' XPC-FLD0207B. + IF FLD0207E NOT EQUAL XPC-FLD0207E + DISPLAY 'FLD0207E ==> ' FLD0207E + DISPLAY 'EXPECTED ==> ' XPC-FLD0207E. + IF FLD0208B (1:) NOT EQUAL XPC-FLD0208B + DISPLAY 'FLD0208B ==> ' FLD0208B + DISPLAY 'EXPECTED ==> ' XPC-FLD0208B. + IF FLD0208E NOT EQUAL XPC-FLD0208E + DISPLAY 'FLD0208E ==> ' FLD0208E + DISPLAY 'EXPECTED ==> ' XPC-FLD0208E. + IF FLD0209B (1:) NOT EQUAL XPC-FLD0209B + DISPLAY 'FLD0209B ==> ' FLD0209B + DISPLAY 'EXPECTED ==> ' XPC-FLD0209B. + IF FLD0209E NOT EQUAL XPC-FLD0209E + DISPLAY 'FLD0209E ==> ' FLD0209E + DISPLAY 'EXPECTED ==> ' XPC-FLD0209E. + IF FLD0210B (1:) NOT EQUAL XPC-FLD0210B + DISPLAY 'FLD0210B ==> ' FLD0210B + DISPLAY 'EXPECTED ==> ' XPC-FLD0210B. + IF FLD0210E NOT EQUAL XPC-FLD0210E + DISPLAY 'FLD0210E ==> ' FLD0210E + DISPLAY 'EXPECTED ==> ' XPC-FLD0210E. + IF FLD0211B (1:) NOT EQUAL XPC-FLD0211B + DISPLAY 'FLD0211B ==> ' FLD0211B + DISPLAY 'EXPECTED ==> ' XPC-FLD0211B. + IF FLD0211E NOT EQUAL XPC-FLD0211E + DISPLAY 'FLD0211E ==> ' FLD0211E + DISPLAY 'EXPECTED ==> ' XPC-FLD0211E. + IF FLD0212B (1:) NOT EQUAL XPC-FLD0212B + DISPLAY 'FLD0212B ==> ' FLD0212B + DISPLAY 'EXPECTED ==> ' XPC-FLD0212B. + IF FLD0212E NOT EQUAL XPC-FLD0212E + DISPLAY 'FLD0212E ==> ' FLD0212E + DISPLAY 'EXPECTED ==> ' XPC-FLD0212E. + IF FLD0213B (1:) NOT EQUAL XPC-FLD0213B + DISPLAY 'FLD0213B ==> ' FLD0213B + DISPLAY 'EXPECTED ==> ' XPC-FLD0213B. + IF FLD0213E NOT EQUAL XPC-FLD0213E + DISPLAY 'FLD0213E ==> ' FLD0213E + DISPLAY 'EXPECTED ==> ' XPC-FLD0213E. + IF FLD0214B (1:) NOT EQUAL XPC-FLD0214B + DISPLAY 'FLD0214B ==> ' FLD0214B + DISPLAY 'EXPECTED ==> ' XPC-FLD0214B. + IF FLD0214E NOT EQUAL XPC-FLD0214E + DISPLAY 'FLD0214E ==> ' FLD0214E + DISPLAY 'EXPECTED ==> ' XPC-FLD0214E. + IF FLD0215B (1:) NOT EQUAL XPC-FLD0215B + DISPLAY 'FLD0215B ==> ' FLD0215B + DISPLAY 'EXPECTED ==> ' XPC-FLD0215B. + IF FLD0215E NOT EQUAL XPC-FLD0215E + DISPLAY 'FLD0215E ==> ' FLD0215E + DISPLAY 'EXPECTED ==> ' XPC-FLD0215E. + IF FLD0216B (1:) NOT EQUAL XPC-FLD0216B + DISPLAY 'FLD0216B ==> ' FLD0216B + DISPLAY 'EXPECTED ==> ' XPC-FLD0216B. + IF FLD0216E NOT EQUAL XPC-FLD0216E + DISPLAY 'FLD0216E ==> ' FLD0216E + DISPLAY 'EXPECTED ==> ' XPC-FLD0216E. + IF FLD0217B (1:) NOT EQUAL XPC-FLD0217B + DISPLAY 'FLD0217B ==> ' FLD0217B + DISPLAY 'EXPECTED ==> ' XPC-FLD0217B. + IF FLD0217E NOT EQUAL XPC-FLD0217E + DISPLAY 'FLD0217E ==> ' FLD0217E + DISPLAY 'EXPECTED ==> ' XPC-FLD0217E. + IF FLD0218B (1:) NOT EQUAL XPC-FLD0218B + DISPLAY 'FLD0218B ==> ' FLD0218B + DISPLAY 'EXPECTED ==> ' XPC-FLD0218B. + IF FLD0218E NOT EQUAL XPC-FLD0218E + DISPLAY 'FLD0218E ==> ' FLD0218E + DISPLAY 'EXPECTED ==> ' XPC-FLD0218E. + IF FLD0219B (1:) NOT EQUAL XPC-FLD0219B + DISPLAY 'FLD0219B ==> ' FLD0219B + DISPLAY 'EXPECTED ==> ' XPC-FLD0219B. + IF FLD0219E NOT EQUAL XPC-FLD0219E + DISPLAY 'FLD0219E ==> ' FLD0219E + DISPLAY 'EXPECTED ==> ' XPC-FLD0219E. + IF FLD0220B (1:) NOT EQUAL XPC-FLD0220B + DISPLAY 'FLD0220B ==> ' FLD0220B + DISPLAY 'EXPECTED ==> ' XPC-FLD0220B. + IF FLD0220E NOT EQUAL XPC-FLD0220E + DISPLAY 'FLD0220E ==> ' FLD0220E + DISPLAY 'EXPECTED ==> ' XPC-FLD0220E. + IF FLD0221B (1:) NOT EQUAL XPC-FLD0221B + DISPLAY 'FLD0221B ==> ' FLD0221B + DISPLAY 'EXPECTED ==> ' XPC-FLD0221B. + IF FLD0221E NOT EQUAL XPC-FLD0221E + DISPLAY 'FLD0221E ==> ' FLD0221E + DISPLAY 'EXPECTED ==> ' XPC-FLD0221E. + IF FLD0222B (1:) NOT EQUAL XPC-FLD0222B + DISPLAY 'FLD0222B ==> ' FLD0222B + DISPLAY 'EXPECTED ==> ' XPC-FLD0222B. + IF FLD0222E NOT EQUAL XPC-FLD0222E + DISPLAY 'FLD0222E ==> ' FLD0222E + DISPLAY 'EXPECTED ==> ' XPC-FLD0222E. + IF FLD0223B (1:) NOT EQUAL XPC-FLD0223B + DISPLAY 'FLD0223B ==> ' FLD0223B + DISPLAY 'EXPECTED ==> ' XPC-FLD0223B. + IF FLD0223E NOT EQUAL XPC-FLD0223E + DISPLAY 'FLD0223E ==> ' FLD0223E + DISPLAY 'EXPECTED ==> ' XPC-FLD0223E. + IF FLD0224B (1:) NOT EQUAL XPC-FLD0224B + DISPLAY 'FLD0224B ==> ' FLD0224B + DISPLAY 'EXPECTED ==> ' XPC-FLD0224B. + IF FLD0224E NOT EQUAL XPC-FLD0224E + DISPLAY 'FLD0224E ==> ' FLD0224E + DISPLAY 'EXPECTED ==> ' XPC-FLD0224E. + IF FLD0225B (1:) NOT EQUAL XPC-FLD0225B + DISPLAY 'FLD0225B ==> ' FLD0225B + DISPLAY 'EXPECTED ==> ' XPC-FLD0225B. + IF FLD0225E NOT EQUAL XPC-FLD0225E + DISPLAY 'FLD0225E ==> ' FLD0225E + DISPLAY 'EXPECTED ==> ' XPC-FLD0225E. + IF FLD0226B (1:) NOT EQUAL XPC-FLD0226B + DISPLAY 'FLD0226B ==> ' FLD0226B + DISPLAY 'EXPECTED ==> ' XPC-FLD0226B. + IF FLD0226E NOT EQUAL XPC-FLD0226E + DISPLAY 'FLD0226E ==> ' FLD0226E + DISPLAY 'EXPECTED ==> ' XPC-FLD0226E. + IF FLD0227B (1:) NOT EQUAL XPC-FLD0227B + DISPLAY 'FLD0227B ==> ' FLD0227B + DISPLAY 'EXPECTED ==> ' XPC-FLD0227B. + IF FLD0227E NOT EQUAL XPC-FLD0227E + DISPLAY 'FLD0227E ==> ' FLD0227E + DISPLAY 'EXPECTED ==> ' XPC-FLD0227E. + IF FLD0228B (1:) NOT EQUAL XPC-FLD0228B + DISPLAY 'FLD0228B ==> ' FLD0228B + DISPLAY 'EXPECTED ==> ' XPC-FLD0228B. + IF FLD0228E NOT EQUAL XPC-FLD0228E + DISPLAY 'FLD0228E ==> ' FLD0228E + DISPLAY 'EXPECTED ==> ' XPC-FLD0228E. + IF FLD0229B (1:) NOT EQUAL XPC-FLD0229B + DISPLAY 'FLD0229B ==> ' FLD0229B + DISPLAY 'EXPECTED ==> ' XPC-FLD0229B. + IF FLD0229E NOT EQUAL XPC-FLD0229E + DISPLAY 'FLD0229E ==> ' FLD0229E + DISPLAY 'EXPECTED ==> ' XPC-FLD0229E. + IF FLD0230B (1:) NOT EQUAL XPC-FLD0230B + DISPLAY 'FLD0230B ==> ' FLD0230B + DISPLAY 'EXPECTED ==> ' XPC-FLD0230B. + IF FLD0230E NOT EQUAL XPC-FLD0230E + DISPLAY 'FLD0230E ==> ' FLD0230E + DISPLAY 'EXPECTED ==> ' XPC-FLD0230E. + IF FLD0231B (1:) NOT EQUAL XPC-FLD0231B + DISPLAY 'FLD0231B ==> ' FLD0231B + DISPLAY 'EXPECTED ==> ' XPC-FLD0231B. + IF FLD0231E NOT EQUAL XPC-FLD0231E + DISPLAY 'FLD0231E ==> ' FLD0231E + DISPLAY 'EXPECTED ==> ' XPC-FLD0231E. + IF FLD0232B (1:) NOT EQUAL XPC-FLD0232B + DISPLAY 'FLD0232B ==> ' FLD0232B + DISPLAY 'EXPECTED ==> ' XPC-FLD0232B. + IF FLD0232E NOT EQUAL XPC-FLD0232E + DISPLAY 'FLD0232E ==> ' FLD0232E + DISPLAY 'EXPECTED ==> ' XPC-FLD0232E. + IF FLD0233B (1:) NOT EQUAL XPC-FLD0233B + DISPLAY 'FLD0233B ==> ' FLD0233B + DISPLAY 'EXPECTED ==> ' XPC-FLD0233B. + IF FLD0233E NOT EQUAL XPC-FLD0233E + DISPLAY 'FLD0233E ==> ' FLD0233E + DISPLAY 'EXPECTED ==> ' XPC-FLD0233E. + IF FLD0234B (1:) NOT EQUAL XPC-FLD0234B + DISPLAY 'FLD0234B ==> ' FLD0234B + DISPLAY 'EXPECTED ==> ' XPC-FLD0234B. + IF FLD0234E NOT EQUAL XPC-FLD0234E + DISPLAY 'FLD0234E ==> ' FLD0234E + DISPLAY 'EXPECTED ==> ' XPC-FLD0234E. + IF FLD0235B (1:) NOT EQUAL XPC-FLD0235B + DISPLAY 'FLD0235B ==> ' FLD0235B + DISPLAY 'EXPECTED ==> ' XPC-FLD0235B. + IF FLD0235E NOT EQUAL XPC-FLD0235E + DISPLAY 'FLD0235E ==> ' FLD0235E + DISPLAY 'EXPECTED ==> ' XPC-FLD0235E. + IF FLD0236B (1:) NOT EQUAL XPC-FLD0236B + DISPLAY 'FLD0236B ==> ' FLD0236B + DISPLAY 'EXPECTED ==> ' XPC-FLD0236B. + IF FLD0236E NOT EQUAL XPC-FLD0236E + DISPLAY 'FLD0236E ==> ' FLD0236E + DISPLAY 'EXPECTED ==> ' XPC-FLD0236E. + IF FLD0237B (1:) NOT EQUAL XPC-FLD0237B + DISPLAY 'FLD0237B ==> ' FLD0237B + DISPLAY 'EXPECTED ==> ' XPC-FLD0237B. + IF FLD0237E NOT EQUAL XPC-FLD0237E + DISPLAY 'FLD0237E ==> ' FLD0237E + DISPLAY 'EXPECTED ==> ' XPC-FLD0237E. + IF FLD0238B (1:) NOT EQUAL XPC-FLD0238B + DISPLAY 'FLD0238B ==> ' FLD0238B + DISPLAY 'EXPECTED ==> ' XPC-FLD0238B. + IF FLD0238E NOT EQUAL XPC-FLD0238E + DISPLAY 'FLD0238E ==> ' FLD0238E + DISPLAY 'EXPECTED ==> ' XPC-FLD0238E. + IF FLD0239B (1:) NOT EQUAL XPC-FLD0239B + DISPLAY 'FLD0239B ==> ' FLD0239B + DISPLAY 'EXPECTED ==> ' XPC-FLD0239B. + IF FLD0239E NOT EQUAL XPC-FLD0239E + DISPLAY 'FLD0239E ==> ' FLD0239E + DISPLAY 'EXPECTED ==> ' XPC-FLD0239E. + IF FLD0240B (1:) NOT EQUAL XPC-FLD0240B + DISPLAY 'FLD0240B ==> ' FLD0240B + DISPLAY 'EXPECTED ==> ' XPC-FLD0240B. + IF FLD0240E NOT EQUAL XPC-FLD0240E + DISPLAY 'FLD0240E ==> ' FLD0240E + DISPLAY 'EXPECTED ==> ' XPC-FLD0240E. + IF FLD0241B (1:) NOT EQUAL XPC-FLD0241B + DISPLAY 'FLD0241B ==> ' FLD0241B + DISPLAY 'EXPECTED ==> ' XPC-FLD0241B. + IF FLD0241E NOT EQUAL XPC-FLD0241E + DISPLAY 'FLD0241E ==> ' FLD0241E + DISPLAY 'EXPECTED ==> ' XPC-FLD0241E. + IF FLD0242B (1:) NOT EQUAL XPC-FLD0242B + DISPLAY 'FLD0242B ==> ' FLD0242B + DISPLAY 'EXPECTED ==> ' XPC-FLD0242B. + IF FLD0242E NOT EQUAL XPC-FLD0242E + DISPLAY 'FLD0242E ==> ' FLD0242E + DISPLAY 'EXPECTED ==> ' XPC-FLD0242E. + IF FLD0243B (1:) NOT EQUAL XPC-FLD0243B + DISPLAY 'FLD0243B ==> ' FLD0243B + DISPLAY 'EXPECTED ==> ' XPC-FLD0243B. + IF FLD0243E NOT EQUAL XPC-FLD0243E + DISPLAY 'FLD0243E ==> ' FLD0243E + DISPLAY 'EXPECTED ==> ' XPC-FLD0243E. + IF FLD0244B (1:) NOT EQUAL XPC-FLD0244B + DISPLAY 'FLD0244B ==> ' FLD0244B + DISPLAY 'EXPECTED ==> ' XPC-FLD0244B. + IF FLD0244E NOT EQUAL XPC-FLD0244E + DISPLAY 'FLD0244E ==> ' FLD0244E + DISPLAY 'EXPECTED ==> ' XPC-FLD0244E. + IF FLD0245B (1:) NOT EQUAL XPC-FLD0245B + DISPLAY 'FLD0245B ==> ' FLD0245B + DISPLAY 'EXPECTED ==> ' XPC-FLD0245B. + IF FLD0245E NOT EQUAL XPC-FLD0245E + DISPLAY 'FLD0245E ==> ' FLD0245E + DISPLAY 'EXPECTED ==> ' XPC-FLD0245E. + IF FLD0246B (1:) NOT EQUAL XPC-FLD0246B + DISPLAY 'FLD0246B ==> ' FLD0246B + DISPLAY 'EXPECTED ==> ' XPC-FLD0246B. + IF FLD0246E NOT EQUAL XPC-FLD0246E + DISPLAY 'FLD0246E ==> ' FLD0246E + DISPLAY 'EXPECTED ==> ' XPC-FLD0246E. + IF FLD0247B (1:) NOT EQUAL XPC-FLD0247B + DISPLAY 'FLD0247B ==> ' FLD0247B + DISPLAY 'EXPECTED ==> ' XPC-FLD0247B. + IF FLD0247E NOT EQUAL XPC-FLD0247E + DISPLAY 'FLD0247E ==> ' FLD0247E + DISPLAY 'EXPECTED ==> ' XPC-FLD0247E. + IF FLD0248B (1:) NOT EQUAL XPC-FLD0248B + DISPLAY 'FLD0248B ==> ' FLD0248B + DISPLAY 'EXPECTED ==> ' XPC-FLD0248B. + IF FLD0248E NOT EQUAL XPC-FLD0248E + DISPLAY 'FLD0248E ==> ' FLD0248E + DISPLAY 'EXPECTED ==> ' XPC-FLD0248E. + IF FLD0249B (1:) NOT EQUAL XPC-FLD0249B + DISPLAY 'FLD0249B ==> ' FLD0249B + DISPLAY 'EXPECTED ==> ' XPC-FLD0249B. + IF FLD0249E NOT EQUAL XPC-FLD0249E + DISPLAY 'FLD0249E ==> ' FLD0249E + DISPLAY 'EXPECTED ==> ' XPC-FLD0249E. + IF FLD0250B (1:) NOT EQUAL XPC-FLD0250B + DISPLAY 'FLD0250B ==> ' FLD0250B + DISPLAY 'EXPECTED ==> ' XPC-FLD0250B. + IF FLD0250E NOT EQUAL XPC-FLD0250E + DISPLAY 'FLD0250E ==> ' FLD0250E + DISPLAY 'EXPECTED ==> ' XPC-FLD0250E. + IF FLD0251B (1:) NOT EQUAL XPC-FLD0251B + DISPLAY 'FLD0251B ==> ' FLD0251B + DISPLAY 'EXPECTED ==> ' XPC-FLD0251B. + IF FLD0251E NOT EQUAL XPC-FLD0251E + DISPLAY 'FLD0251E ==> ' FLD0251E + DISPLAY 'EXPECTED ==> ' XPC-FLD0251E. + IF FLD0252B (1:) NOT EQUAL XPC-FLD0252B + DISPLAY 'FLD0252B ==> ' FLD0252B + DISPLAY 'EXPECTED ==> ' XPC-FLD0252B. + IF FLD0252E NOT EQUAL XPC-FLD0252E + DISPLAY 'FLD0252E ==> ' FLD0252E + DISPLAY 'EXPECTED ==> ' XPC-FLD0252E. + IF FLD0253B (1:) NOT EQUAL XPC-FLD0253B + DISPLAY 'FLD0253B ==> ' FLD0253B + DISPLAY 'EXPECTED ==> ' XPC-FLD0253B. + IF FLD0253E NOT EQUAL XPC-FLD0253E + DISPLAY 'FLD0253E ==> ' FLD0253E + DISPLAY 'EXPECTED ==> ' XPC-FLD0253E. + IF FLD0254B (1:) NOT EQUAL XPC-FLD0254B + DISPLAY 'FLD0254B ==> ' FLD0254B + DISPLAY 'EXPECTED ==> ' XPC-FLD0254B. + IF FLD0254E NOT EQUAL XPC-FLD0254E + DISPLAY 'FLD0254E ==> ' FLD0254E + DISPLAY 'EXPECTED ==> ' XPC-FLD0254E. + IF FLD0255B (1:) NOT EQUAL XPC-FLD0255B + DISPLAY 'FLD0255B ==> ' FLD0255B + DISPLAY 'EXPECTED ==> ' XPC-FLD0255B. + IF FLD0255E NOT EQUAL XPC-FLD0255E + DISPLAY 'FLD0255E ==> ' FLD0255E + DISPLAY 'EXPECTED ==> ' XPC-FLD0255E. + IF FLD0256B (1:) NOT EQUAL XPC-FLD0256B + DISPLAY 'FLD0256B ==> ' FLD0256B + DISPLAY 'EXPECTED ==> ' XPC-FLD0256B. + IF FLD0256E NOT EQUAL XPC-FLD0256E + DISPLAY 'FLD0256E ==> ' FLD0256E + DISPLAY 'EXPECTED ==> ' XPC-FLD0256E. + IF FLD0257B (1:) NOT EQUAL XPC-FLD0257B + DISPLAY 'FLD0257B ==> ' FLD0257B + DISPLAY 'EXPECTED ==> ' XPC-FLD0257B. + IF FLD0257E NOT EQUAL XPC-FLD0257E + DISPLAY 'FLD0257E ==> ' FLD0257E + DISPLAY 'EXPECTED ==> ' XPC-FLD0257E. + IF FLD0258B (1:) NOT EQUAL XPC-FLD0258B + DISPLAY 'FLD0258B ==> ' FLD0258B + DISPLAY 'EXPECTED ==> ' XPC-FLD0258B. + IF FLD0258E NOT EQUAL XPC-FLD0258E + DISPLAY 'FLD0258E ==> ' FLD0258E + DISPLAY 'EXPECTED ==> ' XPC-FLD0258E. + IF FLD0259B (1:) NOT EQUAL XPC-FLD0259B + DISPLAY 'FLD0259B ==> ' FLD0259B + DISPLAY 'EXPECTED ==> ' XPC-FLD0259B. + IF FLD0259E NOT EQUAL XPC-FLD0259E + DISPLAY 'FLD0259E ==> ' FLD0259E + DISPLAY 'EXPECTED ==> ' XPC-FLD0259E. + IF FLD0260B (1:) NOT EQUAL XPC-FLD0260B + DISPLAY 'FLD0260B ==> ' FLD0260B + DISPLAY 'EXPECTED ==> ' XPC-FLD0260B. + IF FLD0260E NOT EQUAL XPC-FLD0260E + DISPLAY 'FLD0260E ==> ' FLD0260E + DISPLAY 'EXPECTED ==> ' XPC-FLD0260E. + IF FLD0261B (1:) NOT EQUAL XPC-FLD0261B + DISPLAY 'FLD0261B ==> ' FLD0261B + DISPLAY 'EXPECTED ==> ' XPC-FLD0261B. + IF FLD0261E NOT EQUAL XPC-FLD0261E + DISPLAY 'FLD0261E ==> ' FLD0261E + DISPLAY 'EXPECTED ==> ' XPC-FLD0261E. + IF FLD0262B (1:) NOT EQUAL XPC-FLD0262B + DISPLAY 'FLD0262B ==> ' FLD0262B + DISPLAY 'EXPECTED ==> ' XPC-FLD0262B. + IF FLD0262E NOT EQUAL XPC-FLD0262E + DISPLAY 'FLD0262E ==> ' FLD0262E + DISPLAY 'EXPECTED ==> ' XPC-FLD0262E. + IF FLD0263B (1:) NOT EQUAL XPC-FLD0263B + DISPLAY 'FLD0263B ==> ' FLD0263B + DISPLAY 'EXPECTED ==> ' XPC-FLD0263B. + IF FLD0263E NOT EQUAL XPC-FLD0263E + DISPLAY 'FLD0263E ==> ' FLD0263E + DISPLAY 'EXPECTED ==> ' XPC-FLD0263E. + IF FLD0264B (1:) NOT EQUAL XPC-FLD0264B + DISPLAY 'FLD0264B ==> ' FLD0264B + DISPLAY 'EXPECTED ==> ' XPC-FLD0264B. + IF FLD0264E NOT EQUAL XPC-FLD0264E + DISPLAY 'FLD0264E ==> ' FLD0264E + DISPLAY 'EXPECTED ==> ' XPC-FLD0264E. + IF FLD0265B (1:) NOT EQUAL XPC-FLD0265B + DISPLAY 'FLD0265B ==> ' FLD0265B + DISPLAY 'EXPECTED ==> ' XPC-FLD0265B. + IF FLD0265E NOT EQUAL XPC-FLD0265E + DISPLAY 'FLD0265E ==> ' FLD0265E + DISPLAY 'EXPECTED ==> ' XPC-FLD0265E. + IF FLD0266B (1:) NOT EQUAL XPC-FLD0266B + DISPLAY 'FLD0266B ==> ' FLD0266B + DISPLAY 'EXPECTED ==> ' XPC-FLD0266B. + IF FLD0266E NOT EQUAL XPC-FLD0266E + DISPLAY 'FLD0266E ==> ' FLD0266E + DISPLAY 'EXPECTED ==> ' XPC-FLD0266E. + IF FLD0267B (1:) NOT EQUAL XPC-FLD0267B + DISPLAY 'FLD0267B ==> ' FLD0267B + DISPLAY 'EXPECTED ==> ' XPC-FLD0267B. + IF FLD0267E NOT EQUAL XPC-FLD0267E + DISPLAY 'FLD0267E ==> ' FLD0267E + DISPLAY 'EXPECTED ==> ' XPC-FLD0267E. + IF FLD0268B (1:) NOT EQUAL XPC-FLD0268B + DISPLAY 'FLD0268B ==> ' FLD0268B + DISPLAY 'EXPECTED ==> ' XPC-FLD0268B. + IF FLD0268E NOT EQUAL XPC-FLD0268E + DISPLAY 'FLD0268E ==> ' FLD0268E + DISPLAY 'EXPECTED ==> ' XPC-FLD0268E. + IF FLD0269B (1:) NOT EQUAL XPC-FLD0269B + DISPLAY 'FLD0269B ==> ' FLD0269B + DISPLAY 'EXPECTED ==> ' XPC-FLD0269B. + IF FLD0269E NOT EQUAL XPC-FLD0269E + DISPLAY 'FLD0269E ==> ' FLD0269E + DISPLAY 'EXPECTED ==> ' XPC-FLD0269E. + IF FLD0270B (1:) NOT EQUAL XPC-FLD0270B + DISPLAY 'FLD0270B ==> ' FLD0270B + DISPLAY 'EXPECTED ==> ' XPC-FLD0270B. + IF FLD0270E NOT EQUAL XPC-FLD0270E + DISPLAY 'FLD0270E ==> ' FLD0270E + DISPLAY 'EXPECTED ==> ' XPC-FLD0270E. + IF FLD0271B (1:) NOT EQUAL XPC-FLD0271B + DISPLAY 'FLD0271B ==> ' FLD0271B + DISPLAY 'EXPECTED ==> ' XPC-FLD0271B. + IF FLD0271E NOT EQUAL XPC-FLD0271E + DISPLAY 'FLD0271E ==> ' FLD0271E + DISPLAY 'EXPECTED ==> ' XPC-FLD0271E. + IF FLD0272B (1:) NOT EQUAL XPC-FLD0272B + DISPLAY 'FLD0272B ==> ' FLD0272B + DISPLAY 'EXPECTED ==> ' XPC-FLD0272B. + IF FLD0272E NOT EQUAL XPC-FLD0272E + DISPLAY 'FLD0272E ==> ' FLD0272E + DISPLAY 'EXPECTED ==> ' XPC-FLD0272E. + IF FLD0273B (1:) NOT EQUAL XPC-FLD0273B + DISPLAY 'FLD0273B ==> ' FLD0273B + DISPLAY 'EXPECTED ==> ' XPC-FLD0273B. + IF FLD0273E NOT EQUAL XPC-FLD0273E + DISPLAY 'FLD0273E ==> ' FLD0273E + DISPLAY 'EXPECTED ==> ' XPC-FLD0273E. + IF FLD0274B (1:) NOT EQUAL XPC-FLD0274B + DISPLAY 'FLD0274B ==> ' FLD0274B + DISPLAY 'EXPECTED ==> ' XPC-FLD0274B. + IF FLD0274E NOT EQUAL XPC-FLD0274E + DISPLAY 'FLD0274E ==> ' FLD0274E + DISPLAY 'EXPECTED ==> ' XPC-FLD0274E. + IF FLD0275B (1:) NOT EQUAL XPC-FLD0275B + DISPLAY 'FLD0275B ==> ' FLD0275B + DISPLAY 'EXPECTED ==> ' XPC-FLD0275B. + IF FLD0275E NOT EQUAL XPC-FLD0275E + DISPLAY 'FLD0275E ==> ' FLD0275E + DISPLAY 'EXPECTED ==> ' XPC-FLD0275E. + IF FLD0276B (1:) NOT EQUAL XPC-FLD0276B + DISPLAY 'FLD0276B ==> ' FLD0276B + DISPLAY 'EXPECTED ==> ' XPC-FLD0276B. + IF FLD0276E NOT EQUAL XPC-FLD0276E + DISPLAY 'FLD0276E ==> ' FLD0276E + DISPLAY 'EXPECTED ==> ' XPC-FLD0276E. + IF FLD0277B (1:) NOT EQUAL XPC-FLD0277B + DISPLAY 'FLD0277B ==> ' FLD0277B + DISPLAY 'EXPECTED ==> ' XPC-FLD0277B. + IF FLD0277E NOT EQUAL XPC-FLD0277E + DISPLAY 'FLD0277E ==> ' FLD0277E + DISPLAY 'EXPECTED ==> ' XPC-FLD0277E. + IF FLD0278B (1:) NOT EQUAL XPC-FLD0278B + DISPLAY 'FLD0278B ==> ' FLD0278B + DISPLAY 'EXPECTED ==> ' XPC-FLD0278B. + IF FLD0278E NOT EQUAL XPC-FLD0278E + DISPLAY 'FLD0278E ==> ' FLD0278E + DISPLAY 'EXPECTED ==> ' XPC-FLD0278E. + IF FLD0279B (1:) NOT EQUAL XPC-FLD0279B + DISPLAY 'FLD0279B ==> ' FLD0279B + DISPLAY 'EXPECTED ==> ' XPC-FLD0279B. + IF FLD0279E NOT EQUAL XPC-FLD0279E + DISPLAY 'FLD0279E ==> ' FLD0279E + DISPLAY 'EXPECTED ==> ' XPC-FLD0279E. + IF FLD0280B (1:) NOT EQUAL XPC-FLD0280B + DISPLAY 'FLD0280B ==> ' FLD0280B + DISPLAY 'EXPECTED ==> ' XPC-FLD0280B. + IF FLD0280E NOT EQUAL XPC-FLD0280E + DISPLAY 'FLD0280E ==> ' FLD0280E + DISPLAY 'EXPECTED ==> ' XPC-FLD0280E. + IF FLD0281B (1:) NOT EQUAL XPC-FLD0281B + DISPLAY 'FLD0281B ==> ' FLD0281B + DISPLAY 'EXPECTED ==> ' XPC-FLD0281B. + IF FLD0281E NOT EQUAL XPC-FLD0281E + DISPLAY 'FLD0281E ==> ' FLD0281E + DISPLAY 'EXPECTED ==> ' XPC-FLD0281E. + IF FLD0282B (1:) NOT EQUAL XPC-FLD0282B + DISPLAY 'FLD0282B ==> ' FLD0282B + DISPLAY 'EXPECTED ==> ' XPC-FLD0282B. + IF FLD0282E NOT EQUAL XPC-FLD0282E + DISPLAY 'FLD0282E ==> ' FLD0282E + DISPLAY 'EXPECTED ==> ' XPC-FLD0282E. + IF FLD0283B (1:) NOT EQUAL XPC-FLD0283B + DISPLAY 'FLD0283B ==> ' FLD0283B + DISPLAY 'EXPECTED ==> ' XPC-FLD0283B. + IF FLD0283E NOT EQUAL XPC-FLD0283E + DISPLAY 'FLD0283E ==> ' FLD0283E + DISPLAY 'EXPECTED ==> ' XPC-FLD0283E. + IF FLD0284B (1:) NOT EQUAL XPC-FLD0284B + DISPLAY 'FLD0284B ==> ' FLD0284B + DISPLAY 'EXPECTED ==> ' XPC-FLD0284B. + IF FLD0284E NOT EQUAL XPC-FLD0284E + DISPLAY 'FLD0284E ==> ' FLD0284E + DISPLAY 'EXPECTED ==> ' XPC-FLD0284E. + IF FLD0285B (1:) NOT EQUAL XPC-FLD0285B + DISPLAY 'FLD0285B ==> ' FLD0285B + DISPLAY 'EXPECTED ==> ' XPC-FLD0285B. + IF FLD0285E NOT EQUAL XPC-FLD0285E + DISPLAY 'FLD0285E ==> ' FLD0285E + DISPLAY 'EXPECTED ==> ' XPC-FLD0285E. + IF FLD0286B (1:) NOT EQUAL XPC-FLD0286B + DISPLAY 'FLD0286B ==> ' FLD0286B + DISPLAY 'EXPECTED ==> ' XPC-FLD0286B. + IF FLD0286E NOT EQUAL XPC-FLD0286E + DISPLAY 'FLD0286E ==> ' FLD0286E + DISPLAY 'EXPECTED ==> ' XPC-FLD0286E. + IF FLD0287B (1:) NOT EQUAL XPC-FLD0287B + DISPLAY 'FLD0287B ==> ' FLD0287B + DISPLAY 'EXPECTED ==> ' XPC-FLD0287B. + IF FLD0287E NOT EQUAL XPC-FLD0287E + DISPLAY 'FLD0287E ==> ' FLD0287E + DISPLAY 'EXPECTED ==> ' XPC-FLD0287E. + IF FLD0288B (1:) NOT EQUAL XPC-FLD0288B + DISPLAY 'FLD0288B ==> ' FLD0288B + DISPLAY 'EXPECTED ==> ' XPC-FLD0288B. + IF FLD0288E NOT EQUAL XPC-FLD0288E + DISPLAY 'FLD0288E ==> ' FLD0288E + DISPLAY 'EXPECTED ==> ' XPC-FLD0288E. + IF FLD0289B (1:) NOT EQUAL XPC-FLD0289B + DISPLAY 'FLD0289B ==> ' FLD0289B + DISPLAY 'EXPECTED ==> ' XPC-FLD0289B. + IF FLD0289E NOT EQUAL XPC-FLD0289E + DISPLAY 'FLD0289E ==> ' FLD0289E + DISPLAY 'EXPECTED ==> ' XPC-FLD0289E. + IF FLD0290B (1:) NOT EQUAL XPC-FLD0290B + DISPLAY 'FLD0290B ==> ' FLD0290B + DISPLAY 'EXPECTED ==> ' XPC-FLD0290B. + IF FLD0290E NOT EQUAL XPC-FLD0290E + DISPLAY 'FLD0290E ==> ' FLD0290E + DISPLAY 'EXPECTED ==> ' XPC-FLD0290E. + IF FLD0291B (1:) NOT EQUAL XPC-FLD0291B + DISPLAY 'FLD0291B ==> ' FLD0291B + DISPLAY 'EXPECTED ==> ' XPC-FLD0291B. + IF FLD0291E NOT EQUAL XPC-FLD0291E + DISPLAY 'FLD0291E ==> ' FLD0291E + DISPLAY 'EXPECTED ==> ' XPC-FLD0291E. + IF FLD0292B (1:) NOT EQUAL XPC-FLD0292B + DISPLAY 'FLD0292B ==> ' FLD0292B + DISPLAY 'EXPECTED ==> ' XPC-FLD0292B. + IF FLD0292E NOT EQUAL XPC-FLD0292E + DISPLAY 'FLD0292E ==> ' FLD0292E + DISPLAY 'EXPECTED ==> ' XPC-FLD0292E. + IF FLD0293B (1:) NOT EQUAL XPC-FLD0293B + DISPLAY 'FLD0293B ==> ' FLD0293B + DISPLAY 'EXPECTED ==> ' XPC-FLD0293B. + IF FLD0293E NOT EQUAL XPC-FLD0293E + DISPLAY 'FLD0293E ==> ' FLD0293E + DISPLAY 'EXPECTED ==> ' XPC-FLD0293E. + IF FLD0294B (1:) NOT EQUAL XPC-FLD0294B + DISPLAY 'FLD0294B ==> ' FLD0294B + DISPLAY 'EXPECTED ==> ' XPC-FLD0294B. + IF FLD0294E NOT EQUAL XPC-FLD0294E + DISPLAY 'FLD0294E ==> ' FLD0294E + DISPLAY 'EXPECTED ==> ' XPC-FLD0294E. + IF FLD0295B (1:) NOT EQUAL XPC-FLD0295B + DISPLAY 'FLD0295B ==> ' FLD0295B + DISPLAY 'EXPECTED ==> ' XPC-FLD0295B. + IF FLD0295E NOT EQUAL XPC-FLD0295E + DISPLAY 'FLD0295E ==> ' FLD0295E + DISPLAY 'EXPECTED ==> ' XPC-FLD0295E. + IF FLD0296B (1:) NOT EQUAL XPC-FLD0296B + DISPLAY 'FLD0296B ==> ' FLD0296B + DISPLAY 'EXPECTED ==> ' XPC-FLD0296B. + IF FLD0296E NOT EQUAL XPC-FLD0296E + DISPLAY 'FLD0296E ==> ' FLD0296E + DISPLAY 'EXPECTED ==> ' XPC-FLD0296E. + IF FLD0297B (1:) NOT EQUAL XPC-FLD0297B + DISPLAY 'FLD0297B ==> ' FLD0297B + DISPLAY 'EXPECTED ==> ' XPC-FLD0297B. + IF FLD0297E NOT EQUAL XPC-FLD0297E + DISPLAY 'FLD0297E ==> ' FLD0297E + DISPLAY 'EXPECTED ==> ' XPC-FLD0297E. + IF FLD0298B (1:) NOT EQUAL XPC-FLD0298B + DISPLAY 'FLD0298B ==> ' FLD0298B + DISPLAY 'EXPECTED ==> ' XPC-FLD0298B. + IF FLD0298E NOT EQUAL XPC-FLD0298E + DISPLAY 'FLD0298E ==> ' FLD0298E + DISPLAY 'EXPECTED ==> ' XPC-FLD0298E. + IF FLD0299B (1:) NOT EQUAL XPC-FLD0299B + DISPLAY 'FLD0299B ==> ' FLD0299B + DISPLAY 'EXPECTED ==> ' XPC-FLD0299B. + IF FLD0299E NOT EQUAL XPC-FLD0299E + DISPLAY 'FLD0299E ==> ' FLD0299E + DISPLAY 'EXPECTED ==> ' XPC-FLD0299E. + IF FLD0300B (1:) NOT EQUAL XPC-FLD0300B + DISPLAY 'FLD0300B ==> ' FLD0300B + DISPLAY 'EXPECTED ==> ' XPC-FLD0300B. + IF FLD0300E NOT EQUAL XPC-FLD0300E + DISPLAY 'FLD0300E ==> ' FLD0300E + DISPLAY 'EXPECTED ==> ' XPC-FLD0300E. + IF FLD0301B (1:) NOT EQUAL XPC-FLD0301B + DISPLAY 'FLD0301B ==> ' FLD0301B + DISPLAY 'EXPECTED ==> ' XPC-FLD0301B. + IF FLD0301E NOT EQUAL XPC-FLD0301E + DISPLAY 'FLD0301E ==> ' FLD0301E + DISPLAY 'EXPECTED ==> ' XPC-FLD0301E. + IF FLD0302B (1:) NOT EQUAL XPC-FLD0302B + DISPLAY 'FLD0302B ==> ' FLD0302B + DISPLAY 'EXPECTED ==> ' XPC-FLD0302B. + IF FLD0302E NOT EQUAL XPC-FLD0302E + DISPLAY 'FLD0302E ==> ' FLD0302E + DISPLAY 'EXPECTED ==> ' XPC-FLD0302E. + IF FLD0303B (1:) NOT EQUAL XPC-FLD0303B + DISPLAY 'FLD0303B ==> ' FLD0303B + DISPLAY 'EXPECTED ==> ' XPC-FLD0303B. + IF FLD0303E NOT EQUAL XPC-FLD0303E + DISPLAY 'FLD0303E ==> ' FLD0303E + DISPLAY 'EXPECTED ==> ' XPC-FLD0303E. + IF FLD0304B (1:) NOT EQUAL XPC-FLD0304B + DISPLAY 'FLD0304B ==> ' FLD0304B + DISPLAY 'EXPECTED ==> ' XPC-FLD0304B. + IF FLD0304E NOT EQUAL XPC-FLD0304E + DISPLAY 'FLD0304E ==> ' FLD0304E + DISPLAY 'EXPECTED ==> ' XPC-FLD0304E. + IF FLD0305B (1:) NOT EQUAL XPC-FLD0305B + DISPLAY 'FLD0305B ==> ' FLD0305B + DISPLAY 'EXPECTED ==> ' XPC-FLD0305B. + IF FLD0305E NOT EQUAL XPC-FLD0305E + DISPLAY 'FLD0305E ==> ' FLD0305E + DISPLAY 'EXPECTED ==> ' XPC-FLD0305E. + IF FLD0306B (1:) NOT EQUAL XPC-FLD0306B + DISPLAY 'FLD0306B ==> ' FLD0306B + DISPLAY 'EXPECTED ==> ' XPC-FLD0306B. + IF FLD0306E NOT EQUAL XPC-FLD0306E + DISPLAY 'FLD0306E ==> ' FLD0306E + DISPLAY 'EXPECTED ==> ' XPC-FLD0306E. + IF FLD0307B (1:) NOT EQUAL XPC-FLD0307B + DISPLAY 'FLD0307B ==> ' FLD0307B + DISPLAY 'EXPECTED ==> ' XPC-FLD0307B. + IF FLD0307E NOT EQUAL XPC-FLD0307E + DISPLAY 'FLD0307E ==> ' FLD0307E + DISPLAY 'EXPECTED ==> ' XPC-FLD0307E. + IF FLD0308B (1:) NOT EQUAL XPC-FLD0308B + DISPLAY 'FLD0308B ==> ' FLD0308B + DISPLAY 'EXPECTED ==> ' XPC-FLD0308B. + IF FLD0308E NOT EQUAL XPC-FLD0308E + DISPLAY 'FLD0308E ==> ' FLD0308E + DISPLAY 'EXPECTED ==> ' XPC-FLD0308E. + IF FLD0309B (1:) NOT EQUAL XPC-FLD0309B + DISPLAY 'FLD0309B ==> ' FLD0309B + DISPLAY 'EXPECTED ==> ' XPC-FLD0309B. + IF FLD0309E NOT EQUAL XPC-FLD0309E + DISPLAY 'FLD0309E ==> ' FLD0309E + DISPLAY 'EXPECTED ==> ' XPC-FLD0309E. + IF FLD0310B (1:) NOT EQUAL XPC-FLD0310B + DISPLAY 'FLD0310B ==> ' FLD0310B + DISPLAY 'EXPECTED ==> ' XPC-FLD0310B. + IF FLD0310E NOT EQUAL XPC-FLD0310E + DISPLAY 'FLD0310E ==> ' FLD0310E + DISPLAY 'EXPECTED ==> ' XPC-FLD0310E. + IF FLD0311B (1:) NOT EQUAL XPC-FLD0311B + DISPLAY 'FLD0311B ==> ' FLD0311B + DISPLAY 'EXPECTED ==> ' XPC-FLD0311B. + IF FLD0311E NOT EQUAL XPC-FLD0311E + DISPLAY 'FLD0311E ==> ' FLD0311E + DISPLAY 'EXPECTED ==> ' XPC-FLD0311E. + IF FLD0312B (1:) NOT EQUAL XPC-FLD0312B + DISPLAY 'FLD0312B ==> ' FLD0312B + DISPLAY 'EXPECTED ==> ' XPC-FLD0312B. + IF FLD0312E NOT EQUAL XPC-FLD0312E + DISPLAY 'FLD0312E ==> ' FLD0312E + DISPLAY 'EXPECTED ==> ' XPC-FLD0312E. + IF FLD0313B (1:) NOT EQUAL XPC-FLD0313B + DISPLAY 'FLD0313B ==> ' FLD0313B + DISPLAY 'EXPECTED ==> ' XPC-FLD0313B. + IF FLD0313E NOT EQUAL XPC-FLD0313E + DISPLAY 'FLD0313E ==> ' FLD0313E + DISPLAY 'EXPECTED ==> ' XPC-FLD0313E. + IF FLD0314B (1:) NOT EQUAL XPC-FLD0314B + DISPLAY 'FLD0314B ==> ' FLD0314B + DISPLAY 'EXPECTED ==> ' XPC-FLD0314B. + IF FLD0314E NOT EQUAL XPC-FLD0314E + DISPLAY 'FLD0314E ==> ' FLD0314E + DISPLAY 'EXPECTED ==> ' XPC-FLD0314E. + IF FLD0315B (1:) NOT EQUAL XPC-FLD0315B + DISPLAY 'FLD0315B ==> ' FLD0315B + DISPLAY 'EXPECTED ==> ' XPC-FLD0315B. + IF FLD0315E NOT EQUAL XPC-FLD0315E + DISPLAY 'FLD0315E ==> ' FLD0315E + DISPLAY 'EXPECTED ==> ' XPC-FLD0315E. + IF FLD0316B (1:) NOT EQUAL XPC-FLD0316B + DISPLAY 'FLD0316B ==> ' FLD0316B + DISPLAY 'EXPECTED ==> ' XPC-FLD0316B. + IF FLD0316E NOT EQUAL XPC-FLD0316E + DISPLAY 'FLD0316E ==> ' FLD0316E + DISPLAY 'EXPECTED ==> ' XPC-FLD0316E. + IF FLD0317B (1:) NOT EQUAL XPC-FLD0317B + DISPLAY 'FLD0317B ==> ' FLD0317B + DISPLAY 'EXPECTED ==> ' XPC-FLD0317B. + IF FLD0317E NOT EQUAL XPC-FLD0317E + DISPLAY 'FLD0317E ==> ' FLD0317E + DISPLAY 'EXPECTED ==> ' XPC-FLD0317E. + IF FLD0318B (1:) NOT EQUAL XPC-FLD0318B + DISPLAY 'FLD0318B ==> ' FLD0318B + DISPLAY 'EXPECTED ==> ' XPC-FLD0318B. + IF FLD0318E NOT EQUAL XPC-FLD0318E + DISPLAY 'FLD0318E ==> ' FLD0318E + DISPLAY 'EXPECTED ==> ' XPC-FLD0318E. + IF FLD0319B (1:) NOT EQUAL XPC-FLD0319B + DISPLAY 'FLD0319B ==> ' FLD0319B + DISPLAY 'EXPECTED ==> ' XPC-FLD0319B. + IF FLD0319E NOT EQUAL XPC-FLD0319E + DISPLAY 'FLD0319E ==> ' FLD0319E + DISPLAY 'EXPECTED ==> ' XPC-FLD0319E. + IF FLD0320B (1:) NOT EQUAL XPC-FLD0320B + DISPLAY 'FLD0320B ==> ' FLD0320B + DISPLAY 'EXPECTED ==> ' XPC-FLD0320B. + IF FLD0320E NOT EQUAL XPC-FLD0320E + DISPLAY 'FLD0320E ==> ' FLD0320E + DISPLAY 'EXPECTED ==> ' XPC-FLD0320E. + IF FLD0321B (1:) NOT EQUAL XPC-FLD0321B + DISPLAY 'FLD0321B ==> ' FLD0321B + DISPLAY 'EXPECTED ==> ' XPC-FLD0321B. + IF FLD0321E NOT EQUAL XPC-FLD0321E + DISPLAY 'FLD0321E ==> ' FLD0321E + DISPLAY 'EXPECTED ==> ' XPC-FLD0321E. + IF FLD0322B (1:) NOT EQUAL XPC-FLD0322B + DISPLAY 'FLD0322B ==> ' FLD0322B + DISPLAY 'EXPECTED ==> ' XPC-FLD0322B. + IF FLD0322E NOT EQUAL XPC-FLD0322E + DISPLAY 'FLD0322E ==> ' FLD0322E + DISPLAY 'EXPECTED ==> ' XPC-FLD0322E. + IF FLD0323B (1:) NOT EQUAL XPC-FLD0323B + DISPLAY 'FLD0323B ==> ' FLD0323B + DISPLAY 'EXPECTED ==> ' XPC-FLD0323B. + IF FLD0323E NOT EQUAL XPC-FLD0323E + DISPLAY 'FLD0323E ==> ' FLD0323E + DISPLAY 'EXPECTED ==> ' XPC-FLD0323E. + IF FLD0324B (1:) NOT EQUAL XPC-FLD0324B + DISPLAY 'FLD0324B ==> ' FLD0324B + DISPLAY 'EXPECTED ==> ' XPC-FLD0324B. + IF FLD0324E NOT EQUAL XPC-FLD0324E + DISPLAY 'FLD0324E ==> ' FLD0324E + DISPLAY 'EXPECTED ==> ' XPC-FLD0324E. + IF FLD0325B (1:) NOT EQUAL XPC-FLD0325B + DISPLAY 'FLD0325B ==> ' FLD0325B + DISPLAY 'EXPECTED ==> ' XPC-FLD0325B. + IF FLD0325E NOT EQUAL XPC-FLD0325E + DISPLAY 'FLD0325E ==> ' FLD0325E + DISPLAY 'EXPECTED ==> ' XPC-FLD0325E. + IF FLD0326B (1:) NOT EQUAL XPC-FLD0326B + DISPLAY 'FLD0326B ==> ' FLD0326B + DISPLAY 'EXPECTED ==> ' XPC-FLD0326B. + IF FLD0326E NOT EQUAL XPC-FLD0326E + DISPLAY 'FLD0326E ==> ' FLD0326E + DISPLAY 'EXPECTED ==> ' XPC-FLD0326E. + IF FLD0327B (1:) NOT EQUAL XPC-FLD0327B + DISPLAY 'FLD0327B ==> ' FLD0327B + DISPLAY 'EXPECTED ==> ' XPC-FLD0327B. + IF FLD0327E NOT EQUAL XPC-FLD0327E + DISPLAY 'FLD0327E ==> ' FLD0327E + DISPLAY 'EXPECTED ==> ' XPC-FLD0327E. + IF FLD0328B (1:) NOT EQUAL XPC-FLD0328B + DISPLAY 'FLD0328B ==> ' FLD0328B + DISPLAY 'EXPECTED ==> ' XPC-FLD0328B. + IF FLD0328E NOT EQUAL XPC-FLD0328E + DISPLAY 'FLD0328E ==> ' FLD0328E + DISPLAY 'EXPECTED ==> ' XPC-FLD0328E. + IF FLD0329B (1:) NOT EQUAL XPC-FLD0329B + DISPLAY 'FLD0329B ==> ' FLD0329B + DISPLAY 'EXPECTED ==> ' XPC-FLD0329B. + IF FLD0329E NOT EQUAL XPC-FLD0329E + DISPLAY 'FLD0329E ==> ' FLD0329E + DISPLAY 'EXPECTED ==> ' XPC-FLD0329E. + IF FLD0330B (1:) NOT EQUAL XPC-FLD0330B + DISPLAY 'FLD0330B ==> ' FLD0330B + DISPLAY 'EXPECTED ==> ' XPC-FLD0330B. + IF FLD0330E NOT EQUAL XPC-FLD0330E + DISPLAY 'FLD0330E ==> ' FLD0330E + DISPLAY 'EXPECTED ==> ' XPC-FLD0330E. + IF FLD0331B (1:) NOT EQUAL XPC-FLD0331B + DISPLAY 'FLD0331B ==> ' FLD0331B + DISPLAY 'EXPECTED ==> ' XPC-FLD0331B. + IF FLD0331E NOT EQUAL XPC-FLD0331E + DISPLAY 'FLD0331E ==> ' FLD0331E + DISPLAY 'EXPECTED ==> ' XPC-FLD0331E. + IF FLD0332B (1:) NOT EQUAL XPC-FLD0332B + DISPLAY 'FLD0332B ==> ' FLD0332B + DISPLAY 'EXPECTED ==> ' XPC-FLD0332B. + IF FLD0332E NOT EQUAL XPC-FLD0332E + DISPLAY 'FLD0332E ==> ' FLD0332E + DISPLAY 'EXPECTED ==> ' XPC-FLD0332E. + IF FLD0333B (1:) NOT EQUAL XPC-FLD0333B + DISPLAY 'FLD0333B ==> ' FLD0333B + DISPLAY 'EXPECTED ==> ' XPC-FLD0333B. + IF FLD0333E NOT EQUAL XPC-FLD0333E + DISPLAY 'FLD0333E ==> ' FLD0333E + DISPLAY 'EXPECTED ==> ' XPC-FLD0333E. + IF FLD0334B (1:) NOT EQUAL XPC-FLD0334B + DISPLAY 'FLD0334B ==> ' FLD0334B + DISPLAY 'EXPECTED ==> ' XPC-FLD0334B. + IF FLD0334E NOT EQUAL XPC-FLD0334E + DISPLAY 'FLD0334E ==> ' FLD0334E + DISPLAY 'EXPECTED ==> ' XPC-FLD0334E. + IF FLD0335B (1:) NOT EQUAL XPC-FLD0335B + DISPLAY 'FLD0335B ==> ' FLD0335B + DISPLAY 'EXPECTED ==> ' XPC-FLD0335B. + IF FLD0335E NOT EQUAL XPC-FLD0335E + DISPLAY 'FLD0335E ==> ' FLD0335E + DISPLAY 'EXPECTED ==> ' XPC-FLD0335E. + IF FLD0336B (1:) NOT EQUAL XPC-FLD0336B + DISPLAY 'FLD0336B ==> ' FLD0336B + DISPLAY 'EXPECTED ==> ' XPC-FLD0336B. + IF FLD0336E NOT EQUAL XPC-FLD0336E + DISPLAY 'FLD0336E ==> ' FLD0336E + DISPLAY 'EXPECTED ==> ' XPC-FLD0336E. + IF FLD0337B (1:) NOT EQUAL XPC-FLD0337B + DISPLAY 'FLD0337B ==> ' FLD0337B + DISPLAY 'EXPECTED ==> ' XPC-FLD0337B. + IF FLD0337E NOT EQUAL XPC-FLD0337E + DISPLAY 'FLD0337E ==> ' FLD0337E + DISPLAY 'EXPECTED ==> ' XPC-FLD0337E. + IF FLD0338B (1:) NOT EQUAL XPC-FLD0338B + DISPLAY 'FLD0338B ==> ' FLD0338B + DISPLAY 'EXPECTED ==> ' XPC-FLD0338B. + IF FLD0338E NOT EQUAL XPC-FLD0338E + DISPLAY 'FLD0338E ==> ' FLD0338E + DISPLAY 'EXPECTED ==> ' XPC-FLD0338E. + IF FLD0339B (1:) NOT EQUAL XPC-FLD0339B + DISPLAY 'FLD0339B ==> ' FLD0339B + DISPLAY 'EXPECTED ==> ' XPC-FLD0339B. + IF FLD0339E NOT EQUAL XPC-FLD0339E + DISPLAY 'FLD0339E ==> ' FLD0339E + DISPLAY 'EXPECTED ==> ' XPC-FLD0339E. + IF FLD0340B (1:) NOT EQUAL XPC-FLD0340B + DISPLAY 'FLD0340B ==> ' FLD0340B + DISPLAY 'EXPECTED ==> ' XPC-FLD0340B. + IF FLD0340E NOT EQUAL XPC-FLD0340E + DISPLAY 'FLD0340E ==> ' FLD0340E + DISPLAY 'EXPECTED ==> ' XPC-FLD0340E. + IF FLD0341B (1:) NOT EQUAL XPC-FLD0341B + DISPLAY 'FLD0341B ==> ' FLD0341B + DISPLAY 'EXPECTED ==> ' XPC-FLD0341B. + IF FLD0341E NOT EQUAL XPC-FLD0341E + DISPLAY 'FLD0341E ==> ' FLD0341E + DISPLAY 'EXPECTED ==> ' XPC-FLD0341E. + IF FLD0342B (1:) NOT EQUAL XPC-FLD0342B + DISPLAY 'FLD0342B ==> ' FLD0342B + DISPLAY 'EXPECTED ==> ' XPC-FLD0342B. + IF FLD0342E NOT EQUAL XPC-FLD0342E + DISPLAY 'FLD0342E ==> ' FLD0342E + DISPLAY 'EXPECTED ==> ' XPC-FLD0342E. + IF FLD0343B (1:) NOT EQUAL XPC-FLD0343B + DISPLAY 'FLD0343B ==> ' FLD0343B + DISPLAY 'EXPECTED ==> ' XPC-FLD0343B. + IF FLD0343E NOT EQUAL XPC-FLD0343E + DISPLAY 'FLD0343E ==> ' FLD0343E + DISPLAY 'EXPECTED ==> ' XPC-FLD0343E. + IF FLD0344B (1:) NOT EQUAL XPC-FLD0344B + DISPLAY 'FLD0344B ==> ' FLD0344B + DISPLAY 'EXPECTED ==> ' XPC-FLD0344B. + IF FLD0344E NOT EQUAL XPC-FLD0344E + DISPLAY 'FLD0344E ==> ' FLD0344E + DISPLAY 'EXPECTED ==> ' XPC-FLD0344E. + IF FLD0345B (1:) NOT EQUAL XPC-FLD0345B + DISPLAY 'FLD0345B ==> ' FLD0345B + DISPLAY 'EXPECTED ==> ' XPC-FLD0345B. + IF FLD0345E NOT EQUAL XPC-FLD0345E + DISPLAY 'FLD0345E ==> ' FLD0345E + DISPLAY 'EXPECTED ==> ' XPC-FLD0345E. + IF FLD0346B (1:) NOT EQUAL XPC-FLD0346B + DISPLAY 'FLD0346B ==> ' FLD0346B + DISPLAY 'EXPECTED ==> ' XPC-FLD0346B. + IF FLD0346E NOT EQUAL XPC-FLD0346E + DISPLAY 'FLD0346E ==> ' FLD0346E + DISPLAY 'EXPECTED ==> ' XPC-FLD0346E. + IF FLD0347B (1:) NOT EQUAL XPC-FLD0347B + DISPLAY 'FLD0347B ==> ' FLD0347B + DISPLAY 'EXPECTED ==> ' XPC-FLD0347B. + IF FLD0347E NOT EQUAL XPC-FLD0347E + DISPLAY 'FLD0347E ==> ' FLD0347E + DISPLAY 'EXPECTED ==> ' XPC-FLD0347E. + IF FLD0348B (1:) NOT EQUAL XPC-FLD0348B + DISPLAY 'FLD0348B ==> ' FLD0348B + DISPLAY 'EXPECTED ==> ' XPC-FLD0348B. + IF FLD0348E NOT EQUAL XPC-FLD0348E + DISPLAY 'FLD0348E ==> ' FLD0348E + DISPLAY 'EXPECTED ==> ' XPC-FLD0348E. + IF FLD0349B (1:) NOT EQUAL XPC-FLD0349B + DISPLAY 'FLD0349B ==> ' FLD0349B + DISPLAY 'EXPECTED ==> ' XPC-FLD0349B. + IF FLD0349E NOT EQUAL XPC-FLD0349E + DISPLAY 'FLD0349E ==> ' FLD0349E + DISPLAY 'EXPECTED ==> ' XPC-FLD0349E. + IF FLD0350B (1:) NOT EQUAL XPC-FLD0350B + DISPLAY 'FLD0350B ==> ' FLD0350B + DISPLAY 'EXPECTED ==> ' XPC-FLD0350B. + IF FLD0350E NOT EQUAL XPC-FLD0350E + DISPLAY 'FLD0350E ==> ' FLD0350E + DISPLAY 'EXPECTED ==> ' XPC-FLD0350E. + IF FLD0351B (1:) NOT EQUAL XPC-FLD0351B + DISPLAY 'FLD0351B ==> ' FLD0351B + DISPLAY 'EXPECTED ==> ' XPC-FLD0351B. + IF FLD0351E NOT EQUAL XPC-FLD0351E + DISPLAY 'FLD0351E ==> ' FLD0351E + DISPLAY 'EXPECTED ==> ' XPC-FLD0351E. + IF FLD0352B (1:) NOT EQUAL XPC-FLD0352B + DISPLAY 'FLD0352B ==> ' FLD0352B + DISPLAY 'EXPECTED ==> ' XPC-FLD0352B. + IF FLD0352E NOT EQUAL XPC-FLD0352E + DISPLAY 'FLD0352E ==> ' FLD0352E + DISPLAY 'EXPECTED ==> ' XPC-FLD0352E. + IF FLD0353B (1:) NOT EQUAL XPC-FLD0353B + DISPLAY 'FLD0353B ==> ' FLD0353B + DISPLAY 'EXPECTED ==> ' XPC-FLD0353B. + IF FLD0353E NOT EQUAL XPC-FLD0353E + DISPLAY 'FLD0353E ==> ' FLD0353E + DISPLAY 'EXPECTED ==> ' XPC-FLD0353E. + IF FLD0354B (1:) NOT EQUAL XPC-FLD0354B + DISPLAY 'FLD0354B ==> ' FLD0354B + DISPLAY 'EXPECTED ==> ' XPC-FLD0354B. + IF FLD0354E NOT EQUAL XPC-FLD0354E + DISPLAY 'FLD0354E ==> ' FLD0354E + DISPLAY 'EXPECTED ==> ' XPC-FLD0354E. + IF FLD0355B (1:) NOT EQUAL XPC-FLD0355B + DISPLAY 'FLD0355B ==> ' FLD0355B + DISPLAY 'EXPECTED ==> ' XPC-FLD0355B. + IF FLD0355E NOT EQUAL XPC-FLD0355E + DISPLAY 'FLD0355E ==> ' FLD0355E + DISPLAY 'EXPECTED ==> ' XPC-FLD0355E. + IF FLD0356B (1:) NOT EQUAL XPC-FLD0356B + DISPLAY 'FLD0356B ==> ' FLD0356B + DISPLAY 'EXPECTED ==> ' XPC-FLD0356B. + IF FLD0356E NOT EQUAL XPC-FLD0356E + DISPLAY 'FLD0356E ==> ' FLD0356E + DISPLAY 'EXPECTED ==> ' XPC-FLD0356E. + IF FLD0357B (1:) NOT EQUAL XPC-FLD0357B + DISPLAY 'FLD0357B ==> ' FLD0357B + DISPLAY 'EXPECTED ==> ' XPC-FLD0357B. + IF FLD0357E NOT EQUAL XPC-FLD0357E + DISPLAY 'FLD0357E ==> ' FLD0357E + DISPLAY 'EXPECTED ==> ' XPC-FLD0357E. + IF FLD0358B (1:) NOT EQUAL XPC-FLD0358B + DISPLAY 'FLD0358B ==> ' FLD0358B + DISPLAY 'EXPECTED ==> ' XPC-FLD0358B. + IF FLD0358E NOT EQUAL XPC-FLD0358E + DISPLAY 'FLD0358E ==> ' FLD0358E + DISPLAY 'EXPECTED ==> ' XPC-FLD0358E. + IF FLD0359B (1:) NOT EQUAL XPC-FLD0359B + DISPLAY 'FLD0359B ==> ' FLD0359B + DISPLAY 'EXPECTED ==> ' XPC-FLD0359B. + IF FLD0359E NOT EQUAL XPC-FLD0359E + DISPLAY 'FLD0359E ==> ' FLD0359E + DISPLAY 'EXPECTED ==> ' XPC-FLD0359E. + IF FLD0360B (1:) NOT EQUAL XPC-FLD0360B + DISPLAY 'FLD0360B ==> ' FLD0360B + DISPLAY 'EXPECTED ==> ' XPC-FLD0360B. + IF FLD0360E NOT EQUAL XPC-FLD0360E + DISPLAY 'FLD0360E ==> ' FLD0360E + DISPLAY 'EXPECTED ==> ' XPC-FLD0360E. + IF FLD0361B (1:) NOT EQUAL XPC-FLD0361B + DISPLAY 'FLD0361B ==> ' FLD0361B + DISPLAY 'EXPECTED ==> ' XPC-FLD0361B. + IF FLD0361E NOT EQUAL XPC-FLD0361E + DISPLAY 'FLD0361E ==> ' FLD0361E + DISPLAY 'EXPECTED ==> ' XPC-FLD0361E. + IF FLD0362B (1:) NOT EQUAL XPC-FLD0362B + DISPLAY 'FLD0362B ==> ' FLD0362B + DISPLAY 'EXPECTED ==> ' XPC-FLD0362B. + IF FLD0362E NOT EQUAL XPC-FLD0362E + DISPLAY 'FLD0362E ==> ' FLD0362E + DISPLAY 'EXPECTED ==> ' XPC-FLD0362E. + IF FLD0363B (1:) NOT EQUAL XPC-FLD0363B + DISPLAY 'FLD0363B ==> ' FLD0363B + DISPLAY 'EXPECTED ==> ' XPC-FLD0363B. + IF FLD0363E NOT EQUAL XPC-FLD0363E + DISPLAY 'FLD0363E ==> ' FLD0363E + DISPLAY 'EXPECTED ==> ' XPC-FLD0363E. + IF FLD0364B (1:) NOT EQUAL XPC-FLD0364B + DISPLAY 'FLD0364B ==> ' FLD0364B + DISPLAY 'EXPECTED ==> ' XPC-FLD0364B. + IF FLD0364E NOT EQUAL XPC-FLD0364E + DISPLAY 'FLD0364E ==> ' FLD0364E + DISPLAY 'EXPECTED ==> ' XPC-FLD0364E. + IF FLD0365B (1:) NOT EQUAL XPC-FLD0365B + DISPLAY 'FLD0365B ==> ' FLD0365B + DISPLAY 'EXPECTED ==> ' XPC-FLD0365B. + IF FLD0365E NOT EQUAL XPC-FLD0365E + DISPLAY 'FLD0365E ==> ' FLD0365E + DISPLAY 'EXPECTED ==> ' XPC-FLD0365E. + IF FLD0366B (1:) NOT EQUAL XPC-FLD0366B + DISPLAY 'FLD0366B ==> ' FLD0366B + DISPLAY 'EXPECTED ==> ' XPC-FLD0366B. + IF FLD0366E NOT EQUAL XPC-FLD0366E + DISPLAY 'FLD0366E ==> ' FLD0366E + DISPLAY 'EXPECTED ==> ' XPC-FLD0366E. + IF FLD0367B (1:) NOT EQUAL XPC-FLD0367B + DISPLAY 'FLD0367B ==> ' FLD0367B + DISPLAY 'EXPECTED ==> ' XPC-FLD0367B. + IF FLD0367E NOT EQUAL XPC-FLD0367E + DISPLAY 'FLD0367E ==> ' FLD0367E + DISPLAY 'EXPECTED ==> ' XPC-FLD0367E. + IF FLD0368B (1:) NOT EQUAL XPC-FLD0368B + DISPLAY 'FLD0368B ==> ' FLD0368B + DISPLAY 'EXPECTED ==> ' XPC-FLD0368B. + IF FLD0368E NOT EQUAL XPC-FLD0368E + DISPLAY 'FLD0368E ==> ' FLD0368E + DISPLAY 'EXPECTED ==> ' XPC-FLD0368E. + IF FLD0369B (1:) NOT EQUAL XPC-FLD0369B + DISPLAY 'FLD0369B ==> ' FLD0369B + DISPLAY 'EXPECTED ==> ' XPC-FLD0369B. + IF FLD0369E NOT EQUAL XPC-FLD0369E + DISPLAY 'FLD0369E ==> ' FLD0369E + DISPLAY 'EXPECTED ==> ' XPC-FLD0369E. + IF FLD0370B (1:) NOT EQUAL XPC-FLD0370B + DISPLAY 'FLD0370B ==> ' FLD0370B + DISPLAY 'EXPECTED ==> ' XPC-FLD0370B. + IF FLD0370E NOT EQUAL XPC-FLD0370E + DISPLAY 'FLD0370E ==> ' FLD0370E + DISPLAY 'EXPECTED ==> ' XPC-FLD0370E. + IF FLD0371B (1:) NOT EQUAL XPC-FLD0371B + DISPLAY 'FLD0371B ==> ' FLD0371B + DISPLAY 'EXPECTED ==> ' XPC-FLD0371B. + IF FLD0371E NOT EQUAL XPC-FLD0371E + DISPLAY 'FLD0371E ==> ' FLD0371E + DISPLAY 'EXPECTED ==> ' XPC-FLD0371E. + IF FLD0372B (1:) NOT EQUAL XPC-FLD0372B + DISPLAY 'FLD0372B ==> ' FLD0372B + DISPLAY 'EXPECTED ==> ' XPC-FLD0372B. + IF FLD0372E NOT EQUAL XPC-FLD0372E + DISPLAY 'FLD0372E ==> ' FLD0372E + DISPLAY 'EXPECTED ==> ' XPC-FLD0372E. + IF FLD0373B (1:) NOT EQUAL XPC-FLD0373B + DISPLAY 'FLD0373B ==> ' FLD0373B + DISPLAY 'EXPECTED ==> ' XPC-FLD0373B. + IF FLD0373E NOT EQUAL XPC-FLD0373E + DISPLAY 'FLD0373E ==> ' FLD0373E + DISPLAY 'EXPECTED ==> ' XPC-FLD0373E. + IF FLD0374B (1:) NOT EQUAL XPC-FLD0374B + DISPLAY 'FLD0374B ==> ' FLD0374B + DISPLAY 'EXPECTED ==> ' XPC-FLD0374B. + IF FLD0374E NOT EQUAL XPC-FLD0374E + DISPLAY 'FLD0374E ==> ' FLD0374E + DISPLAY 'EXPECTED ==> ' XPC-FLD0374E. + IF FLD0375B (1:) NOT EQUAL XPC-FLD0375B + DISPLAY 'FLD0375B ==> ' FLD0375B + DISPLAY 'EXPECTED ==> ' XPC-FLD0375B. + IF FLD0375E NOT EQUAL XPC-FLD0375E + DISPLAY 'FLD0375E ==> ' FLD0375E + DISPLAY 'EXPECTED ==> ' XPC-FLD0375E. + IF FLD0376B (1:) NOT EQUAL XPC-FLD0376B + DISPLAY 'FLD0376B ==> ' FLD0376B + DISPLAY 'EXPECTED ==> ' XPC-FLD0376B. + IF FLD0376E NOT EQUAL XPC-FLD0376E + DISPLAY 'FLD0376E ==> ' FLD0376E + DISPLAY 'EXPECTED ==> ' XPC-FLD0376E. + IF FLD0377B (1:) NOT EQUAL XPC-FLD0377B + DISPLAY 'FLD0377B ==> ' FLD0377B + DISPLAY 'EXPECTED ==> ' XPC-FLD0377B. + IF FLD0377E NOT EQUAL XPC-FLD0377E + DISPLAY 'FLD0377E ==> ' FLD0377E + DISPLAY 'EXPECTED ==> ' XPC-FLD0377E. + IF FLD0378B (1:) NOT EQUAL XPC-FLD0378B + DISPLAY 'FLD0378B ==> ' FLD0378B + DISPLAY 'EXPECTED ==> ' XPC-FLD0378B. + IF FLD0378E NOT EQUAL XPC-FLD0378E + DISPLAY 'FLD0378E ==> ' FLD0378E + DISPLAY 'EXPECTED ==> ' XPC-FLD0378E. + IF FLD0379B (1:) NOT EQUAL XPC-FLD0379B + DISPLAY 'FLD0379B ==> ' FLD0379B + DISPLAY 'EXPECTED ==> ' XPC-FLD0379B. + IF FLD0379E NOT EQUAL XPC-FLD0379E + DISPLAY 'FLD0379E ==> ' FLD0379E + DISPLAY 'EXPECTED ==> ' XPC-FLD0379E. + IF FLD0380B (1:) NOT EQUAL XPC-FLD0380B + DISPLAY 'FLD0380B ==> ' FLD0380B + DISPLAY 'EXPECTED ==> ' XPC-FLD0380B. + IF FLD0380E NOT EQUAL XPC-FLD0380E + DISPLAY 'FLD0380E ==> ' FLD0380E + DISPLAY 'EXPECTED ==> ' XPC-FLD0380E. + IF FLD0381B (1:) NOT EQUAL XPC-FLD0381B + DISPLAY 'FLD0381B ==> ' FLD0381B + DISPLAY 'EXPECTED ==> ' XPC-FLD0381B. + IF FLD0381E NOT EQUAL XPC-FLD0381E + DISPLAY 'FLD0381E ==> ' FLD0381E + DISPLAY 'EXPECTED ==> ' XPC-FLD0381E. + IF FLD0382B (1:) NOT EQUAL XPC-FLD0382B + DISPLAY 'FLD0382B ==> ' FLD0382B + DISPLAY 'EXPECTED ==> ' XPC-FLD0382B. + IF FLD0382E NOT EQUAL XPC-FLD0382E + DISPLAY 'FLD0382E ==> ' FLD0382E + DISPLAY 'EXPECTED ==> ' XPC-FLD0382E. + IF FLD0383B (1:) NOT EQUAL XPC-FLD0383B + DISPLAY 'FLD0383B ==> ' FLD0383B + DISPLAY 'EXPECTED ==> ' XPC-FLD0383B. + IF FLD0383E NOT EQUAL XPC-FLD0383E + DISPLAY 'FLD0383E ==> ' FLD0383E + DISPLAY 'EXPECTED ==> ' XPC-FLD0383E. + IF FLD0384B (1:) NOT EQUAL XPC-FLD0384B + DISPLAY 'FLD0384B ==> ' FLD0384B + DISPLAY 'EXPECTED ==> ' XPC-FLD0384B. + IF FLD0384E NOT EQUAL XPC-FLD0384E + DISPLAY 'FLD0384E ==> ' FLD0384E + DISPLAY 'EXPECTED ==> ' XPC-FLD0384E. + IF FLD0385B (1:) NOT EQUAL XPC-FLD0385B + DISPLAY 'FLD0385B ==> ' FLD0385B + DISPLAY 'EXPECTED ==> ' XPC-FLD0385B. + IF FLD0385E NOT EQUAL XPC-FLD0385E + DISPLAY 'FLD0385E ==> ' FLD0385E + DISPLAY 'EXPECTED ==> ' XPC-FLD0385E. + IF FLD0386B (1:) NOT EQUAL XPC-FLD0386B + DISPLAY 'FLD0386B ==> ' FLD0386B + DISPLAY 'EXPECTED ==> ' XPC-FLD0386B. + IF FLD0386E NOT EQUAL XPC-FLD0386E + DISPLAY 'FLD0386E ==> ' FLD0386E + DISPLAY 'EXPECTED ==> ' XPC-FLD0386E. + IF FLD0387B (1:) NOT EQUAL XPC-FLD0387B + DISPLAY 'FLD0387B ==> ' FLD0387B + DISPLAY 'EXPECTED ==> ' XPC-FLD0387B. + IF FLD0387E NOT EQUAL XPC-FLD0387E + DISPLAY 'FLD0387E ==> ' FLD0387E + DISPLAY 'EXPECTED ==> ' XPC-FLD0387E. + IF FLD0388B (1:) NOT EQUAL XPC-FLD0388B + DISPLAY 'FLD0388B ==> ' FLD0388B + DISPLAY 'EXPECTED ==> ' XPC-FLD0388B. + IF FLD0388E NOT EQUAL XPC-FLD0388E + DISPLAY 'FLD0388E ==> ' FLD0388E + DISPLAY 'EXPECTED ==> ' XPC-FLD0388E. + IF FLD0389B (1:) NOT EQUAL XPC-FLD0389B + DISPLAY 'FLD0389B ==> ' FLD0389B + DISPLAY 'EXPECTED ==> ' XPC-FLD0389B. + IF FLD0389E NOT EQUAL XPC-FLD0389E + DISPLAY 'FLD0389E ==> ' FLD0389E + DISPLAY 'EXPECTED ==> ' XPC-FLD0389E. + IF FLD0390B (1:) NOT EQUAL XPC-FLD0390B + DISPLAY 'FLD0390B ==> ' FLD0390B + DISPLAY 'EXPECTED ==> ' XPC-FLD0390B. + IF FLD0390E NOT EQUAL XPC-FLD0390E + DISPLAY 'FLD0390E ==> ' FLD0390E + DISPLAY 'EXPECTED ==> ' XPC-FLD0390E. + IF FLD0391B (1:) NOT EQUAL XPC-FLD0391B + DISPLAY 'FLD0391B ==> ' FLD0391B + DISPLAY 'EXPECTED ==> ' XPC-FLD0391B. + IF FLD0391E NOT EQUAL XPC-FLD0391E + DISPLAY 'FLD0391E ==> ' FLD0391E + DISPLAY 'EXPECTED ==> ' XPC-FLD0391E. + IF FLD0392B (1:) NOT EQUAL XPC-FLD0392B + DISPLAY 'FLD0392B ==> ' FLD0392B + DISPLAY 'EXPECTED ==> ' XPC-FLD0392B. + IF FLD0392E NOT EQUAL XPC-FLD0392E + DISPLAY 'FLD0392E ==> ' FLD0392E + DISPLAY 'EXPECTED ==> ' XPC-FLD0392E. + IF FLD0393B (1:) NOT EQUAL XPC-FLD0393B + DISPLAY 'FLD0393B ==> ' FLD0393B + DISPLAY 'EXPECTED ==> ' XPC-FLD0393B. + IF FLD0393E NOT EQUAL XPC-FLD0393E + DISPLAY 'FLD0393E ==> ' FLD0393E + DISPLAY 'EXPECTED ==> ' XPC-FLD0393E. + IF FLD0394B (1:) NOT EQUAL XPC-FLD0394B + DISPLAY 'FLD0394B ==> ' FLD0394B + DISPLAY 'EXPECTED ==> ' XPC-FLD0394B. + IF FLD0394E NOT EQUAL XPC-FLD0394E + DISPLAY 'FLD0394E ==> ' FLD0394E + DISPLAY 'EXPECTED ==> ' XPC-FLD0394E. + IF FLD0395B (1:) NOT EQUAL XPC-FLD0395B + DISPLAY 'FLD0395B ==> ' FLD0395B + DISPLAY 'EXPECTED ==> ' XPC-FLD0395B. + IF FLD0395E NOT EQUAL XPC-FLD0395E + DISPLAY 'FLD0395E ==> ' FLD0395E + DISPLAY 'EXPECTED ==> ' XPC-FLD0395E. + IF FLD0396B (1:) NOT EQUAL XPC-FLD0396B + DISPLAY 'FLD0396B ==> ' FLD0396B + DISPLAY 'EXPECTED ==> ' XPC-FLD0396B. + IF FLD0396E NOT EQUAL XPC-FLD0396E + DISPLAY 'FLD0396E ==> ' FLD0396E + DISPLAY 'EXPECTED ==> ' XPC-FLD0396E. + IF FLD0397B (1:) NOT EQUAL XPC-FLD0397B + DISPLAY 'FLD0397B ==> ' FLD0397B + DISPLAY 'EXPECTED ==> ' XPC-FLD0397B. + IF FLD0397E NOT EQUAL XPC-FLD0397E + DISPLAY 'FLD0397E ==> ' FLD0397E + DISPLAY 'EXPECTED ==> ' XPC-FLD0397E. + IF FLD0398B (1:) NOT EQUAL XPC-FLD0398B + DISPLAY 'FLD0398B ==> ' FLD0398B + DISPLAY 'EXPECTED ==> ' XPC-FLD0398B. + IF FLD0398E NOT EQUAL XPC-FLD0398E + DISPLAY 'FLD0398E ==> ' FLD0398E + DISPLAY 'EXPECTED ==> ' XPC-FLD0398E. + IF FLD0399B (1:) NOT EQUAL XPC-FLD0399B + DISPLAY 'FLD0399B ==> ' FLD0399B + DISPLAY 'EXPECTED ==> ' XPC-FLD0399B. + IF FLD0399E NOT EQUAL XPC-FLD0399E + DISPLAY 'FLD0399E ==> ' FLD0399E + DISPLAY 'EXPECTED ==> ' XPC-FLD0399E. + IF FLD0400B (1:) NOT EQUAL XPC-FLD0400B + DISPLAY 'FLD0400B ==> ' FLD0400B + DISPLAY 'EXPECTED ==> ' XPC-FLD0400B. + IF FLD0400E NOT EQUAL XPC-FLD0400E + DISPLAY 'FLD0400E ==> ' FLD0400E + DISPLAY 'EXPECTED ==> ' XPC-FLD0400E. + IF FLD0401B (1:) NOT EQUAL XPC-FLD0401B + DISPLAY 'FLD0401B ==> ' FLD0401B + DISPLAY 'EXPECTED ==> ' XPC-FLD0401B. + IF FLD0401E NOT EQUAL XPC-FLD0401E + DISPLAY 'FLD0401E ==> ' FLD0401E + DISPLAY 'EXPECTED ==> ' XPC-FLD0401E. + IF FLD0402B (1:) NOT EQUAL XPC-FLD0402B + DISPLAY 'FLD0402B ==> ' FLD0402B + DISPLAY 'EXPECTED ==> ' XPC-FLD0402B. + IF FLD0402E NOT EQUAL XPC-FLD0402E + DISPLAY 'FLD0402E ==> ' FLD0402E + DISPLAY 'EXPECTED ==> ' XPC-FLD0402E. + IF FLD0403B (1:) NOT EQUAL XPC-FLD0403B + DISPLAY 'FLD0403B ==> ' FLD0403B + DISPLAY 'EXPECTED ==> ' XPC-FLD0403B. + IF FLD0403E NOT EQUAL XPC-FLD0403E + DISPLAY 'FLD0403E ==> ' FLD0403E + DISPLAY 'EXPECTED ==> ' XPC-FLD0403E. + IF FLD0404B (1:) NOT EQUAL XPC-FLD0404B + DISPLAY 'FLD0404B ==> ' FLD0404B + DISPLAY 'EXPECTED ==> ' XPC-FLD0404B. + IF FLD0404E NOT EQUAL XPC-FLD0404E + DISPLAY 'FLD0404E ==> ' FLD0404E + DISPLAY 'EXPECTED ==> ' XPC-FLD0404E. + IF FLD0405B (1:) NOT EQUAL XPC-FLD0405B + DISPLAY 'FLD0405B ==> ' FLD0405B + DISPLAY 'EXPECTED ==> ' XPC-FLD0405B. + IF FLD0405E NOT EQUAL XPC-FLD0405E + DISPLAY 'FLD0405E ==> ' FLD0405E + DISPLAY 'EXPECTED ==> ' XPC-FLD0405E. + IF FLD0406B (1:) NOT EQUAL XPC-FLD0406B + DISPLAY 'FLD0406B ==> ' FLD0406B + DISPLAY 'EXPECTED ==> ' XPC-FLD0406B. + IF FLD0406E NOT EQUAL XPC-FLD0406E + DISPLAY 'FLD0406E ==> ' FLD0406E + DISPLAY 'EXPECTED ==> ' XPC-FLD0406E. + IF FLD0407B (1:) NOT EQUAL XPC-FLD0407B + DISPLAY 'FLD0407B ==> ' FLD0407B + DISPLAY 'EXPECTED ==> ' XPC-FLD0407B. + IF FLD0407E NOT EQUAL XPC-FLD0407E + DISPLAY 'FLD0407E ==> ' FLD0407E + DISPLAY 'EXPECTED ==> ' XPC-FLD0407E. + IF FLD0408B (1:) NOT EQUAL XPC-FLD0408B + DISPLAY 'FLD0408B ==> ' FLD0408B + DISPLAY 'EXPECTED ==> ' XPC-FLD0408B. + IF FLD0408E NOT EQUAL XPC-FLD0408E + DISPLAY 'FLD0408E ==> ' FLD0408E + DISPLAY 'EXPECTED ==> ' XPC-FLD0408E. + IF FLD0409B (1:) NOT EQUAL XPC-FLD0409B + DISPLAY 'FLD0409B ==> ' FLD0409B + DISPLAY 'EXPECTED ==> ' XPC-FLD0409B. + IF FLD0409E NOT EQUAL XPC-FLD0409E + DISPLAY 'FLD0409E ==> ' FLD0409E + DISPLAY 'EXPECTED ==> ' XPC-FLD0409E. + IF FLD0410B (1:) NOT EQUAL XPC-FLD0410B + DISPLAY 'FLD0410B ==> ' FLD0410B + DISPLAY 'EXPECTED ==> ' XPC-FLD0410B. + IF FLD0410E NOT EQUAL XPC-FLD0410E + DISPLAY 'FLD0410E ==> ' FLD0410E + DISPLAY 'EXPECTED ==> ' XPC-FLD0410E. + IF FLD0411B (1:) NOT EQUAL XPC-FLD0411B + DISPLAY 'FLD0411B ==> ' FLD0411B + DISPLAY 'EXPECTED ==> ' XPC-FLD0411B. + IF FLD0411E NOT EQUAL XPC-FLD0411E + DISPLAY 'FLD0411E ==> ' FLD0411E + DISPLAY 'EXPECTED ==> ' XPC-FLD0411E. + IF FLD0412B (1:) NOT EQUAL XPC-FLD0412B + DISPLAY 'FLD0412B ==> ' FLD0412B + DISPLAY 'EXPECTED ==> ' XPC-FLD0412B. + IF FLD0412E NOT EQUAL XPC-FLD0412E + DISPLAY 'FLD0412E ==> ' FLD0412E + DISPLAY 'EXPECTED ==> ' XPC-FLD0412E. + IF FLD0413B (1:) NOT EQUAL XPC-FLD0413B + DISPLAY 'FLD0413B ==> ' FLD0413B + DISPLAY 'EXPECTED ==> ' XPC-FLD0413B. + IF FLD0413E NOT EQUAL XPC-FLD0413E + DISPLAY 'FLD0413E ==> ' FLD0413E + DISPLAY 'EXPECTED ==> ' XPC-FLD0413E. + IF FLD0414B (1:) NOT EQUAL XPC-FLD0414B + DISPLAY 'FLD0414B ==> ' FLD0414B + DISPLAY 'EXPECTED ==> ' XPC-FLD0414B. + IF FLD0414E NOT EQUAL XPC-FLD0414E + DISPLAY 'FLD0414E ==> ' FLD0414E + DISPLAY 'EXPECTED ==> ' XPC-FLD0414E. + IF FLD0415B (1:) NOT EQUAL XPC-FLD0415B + DISPLAY 'FLD0415B ==> ' FLD0415B + DISPLAY 'EXPECTED ==> ' XPC-FLD0415B. + IF FLD0415E NOT EQUAL XPC-FLD0415E + DISPLAY 'FLD0415E ==> ' FLD0415E + DISPLAY 'EXPECTED ==> ' XPC-FLD0415E. + IF FLD0416B (1:) NOT EQUAL XPC-FLD0416B + DISPLAY 'FLD0416B ==> ' FLD0416B + DISPLAY 'EXPECTED ==> ' XPC-FLD0416B. + IF FLD0416E NOT EQUAL XPC-FLD0416E + DISPLAY 'FLD0416E ==> ' FLD0416E + DISPLAY 'EXPECTED ==> ' XPC-FLD0416E. + IF FLD0417B (1:) NOT EQUAL XPC-FLD0417B + DISPLAY 'FLD0417B ==> ' FLD0417B + DISPLAY 'EXPECTED ==> ' XPC-FLD0417B. + IF FLD0417E NOT EQUAL XPC-FLD0417E + DISPLAY 'FLD0417E ==> ' FLD0417E + DISPLAY 'EXPECTED ==> ' XPC-FLD0417E. + IF FLD0418B (1:) NOT EQUAL XPC-FLD0418B + DISPLAY 'FLD0418B ==> ' FLD0418B + DISPLAY 'EXPECTED ==> ' XPC-FLD0418B. + IF FLD0418E NOT EQUAL XPC-FLD0418E + DISPLAY 'FLD0418E ==> ' FLD0418E + DISPLAY 'EXPECTED ==> ' XPC-FLD0418E. + IF FLD0419B (1:) NOT EQUAL XPC-FLD0419B + DISPLAY 'FLD0419B ==> ' FLD0419B + DISPLAY 'EXPECTED ==> ' XPC-FLD0419B. + IF FLD0419E NOT EQUAL XPC-FLD0419E + DISPLAY 'FLD0419E ==> ' FLD0419E + DISPLAY 'EXPECTED ==> ' XPC-FLD0419E. + IF FLD0420B (1:) NOT EQUAL XPC-FLD0420B + DISPLAY 'FLD0420B ==> ' FLD0420B + DISPLAY 'EXPECTED ==> ' XPC-FLD0420B. + IF FLD0420E NOT EQUAL XPC-FLD0420E + DISPLAY 'FLD0420E ==> ' FLD0420E + DISPLAY 'EXPECTED ==> ' XPC-FLD0420E. + IF FLD0421B (1:) NOT EQUAL XPC-FLD0421B + DISPLAY 'FLD0421B ==> ' FLD0421B + DISPLAY 'EXPECTED ==> ' XPC-FLD0421B. + IF FLD0421E NOT EQUAL XPC-FLD0421E + DISPLAY 'FLD0421E ==> ' FLD0421E + DISPLAY 'EXPECTED ==> ' XPC-FLD0421E. + IF FLD0422B (1:) NOT EQUAL XPC-FLD0422B + DISPLAY 'FLD0422B ==> ' FLD0422B + DISPLAY 'EXPECTED ==> ' XPC-FLD0422B. + IF FLD0422E NOT EQUAL XPC-FLD0422E + DISPLAY 'FLD0422E ==> ' FLD0422E + DISPLAY 'EXPECTED ==> ' XPC-FLD0422E. + IF FLD0423B (1:) NOT EQUAL XPC-FLD0423B + DISPLAY 'FLD0423B ==> ' FLD0423B + DISPLAY 'EXPECTED ==> ' XPC-FLD0423B. + IF FLD0423E NOT EQUAL XPC-FLD0423E + DISPLAY 'FLD0423E ==> ' FLD0423E + DISPLAY 'EXPECTED ==> ' XPC-FLD0423E. + IF FLD0424B (1:) NOT EQUAL XPC-FLD0424B + DISPLAY 'FLD0424B ==> ' FLD0424B + DISPLAY 'EXPECTED ==> ' XPC-FLD0424B. + IF FLD0424E NOT EQUAL XPC-FLD0424E + DISPLAY 'FLD0424E ==> ' FLD0424E + DISPLAY 'EXPECTED ==> ' XPC-FLD0424E. + IF FLD0425B (1:) NOT EQUAL XPC-FLD0425B + DISPLAY 'FLD0425B ==> ' FLD0425B + DISPLAY 'EXPECTED ==> ' XPC-FLD0425B. + IF FLD0425E NOT EQUAL XPC-FLD0425E + DISPLAY 'FLD0425E ==> ' FLD0425E + DISPLAY 'EXPECTED ==> ' XPC-FLD0425E. + IF FLD0426B (1:) NOT EQUAL XPC-FLD0426B + DISPLAY 'FLD0426B ==> ' FLD0426B + DISPLAY 'EXPECTED ==> ' XPC-FLD0426B. + IF FLD0426E NOT EQUAL XPC-FLD0426E + DISPLAY 'FLD0426E ==> ' FLD0426E + DISPLAY 'EXPECTED ==> ' XPC-FLD0426E. + IF FLD0427B (1:) NOT EQUAL XPC-FLD0427B + DISPLAY 'FLD0427B ==> ' FLD0427B + DISPLAY 'EXPECTED ==> ' XPC-FLD0427B. + IF FLD0427E NOT EQUAL XPC-FLD0427E + DISPLAY 'FLD0427E ==> ' FLD0427E + DISPLAY 'EXPECTED ==> ' XPC-FLD0427E. + IF FLD0428B (1:) NOT EQUAL XPC-FLD0428B + DISPLAY 'FLD0428B ==> ' FLD0428B + DISPLAY 'EXPECTED ==> ' XPC-FLD0428B. + IF FLD0428E NOT EQUAL XPC-FLD0428E + DISPLAY 'FLD0428E ==> ' FLD0428E + DISPLAY 'EXPECTED ==> ' XPC-FLD0428E. + IF FLD0429B (1:) NOT EQUAL XPC-FLD0429B + DISPLAY 'FLD0429B ==> ' FLD0429B + DISPLAY 'EXPECTED ==> ' XPC-FLD0429B. + IF FLD0429E NOT EQUAL XPC-FLD0429E + DISPLAY 'FLD0429E ==> ' FLD0429E + DISPLAY 'EXPECTED ==> ' XPC-FLD0429E. + IF FLD0430B (1:) NOT EQUAL XPC-FLD0430B + DISPLAY 'FLD0430B ==> ' FLD0430B + DISPLAY 'EXPECTED ==> ' XPC-FLD0430B. + IF FLD0430E NOT EQUAL XPC-FLD0430E + DISPLAY 'FLD0430E ==> ' FLD0430E + DISPLAY 'EXPECTED ==> ' XPC-FLD0430E. + IF FLD0431B (1:) NOT EQUAL XPC-FLD0431B + DISPLAY 'FLD0431B ==> ' FLD0431B + DISPLAY 'EXPECTED ==> ' XPC-FLD0431B. + IF FLD0431E NOT EQUAL XPC-FLD0431E + DISPLAY 'FLD0431E ==> ' FLD0431E + DISPLAY 'EXPECTED ==> ' XPC-FLD0431E. + IF FLD0432B (1:) NOT EQUAL XPC-FLD0432B + DISPLAY 'FLD0432B ==> ' FLD0432B + DISPLAY 'EXPECTED ==> ' XPC-FLD0432B. + IF FLD0432E NOT EQUAL XPC-FLD0432E + DISPLAY 'FLD0432E ==> ' FLD0432E + DISPLAY 'EXPECTED ==> ' XPC-FLD0432E. + IF FLD0433B (1:) NOT EQUAL XPC-FLD0433B + DISPLAY 'FLD0433B ==> ' FLD0433B + DISPLAY 'EXPECTED ==> ' XPC-FLD0433B. + IF FLD0433E NOT EQUAL XPC-FLD0433E + DISPLAY 'FLD0433E ==> ' FLD0433E + DISPLAY 'EXPECTED ==> ' XPC-FLD0433E. + IF FLD0434B (1:) NOT EQUAL XPC-FLD0434B + DISPLAY 'FLD0434B ==> ' FLD0434B + DISPLAY 'EXPECTED ==> ' XPC-FLD0434B. + IF FLD0434E NOT EQUAL XPC-FLD0434E + DISPLAY 'FLD0434E ==> ' FLD0434E + DISPLAY 'EXPECTED ==> ' XPC-FLD0434E. + IF FLD0435B (1:) NOT EQUAL XPC-FLD0435B + DISPLAY 'FLD0435B ==> ' FLD0435B + DISPLAY 'EXPECTED ==> ' XPC-FLD0435B. + IF FLD0435E NOT EQUAL XPC-FLD0435E + DISPLAY 'FLD0435E ==> ' FLD0435E + DISPLAY 'EXPECTED ==> ' XPC-FLD0435E. + IF FLD0436B (1:) NOT EQUAL XPC-FLD0436B + DISPLAY 'FLD0436B ==> ' FLD0436B + DISPLAY 'EXPECTED ==> ' XPC-FLD0436B. + IF FLD0436E NOT EQUAL XPC-FLD0436E + DISPLAY 'FLD0436E ==> ' FLD0436E + DISPLAY 'EXPECTED ==> ' XPC-FLD0436E. + IF FLD0437B (1:) NOT EQUAL XPC-FLD0437B + DISPLAY 'FLD0437B ==> ' FLD0437B + DISPLAY 'EXPECTED ==> ' XPC-FLD0437B. + IF FLD0437E NOT EQUAL XPC-FLD0437E + DISPLAY 'FLD0437E ==> ' FLD0437E + DISPLAY 'EXPECTED ==> ' XPC-FLD0437E. + IF FLD0438B (1:) NOT EQUAL XPC-FLD0438B + DISPLAY 'FLD0438B ==> ' FLD0438B + DISPLAY 'EXPECTED ==> ' XPC-FLD0438B. + IF FLD0438E NOT EQUAL XPC-FLD0438E + DISPLAY 'FLD0438E ==> ' FLD0438E + DISPLAY 'EXPECTED ==> ' XPC-FLD0438E. + IF FLD0439B (1:) NOT EQUAL XPC-FLD0439B + DISPLAY 'FLD0439B ==> ' FLD0439B + DISPLAY 'EXPECTED ==> ' XPC-FLD0439B. + IF FLD0439E NOT EQUAL XPC-FLD0439E + DISPLAY 'FLD0439E ==> ' FLD0439E + DISPLAY 'EXPECTED ==> ' XPC-FLD0439E. + IF FLD0440B (1:) NOT EQUAL XPC-FLD0440B + DISPLAY 'FLD0440B ==> ' FLD0440B + DISPLAY 'EXPECTED ==> ' XPC-FLD0440B. + IF FLD0440E NOT EQUAL XPC-FLD0440E + DISPLAY 'FLD0440E ==> ' FLD0440E + DISPLAY 'EXPECTED ==> ' XPC-FLD0440E. + IF FLD0441B (1:) NOT EQUAL XPC-FLD0441B + DISPLAY 'FLD0441B ==> ' FLD0441B + DISPLAY 'EXPECTED ==> ' XPC-FLD0441B. + IF FLD0441E NOT EQUAL XPC-FLD0441E + DISPLAY 'FLD0441E ==> ' FLD0441E + DISPLAY 'EXPECTED ==> ' XPC-FLD0441E. + IF FLD0442B (1:) NOT EQUAL XPC-FLD0442B + DISPLAY 'FLD0442B ==> ' FLD0442B + DISPLAY 'EXPECTED ==> ' XPC-FLD0442B. + IF FLD0442E NOT EQUAL XPC-FLD0442E + DISPLAY 'FLD0442E ==> ' FLD0442E + DISPLAY 'EXPECTED ==> ' XPC-FLD0442E. + IF FLD0443B (1:) NOT EQUAL XPC-FLD0443B + DISPLAY 'FLD0443B ==> ' FLD0443B + DISPLAY 'EXPECTED ==> ' XPC-FLD0443B. + IF FLD0443E NOT EQUAL XPC-FLD0443E + DISPLAY 'FLD0443E ==> ' FLD0443E + DISPLAY 'EXPECTED ==> ' XPC-FLD0443E. + IF FLD0444B (1:) NOT EQUAL XPC-FLD0444B + DISPLAY 'FLD0444B ==> ' FLD0444B + DISPLAY 'EXPECTED ==> ' XPC-FLD0444B. + IF FLD0444E NOT EQUAL XPC-FLD0444E + DISPLAY 'FLD0444E ==> ' FLD0444E + DISPLAY 'EXPECTED ==> ' XPC-FLD0444E. + IF FLD0445B (1:) NOT EQUAL XPC-FLD0445B + DISPLAY 'FLD0445B ==> ' FLD0445B + DISPLAY 'EXPECTED ==> ' XPC-FLD0445B. + IF FLD0445E NOT EQUAL XPC-FLD0445E + DISPLAY 'FLD0445E ==> ' FLD0445E + DISPLAY 'EXPECTED ==> ' XPC-FLD0445E. + IF FLD0446B (1:) NOT EQUAL XPC-FLD0446B + DISPLAY 'FLD0446B ==> ' FLD0446B + DISPLAY 'EXPECTED ==> ' XPC-FLD0446B. + IF FLD0446E NOT EQUAL XPC-FLD0446E + DISPLAY 'FLD0446E ==> ' FLD0446E + DISPLAY 'EXPECTED ==> ' XPC-FLD0446E. + IF FLD0447B (1:) NOT EQUAL XPC-FLD0447B + DISPLAY 'FLD0447B ==> ' FLD0447B + DISPLAY 'EXPECTED ==> ' XPC-FLD0447B. + IF FLD0447E NOT EQUAL XPC-FLD0447E + DISPLAY 'FLD0447E ==> ' FLD0447E + DISPLAY 'EXPECTED ==> ' XPC-FLD0447E. + IF FLD0448B (1:) NOT EQUAL XPC-FLD0448B + DISPLAY 'FLD0448B ==> ' FLD0448B + DISPLAY 'EXPECTED ==> ' XPC-FLD0448B. + IF FLD0448E NOT EQUAL XPC-FLD0448E + DISPLAY 'FLD0448E ==> ' FLD0448E + DISPLAY 'EXPECTED ==> ' XPC-FLD0448E. + IF FLD0449B (1:) NOT EQUAL XPC-FLD0449B + DISPLAY 'FLD0449B ==> ' FLD0449B + DISPLAY 'EXPECTED ==> ' XPC-FLD0449B. + IF FLD0449E NOT EQUAL XPC-FLD0449E + DISPLAY 'FLD0449E ==> ' FLD0449E + DISPLAY 'EXPECTED ==> ' XPC-FLD0449E. + IF FLD0450B (1:) NOT EQUAL XPC-FLD0450B + DISPLAY 'FLD0450B ==> ' FLD0450B + DISPLAY 'EXPECTED ==> ' XPC-FLD0450B. + IF FLD0450E NOT EQUAL XPC-FLD0450E + DISPLAY 'FLD0450E ==> ' FLD0450E + DISPLAY 'EXPECTED ==> ' XPC-FLD0450E. + IF FLD0451B (1:) NOT EQUAL XPC-FLD0451B + DISPLAY 'FLD0451B ==> ' FLD0451B + DISPLAY 'EXPECTED ==> ' XPC-FLD0451B. + IF FLD0451E NOT EQUAL XPC-FLD0451E + DISPLAY 'FLD0451E ==> ' FLD0451E + DISPLAY 'EXPECTED ==> ' XPC-FLD0451E. + IF FLD0452B (1:) NOT EQUAL XPC-FLD0452B + DISPLAY 'FLD0452B ==> ' FLD0452B + DISPLAY 'EXPECTED ==> ' XPC-FLD0452B. + IF FLD0452E NOT EQUAL XPC-FLD0452E + DISPLAY 'FLD0452E ==> ' FLD0452E + DISPLAY 'EXPECTED ==> ' XPC-FLD0452E. + IF FLD0453B (1:) NOT EQUAL XPC-FLD0453B + DISPLAY 'FLD0453B ==> ' FLD0453B + DISPLAY 'EXPECTED ==> ' XPC-FLD0453B. + IF FLD0453E NOT EQUAL XPC-FLD0453E + DISPLAY 'FLD0453E ==> ' FLD0453E + DISPLAY 'EXPECTED ==> ' XPC-FLD0453E. + IF FLD0454B (1:) NOT EQUAL XPC-FLD0454B + DISPLAY 'FLD0454B ==> ' FLD0454B + DISPLAY 'EXPECTED ==> ' XPC-FLD0454B. + IF FLD0454E NOT EQUAL XPC-FLD0454E + DISPLAY 'FLD0454E ==> ' FLD0454E + DISPLAY 'EXPECTED ==> ' XPC-FLD0454E. + IF FLD0455B (1:) NOT EQUAL XPC-FLD0455B + DISPLAY 'FLD0455B ==> ' FLD0455B + DISPLAY 'EXPECTED ==> ' XPC-FLD0455B. + IF FLD0455E NOT EQUAL XPC-FLD0455E + DISPLAY 'FLD0455E ==> ' FLD0455E + DISPLAY 'EXPECTED ==> ' XPC-FLD0455E. + IF FLD0456B (1:) NOT EQUAL XPC-FLD0456B + DISPLAY 'FLD0456B ==> ' FLD0456B + DISPLAY 'EXPECTED ==> ' XPC-FLD0456B. + IF FLD0456E NOT EQUAL XPC-FLD0456E + DISPLAY 'FLD0456E ==> ' FLD0456E + DISPLAY 'EXPECTED ==> ' XPC-FLD0456E. + IF FLD0457B (1:) NOT EQUAL XPC-FLD0457B + DISPLAY 'FLD0457B ==> ' FLD0457B + DISPLAY 'EXPECTED ==> ' XPC-FLD0457B. + IF FLD0457E NOT EQUAL XPC-FLD0457E + DISPLAY 'FLD0457E ==> ' FLD0457E + DISPLAY 'EXPECTED ==> ' XPC-FLD0457E. + IF FLD0458B (1:) NOT EQUAL XPC-FLD0458B + DISPLAY 'FLD0458B ==> ' FLD0458B + DISPLAY 'EXPECTED ==> ' XPC-FLD0458B. + IF FLD0458E NOT EQUAL XPC-FLD0458E + DISPLAY 'FLD0458E ==> ' FLD0458E + DISPLAY 'EXPECTED ==> ' XPC-FLD0458E. + IF FLD0459B (1:) NOT EQUAL XPC-FLD0459B + DISPLAY 'FLD0459B ==> ' FLD0459B + DISPLAY 'EXPECTED ==> ' XPC-FLD0459B. + IF FLD0459E NOT EQUAL XPC-FLD0459E + DISPLAY 'FLD0459E ==> ' FLD0459E + DISPLAY 'EXPECTED ==> ' XPC-FLD0459E. + IF FLD0460B (1:) NOT EQUAL XPC-FLD0460B + DISPLAY 'FLD0460B ==> ' FLD0460B + DISPLAY 'EXPECTED ==> ' XPC-FLD0460B. + IF FLD0460E NOT EQUAL XPC-FLD0460E + DISPLAY 'FLD0460E ==> ' FLD0460E + DISPLAY 'EXPECTED ==> ' XPC-FLD0460E. + IF FLD0461B (1:) NOT EQUAL XPC-FLD0461B + DISPLAY 'FLD0461B ==> ' FLD0461B + DISPLAY 'EXPECTED ==> ' XPC-FLD0461B. + IF FLD0461E NOT EQUAL XPC-FLD0461E + DISPLAY 'FLD0461E ==> ' FLD0461E + DISPLAY 'EXPECTED ==> ' XPC-FLD0461E. + IF FLD0462B (1:) NOT EQUAL XPC-FLD0462B + DISPLAY 'FLD0462B ==> ' FLD0462B + DISPLAY 'EXPECTED ==> ' XPC-FLD0462B. + IF FLD0462E NOT EQUAL XPC-FLD0462E + DISPLAY 'FLD0462E ==> ' FLD0462E + DISPLAY 'EXPECTED ==> ' XPC-FLD0462E. + IF FLD0463B (1:) NOT EQUAL XPC-FLD0463B + DISPLAY 'FLD0463B ==> ' FLD0463B + DISPLAY 'EXPECTED ==> ' XPC-FLD0463B. + IF FLD0463E NOT EQUAL XPC-FLD0463E + DISPLAY 'FLD0463E ==> ' FLD0463E + DISPLAY 'EXPECTED ==> ' XPC-FLD0463E. + IF FLD0464B (1:) NOT EQUAL XPC-FLD0464B + DISPLAY 'FLD0464B ==> ' FLD0464B + DISPLAY 'EXPECTED ==> ' XPC-FLD0464B. + IF FLD0464E NOT EQUAL XPC-FLD0464E + DISPLAY 'FLD0464E ==> ' FLD0464E + DISPLAY 'EXPECTED ==> ' XPC-FLD0464E. + IF FLD0465B (1:) NOT EQUAL XPC-FLD0465B + DISPLAY 'FLD0465B ==> ' FLD0465B + DISPLAY 'EXPECTED ==> ' XPC-FLD0465B. + IF FLD0465E NOT EQUAL XPC-FLD0465E + DISPLAY 'FLD0465E ==> ' FLD0465E + DISPLAY 'EXPECTED ==> ' XPC-FLD0465E. + IF FLD0466B (1:) NOT EQUAL XPC-FLD0466B + DISPLAY 'FLD0466B ==> ' FLD0466B + DISPLAY 'EXPECTED ==> ' XPC-FLD0466B. + IF FLD0466E NOT EQUAL XPC-FLD0466E + DISPLAY 'FLD0466E ==> ' FLD0466E + DISPLAY 'EXPECTED ==> ' XPC-FLD0466E. + IF FLD0467B (1:) NOT EQUAL XPC-FLD0467B + DISPLAY 'FLD0467B ==> ' FLD0467B + DISPLAY 'EXPECTED ==> ' XPC-FLD0467B. + IF FLD0467E NOT EQUAL XPC-FLD0467E + DISPLAY 'FLD0467E ==> ' FLD0467E + DISPLAY 'EXPECTED ==> ' XPC-FLD0467E. + IF FLD0468B (1:) NOT EQUAL XPC-FLD0468B + DISPLAY 'FLD0468B ==> ' FLD0468B + DISPLAY 'EXPECTED ==> ' XPC-FLD0468B. + IF FLD0468E NOT EQUAL XPC-FLD0468E + DISPLAY 'FLD0468E ==> ' FLD0468E + DISPLAY 'EXPECTED ==> ' XPC-FLD0468E. + IF FLD0469B (1:) NOT EQUAL XPC-FLD0469B + DISPLAY 'FLD0469B ==> ' FLD0469B + DISPLAY 'EXPECTED ==> ' XPC-FLD0469B. + IF FLD0469E NOT EQUAL XPC-FLD0469E + DISPLAY 'FLD0469E ==> ' FLD0469E + DISPLAY 'EXPECTED ==> ' XPC-FLD0469E. + IF FLD0470B (1:) NOT EQUAL XPC-FLD0470B + DISPLAY 'FLD0470B ==> ' FLD0470B + DISPLAY 'EXPECTED ==> ' XPC-FLD0470B. + IF FLD0470E NOT EQUAL XPC-FLD0470E + DISPLAY 'FLD0470E ==> ' FLD0470E + DISPLAY 'EXPECTED ==> ' XPC-FLD0470E. + IF FLD0471B (1:) NOT EQUAL XPC-FLD0471B + DISPLAY 'FLD0471B ==> ' FLD0471B + DISPLAY 'EXPECTED ==> ' XPC-FLD0471B. + IF FLD0471E NOT EQUAL XPC-FLD0471E + DISPLAY 'FLD0471E ==> ' FLD0471E + DISPLAY 'EXPECTED ==> ' XPC-FLD0471E. + IF FLD0472B (1:) NOT EQUAL XPC-FLD0472B + DISPLAY 'FLD0472B ==> ' FLD0472B + DISPLAY 'EXPECTED ==> ' XPC-FLD0472B. + IF FLD0472E NOT EQUAL XPC-FLD0472E + DISPLAY 'FLD0472E ==> ' FLD0472E + DISPLAY 'EXPECTED ==> ' XPC-FLD0472E. + IF FLD0473B (1:) NOT EQUAL XPC-FLD0473B + DISPLAY 'FLD0473B ==> ' FLD0473B + DISPLAY 'EXPECTED ==> ' XPC-FLD0473B. + IF FLD0473E NOT EQUAL XPC-FLD0473E + DISPLAY 'FLD0473E ==> ' FLD0473E + DISPLAY 'EXPECTED ==> ' XPC-FLD0473E. + IF FLD0474B (1:) NOT EQUAL XPC-FLD0474B + DISPLAY 'FLD0474B ==> ' FLD0474B + DISPLAY 'EXPECTED ==> ' XPC-FLD0474B. + IF FLD0474E NOT EQUAL XPC-FLD0474E + DISPLAY 'FLD0474E ==> ' FLD0474E + DISPLAY 'EXPECTED ==> ' XPC-FLD0474E. + IF FLD0475B (1:) NOT EQUAL XPC-FLD0475B + DISPLAY 'FLD0475B ==> ' FLD0475B + DISPLAY 'EXPECTED ==> ' XPC-FLD0475B. + IF FLD0475E NOT EQUAL XPC-FLD0475E + DISPLAY 'FLD0475E ==> ' FLD0475E + DISPLAY 'EXPECTED ==> ' XPC-FLD0475E. + IF FLD0476B (1:) NOT EQUAL XPC-FLD0476B + DISPLAY 'FLD0476B ==> ' FLD0476B + DISPLAY 'EXPECTED ==> ' XPC-FLD0476B. + IF FLD0476E NOT EQUAL XPC-FLD0476E + DISPLAY 'FLD0476E ==> ' FLD0476E + DISPLAY 'EXPECTED ==> ' XPC-FLD0476E. + IF FLD0477B (1:) NOT EQUAL XPC-FLD0477B + DISPLAY 'FLD0477B ==> ' FLD0477B + DISPLAY 'EXPECTED ==> ' XPC-FLD0477B. + IF FLD0477E NOT EQUAL XPC-FLD0477E + DISPLAY 'FLD0477E ==> ' FLD0477E + DISPLAY 'EXPECTED ==> ' XPC-FLD0477E. + IF FLD0478B (1:) NOT EQUAL XPC-FLD0478B + DISPLAY 'FLD0478B ==> ' FLD0478B + DISPLAY 'EXPECTED ==> ' XPC-FLD0478B. + IF FLD0478E NOT EQUAL XPC-FLD0478E + DISPLAY 'FLD0478E ==> ' FLD0478E + DISPLAY 'EXPECTED ==> ' XPC-FLD0478E. + IF FLD0479B (1:) NOT EQUAL XPC-FLD0479B + DISPLAY 'FLD0479B ==> ' FLD0479B + DISPLAY 'EXPECTED ==> ' XPC-FLD0479B. + IF FLD0479E NOT EQUAL XPC-FLD0479E + DISPLAY 'FLD0479E ==> ' FLD0479E + DISPLAY 'EXPECTED ==> ' XPC-FLD0479E. + IF FLD0480B (1:) NOT EQUAL XPC-FLD0480B + DISPLAY 'FLD0480B ==> ' FLD0480B + DISPLAY 'EXPECTED ==> ' XPC-FLD0480B. + IF FLD0480E NOT EQUAL XPC-FLD0480E + DISPLAY 'FLD0480E ==> ' FLD0480E + DISPLAY 'EXPECTED ==> ' XPC-FLD0480E. + IF FLD0481B (1:) NOT EQUAL XPC-FLD0481B + DISPLAY 'FLD0481B ==> ' FLD0481B + DISPLAY 'EXPECTED ==> ' XPC-FLD0481B. + IF FLD0481E NOT EQUAL XPC-FLD0481E + DISPLAY 'FLD0481E ==> ' FLD0481E + DISPLAY 'EXPECTED ==> ' XPC-FLD0481E. + IF FLD0482B (1:) NOT EQUAL XPC-FLD0482B + DISPLAY 'FLD0482B ==> ' FLD0482B + DISPLAY 'EXPECTED ==> ' XPC-FLD0482B. + IF FLD0482E NOT EQUAL XPC-FLD0482E + DISPLAY 'FLD0482E ==> ' FLD0482E + DISPLAY 'EXPECTED ==> ' XPC-FLD0482E. + IF FLD0483B (1:) NOT EQUAL XPC-FLD0483B + DISPLAY 'FLD0483B ==> ' FLD0483B + DISPLAY 'EXPECTED ==> ' XPC-FLD0483B. + IF FLD0483E NOT EQUAL XPC-FLD0483E + DISPLAY 'FLD0483E ==> ' FLD0483E + DISPLAY 'EXPECTED ==> ' XPC-FLD0483E. + IF FLD0484B (1:) NOT EQUAL XPC-FLD0484B + DISPLAY 'FLD0484B ==> ' FLD0484B + DISPLAY 'EXPECTED ==> ' XPC-FLD0484B. + IF FLD0484E NOT EQUAL XPC-FLD0484E + DISPLAY 'FLD0484E ==> ' FLD0484E + DISPLAY 'EXPECTED ==> ' XPC-FLD0484E. + IF FLD0485B (1:) NOT EQUAL XPC-FLD0485B + DISPLAY 'FLD0485B ==> ' FLD0485B + DISPLAY 'EXPECTED ==> ' XPC-FLD0485B. + IF FLD0485E NOT EQUAL XPC-FLD0485E + DISPLAY 'FLD0485E ==> ' FLD0485E + DISPLAY 'EXPECTED ==> ' XPC-FLD0485E. + IF FLD0486B (1:) NOT EQUAL XPC-FLD0486B + DISPLAY 'FLD0486B ==> ' FLD0486B + DISPLAY 'EXPECTED ==> ' XPC-FLD0486B. + IF FLD0486E NOT EQUAL XPC-FLD0486E + DISPLAY 'FLD0486E ==> ' FLD0486E + DISPLAY 'EXPECTED ==> ' XPC-FLD0486E. + IF FLD0487B (1:) NOT EQUAL XPC-FLD0487B + DISPLAY 'FLD0487B ==> ' FLD0487B + DISPLAY 'EXPECTED ==> ' XPC-FLD0487B. + IF FLD0487E NOT EQUAL XPC-FLD0487E + DISPLAY 'FLD0487E ==> ' FLD0487E + DISPLAY 'EXPECTED ==> ' XPC-FLD0487E. + IF FLD0488B (1:) NOT EQUAL XPC-FLD0488B + DISPLAY 'FLD0488B ==> ' FLD0488B + DISPLAY 'EXPECTED ==> ' XPC-FLD0488B. + IF FLD0488E NOT EQUAL XPC-FLD0488E + DISPLAY 'FLD0488E ==> ' FLD0488E + DISPLAY 'EXPECTED ==> ' XPC-FLD0488E. + IF FLD0489B (1:) NOT EQUAL XPC-FLD0489B + DISPLAY 'FLD0489B ==> ' FLD0489B + DISPLAY 'EXPECTED ==> ' XPC-FLD0489B. + IF FLD0489E NOT EQUAL XPC-FLD0489E + DISPLAY 'FLD0489E ==> ' FLD0489E + DISPLAY 'EXPECTED ==> ' XPC-FLD0489E. + IF FLD0490B (1:) NOT EQUAL XPC-FLD0490B + DISPLAY 'FLD0490B ==> ' FLD0490B + DISPLAY 'EXPECTED ==> ' XPC-FLD0490B. + IF FLD0490E NOT EQUAL XPC-FLD0490E + DISPLAY 'FLD0490E ==> ' FLD0490E + DISPLAY 'EXPECTED ==> ' XPC-FLD0490E. + IF FLD0491B (1:) NOT EQUAL XPC-FLD0491B + DISPLAY 'FLD0491B ==> ' FLD0491B + DISPLAY 'EXPECTED ==> ' XPC-FLD0491B. + IF FLD0491E NOT EQUAL XPC-FLD0491E + DISPLAY 'FLD0491E ==> ' FLD0491E + DISPLAY 'EXPECTED ==> ' XPC-FLD0491E. + IF FLD0492B (1:) NOT EQUAL XPC-FLD0492B + DISPLAY 'FLD0492B ==> ' FLD0492B + DISPLAY 'EXPECTED ==> ' XPC-FLD0492B. + IF FLD0492E NOT EQUAL XPC-FLD0492E + DISPLAY 'FLD0492E ==> ' FLD0492E + DISPLAY 'EXPECTED ==> ' XPC-FLD0492E. + IF FLD0493B (1:) NOT EQUAL XPC-FLD0493B + DISPLAY 'FLD0493B ==> ' FLD0493B + DISPLAY 'EXPECTED ==> ' XPC-FLD0493B. + IF FLD0493E NOT EQUAL XPC-FLD0493E + DISPLAY 'FLD0493E ==> ' FLD0493E + DISPLAY 'EXPECTED ==> ' XPC-FLD0493E. + IF FLD0494B (1:) NOT EQUAL XPC-FLD0494B + DISPLAY 'FLD0494B ==> ' FLD0494B + DISPLAY 'EXPECTED ==> ' XPC-FLD0494B. + IF FLD0494E NOT EQUAL XPC-FLD0494E + DISPLAY 'FLD0494E ==> ' FLD0494E + DISPLAY 'EXPECTED ==> ' XPC-FLD0494E. + IF FLD0495B (1:) NOT EQUAL XPC-FLD0495B + DISPLAY 'FLD0495B ==> ' FLD0495B + DISPLAY 'EXPECTED ==> ' XPC-FLD0495B. + IF FLD0495E NOT EQUAL XPC-FLD0495E + DISPLAY 'FLD0495E ==> ' FLD0495E + DISPLAY 'EXPECTED ==> ' XPC-FLD0495E. + IF FLD0496B (1:) NOT EQUAL XPC-FLD0496B + DISPLAY 'FLD0496B ==> ' FLD0496B + DISPLAY 'EXPECTED ==> ' XPC-FLD0496B. + IF FLD0496E NOT EQUAL XPC-FLD0496E + DISPLAY 'FLD0496E ==> ' FLD0496E + DISPLAY 'EXPECTED ==> ' XPC-FLD0496E. + IF FLD0497B (1:) NOT EQUAL XPC-FLD0497B + DISPLAY 'FLD0497B ==> ' FLD0497B + DISPLAY 'EXPECTED ==> ' XPC-FLD0497B. + IF FLD0497E NOT EQUAL XPC-FLD0497E + DISPLAY 'FLD0497E ==> ' FLD0497E + DISPLAY 'EXPECTED ==> ' XPC-FLD0497E. + IF FLD0498B (1:) NOT EQUAL XPC-FLD0498B + DISPLAY 'FLD0498B ==> ' FLD0498B + DISPLAY 'EXPECTED ==> ' XPC-FLD0498B. + IF FLD0498E NOT EQUAL XPC-FLD0498E + DISPLAY 'FLD0498E ==> ' FLD0498E + DISPLAY 'EXPECTED ==> ' XPC-FLD0498E. + IF FLD0499B (1:) NOT EQUAL XPC-FLD0499B + DISPLAY 'FLD0499B ==> ' FLD0499B + DISPLAY 'EXPECTED ==> ' XPC-FLD0499B. + IF FLD0499E NOT EQUAL XPC-FLD0499E + DISPLAY 'FLD0499E ==> ' FLD0499E + DISPLAY 'EXPECTED ==> ' XPC-FLD0499E. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:8730: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:8730" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:8730" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:8731: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:8731" +( $at_check_trace; $COBCRUN_DIRECT ./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_display.at:8731" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTNR2. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 77 FLD0500A PIC S9(10)V9(08) + VALUE -4830218621.81680639. + 77 FLD0500B PIC 9(03) + VALUE 087. + 77 FLD0500E PIC X VALUE 'N'. + + 77 FLD0501A PIC 9(09)V9(15) + VALUE 652910855.370784748430423. + 77 FLD0501B PIC 9(09)V9(14) + VALUE 628093348.73677369337485. + 77 FLD0501E PIC X VALUE 'N'. + + 77 FLD0502A PIC 9(03) + VALUE 079. + 77 FLD0502B PIC 9(07)V9(22) + VALUE 7893241.6286150020034995122841. + 77 FLD0502E PIC X VALUE 'N'. + + 77 FLD0503A PIC 9(10)V9(11) + VALUE 5662523582.77427925159. + 77 FLD0503B PIC 9(04)V9(29) + VALUE 8834.70722999726620905391882843105. + 77 FLD0503E PIC X VALUE 'N'. + + 77 FLD0504A PIC S9(08)V9(02) + VALUE -28360864.01. + 77 FLD0504B PIC 9(10)V9(09) + VALUE 5000570062.577901486. + 77 FLD0504E PIC X VALUE 'N'. + + 77 FLD0505A PIC 9(04)V9(30) + VALUE 9110.332843503369248949752545740921. + 77 FLD0505B PIC 9(10)V9(10) + VALUE 5407979633.7587637822. + 77 FLD0505E PIC X VALUE 'N'. + + 77 FLD0506A PIC 9(10)V9(11) + VALUE 5546838940.35467472960. + 77 FLD0506B PIC S9(07)V9(01) + VALUE +2340559.3. + 77 FLD0506E PIC X VALUE 'N'. + + 77 FLD0507A PIC 9(08)V9(18) + VALUE 70736506.262277043521891073. + 77 FLD0507B PIC 9(10)V9(09) + VALUE 5205430142.820132166. + 77 FLD0507E PIC X VALUE 'N'. + + 77 FLD0508A PIC 9(09)V9(16) + VALUE 658855971.9467786957025623. + 77 FLD0508B PIC S9(09)V9(07) + VALUE +444447149.8618901. + 77 FLD0508E PIC X VALUE 'N'. + + 77 FLD0509A PIC S9(01) + VALUE +0. + 77 FLD0509B PIC 9(10)V9(08) + VALUE 4889373386.26299289. + 77 FLD0509E PIC X VALUE 'N'. + + 77 FLD0510A PIC 9(04) + VALUE 1295. + 77 FLD0510B PIC S9(03) + VALUE -092. + 77 FLD0510E PIC X VALUE 'N'. + + 77 FLD0511A PIC 9(06)V9(25) + VALUE 815863.7850571600624860479911149. + 77 FLD0511B PIC 9(10)V9(09) + VALUE 5256921146.480894035. + 77 FLD0511E PIC X VALUE 'N'. + + 77 FLD0512A PIC 9(05) + VALUE 13945. + 77 FLD0512B PIC 9(01)V9(36) + VALUE 9.908282031313487836499120930966455489. + 77 FLD0512E PIC X VALUE 'N'. + + 77 FLD0513A PIC 9(09)V9(15) + VALUE 653773832.246937192103075. + 77 FLD0513B PIC 9(08)V9(20) + VALUE 74124087.47450585089211472222. + 77 FLD0513E PIC X VALUE 'N'. + + 77 FLD0514A PIC 9(08)V9(18) + VALUE 70109343.593910689040882289. + 77 FLD0514B PIC 9(09)V9(04) + VALUE 348891343.2762. + 77 FLD0514E PIC X VALUE 'N'. + + 77 FLD0515A PIC 9(09)V9(16) + VALUE 658210435.7548693718271692. + 77 FLD0515B PIC 9(03)V9(32) + VALUE 941.14524908048735607479784448514692. + 77 FLD0515E PIC X VALUE 'N'. + + 77 FLD0516A PIC 9(01)V9(36) + VALUE 9.884403805479323734672902901365887373. + 77 FLD0516B PIC 9(01) + VALUE 0. + 77 FLD0516E PIC X VALUE 'N'. + + 77 FLD0517A PIC 9(10)V9(07) + VALUE 4497620438.0577999. + 77 FLD0517B PIC S9(10)V9(08) + VALUE -4811021778.48490686. + 77 FLD0517E PIC X VALUE 'N'. + + 77 FLD0518A PIC 9(09)V9(16) + VALUE 664556684.1155496895510168. + 77 FLD0518B PIC S9(02) + VALUE -05. + 77 FLD0518E PIC X VALUE 'N'. + + 77 FLD0519A PIC 9(09)V9(14) + VALUE 630097608.79846921088898. + 77 FLD0519B PIC 9(08)V9(17) + VALUE 68412596.06583623975595287. + 77 FLD0519E PIC X VALUE 'N'. + + 77 FLD0520A PIC 9(04)V9(30) + VALUE 9052.329380117529744609328190563246. + 77 FLD0520B PIC 9(09)V9(14) + VALUE 610604586.65389061305717. + 77 FLD0520E PIC X VALUE 'N'. + + 77 FLD0521A PIC 9(05) + VALUE 13956. + 77 FLD0521B PIC S9(05) + VALUE +14099. + 77 FLD0521E PIC X VALUE 'N'. + + 77 FLD0522A PIC S9(01) + VALUE +0. + 77 FLD0522B PIC S9(09)V9(04) + VALUE -351067614.4076. + 77 FLD0522E PIC X VALUE 'N'. + + 77 FLD0523A PIC 9(08)V9(18) + VALUE 70807149.512639711019801325. + 77 FLD0523B PIC S9(08)V9(02) + VALUE -28004002.44. + 77 FLD0523E PIC X VALUE 'N'. + + 77 FLD0524A PIC S9(06)V9(01) + VALUE +201515.3. + 77 FLD0524B PIC 9(10)V9(09) + VALUE 5046210377.505329081. + 77 FLD0524E PIC X VALUE 'N'. + + 77 FLD0525A PIC S9(01) + VALUE -0. + 77 FLD0525B PIC 9(04)V9(29) + VALUE 8873.36156634660588871099662355845. + 77 FLD0525E PIC X VALUE 'N'. + + 77 FLD0526A PIC 9(07)V9(22) + VALUE 7812896.0072540409864672028561. + 77 FLD0526B PIC 9(07)V9(02) + VALUE 2461308.93. + 77 FLD0526E PIC X VALUE 'N'. + + 77 FLD0527A PIC 9(10)V9(12) + VALUE 5853770318.384275972434. + 77 FLD0527B PIC 9(10)V9(09) + VALUE 5140096263.891610339. + 77 FLD0527E PIC X VALUE 'N'. + + 77 FLD0528A PIC 9(10)V9(08) + VALUE 4856797949.89136714. + 77 FLD0528B PIC S9(04) + VALUE +1207. + 77 FLD0528E PIC X VALUE 'N'. + + 77 FLD0529A PIC 9(10)V9(10) + VALUE 5298570971.4885653731. + 77 FLD0529B PIC S9(10)V9(07) + VALUE -4613280273.7797717. + 77 FLD0529E PIC X VALUE 'N'. + + 77 FLD0530A PIC 9(05)V9(28) + VALUE 87536.5484141958027919372398173436. + 77 FLD0530B PIC S9(02) + VALUE -06. + 77 FLD0530E PIC X VALUE 'N'. + + 77 FLD0531A PIC 9(09)V9(03) + VALUE 317487049.751. + 77 FLD0531B PIC S9(07)V9(01) + VALUE +2322772.2. + 77 FLD0531E PIC X VALUE 'N'. + + 77 FLD0532A PIC 9(09)V9(15) + VALUE 653250626.044252880042506. + 77 FLD0532B PIC S9(01) + VALUE +0. + 77 FLD0532E PIC X VALUE 'N'. + + 77 FLD0533A PIC 9(07)V9(02) + VALUE 2559928.55. + 77 FLD0533B PIC 9(03) + VALUE 086. + 77 FLD0533E PIC X VALUE 'N'. + + 77 FLD0534A PIC 9(09)V9(06) + VALUE 408226706.354108. + 77 FLD0534B PIC 9(10)V9(09) + VALUE 5204512753.981520578. + 77 FLD0534E PIC X VALUE 'N'. + + 77 FLD0535A PIC 9(10)V9(11) + VALUE 5556101599.27967472981. + 77 FLD0535B PIC 9(05)V9(27) + VALUE 85335.564071638048133650045201648. + 77 FLD0535E PIC X VALUE 'N'. + + 77 FLD0536A PIC S9(08)V9(03) + VALUE -29061270.882. + 77 FLD0536B PIC S9(01) + VALUE -0. + 77 FLD0536E PIC X VALUE 'N'. + + 77 FLD0537A PIC 9(08)V9(03) + VALUE 29943354.242. + 77 FLD0537B PIC 9(04) + VALUE 1199. + 77 FLD0537E PIC X VALUE 'N'. + + 77 FLD0538A PIC 9(03)V9(32) + VALUE 922.29859860523566439383102988358587. + 77 FLD0538B PIC 9(04)V9(29) + VALUE 8861.76614320458799767266100388951. + 77 FLD0538E PIC X VALUE 'N'. + + 77 FLD0539A PIC 9(05)V9(27) + VALUE 85666.721070025741990860979058197. + 77 FLD0539B PIC 9(05)V9(27) + VALUE 84375.338828007329095015620623598. + 77 FLD0539E PIC X VALUE 'N'. + + 77 FLD0540A PIC S9(04) + VALUE +1227. + 77 FLD0540B PIC 9(01) + VALUE 0. + 77 FLD0540E PIC X VALUE 'N'. + + 77 FLD0541A PIC 9(09)V9(05) + VALUE 387240740.80744. + 77 FLD0541B PIC 9(07)V9(22) + VALUE 7676023.3773886621388982121061. + 77 FLD0541E PIC X VALUE 'N'. + + 77 FLD0542A PIC 9(06)V9(25) + VALUE 831706.5789473143677668076634290. + 77 FLD0542B PIC 9(10)V9(11) + VALUE 5532908670.51828949563. + 77 FLD0542E PIC X VALUE 'N'. + + 77 FLD0543A PIC 9(06)V9(01) + VALUE 188772.9. + 77 FLD0543B PIC 9(07)V9(02) + VALUE 2581387.79. + 77 FLD0543E PIC X VALUE 'N'. + + 77 FLD0544A PIC 9(10)V9(09) + VALUE 5241766194.366106468. + 77 FLD0544B PIC 9(08)V9(02) + VALUE 27953166.13. + 77 FLD0544E PIC X VALUE 'N'. + + 77 FLD0545A PIC 9(09)V9(14) + VALUE 622229285.46684597161942. + 77 FLD0545B PIC 9(08)V9(19) + VALUE 72256359.1476747091313370674. + 77 FLD0545E PIC X VALUE 'N'. + + 77 FLD0546A PIC 9(06)V9(25) + VALUE 820358.8689269564193651262939965. + 77 FLD0546B PIC 9(09)V9(14) + VALUE 610779194.05314462508727. + 77 FLD0546E PIC X VALUE 'N'. + + 77 FLD0547A PIC 9(06)V9(25) + VALUE 821925.7242001770658035297856258. + 77 FLD0547B PIC S9(09)V9(04) + VALUE -360691511.9302. + 77 FLD0547E PIC X VALUE 'N'. + + 77 FLD0548A PIC 9(07)V9(23) + VALUE 7955385.78445739497091437897324. + 77 FLD0548B PIC 9(09)V9(17) + VALUE 689149957.90453892343663255. + 77 FLD0548E PIC X VALUE 'N'. + + 77 FLD0549A PIC 9(07)V9(01) + VALUE 2367856.7. + 77 FLD0549B PIC 9(09)V9(06) + VALUE 415548355.051954. + 77 FLD0549E PIC X VALUE 'N'. + + 77 FLD0550A PIC 9(09)V9(15) + VALUE 656651700.520587522369453. + 77 FLD0550B PIC 9(02) + VALUE 06. + 77 FLD0550E PIC X VALUE 'N'. + + 77 FLD0551A PIC 9(07)V9(02) + VALUE 2589973.73. + 77 FLD0551B PIC 9(09)V9(15) + VALUE 652529070.867454263904505. + 77 FLD0551E PIC X VALUE 'N'. + + 77 FLD0552A PIC 9(10)V9(07) + VALUE 4579590761.6898545. + 77 FLD0552B PIC 9(05) + VALUE 14745. + 77 FLD0552E PIC X VALUE 'N'. + + 77 FLD0553A PIC S9(01) + VALUE +0. + 77 FLD0553B PIC S9(09)V9(04) + VALUE -360871096.9090. + 77 FLD0553E PIC X VALUE 'N'. + + 77 FLD0554A PIC 9(07)V9(02) + VALUE 2568219.15. + 77 FLD0554B PIC 9(03)V9(32) + VALUE 932.99236247731820448336748086148872. + 77 FLD0554E PIC X VALUE 'N'. + + 77 FLD0555A PIC 9(09)V9(05) + VALUE 388184875.66560. + 77 FLD0555B PIC 9(10)V9(09) + VALUE 5217501857.988002811. + 77 FLD0555E PIC X VALUE 'N'. + + 77 FLD0556A PIC 9(04)V9(30) + VALUE 8983.209260005348140154524116951506. + 77 FLD0556B PIC 9(10)V9(11) + VALUE 5685562200.43860527368. + 77 FLD0556E PIC X VALUE 'N'. + + 77 FLD0557A PIC 9(09)V9(15) + VALUE 650877011.601572519339242. + 77 FLD0557B PIC S9(05) + VALUE +13329. + 77 FLD0557E PIC X VALUE 'N'. + + 77 FLD0558A PIC 9(09)V9(13) + VALUE 595830550.3266489999703. + 77 FLD0558B PIC 9(06)V9(01) + VALUE 209604.9. + 77 FLD0558E PIC X VALUE 'N'. + + 77 FLD0559A PIC 9(10)V9(09) + VALUE 5242032248.235551916. + 77 FLD0559B PIC 9(07)V9(22) + VALUE 7882034.1791675385678672682843. + 77 FLD0559E PIC X VALUE 'N'. + + 77 FLD0560A PIC S9(09)V9(06) + VALUE +403640603.914505. + 77 FLD0560B PIC 9(09)V9(07) + VALUE 438743115.5223073. + 77 FLD0560E PIC X VALUE 'N'. + + 77 FLD0561A PIC 9(05) + VALUE 14931. + 77 FLD0561B PIC 9(01) + VALUE 0. + 77 FLD0561E PIC X VALUE 'N'. + + 77 FLD0562A PIC S9(01) + VALUE -0. + 77 FLD0562B PIC 9(02)V9(34) + VALUE 95.8208334412512741096179524902254343. + 77 FLD0562E PIC X VALUE 'N'. + + 77 FLD0563A PIC 9(10)V9(09) + VALUE 5040974749.501065943. + 77 FLD0563B PIC S9(08)V9(03) + VALUE +31252590.212. + 77 FLD0563E PIC X VALUE 'N'. + + 77 FLD0564A PIC 9(09)V9(16) + VALUE 666123633.8391588462926051. + 77 FLD0564B PIC 9(03)V9(32) + VALUE 925.73034981753798966508384182816371. + 77 FLD0564E PIC X VALUE 'N'. + + 77 FLD0565A PIC 9(04)V9(30) + VALUE 8999.472704059103822515908177592791. + 77 FLD0565B PIC 9(06)V9(01) + VALUE 209088.7. + 77 FLD0565E PIC X VALUE 'N'. + + 77 FLD0566A PIC 9(10)V9(10) + VALUE 5451645287.6426646501. + 77 FLD0566B PIC 9(09)V9(03) + VALUE 317445075.017. + 77 FLD0566E PIC X VALUE 'N'. + + 77 FLD0567A PIC S9(07)V9(02) + VALUE -2621767.34. + 77 FLD0567B PIC 9(04)V9(29) + VALUE 8789.70351596639054569948257267242. + 77 FLD0567E PIC X VALUE 'N'. + + 77 FLD0568A PIC S9(08)V9(02) + VALUE -28119737.76. + 77 FLD0568B PIC 9(09)V9(14) + VALUE 616894259.97583058336459. + 77 FLD0568E PIC X VALUE 'N'. + + 77 FLD0569A PIC 9(10)V9(10) + VALUE 5301098669.5201622875. + 77 FLD0569B PIC S9(09)V9(06) + VALUE +421009403.834593. + 77 FLD0569E PIC X VALUE 'N'. + + 77 FLD0570A PIC 9(05) + VALUE 13775. + 77 FLD0570B PIC 9(08)V9(19) + VALUE 72019797.5322646066764775696. + 77 FLD0570E PIC X VALUE 'N'. + + 77 FLD0571A PIC 9(10)V9(08) + VALUE 4995844884.12155025. + 77 FLD0571B PIC 9(09)V9(16) + VALUE 666328034.4715885039619251. + 77 FLD0571E PIC X VALUE 'N'. + + 77 FLD0572A PIC 9(06)V9(01) + VALUE 199648.9. + 77 FLD0572B PIC S9(06) + VALUE -163410. + 77 FLD0572E PIC X VALUE 'N'. + + 77 FLD0573A PIC 9(10)V9(11) + VALUE 5579051586.61930800079. + 77 FLD0573B PIC 9(01)V9(36) + VALUE 9.908582147727897915245875992695800960. + 77 FLD0573E PIC X VALUE 'N'. + + 77 FLD0574A PIC 9(10)V9(09) + VALUE 5021035726.447702352. + 77 FLD0574B PIC S9(01) + VALUE +0. + 77 FLD0574E PIC X VALUE 'N'. + + 77 FLD0575A PIC 9(02)V9(34) + VALUE 96.0495649054037059499933093320578336. + 77 FLD0575B PIC S9(01) + VALUE +0. + 77 FLD0575E PIC X VALUE 'N'. + + 77 FLD0576A PIC 9(09)V9(11) + VALUE 551289746.02273483895. + 77 FLD0576B PIC 9(10)V9(10) + VALUE 5275129807.0789420791. + 77 FLD0576E PIC X VALUE 'N'. + + 77 FLD0577A PIC S9(10)V9(06) + VALUE +4245433083.607936. + 77 FLD0577B PIC 9(02)V9(34) + VALUE 96.8922152301445405164770363626303151. + 77 FLD0577E PIC X VALUE 'N'. + + 77 FLD0578A PIC S9(07)V9(02) + VALUE +2444375.29. + 77 FLD0578B PIC 9(05)V9(01) + VALUE 16994.3. + 77 FLD0578E PIC X VALUE 'N'. + + 77 FLD0579A PIC 9(09)V9(17) + VALUE 688719854.55414208576740975. + 77 FLD0579B PIC 9(10)V9(09) + VALUE 5219660742.233359629. + 77 FLD0579E PIC X VALUE 'N'. + + 77 FLD0580A PIC S9(08)V9(04) + VALUE +33455460.0291. + 77 FLD0580B PIC 9(02)V9(34) + VALUE 95.3840741032953354228141051862621679. + 77 FLD0580E PIC X VALUE 'N'. + + 77 FLD0581A PIC S9(08)V9(02) + VALUE -28271118.43. + 77 FLD0581B PIC 9(09)V9(15) + VALUE 638334092.073881143036828. + 77 FLD0581E PIC X VALUE 'N'. + + 77 FLD0582A PIC 9(02)V9(34) + VALUE 95.0957041455027018983514608407858759. + 77 FLD0582B PIC 9(09)V9(14) + VALUE 628562844.11633944753106. + 77 FLD0582E PIC X VALUE 'N'. + + 77 FLD0583A PIC 9(04)V9(30) + VALUE 9004.015213488590907431330379040446. + 77 FLD0583B PIC S9(01) + VALUE +0. + 77 FLD0583E PIC X VALUE 'N'. + + 77 FLD0584A PIC S9(01) + VALUE +0. + 77 FLD0584B PIC 9(02)V9(34) + VALUE 95.5867594557756605766485336062032729. + 77 FLD0584E PIC X VALUE 'N'. + + 77 FLD0585A PIC S9(10)V9(06) + VALUE +4326355872.600766. + 77 FLD0585B PIC 9(03)V9(32) + VALUE 926.67442032915370297985191427869722. + 77 FLD0585E PIC X VALUE 'N'. + + 77 FLD0586A PIC 9(05)V9(27) + VALUE 85722.001340062370378092282408033. + 77 FLD0586B PIC 9(07)V9(22) + VALUE 7865140.9974229868904416207442. + 77 FLD0586E PIC X VALUE 'N'. + + 77 FLD0587A PIC S9(09)V9(05) + VALUE -381433349.51035. + 77 FLD0587B PIC S9(04) + VALUE +1221. + 77 FLD0587E PIC X VALUE 'N'. + + 77 FLD0588A PIC 9(10)V9(09) + VALUE 5181115773.570048599. + 77 FLD0588B PIC 9(04)V9(30) + VALUE 9002.074772136551272794235956098418. + 77 FLD0588E PIC X VALUE 'N'. + + 77 FLD0589A PIC S9(09)V9(06) + VALUE +401102073.275349. + 77 FLD0589B PIC S9(04) + VALUE +1219. + 77 FLD0589E PIC X VALUE 'N'. + + 77 FLD0590A PIC 9(08)V9(18) + VALUE 70309799.830174168899787900. + 77 FLD0590B PIC S9(06)V9(01) + VALUE +203587.9. + 77 FLD0590E PIC X VALUE 'N'. + + 77 FLD0591A PIC 9(09)V9(12) + VALUE 576933255.371857245386. + 77 FLD0591B PIC 9(10)V9(09) + VALUE 5123728162.782491546. + 77 FLD0591E PIC X VALUE 'N'. + + 77 FLD0592A PIC 9(09)V9(15) + VALUE 644514829.253344467829833. + 77 FLD0592B PIC S9(08)V9(03) + VALUE -29392268.940. + 77 FLD0592E PIC X VALUE 'N'. + + 77 FLD0593A PIC 9(08)V9(19) + VALUE 72063942.4137167527995018190. + 77 FLD0593B PIC S9(02) + VALUE -05. + 77 FLD0593E PIC X VALUE 'N'. + + 77 FLD0594A PIC S9(08)V9(02) + VALUE -27405154.91. + 77 FLD0594B PIC 9(07)V9(22) + VALUE 7738893.5043103479483050932685. + 77 FLD0594E PIC X VALUE 'N'. + + 77 FLD0595A PIC 9(08)V9(18) + VALUE 70489201.749069052560514592. + 77 FLD0595B PIC 9(06)V9(25) + VALUE 830535.6563477365172687427730124. + 77 FLD0595E PIC X VALUE 'N'. + + 77 FLD0596A PIC 9(04)V9(30) + VALUE 9050.358418523600789740157779306173. + 77 FLD0596B PIC 9(09)V9(15) + VALUE 657865013.656926733709440. + 77 FLD0596E PIC X VALUE 'N'. + + 77 FLD0597A PIC S9(10)V9(07) + VALUE -4611492066.1642122. + 77 FLD0597B PIC 9(06)V9(25) + VALUE 816255.9991782142310157155407068. + 77 FLD0597E PIC X VALUE 'N'. + + 77 FLD0598A PIC 9(10)V9(12) + VALUE 5888650589.753158248740. + 77 FLD0598B PIC S9(09)V9(06) + VALUE +420172956.568651. + 77 FLD0598E PIC X VALUE 'N'. + + 77 FLD0599A PIC 9(05)V9(27) + VALUE 85689.140306102984379066356268594. + 77 FLD0599B PIC 9(01) + VALUE 0. + 77 FLD0599E PIC X VALUE 'N'. + + 77 FLD0600A PIC S9(09)V9(06) + VALUE +401694362.049109. + 77 FLD0600B PIC 9(06)V9(24) + VALUE 804504.375985138686644404515391. + 77 FLD0600E PIC X VALUE 'N'. + + 77 FLD0601A PIC 9(01)V9(36) + VALUE 9.763793413809590537866256454435642808. + 77 FLD0601B PIC 9(08)V9(03) + VALUE 29749803.347. + 77 FLD0601E PIC X VALUE 'N'. + + 77 FLD0602A PIC 9(09)V9(17) + VALUE 685435627.00727922454291274. + 77 FLD0602B PIC 9(07)V9(02) + VALUE 2399467.62. + 77 FLD0602E PIC X VALUE 'N'. + + 77 FLD0603A PIC 9(09)V9(16) + VALUE 679265807.5584466770280300. + 77 FLD0603B PIC S9(05)V9(01) + VALUE -17089.6. + 77 FLD0603E PIC X VALUE 'N'. + + 77 FLD0604A PIC 9(08)V9(19) + VALUE 72862711.3591577502127449861. + 77 FLD0604B PIC 9(10)V9(11) + VALUE 5587264166.34705347341. + 77 FLD0604E PIC X VALUE 'N'. + + 77 FLD0605A PIC 9(04) + VALUE 1194. + 77 FLD0605B PIC 9(10)V9(06) + VALUE 4256956703.307752. + 77 FLD0605E PIC X VALUE 'N'. + + 77 FLD0606A PIC 9(07)V9(23) + VALUE 7955557.56926823565144957228767. + 77 FLD0606B PIC S9(08)V9(04) + VALUE +33373395.9174. + 77 FLD0606E PIC X VALUE 'N'. + + 77 FLD0607A PIC 9(10)V9(08) + VALUE 4950511846.00309279. + 77 FLD0607B PIC 9(05) + VALUE 13935. + 77 FLD0607E PIC X VALUE 'N'. + + 77 FLD0608A PIC 9(09)V9(03) + VALUE 328182518.441. + 77 FLD0608B PIC 9(02)V9(34) + VALUE 95.9183130416232931914066739409463480. + 77 FLD0608E PIC X VALUE 'N'. + + 77 FLD0609A PIC 9(08)V9(04) + VALUE 33948712.4475. + 77 FLD0609B PIC 9(10)V9(07) + VALUE 4478674210.4372267. + 77 FLD0609E PIC X VALUE 'N'. + + 77 FLD0610A PIC 9(06)V9(24) + VALUE 807988.537497822956190418608457. + 77 FLD0610B PIC 9(08)V9(02) + VALUE 28672541.25. + 77 FLD0610E PIC X VALUE 'N'. + + 77 FLD0611A PIC 9(07)V9(22) + VALUE 7747853.4043620861382350994972. + 77 FLD0611B PIC 9(01) + VALUE 0. + 77 FLD0611E PIC X VALUE 'N'. + + 77 FLD0612A PIC 9(10)V9(11) + VALUE 5644161799.14422944108. + 77 FLD0612B PIC 9(07)V9(22) + VALUE 7874462.2890006543691754359315. + 77 FLD0612E PIC X VALUE 'N'. + + 77 FLD0613A PIC 9(05) + VALUE 15551. + 77 FLD0613B PIC S9(07)V9(01) + VALUE +2249276.6. + 77 FLD0613E PIC X VALUE 'N'. + + 77 FLD0614A PIC 9(10)V9(09) + VALUE 5201647014.630440546. + 77 FLD0614B PIC 9(09)V9(13) + VALUE 596348860.2168276475623. + 77 FLD0614E PIC X VALUE 'N'. + + 77 FLD0615A PIC S9(03) + VALUE +101. + 77 FLD0615B PIC S9(07)V9(01) + VALUE +2334095.1. + 77 FLD0615E PIC X VALUE 'N'. + + 77 FLD0616A PIC 9(07)V9(22) + VALUE 7639230.3574527464782306651613. + 77 FLD0616B PIC 9(02) + VALUE 07. + 77 FLD0616E PIC X VALUE 'N'. + + 77 FLD0617A PIC S9(01) + VALUE -0. + 77 FLD0617B PIC 9(01) + VALUE 0. + 77 FLD0617E PIC X VALUE 'N'. + + 77 FLD0618A PIC 9(01)V9(36) + VALUE 9.817148549708982763206677191192284226. + 77 FLD0618B PIC 9(03) + VALUE 089. + 77 FLD0618E PIC X VALUE 'N'. + + 77 FLD0619A PIC 9(06)V9(24) + VALUE 801850.998363624500875346257089. + 77 FLD0619B PIC 9(10)V9(10) + VALUE 5342180526.7555677598. + 77 FLD0619E PIC X VALUE 'N'. + + 77 FLD0620A PIC 9(08)V9(19) + VALUE 71717267.3810957062023874186. + 77 FLD0620B PIC 9(09)V9(15) + VALUE 655677089.730182127702562. + 77 FLD0620E PIC X VALUE 'N'. + + 77 FLD0621A PIC 9(04)V9(30) + VALUE 9035.013690395441443570234696380794. + 77 FLD0621B PIC 9(08)V9(19) + VALUE 73424367.1686218957184166811. + 77 FLD0621E PIC X VALUE 'N'. + + 77 FLD0622A PIC 9(09)V9(13) + VALUE 592420192.5737704321761. + 77 FLD0622B PIC S9(09)V9(04) + VALUE -361821982.1111. + 77 FLD0622E PIC X VALUE 'N'. + + 77 FLD0623A PIC S9(03) + VALUE +104. + 77 FLD0623B PIC 9(09)V9(15) + VALUE 641616818.896418195095066. + 77 FLD0623E PIC X VALUE 'N'. + + 77 FLD0624A PIC S9(06) + VALUE -162056. + 77 FLD0624B PIC 9(10)V9(06) + VALUE 4356343039.582531. + 77 FLD0624E PIC X VALUE 'N'. + + 77 FLD0625A PIC 9(04) + VALUE 1296. + 77 FLD0625B PIC 9(07)V9(22) + VALUE 7829547.5769811728739000500354. + 77 FLD0625E PIC X VALUE 'N'. + + 77 FLD0626A PIC 9(04)V9(29) + VALUE 8839.60373056715265072114107169909. + 77 FLD0626B PIC S9(09)V9(05) + VALUE -374265939.71690. + 77 FLD0626E PIC X VALUE 'N'. + + 77 FLD0627A PIC 9(04) + VALUE 1093. + 77 FLD0627B PIC S9(07)V9(01) + VALUE +2323895.2. + 77 FLD0627E PIC X VALUE 'N'. + + 77 FLD0628A PIC 9(01)V9(36) + VALUE 9.943034041886028573387079632084351032. + 77 FLD0628B PIC 9(08)V9(03) + VALUE 29681737.673. + 77 FLD0628E PIC X VALUE 'N'. + + 77 FLD0629A PIC 9(03)V9(32) + VALUE 925.54391942612090904418664649710990. + 77 FLD0629B PIC 9(05)V9(28) + VALUE 87091.5644969416202769707524566911. + 77 FLD0629E PIC X VALUE 'N'. + + 77 FLD0630A PIC S9(09)V9(06) + VALUE +400669561.119235. + 77 FLD0630B PIC 9(09)V9(12) + VALUE 575188656.368988304734. + 77 FLD0630E PIC X VALUE 'N'. + + 77 FLD0631A PIC 9(09)V9(15) + VALUE 644864894.904831453814608. + 77 FLD0631B PIC 9(05)V9(01) + VALUE 17568.5. + 77 FLD0631E PIC X VALUE 'N'. + + 77 FLD0632A PIC 9(08)V9(18) + VALUE 69998401.036213298009869276. + 77 FLD0632B PIC 9(10)V9(09) + VALUE 5082278856.741135886. + 77 FLD0632E PIC X VALUE 'N'. + + 77 FLD0633A PIC 9(08)V9(19) + VALUE 72186800.0789349095747127194. + 77 FLD0633B PIC S9(09)V9(03) + VALUE +332989951.149. + 77 FLD0633E PIC X VALUE 'N'. + + 77 FLD0634A PIC S9(10)V9(06) + VALUE +4236607402.255205. + 77 FLD0634B PIC 9(07)V9(23) + VALUE 7926419.75404680843020344127580. + 77 FLD0634E PIC X VALUE 'N'. + + 77 FLD0635A PIC S9(06)V9(01) + VALUE -190863.2. + 77 FLD0635B PIC 9(10)V9(11) + VALUE 5580856572.20784292498. + 77 FLD0635E PIC X VALUE 'N'. + + 77 FLD0636A PIC S9(07)V9(01) + VALUE +2326055.8. + 77 FLD0636B PIC 9(05) + VALUE 15706. + 77 FLD0636E PIC X VALUE 'N'. + + 77 FLD0637A PIC 9(08)V9(19) + VALUE 73470187.3111827330475875896. + 77 FLD0637B PIC 9(10)V9(10) + VALUE 5305678545.6603405837. + 77 FLD0637E PIC X VALUE 'N'. + + 77 FLD0638A PIC 9(07)V9(22) + VALUE 7752451.2041246673721417437263. + 77 FLD0638B PIC 9(06)V9(25) + VALUE 822351.5027967045476486873667454. + 77 FLD0638E PIC X VALUE 'N'. + + 77 FLD0639A PIC S9(09)V9(03) + VALUE +320313574.327. + 77 FLD0639B PIC 9(01)V9(36) + VALUE 9.751092072024196699686626743641681969. + 77 FLD0639E PIC X VALUE 'N'. + + 77 FLD0640A PIC 9(04)V9(29) + VALUE 8818.61493829378950692898797569796. + 77 FLD0640B PIC 9(03)V9(32) + VALUE 921.50555740058603948483550993842072. + 77 FLD0640E PIC X VALUE 'N'. + + 77 FLD0641A PIC 9(07)V9(22) + VALUE 7672056.2697199168322725881807. + 77 FLD0641B PIC 9(08)V9(19) + VALUE 72539277.3386829170512157816. + 77 FLD0641E PIC X VALUE 'N'. + + 77 FLD0642A PIC 9(08)V9(18) + VALUE 70806494.663622721041917884. + 77 FLD0642B PIC 9(09)V9(13) + VALUE 592898946.8504934912118. + 77 FLD0642E PIC X VALUE 'N'. + + 77 FLD0643A PIC 9(07)V9(01) + VALUE 2194714.9. + 77 FLD0643B PIC 9(08)V9(02) + VALUE 26711153.59. + 77 FLD0643E PIC X VALUE 'N'. + + 77 FLD0644A PIC 9(02) + VALUE 07. + 77 FLD0644B PIC 9(03)V9(32) + VALUE 936.97460492260109532480782945640385. + 77 FLD0644E PIC X VALUE 'N'. + + 77 FLD0645A PIC 9(03)V9(31) + VALUE 913.1000502995376688630813077907077. + 77 FLD0645B PIC 9(07)V9(02) + VALUE 2467302.34. + 77 FLD0645E PIC X VALUE 'N'. + + 77 FLD0646A PIC 9(07)V9(21) + VALUE 7520596.805608434909373727350. + 77 FLD0646B PIC 9(09)V9(13) + VALUE 595843790.0187590896550. + 77 FLD0646E PIC X VALUE 'N'. + + 77 FLD0647A PIC S9(02) + VALUE -07. + 77 FLD0647B PIC 9(09)V9(16) + VALUE 659893156.1456289340839020. + 77 FLD0647E PIC X VALUE 'N'. + + 77 FLD0648A PIC S9(04) + VALUE +1149. + 77 FLD0648B PIC 9(09)V9(15) + VALUE 634287010.942461315643470. + 77 FLD0648E PIC X VALUE 'N'. + + 77 FLD0649A PIC 9(07)V9(23) + VALUE 7912687.10466688007798552462190. + 77 FLD0649B PIC 9(10)V9(09) + VALUE 5026519944.429308495. + 77 FLD0649E PIC X VALUE 'N'. + + 77 FLD0650A PIC 9(01)V9(36) + VALUE 9.878734262172308433491707546636462211. + 77 FLD0650B PIC 9(09)V9(16) + VALUE 671574601.9768447094833163. + 77 FLD0650E PIC X VALUE 'N'. + + 77 FLD0651A PIC 9(08)V9(18) + VALUE 69993795.648145529231243244. + 77 FLD0651B PIC S9(09)V9(05) + VALUE -390933259.39761. + 77 FLD0651E PIC X VALUE 'N'. + + 77 FLD0652A PIC 9(05)V9(01) + VALUE 16676.6. + 77 FLD0652B PIC S9(07)V9(01) + VALUE +2109381.3. + 77 FLD0652E PIC X VALUE 'N'. + + 77 FLD0653A PIC 9(09)V9(14) + VALUE 620233215.83922497168828. + 77 FLD0653B PIC 9(06) + VALUE 165087. + 77 FLD0653E PIC X VALUE 'N'. + + 77 FLD0654A PIC 9(09)V9(15) + VALUE 639337130.284049814932245. + 77 FLD0654B PIC 9(08)V9(02) + VALUE 27813223.51. + 77 FLD0654E PIC X VALUE 'N'. + + 77 FLD0655A PIC 9(06)V9(25) + VALUE 818013.3890362937254536745967925. + 77 FLD0655B PIC 9(09)V9(13) + VALUE 594166317.4495728227952. + 77 FLD0655E PIC X VALUE 'N'. + + 77 FLD0656A PIC S9(06)V9(01) + VALUE +200859.7. + 77 FLD0656B PIC 9(09)V9(15) + VALUE 650208537.267117914204561. + 77 FLD0656E PIC X VALUE 'N'. + + 77 FLD0657A PIC 9(03)V9(32) + VALUE 936.17194619070143168926279031438753. + 77 FLD0657B PIC 9(08)V9(18) + VALUE 70468283.988380520099781278. + 77 FLD0657E PIC X VALUE 'N'. + + 77 FLD0658A PIC 9(08)V9(18) + VALUE 70069365.832955088357891781. + 77 FLD0658B PIC 9(10)V9(10) + VALUE 5438086690.5335789596. + 77 FLD0658E PIC X VALUE 'N'. + + 77 FLD0659A PIC 9(04)V9(30) + VALUE 9044.337793801533464943531726021319. + 77 FLD0659B PIC 9(08)V9(19) + VALUE 71946522.3294514011342926096. + 77 FLD0659E PIC X VALUE 'N'. + + 77 FLD0660A PIC 9(10)V9(09) + VALUE 5240012407.843260833. + 77 FLD0660B PIC S9(05) + VALUE -15464. + 77 FLD0660E PIC X VALUE 'N'. + + 77 FLD0661A PIC 9(02)V9(34) + VALUE 96.5581569624071600621562083688331767. + 77 FLD0661B PIC 9(10)V9(11) + VALUE 5705409453.15247127744. + 77 FLD0661E PIC X VALUE 'N'. + + 77 FLD0662A PIC S9(07)V9(01) + VALUE +2131985.0. + 77 FLD0662B PIC 9(09)V9(16) + VALUE 669960203.6476681732324323. + 77 FLD0662E PIC X VALUE 'N'. + + 77 FLD0663A PIC 9(05) + VALUE 15788. + 77 FLD0663B PIC 9(04)V9(29) + VALUE 8894.69232052811142885673234559362. + 77 FLD0663E PIC X VALUE 'N'. + + 77 FLD0664A PIC S9(05) + VALUE +14371. + 77 FLD0664B PIC S9(09)V9(07) + VALUE +440580330.5288489. + 77 FLD0664E PIC X VALUE 'N'. + + 77 FLD0665A PIC 9(07)V9(02) + VALUE 2455875.37. + 77 FLD0665B PIC 9(09)V9(16) + VALUE 674160289.5706166886924393. + 77 FLD0665E PIC X VALUE 'N'. + + 77 FLD0666A PIC 9(05)V9(27) + VALUE 86015.549175288641414738322055200. + 77 FLD0666B PIC 9(02) + VALUE 05. + 77 FLD0666E PIC X VALUE 'N'. + + 77 FLD0667A PIC 9(02)V9(33) + VALUE 94.482499794694274619644147605868056. + 77 FLD0667B PIC 9(09)V9(15) + VALUE 632143875.790169951223163. + 77 FLD0667E PIC X VALUE 'N'. + + 77 FLD0668A PIC 9(03)V9(32) + VALUE 935.15331845029669999291854765033349. + 77 FLD0668B PIC 9(10)V9(09) + VALUE 5144629393.825745911. + 77 FLD0668E PIC X VALUE 'N'. + + 77 FLD0669A PIC 9(01)V9(36) + VALUE 9.937328225295053441001869032334070652. + 77 FLD0669B PIC 9(10)V9(05) + VALUE 3959366397.86081. + 77 FLD0669E PIC X VALUE 'N'. + + 77 FLD0670A PIC 9(07)V9(02) + VALUE 2567113.54. + 77 FLD0670B PIC 9(02)V9(34) + VALUE 97.1019073438902258210703166696475818. + 77 FLD0670E PIC X VALUE 'N'. + + 77 FLD0671A PIC 9(09)V9(03) + VALUE 326622169.718. + 77 FLD0671B PIC 9(06)V9(01) + VALUE 186874.6. + 77 FLD0671E PIC X VALUE 'N'. + + 77 FLD0672A PIC 9(10)V9(07) + VALUE 4564917934.3294549. + 77 FLD0672B PIC 9(09)V9(15) + VALUE 637002039.815689924395769. + 77 FLD0672E PIC X VALUE 'N'. + + 77 FLD0673A PIC 9(10)V9(06) + VALUE 4285002333.462958. + 77 FLD0673B PIC 9(07)V9(02) + VALUE 2489778.77. + 77 FLD0673E PIC X VALUE 'N'. + + 77 FLD0674A PIC 9(10)V9(10) + VALUE 5491650640.0821929467. + 77 FLD0674B PIC 9(06)V9(25) + VALUE 828061.3110769976525915581078152. + 77 FLD0674E PIC X VALUE 'N'. + + 77 FLD0675A PIC 9(05)V9(27) + VALUE 84609.285471017914304070473008323. + 77 FLD0675B PIC 9(10)V9(09) + VALUE 5083540664.870341840. + 77 FLD0675E PIC X VALUE 'N'. + + 77 FLD0676A PIC 9(03) + VALUE 096. + 77 FLD0676B PIC 9(02)V9(34) + VALUE 96.4664170342459437179627457226160913. + 77 FLD0676E PIC X VALUE 'N'. + + 77 FLD0677A PIC S9(07)V9(01) + VALUE +2248183.1. + 77 FLD0677B PIC 9(04)V9(29) + VALUE 8903.66445455624266891447859961772. + 77 FLD0677E PIC X VALUE 'N'. + + 77 FLD0678A PIC S9(03) + VALUE -092. + 77 FLD0678B PIC 9(05)V9(27) + VALUE 85887.366357613359468814451247453. + 77 FLD0678E PIC X VALUE 'N'. + + 77 FLD0679A PIC S9(03) + VALUE -080. + 77 FLD0679B PIC 9(10)V9(07) + VALUE 4490278235.6612852. + 77 FLD0679E PIC X VALUE 'N'. + + 77 FLD0680A PIC S9(08)V9(02) + VALUE -28119381.66. + 77 FLD0680B PIC 9(10)V9(11) + VALUE 5617591008.16083600804. + 77 FLD0680E PIC X VALUE 'N'. + + 77 FLD0681A PIC 9(08)V9(17) + VALUE 68244115.95644890304868113. + 77 FLD0681B PIC 9(06)V9(25) + VALUE 821371.7547801553386932482681004. + 77 FLD0681E PIC X VALUE 'N'. + + 77 FLD0682A PIC S9(10)V9(08) + VALUE -4949729784.45772315. + 77 FLD0682B PIC 9(06)V9(25) + VALUE 831097.0812489861803129542749957. + 77 FLD0682E PIC X VALUE 'N'. + + 77 FLD0683A PIC 9(05)V9(28) + VALUE 86894.3068817851549390240961656672. + 77 FLD0683B PIC 9(10)V9(12) + VALUE 5829735573.963021888488. + 77 FLD0683E PIC X VALUE 'N'. + + 77 FLD0684A PIC 9(10)V9(13) + VALUE 6059233373.6406744915115. + 77 FLD0684B PIC 9(09)V9(07) + VALUE 438339473.7646870. + 77 FLD0684E PIC X VALUE 'N'. + + 77 FLD0685A PIC S9(07)V9(02) + VALUE -2545714.99. + 77 FLD0685B PIC 9(07)V9(23) + VALUE 7915567.03876752143500539204978. + 77 FLD0685E PIC X VALUE 'N'. + + 77 FLD0686A PIC 9(09)V9(14) + VALUE 621044693.11257093355749. + 77 FLD0686B PIC 9(09)V9(13) + VALUE 602970496.8531952591348. + 77 FLD0686E PIC X VALUE 'N'. + + 77 FLD0687A PIC S9(09)V9(05) + VALUE -394005874.76898. + 77 FLD0687B PIC 9(10)V9(08) + VALUE 4960980508.03440715. + 77 FLD0687E PIC X VALUE 'N'. + + 77 FLD0688A PIC 9(03)V9(32) + VALUE 932.26844955554755145499257196206599. + 77 FLD0688B PIC 9(04) + VALUE 1064. + 77 FLD0688E PIC X VALUE 'N'. + + 77 FLD0689A PIC 9(10)V9(07) + VALUE 4559306991.4341932. + 77 FLD0689B PIC S9(08)V9(04) + VALUE +34024840.8710. + 77 FLD0689E PIC X VALUE 'N'. + + 77 FLD0690A PIC 9(01)V9(36) + VALUE 9.793660005922469879990899244148749858. + 77 FLD0690B PIC S9(08)V9(02) + VALUE -28078949.75. + 77 FLD0690E PIC X VALUE 'N'. + + 77 FLD0691A PIC 9(09)V9(07) + VALUE 439500550.5938089. + 77 FLD0691B PIC S9(10)V9(06) + VALUE +4308484639.535531. + 77 FLD0691E PIC X VALUE 'N'. + + 77 FLD0692A PIC 9(09)V9(04) + VALUE 358382577.7464. + 77 FLD0692B PIC 9(09)V9(15) + VALUE 636450165.553045121846764. + 77 FLD0692E PIC X VALUE 'N'. + + 77 FLD0693A PIC S9(07)V9(01) + VALUE +2127399.6. + 77 FLD0693B PIC S9(01) + VALUE -0. + 77 FLD0693E PIC X VALUE 'N'. + + 77 FLD0694A PIC 9(09)V9(05) + VALUE 378019656.01658. + 77 FLD0694B PIC 9(01) + VALUE 0. + 77 FLD0694E PIC X VALUE 'N'. + + 77 FLD0695A PIC S9(09)V9(04) + VALUE -354304867.1111. + 77 FLD0695B PIC 9(09)V9(15) + VALUE 639721730.127885357397587. + 77 FLD0695E PIC X VALUE 'N'. + + 77 FLD0696A PIC 9(04)V9(30) + VALUE 9067.945209731629319094281527213752. + 77 FLD0696B PIC 9(09)V9(03) + VALUE 318871778.848. + 77 FLD0696E PIC X VALUE 'N'. + + 77 FLD0697A PIC S9(09)V9(06) + VALUE +414586353.841170. + 77 FLD0697B PIC 9(10)V9(09) + VALUE 5161837194.897523906. + 77 FLD0697E PIC X VALUE 'N'. + + 77 FLD0698A PIC 9(08)V9(18) + VALUE 69447533.832122987362822641. + 77 FLD0698B PIC S9(03) + VALUE -080. + 77 FLD0698E PIC X VALUE 'N'. + + 77 FLD0699A PIC 9(09)V9(13) + VALUE 597064952.5204202445749. + 77 FLD0699B PIC 9(09)V9(14) + VALUE 630288401.27729701681147. + 77 FLD0699E PIC X VALUE 'N'. + + 77 FLD0700A PIC 9(06)V9(25) + VALUE 820234.3139012789885455845251271. + 77 FLD0700B PIC S9(01) + VALUE -0. + 77 FLD0700E PIC X VALUE 'N'. + + 77 FLD0701A PIC 9(06)V9(24) + VALUE 809485.363390515577641792788199. + 77 FLD0701B PIC 9(02)V9(34) + VALUE 97.0800419877562270620785511709982529. + 77 FLD0701E PIC X VALUE 'N'. + + 77 FLD0702A PIC 9(04)V9(30) + VALUE 9021.848589518318695112952809722628. + 77 FLD0702B PIC 9(07)V9(01) + VALUE 2351439.7. + 77 FLD0702E PIC X VALUE 'N'. + + 77 FLD0703A PIC S9(04) + VALUE +1126. + 77 FLD0703B PIC 9(08)V9(04) + VALUE 33525578.1235. + 77 FLD0703E PIC X VALUE 'N'. + + 77 FLD0704A PIC 9(10)V9(07) + VALUE 4696322933.5995404. + 77 FLD0704B PIC 9(09)V9(14) + VALUE 611168884.71092423174013. + 77 FLD0704E PIC X VALUE 'N'. + + 77 FLD0705A PIC 9(10)V9(10) + VALUE 5381864238.0664638569. + 77 FLD0705B PIC 9(10)V9(07) + VALUE 4699950479.7278301. + 77 FLD0705E PIC X VALUE 'N'. + + 77 FLD0706A PIC 9(07)V9(22) + VALUE 7815442.4104873465584120140192. + 77 FLD0706B PIC S9(05)V9(01) + VALUE -17297.4. + 77 FLD0706E PIC X VALUE 'N'. + + 77 FLD0707A PIC 9(01) + VALUE 0. + 77 FLD0707B PIC 9(10)V9(09) + VALUE 5129442198.407349051. + 77 FLD0707E PIC X VALUE 'N'. + + 77 FLD0708A PIC 9(02)V9(34) + VALUE 95.1225570140109555339336111501324921. + 77 FLD0708B PIC 9(08)V9(04) + VALUE 33834894.3169. + 77 FLD0708E PIC X VALUE 'N'. + + 77 FLD0709A PIC S9(04) + VALUE +1124. + 77 FLD0709B PIC 9(09)V9(05) + VALUE 379344826.68404. + 77 FLD0709E PIC X VALUE 'N'. + + 77 FLD0710A PIC 9(01)V9(36) + VALUE 9.946833086486408515014545628218911588. + 77 FLD0710B PIC S9(09)V9(03) + VALUE +322996298.459. + 77 FLD0710E PIC X VALUE 'N'. + + 77 FLD0711A PIC 9(09)V9(16) + VALUE 677754067.1912668512888444. + 77 FLD0711B PIC 9(02) + VALUE 06. + 77 FLD0711E PIC X VALUE 'N'. + + 77 FLD0712A PIC 9(09)V9(14) + VALUE 610433230.32745544498567. + 77 FLD0712B PIC S9(10)V9(08) + VALUE -4947392148.88603839. + 77 FLD0712E PIC X VALUE 'N'. + + 77 FLD0713A PIC S9(08)V9(03) + VALUE -29280564.557. + 77 FLD0713B PIC 9(07)V9(01) + VALUE 2168463.7. + 77 FLD0713E PIC X VALUE 'N'. + + 77 FLD0714A PIC 9(10)V9(07) + VALUE 4593980567.3719869. + 77 FLD0714B PIC 9(09)V9(04) + VALUE 347385951.5252. + 77 FLD0714E PIC X VALUE 'N'. + + 77 FLD0715A PIC 9(09)V9(06) + VALUE 406643755.503527. + 77 FLD0715B PIC 9(10)V9(10) + VALUE 5480282475.3098877685. + 77 FLD0715E PIC X VALUE 'N'. + + 77 FLD0716A PIC S9(08)V9(03) + VALUE -29497495.128. + 77 FLD0716B PIC 9(03)V9(31) + VALUE 914.3056916239737930141018296126276. + 77 FLD0716E PIC X VALUE 'N'. + + 77 FLD0717A PIC 9(05)V9(28) + VALUE 86936.9843469434133709228262887336. + 77 FLD0717B PIC 9(07)V9(21) + VALUE 7570171.861371541854879296806. + 77 FLD0717E PIC X VALUE 'N'. + + 77 FLD0718A PIC 9(06) + VALUE 158746. + 77 FLD0718B PIC 9(10)V9(06) + VALUE 4283417063.648062. + 77 FLD0718E PIC X VALUE 'N'. + + 77 FLD0719A PIC 9(01) + VALUE 0. + 77 FLD0719B PIC 9(07)V9(02) + VALUE 2390904.61. + 77 FLD0719E PIC X VALUE 'N'. + + 77 FLD0720A PIC 9(03) + VALUE 087. + 77 FLD0720B PIC S9(09)V9(06) + VALUE +404886316.426392. + 77 FLD0720E PIC X VALUE 'N'. + + 77 FLD0721A PIC S9(09)V9(03) + VALUE +332294869.962. + 77 FLD0721B PIC 9(07)V9(01) + VALUE 2285954.3. + 77 FLD0721E PIC X VALUE 'N'. + + 77 FLD0722A PIC S9(05)V9(01) + VALUE -17094.9. + 77 FLD0722B PIC 9(07)V9(21) + VALUE 7607809.920924922808538326535. + 77 FLD0722E PIC X VALUE 'N'. + + 77 FLD0723A PIC 9(05)V9(28) + VALUE 87349.0901765646254872876852459739. + 77 FLD0723B PIC 9(02) + VALUE 07. + 77 FLD0723E PIC X VALUE 'N'. + + 77 FLD0724A PIC 9(09)V9(03) + VALUE 317474559.928. + 77 FLD0724B PIC 9(10)V9(09) + VALUE 5251486411.115240393. + 77 FLD0724E PIC X VALUE 'N'. + + 77 FLD0725A PIC 9(03)V9(31) + VALUE 915.1169879467740964074096154945436. + 77 FLD0725B PIC S9(09)V9(07) + VALUE +444412819.1361023. + 77 FLD0725E PIC X VALUE 'N'. + + 77 FLD0726A PIC 9(05) + VALUE 14771. + 77 FLD0726B PIC S9(09)V9(06) + VALUE +401835639.675800. + 77 FLD0726E PIC X VALUE 'N'. + + 77 FLD0727A PIC 9(10)V9(10) + VALUE 5412169008.2113094177. + 77 FLD0727B PIC 9(09)V9(16) + VALUE 677439277.9021225496904889. + 77 FLD0727E PIC X VALUE 'N'. + + 77 FLD0728A PIC 9(09)V9(07) + VALUE 439411444.5456123. + 77 FLD0728B PIC S9(09)V9(05) + VALUE -371357711.97684. + 77 FLD0728E PIC X VALUE 'N'. + + 77 FLD0729A PIC 9(02)V9(33) + VALUE 94.514768998125520127473464526701718. + 77 FLD0729B PIC 9(07)V9(23) + VALUE 7959700.26538914909863819957536. + 77 FLD0729E PIC X VALUE 'N'. + + 77 FLD0730A PIC 9(06)V9(25) + VALUE 822685.8594490329412707296796725. + 77 FLD0730B PIC 9(09)V9(14) + VALUE 630270988.23946403616247. + 77 FLD0730E PIC X VALUE 'N'. + + 77 FLD0731A PIC 9(10)V9(12) + VALUE 5808279049.356201984011. + 77 FLD0731B PIC 9(09)V9(13) + VALUE 600372700.6085320949679. + 77 FLD0731E PIC X VALUE 'N'. + + 77 FLD0732A PIC 9(03)V9(31) + VALUE 915.5080332184045710519626481982413. + 77 FLD0732B PIC S9(04) + VALUE +1229. + 77 FLD0732E PIC X VALUE 'N'. + + 77 FLD0733A PIC 9(09)V9(03) + VALUE 328019305.824. + 77 FLD0733B PIC 9(09)V9(15) + VALUE 637621846.224700750127567. + 77 FLD0733E PIC X VALUE 'N'. + + 77 FLD0734A PIC S9(06) + VALUE -164821. + 77 FLD0734B PIC 9(02) + VALUE 05. + 77 FLD0734E PIC X VALUE 'N'. + + 77 FLD0735A PIC S9(06)V9(01) + VALUE -190229.8. + 77 FLD0735B PIC 9(09)V9(15) + VALUE 641899075.827484955070190. + 77 FLD0735E PIC X VALUE 'N'. + + 77 FLD0736A PIC 9(10)V9(09) + VALUE 5128678158.202983894. + 77 FLD0736B PIC 9(07)V9(23) + VALUE 7952260.56216242538354777025233. + 77 FLD0736E PIC X VALUE 'N'. + + 77 FLD0737A PIC S9(07)V9(02) + VALUE -2601084.10. + 77 FLD0737B PIC S9(07)V9(02) + VALUE -2623355.12. + 77 FLD0737E PIC X VALUE 'N'. + + 77 FLD0738A PIC 9(10)V9(09) + VALUE 5071467647.954436275. + 77 FLD0738B PIC 9(02)V9(34) + VALUE 96.7470462418068333221299326396547257. + 77 FLD0738E PIC X VALUE 'N'. + + 77 FLD0739A PIC S9(09)V9(03) + VALUE +324797211.447. + 77 FLD0739B PIC S9(10)V9(08) + VALUE -4916417996.38161292. + 77 FLD0739E PIC X VALUE 'N'. + + 77 FLD0740A PIC S9(08)V9(03) + VALUE +30394739.303. + 77 FLD0740B PIC 9(05)V9(28) + VALUE 87461.9397808273024708114462555386. + 77 FLD0740E PIC X VALUE 'N'. + + 77 FLD0741A PIC S9(09)V9(03) + VALUE +322386723.831. + 77 FLD0741B PIC S9(09)V9(03) + VALUE +321782512.880. + 77 FLD0741E PIC X VALUE 'N'. + + 77 FLD0742A PIC 9(09)V9(06) + VALUE 419367234.713135. + 77 FLD0742B PIC S9(08)V9(03) + VALUE +30468212.851. + 77 FLD0742E PIC X VALUE 'N'. + + 77 FLD0743A PIC 9(05)V9(27) + VALUE 85864.867305029812794003873932524. + 77 FLD0743B PIC 9(06)V9(01) + VALUE 209820.2. + 77 FLD0743E PIC X VALUE 'N'. + + 77 FLD0744A PIC 9(01) + VALUE 0. + 77 FLD0744B PIC 9(08)V9(02) + VALUE 26956228.79. + 77 FLD0744E PIC X VALUE 'N'. + + 77 FLD0745A PIC 9(01)V9(36) + VALUE 9.759709501186564217789509712019935250. + 77 FLD0745B PIC 9(05) + VALUE 13548. + 77 FLD0745E PIC X VALUE 'N'. + + 77 FLD0746A PIC 9(10)V9(10) + VALUE 5435731573.3552813430. + 77 FLD0746B PIC 9(10)V9(09) + VALUE 5204204473.599284286. + 77 FLD0746E PIC X VALUE 'N'. + + 77 FLD0747A PIC 9(10)V9(11) + VALUE 5681676571.07930934579. + 77 FLD0747B PIC 9(03)V9(31) + VALUE 916.9159297409485986918298294767737. + 77 FLD0747E PIC X VALUE 'N'. + + 77 FLD0748A PIC 9(03) + VALUE 086. + 77 FLD0748B PIC S9(05)V9(01) + VALUE -18032.7. + 77 FLD0748E PIC X VALUE 'N'. + + 77 FLD0749A PIC S9(10)V9(07) + VALUE -4609096560.3942379. + 77 FLD0749B PIC 9(06)V9(25) + VALUE 820519.2560948625368766329302161. + 77 FLD0749E PIC X VALUE 'N'. + + 77 FLD0750A PIC 9(07)V9(22) + VALUE 7666736.3171436386792834127845. + 77 FLD0750B PIC 9(08)V9(04) + VALUE 33966692.5145. + 77 FLD0750E PIC X VALUE 'N'. + + 77 FLD0751A PIC 9(02) + VALUE 06. + 77 FLD0751B PIC S9(05) + VALUE -15176. + 77 FLD0751E PIC X VALUE 'N'. + + 77 FLD0752A PIC 9(02) + VALUE 07. + 77 FLD0752B PIC 9(03)V9(32) + VALUE 922.38508268330654527034084821934811. + 77 FLD0752E PIC X VALUE 'N'. + + 77 FLD0753A PIC 9(08)V9(19) + VALUE 73379118.3872512742247806727. + 77 FLD0753B PIC S9(01) + VALUE +0. + 77 FLD0753E PIC X VALUE 'N'. + + 77 FLD0754A PIC S9(09)V9(03) + VALUE +322061792.108. + 77 FLD0754B PIC 9(07)V9(02) + VALUE 2450066.21. + 77 FLD0754E PIC X VALUE 'N'. + + 77 FLD0755A PIC 9(06)V9(25) + VALUE 835592.8333445592492978448717622. + 77 FLD0755B PIC 9(10)V9(10) + VALUE 5346301002.0417645051. + 77 FLD0755E PIC X VALUE 'N'. + + 77 FLD0756A PIC 9(09)V9(04) + VALUE 366295057.8421. + 77 FLD0756B PIC S9(05) + VALUE -15366. + 77 FLD0756E PIC X VALUE 'N'. + + 77 FLD0757A PIC 9(08)V9(19) + VALUE 71466976.1113856494283425035. + 77 FLD0757B PIC S9(07)V9(02) + VALUE +2429438.31. + 77 FLD0757E PIC X VALUE 'N'. + + 77 FLD0758A PIC 9(07)V9(01) + VALUE 2293699.9. + 77 FLD0758B PIC S9(06) + VALUE -162229. + 77 FLD0758E PIC X VALUE 'N'. + + 77 FLD0759A PIC 9(03)V9(32) + VALUE 931.38963166127219928114300273591652. + 77 FLD0759B PIC 9(07)V9(21) + VALUE 7621303.882836163445801958005. + 77 FLD0759E PIC X VALUE 'N'. + + 77 FLD0760A PIC 9(06)V9(01) + VALUE 188511.3. + 77 FLD0760B PIC 9(04)V9(30) + VALUE 9041.413390221895163278986728982999. + 77 FLD0760E PIC X VALUE 'N'. + + 77 FLD0761A PIC 9(09)V9(17) + VALUE 690006529.44346418937726639. + 77 FLD0761B PIC 9(09)V9(14) + VALUE 629261290.31917010792085. + 77 FLD0761E PIC X VALUE 'N'. + + 77 FLD0762A PIC 9(09)V9(16) + VALUE 671435372.9957326377686399. + 77 FLD0762B PIC 9(07)V9(02) + VALUE 2591343.61. + 77 FLD0762E PIC X VALUE 'N'. + + 77 FLD0763A PIC 9(08)V9(19) + VALUE 71468145.3175585401638159055. + 77 FLD0763B PIC 9(06)V9(24) + VALUE 815545.608346078032546699887461. + 77 FLD0763E PIC X VALUE 'N'. + + 77 FLD0764A PIC 9(10)V9(11) + VALUE 5535007698.50315821329. + 77 FLD0764B PIC 9(10)V9(08) + VALUE 4979398183.62831021. + 77 FLD0764E PIC X VALUE 'N'. + + 77 FLD0765A PIC 9(04)V9(29) + VALUE 8855.80582773889624093044403707608. + 77 FLD0765B PIC S9(04) + VALUE +1212. + 77 FLD0765E PIC X VALUE 'N'. + + 77 FLD0766A PIC S9(01) + VALUE +0. + 77 FLD0766B PIC 9(07)V9(01) + VALUE 2294943.2. + 77 FLD0766E PIC X VALUE 'N'. + + 77 FLD0767A PIC S9(10)V9(08) + VALUE -4848285740.27346248. + 77 FLD0767B PIC S9(01) + VALUE +0. + 77 FLD0767E PIC X VALUE 'N'. + + 77 FLD0768A PIC 9(09)V9(17) + VALUE 684230789.92735519854306858. + 77 FLD0768B PIC S9(02) + VALUE -07. + 77 FLD0768E PIC X VALUE 'N'. + + 77 FLD0769A PIC 9(07)V9(02) + VALUE 2565731.27. + 77 FLD0769B PIC 9(09)V9(04) + VALUE 356094054.4649. + 77 FLD0769E PIC X VALUE 'N'. + + 77 FLD0770A PIC 9(09)V9(12) + VALUE 574214303.174467532997. + 77 FLD0770B PIC 9(10)V9(13) + VALUE 6057194691.9895736094474. + 77 FLD0770E PIC X VALUE 'N'. + + 77 FLD0771A PIC 9(08)V9(18) + VALUE 69721614.519732855175249142. + 77 FLD0771B PIC 9(09)V9(17) + VALUE 690190375.47148320843604096. + 77 FLD0771E PIC X VALUE 'N'. + + 77 FLD0772A PIC 9(10)V9(08) + VALUE 4868623585.10471993. + 77 FLD0772B PIC 9(10)V9(05) + VALUE 3959689116.24786. + 77 FLD0772E PIC X VALUE 'N'. + + 77 FLD0773A PIC S9(07)V9(01) + VALUE +2339835.9. + 77 FLD0773B PIC 9(03)V9(32) + VALUE 931.93997423560348547511011929600499. + 77 FLD0773E PIC X VALUE 'N'. + + 77 FLD0774A PIC 9(01) + VALUE 0. + 77 FLD0774B PIC S9(07)V9(02) + VALUE +2425891.04. + 77 FLD0774E PIC X VALUE 'N'. + + 77 FLD0775A PIC 9(09)V9(06) + VALUE 418947899.183504. + 77 FLD0775B PIC 9(03)V9(32) + VALUE 930.87735098341006789723905967548489. + 77 FLD0775E PIC X VALUE 'N'. + + 77 FLD0776A PIC 9(09)V9(06) + VALUE 418950765.017868. + 77 FLD0776B PIC 9(05)V9(27) + VALUE 84781.081485203291236985023715533. + 77 FLD0776E PIC X VALUE 'N'. + + 77 FLD0777A PIC S9(08)V9(03) + VALUE +31438250.184. + 77 FLD0777B PIC 9(10)V9(11) + VALUE 5606560858.83416754889. + 77 FLD0777E PIC X VALUE 'N'. + + 77 FLD0778A PIC S9(06)V9(01) + VALUE -192739.4. + 77 FLD0778B PIC 9(03)V9(31) + VALUE 916.8465464730475300569878527312539. + 77 FLD0778E PIC X VALUE 'N'. + + 77 FLD0779A PIC 9(04)V9(30) + VALUE 9029.333248069044692840634525055065. + 77 FLD0779B PIC S9(10)V9(08) + VALUE -4740907582.59428035. + 77 FLD0779E PIC X VALUE 'N'. + + 77 FLD0780A PIC 9(09)V9(03) + VALUE 318241207.749. + 77 FLD0780B PIC 9(06)V9(25) + VALUE 822759.6235369002419801631731388. + 77 FLD0780E PIC X VALUE 'N'. + + 77 FLD0781A PIC 9(10)V9(08) + VALUE 4967153543.73054196. + 77 FLD0781B PIC 9(08)V9(03) + VALUE 29720911.669. + 77 FLD0781E PIC X VALUE 'N'. + + 77 FLD0782A PIC 9(05) + VALUE 13793. + 77 FLD0782B PIC 9(02)V9(34) + VALUE 95.5158015091007617236584792408393695. + 77 FLD0782E PIC X VALUE 'N'. + + 77 FLD0783A PIC 9(04)V9(29) + VALUE 8813.39219378433402773964644438819. + 77 FLD0783B PIC S9(10)V9(06) + VALUE +4236433759.282261. + 77 FLD0783E PIC X VALUE 'N'. + + 77 FLD0784A PIC 9(09)V9(15) + VALUE 641964802.793786426526878. + 77 FLD0784B PIC 9(06)V9(25) + VALUE 824637.3935062285553954097849782. + 77 FLD0784E PIC X VALUE 'N'. + + 77 FLD0785A PIC 9(08)V9(17) + VALUE 68097654.34600172362422654. + 77 FLD0785B PIC 9(09)V9(03) + VALUE 325202869.704. + 77 FLD0785E PIC X VALUE 'N'. + + 77 FLD0786A PIC 9(01)V9(36) + VALUE 9.820249933224565186407062356011010706. + 77 FLD0786B PIC 9(05)V9(27) + VALUE 85417.725929538756979297886573476. + 77 FLD0786E PIC X VALUE 'N'. + + 77 FLD0787A PIC 9(10)V9(11) + VALUE 5592847098.07636559730. + 77 FLD0787B PIC 9(06)V9(01) + VALUE 199330.4. + 77 FLD0787E PIC X VALUE 'N'. + + 77 FLD0788A PIC 9(02)V9(34) + VALUE 95.6557531637097668841818176588276401. + 77 FLD0788B PIC 9(07)V9(22) + VALUE 7789929.3063459995600794627534. + 77 FLD0788E PIC X VALUE 'N'. + + 77 FLD0789A PIC S9(05)V9(01) + VALUE -17101.7. + 77 FLD0789B PIC 9(09)V9(16) + VALUE 660444958.2132847496040994. + 77 FLD0789E PIC X VALUE 'N'. + + 77 FLD0790A PIC 9(07)V9(02) + VALUE 2384369.54. + 77 FLD0790B PIC S9(08)V9(03) + VALUE -29309999.122. + 77 FLD0790E PIC X VALUE 'N'. + + 77 FLD0791A PIC 9(03) + VALUE 088. + 77 FLD0791B PIC 9(08)V9(20) + VALUE 73827325.48868294886190710712. + 77 FLD0791E PIC X VALUE 'N'. + + 77 FLD0792A PIC 9(02)V9(34) + VALUE 95.5230059106088935649836457741912454. + 77 FLD0792B PIC 9(09)V9(05) + VALUE 379824535.06313. + 77 FLD0792E PIC X VALUE 'N'. + + 77 FLD0793A PIC 9(06)V9(01) + VALUE 199221.9. + 77 FLD0793B PIC 9(10)V9(11) + VALUE 5591577156.30166807230. + 77 FLD0793E PIC X VALUE 'N'. + + 77 FLD0794A PIC S9(08)V9(04) + VALUE +33437009.5807. + 77 FLD0794B PIC S9(01) + VALUE -0. + 77 FLD0794E PIC X VALUE 'N'. + + 77 FLD0795A PIC S9(01) + VALUE +0. + 77 FLD0795B PIC S9(08)V9(04) + VALUE +33494400.6958. + 77 FLD0795E PIC X VALUE 'N'. + + 77 FLD0796A PIC 9(07)V9(21) + VALUE 7565685.006144580171394409262. + 77 FLD0796B PIC 9(08)V9(19) + VALUE 72949831.5977354816475042298. + 77 FLD0796E PIC X VALUE 'N'. + + 77 FLD0797A PIC 9(01) + VALUE 0. + 77 FLD0797B PIC 9(09)V9(04) + VALUE 348777486.0252. + 77 FLD0797E PIC X VALUE 'N'. + + 77 FLD0798A PIC S9(09)V9(03) + VALUE +332243375.906. + 77 FLD0798B PIC 9(09)V9(16) + VALUE 673821443.1439371043808250. + 77 FLD0798E PIC X VALUE 'N'. + + 77 FLD0799A PIC 9(09)V9(17) + VALUE 690866271.33683375934225523. + 77 FLD0799B PIC 9(09)V9(11) + VALUE 551526790.74963362193. + 77 FLD0799E PIC X VALUE 'N'. + + 77 FLD0800A PIC 9(08)V9(18) + VALUE 70036112.416705975647346349. + 77 FLD0800B PIC 9(08)V9(02) + VALUE 26662512.18. + 77 FLD0800E PIC X VALUE 'N'. + + 77 FLD0801A PIC S9(09)V9(07) + VALUE +443093279.8052367. + 77 FLD0801B PIC 9(01)V9(36) + VALUE 9.827967002397862694706986985693220049. + 77 FLD0801E PIC X VALUE 'N'. + + 77 FLD0802A PIC S9(07)V9(02) + VALUE +2449505.23. + 77 FLD0802B PIC 9(04)V9(29) + VALUE 8911.32090012832223102634543465683. + 77 FLD0802E PIC X VALUE 'N'. + + 77 FLD0803A PIC S9(05)V9(01) + VALUE -17467.0. + 77 FLD0803B PIC 9(10)V9(11) + VALUE 5556247901.99399698487. + 77 FLD0803E PIC X VALUE 'N'. + + 77 FLD0804A PIC 9(07)V9(02) + VALUE 2599541.84. + 77 FLD0804B PIC 9(01) + VALUE 0. + 77 FLD0804E PIC X VALUE 'N'. + + 77 FLD0805A PIC 9(07)V9(01) + VALUE 2358341.0. + 77 FLD0805B PIC 9(10)V9(08) + VALUE 4796323563.66873291. + 77 FLD0805E PIC X VALUE 'N'. + + 77 FLD0806A PIC 9(10)V9(11) + VALUE 5703927562.80738821850. + 77 FLD0806B PIC 9(09)V9(07) + VALUE 445849105.9648416. + 77 FLD0806E PIC X VALUE 'N'. + + 77 FLD0807A PIC 9(09)V9(17) + VALUE 689326682.16034242991696601. + 77 FLD0807B PIC S9(03) + VALUE -090. + 77 FLD0807E PIC X VALUE 'N'. + + 77 FLD0808A PIC 9(01) + VALUE 0. + 77 FLD0808B PIC 9(10)V9(07) + VALUE 4574455047.5690953. + 77 FLD0808E PIC X VALUE 'N'. + + 77 FLD0809A PIC 9(05)V9(28) + VALUE 86873.4196996681751201663246320094. + 77 FLD0809B PIC S9(09)V9(07) + VALUE +440334288.3961999. + 77 FLD0809E PIC X VALUE 'N'. + + 77 FLD0810A PIC S9(04) + VALUE +1129. + 77 FLD0810B PIC S9(07)V9(01) + VALUE +2130584.0. + 77 FLD0810E PIC X VALUE 'N'. + + 77 FLD0811A PIC 9(09)V9(15) + VALUE 648943185.643321429623142. + 77 FLD0811B PIC 9(01)V9(36) + VALUE 9.811592432324195423021251372119877487. + 77 FLD0811E PIC X VALUE 'N'. + + 77 FLD0812A PIC S9(08)V9(03) + VALUE -29270905.795. + 77 FLD0812B PIC 9(08)V9(02) + VALUE 27514068.39. + 77 FLD0812E PIC X VALUE 'N'. + + 77 FLD0813A PIC 9(10)V9(08) + VALUE 4881724662.84412076. + 77 FLD0813B PIC S9(08)V9(03) + VALUE -29113136.400. + 77 FLD0813E PIC X VALUE 'N'. + + 77 FLD0814A PIC S9(02) + VALUE -07. + 77 FLD0814B PIC 9(07)V9(21) + VALUE 7525112.595496631362479433846. + 77 FLD0814E PIC X VALUE 'N'. + + 77 FLD0815A PIC 9(06)V9(25) + VALUE 838676.0467962863785373883729334. + 77 FLD0815B PIC 9(02)V9(34) + VALUE 95.3836598694868031955707010638434439. + 77 FLD0815E PIC X VALUE 'N'. + + 77 FLD0816A PIC 9(08)V9(18) + VALUE 70774184.783492177786001775. + 77 FLD0816B PIC 9(04)V9(29) + VALUE 8859.15144904112161761133847903693. + 77 FLD0816E PIC X VALUE 'N'. + + 77 FLD0817A PIC 9(10)V9(09) + VALUE 5163345142.860672476. + 77 FLD0817B PIC 9(10)V9(09) + VALUE 5158922133.304477686. + 77 FLD0817E PIC X VALUE 'N'. + + 77 FLD0818A PIC 9(08)V9(03) + VALUE 30586164.664. + 77 FLD0818B PIC 9(08)V9(19) + VALUE 71565910.0751609544843745425. + 77 FLD0818E PIC X VALUE 'N'. + + 77 FLD0819A PIC 9(01)V9(36) + VALUE 9.844708607145921108738662042014766484. + 77 FLD0819B PIC S9(03) + VALUE -092. + 77 FLD0819E PIC X VALUE 'N'. + + 77 FLD0820A PIC 9(01) + VALUE 0. + 77 FLD0820B PIC 9(02)V9(34) + VALUE 95.6537139953218984445015848905313760. + 77 FLD0820E PIC X VALUE 'N'. + + 77 FLD0821A PIC 9(09)V9(11) + VALUE 550576956.44832715942. + 77 FLD0821B PIC S9(09)V9(05) + VALUE -383656536.39422. + 77 FLD0821E PIC X VALUE 'N'. + + 77 FLD0822A PIC S9(05) + VALUE +14037. + 77 FLD0822B PIC 9(04) + VALUE 1092. + 77 FLD0822E PIC X VALUE 'N'. + + 77 FLD0823A PIC 9(08)V9(20) + VALUE 73880168.20028298070610617287. + 77 FLD0823B PIC S9(09)V9(06) + VALUE +410430433.569272. + 77 FLD0823E PIC X VALUE 'N'. + + 77 FLD0824A PIC 9(10)V9(10) + VALUE 5351534260.3280557920. + 77 FLD0824B PIC 9(09)V9(14) + VALUE 619637811.24301098301998. + 77 FLD0824E PIC X VALUE 'N'. + + 77 FLD0825A PIC 9(01) + VALUE 0. + 77 FLD0825B PIC S9(05)V9(01) + VALUE -17069.2. + 77 FLD0825E PIC X VALUE 'N'. + + 77 FLD0826A PIC S9(06)V9(01) + VALUE -190786.5. + 77 FLD0826B PIC S9(10)V9(08) + VALUE -4805976358.59735916. + 77 FLD0826E PIC X VALUE 'N'. + + 77 FLD0827A PIC 9(07)V9(22) + VALUE 7763847.1978375678261841130733. + 77 FLD0827B PIC 9(10)V9(07) + VALUE 4683286251.1747114. + 77 FLD0827E PIC X VALUE 'N'. + + 77 FLD0828A PIC S9(10)V9(07) + VALUE -4530916009.2405642. + 77 FLD0828B PIC S9(05) + VALUE -15016. + 77 FLD0828E PIC X VALUE 'N'. + + 77 FLD0829A PIC 9(09)V9(17) + VALUE 691486534.21926165041355716. + 77 FLD0829B PIC 9(07)V9(23) + VALUE 7963194.44710118728991687930829. + 77 FLD0829E PIC X VALUE 'N'. + + 77 FLD0830A PIC 9(04)V9(30) + VALUE 8965.722935126121395654763546190224. + 77 FLD0830B PIC 9(10)V9(11) + VALUE 5655358049.53465004452. + 77 FLD0830E PIC X VALUE 'N'. + + 77 FLD0831A PIC 9(04)V9(30) + VALUE 8956.555580996397036841472072410397. + 77 FLD0831B PIC 9(09)V9(16) + VALUE 660284490.9595845246386147. + 77 FLD0831E PIC X VALUE 'N'. + + 77 FLD0832A PIC 9(04) + VALUE 1185. + 77 FLD0832B PIC 9(09)V9(06) + VALUE 419049138.539795. + 77 FLD0832E PIC X VALUE 'N'. + + 77 FLD0833A PIC 9(06)V9(24) + VALUE 804859.798300300854911881742737. + 77 FLD0833B PIC 9(09)V9(16) + VALUE 664990588.4825918489511309. + 77 FLD0833E PIC X VALUE 'N'. + + 77 FLD0834A PIC 9(09)V9(04) + VALUE 349209744.2881. + 77 FLD0834B PIC 9(08)V9(19) + VALUE 71191898.1740956136050613167. + 77 FLD0834E PIC X VALUE 'N'. + + 77 FLD0835A PIC 9(08)V9(19) + VALUE 71178359.2779248075466114187. + 77 FLD0835B PIC 9(07)V9(22) + VALUE 7891261.8513661014763016510187. + 77 FLD0835E PIC X VALUE 'N'. + + 77 FLD0836A PIC 9(09)V9(07) + VALUE 446141389.3412962. + 77 FLD0836B PIC 9(09)V9(13) + VALUE 594066179.3005866941896. + 77 FLD0836E PIC X VALUE 'N'. + + 77 FLD0837A PIC 9(04)V9(30) + VALUE 8982.008694278872384941792006429750. + 77 FLD0837B PIC S9(08)V9(03) + VALUE -29146758.519. + 77 FLD0837E PIC X VALUE 'N'. + + 77 FLD0838A PIC 9(10)V9(12) + VALUE 5873188106.793812979233. + 77 FLD0838B PIC 9(07)V9(22) + VALUE 7748686.2151072521953665273031. + 77 FLD0838E PIC X VALUE 'N'. + + 77 FLD0839A PIC 9(08)V9(19) + VALUE 71324671.8649382605015318858. + 77 FLD0839B PIC 9(06)V9(01) + VALUE 205379.6. + 77 FLD0839E PIC X VALUE 'N'. + + 77 FLD0840A PIC S9(03) + VALUE -094. + 77 FLD0840B PIC 9(04) + VALUE 1059. + 77 FLD0840E PIC X VALUE 'N'. + + 77 FLD0841A PIC 9(08)V9(18) + VALUE 70179428.042996372383299785. + 77 FLD0841B PIC 9(06)V9(24) + VALUE 813553.693586876014443021176703. + 77 FLD0841E PIC X VALUE 'N'. + + 77 FLD0842A PIC 9(09)V9(16) + VALUE 661649948.5739699704112126. + 77 FLD0842B PIC 9(02)V9(33) + VALUE 94.543261545044898763734408930758945. + 77 FLD0842E PIC X VALUE 'N'. + + 77 FLD0843A PIC 9(06)V9(25) + VALUE 818928.0761087860405211813485948. + 77 FLD0843B PIC S9(08)V9(03) + VALUE +30347988.647. + 77 FLD0843E PIC X VALUE 'N'. + + 77 FLD0844A PIC 9(07)V9(22) + VALUE 7754458.9142564990247308287507. + 77 FLD0844B PIC 9(10)V9(07) + VALUE 4487113046.2525055. + 77 FLD0844E PIC X VALUE 'N'. + + 77 FLD0845A PIC 9(10)V9(12) + VALUE 5903835745.060688200425. + 77 FLD0845B PIC 9(09)V9(15) + VALUE 651184321.418812994686220. + 77 FLD0845E PIC X VALUE 'N'. + + 77 FLD0846A PIC 9(08)V9(03) + VALUE 29802576.878. + 77 FLD0846B PIC 9(10)V9(07) + VALUE 4580030325.9646085. + 77 FLD0846E PIC X VALUE 'N'. + + 77 FLD0847A PIC 9(05)V9(26) + VALUE 84041.42690564196938041163775778. + 77 FLD0847B PIC 9(08)V9(03) + VALUE 29618694.346. + 77 FLD0847E PIC X VALUE 'N'. + + 77 FLD0848A PIC 9(07)V9(23) + VALUE 7949747.62786875510656159349309. + 77 FLD0848B PIC 9(08)V9(19) + VALUE 71130247.7845018432667245633. + 77 FLD0848E PIC X VALUE 'N'. + + 77 FLD0849A PIC 9(09)V9(13) + VALUE 595598045.8961575019216. + 77 FLD0849B PIC 9(07)V9(21) + VALUE 7527838.155592773139446194363. + 77 FLD0849E PIC X VALUE 'N'. + + 77 FLD0850A PIC 9(09)V9(06) + VALUE 418716850.605351. + 77 FLD0850B PIC 9(09)V9(15) + VALUE 631787055.454641532925563. + 77 FLD0850E PIC X VALUE 'N'. + + 77 FLD0851A PIC S9(03) + VALUE -082. + 77 FLD0851B PIC 9(07)V9(01) + VALUE 2252059.3. + 77 FLD0851E PIC X VALUE 'N'. + + 77 FLD0852A PIC 9(10)V9(11) + VALUE 5643399909.75319838462. + 77 FLD0852B PIC 9(08)V9(02) + VALUE 28682579.88. + 77 FLD0852E PIC X VALUE 'N'. + + 77 FLD0853A PIC 9(06)V9(24) + VALUE 801200.590406665469345171004533. + 77 FLD0853B PIC S9(01) + VALUE +0. + 77 FLD0853E PIC X VALUE 'N'. + + 77 FLD0854A PIC 9(01)V9(35) + VALUE 9.72377885073923198255840816273121163. + 77 FLD0854B PIC 9(01) + VALUE 0. + 77 FLD0854E PIC X VALUE 'N'. + + 77 FLD0855A PIC 9(08)V9(19) + VALUE 73562901.0042854747375429269. + 77 FLD0855B PIC 9(05)V9(01) + VALUE 16705.4. + 77 FLD0855E PIC X VALUE 'N'. + + 77 FLD0856A PIC 9(09)V9(04) + VALUE 356144099.6704. + 77 FLD0856B PIC S9(05) + VALUE +13257. + 77 FLD0856E PIC X VALUE 'N'. + + 77 FLD0857A PIC 9(03)V9(31) + VALUE 915.3286634102202334872799838194623. + 77 FLD0857B PIC S9(02) + VALUE -05. + 77 FLD0857E PIC X VALUE 'N'. + + 77 FLD0858A PIC 9(10)V9(11) + VALUE 5560594458.08950059131. + 77 FLD0858B PIC 9(08)V9(03) + VALUE 30966624.473. + 77 FLD0858E PIC X VALUE 'N'. + + 77 FLD0859A PIC S9(01) + VALUE +0. + 77 FLD0859B PIC 9(02)V9(34) + VALUE 97.1628168143447767945986015547532588. + 77 FLD0859E PIC X VALUE 'N'. + + 77 FLD0860A PIC 9(07)V9(02) + VALUE 2576407.94. + 77 FLD0860B PIC 9(08)V9(04) + VALUE 33654706.3315. + 77 FLD0860E PIC X VALUE 'N'. + + 77 FLD0861A PIC S9(10)V9(07) + VALUE -4605509961.3842453. + 77 FLD0861B PIC 9(04) + VALUE 1091. + 77 FLD0861E PIC X VALUE 'N'. + + 77 FLD0862A PIC 9(07)V9(22) + VALUE 7652464.2157409383802502134130. + 77 FLD0862B PIC 9(09)V9(12) + VALUE 576630833.581719182134. + 77 FLD0862E PIC X VALUE 'N'. + + 77 FLD0863A PIC 9(05)V9(27) + VALUE 85070.091557533766835064170663827. + 77 FLD0863B PIC 9(10)V9(09) + VALUE 5171260723.603198217. + 77 FLD0863E PIC X VALUE 'N'. + + 77 FLD0864A PIC 9(10)V9(11) + VALUE 5711242885.34377577697. + 77 FLD0864B PIC 9(04)V9(29) + VALUE 8791.30787212824560405977081245509. + 77 FLD0864E PIC X VALUE 'N'. + + 77 FLD0865A PIC 9(06)V9(24) + VALUE 807409.725415061507725056344497. + 77 FLD0865B PIC S9(03) + VALUE -082. + 77 FLD0865E PIC X VALUE 'N'. + + 77 FLD0866A PIC 9(09)V9(05) + VALUE 376060050.51851. + 77 FLD0866B PIC 9(04)V9(30) + VALUE 9076.867019798932068042063292523380. + 77 FLD0866E PIC X VALUE 'N'. + + 77 FLD0867A PIC S9(05) + VALUE +14084. + 77 FLD0867B PIC 9(08)V9(19) + VALUE 72879777.6966572774526298417. + 77 FLD0867E PIC X VALUE 'N'. + + 77 FLD0868A PIC 9(07)V9(22) + VALUE 7648419.8420910554094831468319. + 77 FLD0868B PIC 9(10)V9(12) + VALUE 5849128371.667725589944. + 77 FLD0868E PIC X VALUE 'N'. + + 77 FLD0869A PIC S9(01) + VALUE +0. + 77 FLD0869B PIC 9(08)V9(17) + VALUE 68157822.06919422936408636. + 77 FLD0869E PIC X VALUE 'N'. + + 77 FLD0870A PIC S9(01) + VALUE +0. + 77 FLD0870B PIC 9(09)V9(15) + VALUE 657570531.523696821807334. + 77 FLD0870E PIC X VALUE 'N'. + + 77 FLD0871A PIC 9(09)V9(14) + VALUE 609764683.38536315982878. + 77 FLD0871B PIC 9(10)V9(09) + VALUE 5134836781.377033476. + 77 FLD0871E PIC X VALUE 'N'. + + 77 FLD0872A PIC 9(04)V9(29) + VALUE 8816.31176263962479389135751262074. + 77 FLD0872B PIC 9(10)V9(07) + VALUE 4591409950.7884903. + 77 FLD0872E PIC X VALUE 'N'. + + 77 FLD0873A PIC 9(07)V9(21) + VALUE 7561255.223942077163812314211. + 77 FLD0873B PIC 9(05) + VALUE 15597. + 77 FLD0873E PIC X VALUE 'N'. + + 77 FLD0874A PIC 9(01) + VALUE 0. + 77 FLD0874B PIC 9(06)V9(01) + VALUE 188106.3. + 77 FLD0874E PIC X VALUE 'N'. + + 77 FLD0875A PIC S9(06)V9(01) + VALUE +204126.0. + 77 FLD0875B PIC 9(02) + VALUE 06. + 77 FLD0875E PIC X VALUE 'N'. + + 77 FLD0876A PIC 9(01) + VALUE 0. + 77 FLD0876B PIC 9(07)V9(23) + VALUE 7928238.87607293276147402139031. + 77 FLD0876E PIC X VALUE 'N'. + + 77 FLD0877A PIC 9(08)V9(18) + VALUE 69924605.886404200827399790. + 77 FLD0877B PIC 9(09)V9(15) + VALUE 651975862.412979334514773. + 77 FLD0877E PIC X VALUE 'N'. + + 77 FLD0878A PIC 9(07)V9(22) + VALUE 7831260.9220719830993573395971. + 77 FLD0878B PIC 9(04)V9(29) + VALUE 8832.64528360225620318146866338793. + 77 FLD0878E PIC X VALUE 'N'. + + 77 FLD0879A PIC 9(07)V9(02) + VALUE 2371533.81. + 77 FLD0879B PIC 9(05)V9(27) + VALUE 85230.962794591269560129376259283. + 77 FLD0879E PIC X VALUE 'N'. + + 77 FLD0880A PIC S9(10)V9(06) + VALUE +4237732309.742536. + 77 FLD0880B PIC 9(05)V9(26) + VALUE 83915.37539577657023315282458497. + 77 FLD0880E PIC X VALUE 'N'. + + 77 FLD0881A PIC 9(10)V9(11) + VALUE 5571129514.90407404264. + 77 FLD0881B PIC S9(09)V9(04) + VALUE -360610120.1846. + 77 FLD0881E PIC X VALUE 'N'. + + 77 FLD0882A PIC 9(10)V9(12) + VALUE 5888713345.878072713546. + 77 FLD0882B PIC 9(09)V9(16) + VALUE 677832951.8186110291821933. + 77 FLD0882E PIC X VALUE 'N'. + + 77 FLD0883A PIC 9(09)V9(16) + VALUE 672192258.1526228457349247. + 77 FLD0883B PIC 9(07)V9(21) + VALUE 7561874.624389478549701948395. + 77 FLD0883E PIC X VALUE 'N'. + + 77 FLD0884A PIC 9(10)V9(08) + VALUE 4954020911.85092596. + 77 FLD0884B PIC 9(07)V9(21) + VALUE 7530519.818486510752464369033. + 77 FLD0884E PIC X VALUE 'N'. + + 77 FLD0885A PIC S9(05) + VALUE +13360. + 77 FLD0885B PIC S9(05) + VALUE -15432. + 77 FLD0885E PIC X VALUE 'N'. + + 77 FLD0886A PIC S9(09)V9(05) + VALUE -374529584.88504. + 77 FLD0886B PIC S9(09)V9(05) + VALUE -380480275.58811. + 77 FLD0886E PIC X VALUE 'N'. + + 77 FLD0887A PIC S9(07)V9(01) + VALUE +2114795.5. + 77 FLD0887B PIC 9(06)V9(25) + VALUE 815821.3018675709582439026235078. + 77 FLD0887E PIC X VALUE 'N'. + + 77 FLD0888A PIC 9(08)V9(19) + VALUE 73580519.1914812417586233550. + 77 FLD0888B PIC 9(07)V9(02) + VALUE 2394446.18. + 77 FLD0888E PIC X VALUE 'N'. + + 77 FLD0889A PIC S9(05) + VALUE -15225. + 77 FLD0889B PIC 9(02)V9(34) + VALUE 96.3719675610497206186266794247785583. + 77 FLD0889E PIC X VALUE 'N'. + + 77 FLD0890A PIC S9(01) + VALUE +0. + 77 FLD0890B PIC 9(08)V9(19) + VALUE 72161358.3480198661490589984. + 77 FLD0890E PIC X VALUE 'N'. + + 77 FLD0891A PIC 9(02)V9(34) + VALUE 95.7956124985634538404610793804749846. + 77 FLD0891B PIC 9(08)V9(19) + VALUE 73526985.6204998628612656830. + 77 FLD0891E PIC X VALUE 'N'. + + 77 FLD0892A PIC 9(10)V9(09) + VALUE 5079027644.377075434. + 77 FLD0892B PIC 9(03) + VALUE 088. + 77 FLD0892E PIC X VALUE 'N'. + + 77 FLD0893A PIC 9(10)V9(12) + VALUE 5900775083.003402254888. + 77 FLD0893B PIC 9(02) + VALUE 07. + 77 FLD0893E PIC X VALUE 'N'. + + 77 FLD0894A PIC 9(06)V9(25) + VALUE 819872.1409522375935807758651208. + 77 FLD0894B PIC 9(09)V9(15) + VALUE 655129000.141700390535959. + 77 FLD0894E PIC X VALUE 'N'. + + 77 FLD0895A PIC 9(10)V9(09) + VALUE 5099949658.575000377. + 77 FLD0895B PIC 9(08)V9(02) + VALUE 28944204.51. + 77 FLD0895E PIC X VALUE 'N'. + + 77 FLD0896A PIC 9(10)V9(07) + VALUE 4576511370.6787369. + 77 FLD0896B PIC S9(01) + VALUE +0. + 77 FLD0896E PIC X VALUE 'N'. + + 77 FLD0897A PIC 9(01)V9(36) + VALUE 9.997543976245016894566219889384228736. + 77 FLD0897B PIC S9(09)V9(07) + VALUE +440492210.0858147. + 77 FLD0897E PIC X VALUE 'N'. + + 77 FLD0898A PIC 9(09)V9(05) + VALUE 378033726.09171. + 77 FLD0898B PIC 9(06)V9(01) + VALUE 199374.1. + 77 FLD0898E PIC X VALUE 'N'. + + 77 FLD0899A PIC 9(08)V9(20) + VALUE 74918436.40783237834313013081. + 77 FLD0899B PIC 9(09)V9(07) + VALUE 438142184.6749312. + 77 FLD0899E PIC X VALUE 'N'. + + 77 FLD0900A PIC 9(03)V9(32) + VALUE 929.41329164379282712360463847289793. + 77 FLD0900B PIC 9(06)V9(01) + VALUE 185639.8. + 77 FLD0900E PIC X VALUE 'N'. + + 77 FLD0901A PIC 9(10)V9(07) + VALUE 4563598931.5070740. + 77 FLD0901B PIC 9(01)V9(36) + VALUE 9.782322298369796609307513790554367005. + 77 FLD0901E PIC X VALUE 'N'. + + 77 FLD0902A PIC 9(05)V9(28) + VALUE 87405.6741908566081633580324705690. + 77 FLD0902B PIC 9(10)V9(09) + VALUE 5131137190.755751253. + 77 FLD0902E PIC X VALUE 'N'. + + 77 FLD0903A PIC 9(08)V9(02) + VALUE 28616952.10. + 77 FLD0903B PIC S9(02) + VALUE -06. + 77 FLD0903E PIC X VALUE 'N'. + + 77 FLD0904A PIC S9(04) + VALUE +1137. + 77 FLD0904B PIC S9(01) + VALUE -0. + 77 FLD0904E PIC X VALUE 'N'. + + 77 FLD0905A PIC 9(09)V9(04) + VALUE 357938124.4724. + 77 FLD0905B PIC 9(09)V9(04) + VALUE 349599231.9688. + 77 FLD0905E PIC X VALUE 'N'. + + 77 FLD0906A PIC 9(09)V9(16) + VALUE 669388906.6218295935684068. + 77 FLD0906B PIC 9(01) + VALUE 0. + 77 FLD0906E PIC X VALUE 'N'. + + 77 FLD0907A PIC S9(09)V9(05) + VALUE -390800584.69506. + 77 FLD0907B PIC 9(10)V9(11) + VALUE 5692874702.16027324809. + 77 FLD0907E PIC X VALUE 'N'. + + 77 FLD0908A PIC S9(10)V9(06) + VALUE +4306350776.286586. + 77 FLD0908B PIC 9(03)V9(31) + VALUE 912.0472776451683527554337160836439. + 77 FLD0908E PIC X VALUE 'N'. + + 77 FLD0909A PIC 9(08)V9(03) + VALUE 30663800.453. + 77 FLD0909B PIC 9(01) + VALUE 0. + 77 FLD0909E PIC X VALUE 'N'. + + 77 FLD0910A PIC S9(06)V9(01) + VALUE -193158.9. + 77 FLD0910B PIC 9(04)V9(30) + VALUE 9098.433765600096867487422969134058. + 77 FLD0910E PIC X VALUE 'N'. + + 77 FLD0911A PIC S9(10)V9(07) + VALUE -4611964452.0728980. + 77 FLD0911B PIC 9(08)V9(20) + VALUE 74305071.04102702653491974160. + 77 FLD0911E PIC X VALUE 'N'. + + 77 FLD0912A PIC 9(10)V9(09) + VALUE 5000191930.396378214. + 77 FLD0912B PIC 9(01) + VALUE 0. + 77 FLD0912E PIC X VALUE 'N'. + + 77 FLD0913A PIC S9(04) + VALUE +1246. + 77 FLD0913B PIC 9(03) + VALUE 079. + 77 FLD0913E PIC X VALUE 'N'. + + 77 FLD0914A PIC 9(03)V9(31) + VALUE 917.2012666333545505281676923914346. + 77 FLD0914B PIC 9(01)V9(36) + VALUE 9.801144784183424274459639491396956145. + 77 FLD0914E PIC X VALUE 'N'. + + 77 FLD0915A PIC 9(08)V9(20) + VALUE 74750906.49492384109464637731. + 77 FLD0915B PIC S9(04) + VALUE +1130. + 77 FLD0915E PIC X VALUE 'N'. + + 77 FLD0916A PIC S9(01) + VALUE +0. + 77 FLD0916B PIC 9(10)V9(06) + VALUE 4372777685.598984. + 77 FLD0916E PIC X VALUE 'N'. + + 77 FLD0917A PIC 9(01) + VALUE 0. + 77 FLD0917B PIC 9(04) + VALUE 1084. + 77 FLD0917E PIC X VALUE 'N'. + + 77 FLD0918A PIC 9(04) + VALUE 1059. + 77 FLD0918B PIC 9(10)V9(11) + VALUE 5693106161.94893204244. + 77 FLD0918E PIC X VALUE 'N'. + + 77 FLD0919A PIC S9(02) + VALUE -06. + 77 FLD0919B PIC S9(01) + VALUE +0. + 77 FLD0919E PIC X VALUE 'N'. + + 77 FLD0920A PIC S9(05)V9(01) + VALUE -17474.9. + 77 FLD0920B PIC 9(09)V9(16) + VALUE 669843285.3658151664433262. + 77 FLD0920E PIC X VALUE 'N'. + + 77 FLD0921A PIC 9(10)V9(10) + VALUE 5463494999.0456427304. + 77 FLD0921B PIC S9(01) + VALUE +0. + 77 FLD0921E PIC X VALUE 'N'. + + 77 FLD0922A PIC S9(01) + VALUE +0. + 77 FLD0922B PIC S9(05)V9(01) + VALUE -18331.8. + 77 FLD0922E PIC X VALUE 'N'. + + 77 FLD0923A PIC 9(06) + VALUE 159582. + 77 FLD0923B PIC S9(04) + VALUE +1310. + 77 FLD0923E PIC X VALUE 'N'. + + 77 FLD0924A PIC 9(10)V9(11) + VALUE 5650505738.70210182114. + 77 FLD0924B PIC 9(06)V9(25) + VALUE 830413.4742864166529585645548650. + 77 FLD0924E PIC X VALUE 'N'. + + 77 FLD0925A PIC S9(04) + VALUE +1236. + 77 FLD0925B PIC S9(01) + VALUE +0. + 77 FLD0925E PIC X VALUE 'N'. + + 77 FLD0926A PIC 9(08)V9(18) + VALUE 69535643.175280814620720093. + 77 FLD0926B PIC S9(07)V9(02) + VALUE -2533128.95. + 77 FLD0926E PIC X VALUE 'N'. + + 77 FLD0927A PIC 9(06)V9(24) + VALUE 800954.558131814597921049880824. + 77 FLD0927B PIC 9(10)V9(09) + VALUE 5121064754.192180545. + 77 FLD0927E PIC X VALUE 'N'. + + 77 FLD0928A PIC 9(01) + VALUE 0. + 77 FLD0928B PIC 9(07)V9(02) + VALUE 2551694.92. + 77 FLD0928E PIC X VALUE 'N'. + + 77 FLD0929A PIC 9(05)V9(28) + VALUE 87174.0739403786824013309342262800. + 77 FLD0929B PIC 9(08)V9(19) + VALUE 71306594.2354483839338286088. + 77 FLD0929E PIC X VALUE 'N'. + + 77 FLD0930A PIC 9(01)V9(36) + VALUE 9.911281003002671008417223674769047647. + 77 FLD0930B PIC 9(09)V9(13) + VALUE 591594874.8305130955316. + 77 FLD0930E PIC X VALUE 'N'. + + 77 FLD0931A PIC 9(09)V9(12) + VALUE 573747057.720371378408. + 77 FLD0931B PIC S9(07)V9(02) + VALUE -2503283.13. + 77 FLD0931E PIC X VALUE 'N'. + + 77 FLD0932A PIC 9(10)V9(09) + VALUE 5079506475.355934913. + 77 FLD0932B PIC 9(10)V9(09) + VALUE 5196217943.575858200. + 77 FLD0932E PIC X VALUE 'N'. + + 77 FLD0933A PIC 9(07)V9(22) + VALUE 7776883.1704294028028812135744. + 77 FLD0933B PIC 9(09)V9(03) + VALUE 328435728.864. + 77 FLD0933E PIC X VALUE 'N'. + + 77 FLD0934A PIC 9(05)V9(01) + VALUE 16899.6. + 77 FLD0934B PIC 9(07)V9(02) + VALUE 2394400.51. + 77 FLD0934E PIC X VALUE 'N'. + + 77 FLD0935A PIC 9(05)V9(01) + VALUE 16691.2. + 77 FLD0935B PIC 9(10)V9(08) + VALUE 4853829665.64275264. + 77 FLD0935E PIC X VALUE 'N'. + + 77 FLD0936A PIC 9(08)V9(03) + VALUE 29560937.131. + 77 FLD0936B PIC 9(02)V9(34) + VALUE 95.2998853185021421730027668672846630. + 77 FLD0936E PIC X VALUE 'N'. + + 77 FLD0937A PIC 9(02)V9(33) + VALUE 94.462893191714936147462822191300801. + 77 FLD0937B PIC 9(01) + VALUE 0. + 77 FLD0937E PIC X VALUE 'N'. + + 77 FLD0938A PIC 9(09)V9(12) + VALUE 578242437.999430092254. + 77 FLD0938B PIC 9(08)V9(18) + VALUE 70721875.972746128802270959. + 77 FLD0938E PIC X VALUE 'N'. + + 77 FLD0939A PIC 9(10)V9(13) + VALUE 6084884727.3780637401330. + 77 FLD0939B PIC S9(01) + VALUE -0. + 77 FLD0939E PIC X VALUE 'N'. + + 77 FLD0940A PIC 9(09)V9(12) + VALUE 577997061.609985873786. + 77 FLD0940B PIC 9(10)V9(08) + VALUE 4780052522.48498546. + 77 FLD0940E PIC X VALUE 'N'. + + 77 FLD0941A PIC 9(09)V9(16) + VALUE 670449367.9367865555107641. + 77 FLD0941B PIC 9(09)V9(04) + VALUE 345028332.3540. + 77 FLD0941E PIC X VALUE 'N'. + + 77 FLD0942A PIC 9(10)V9(10) + VALUE 5309347867.8071082121. + 77 FLD0942B PIC 9(03)V9(32) + VALUE 922.70492697630424050458941565011627. + 77 FLD0942E PIC X VALUE 'N'. + + 77 FLD0943A PIC S9(09)V9(03) + VALUE +323766798.919. + 77 FLD0943B PIC S9(06)V9(01) + VALUE +203018.6. + 77 FLD0943E PIC X VALUE 'N'. + + 77 FLD0944A PIC 9(02)V9(34) + VALUE 95.7363239628727824559462078468641266. + 77 FLD0944B PIC S9(07)V9(02) + VALUE -2600465.21. + 77 FLD0944E PIC X VALUE 'N'. + + 77 FLD0945A PIC 9(10)V9(10) + VALUE 5427766423.1255295934. + 77 FLD0945B PIC S9(10)V9(06) + VALUE +4211785767.712989. + 77 FLD0945E PIC X VALUE 'N'. + + 77 FLD0946A PIC S9(07)V9(02) + VALUE -2603132.30. + 77 FLD0946B PIC 9(02)V9(34) + VALUE 96.2407519811451561686510558502050116. + 77 FLD0946E PIC X VALUE 'N'. + + 77 FLD0947A PIC 9(05)V9(27) + VALUE 85846.989065825540787812997223227. + 77 FLD0947B PIC 9(09)V9(16) + VALUE 671942080.3697424560141371. + 77 FLD0947E PIC X VALUE 'N'. + + 77 FLD0948A PIC 9(04) + VALUE 1058. + 77 FLD0948B PIC 9(07)V9(21) + VALUE 7582594.805549627281493485497. + 77 FLD0948E PIC X VALUE 'N'. + + 77 FLD0949A PIC S9(10)V9(06) + VALUE +4307044196.647341. + 77 FLD0949B PIC 9(10)V9(07) + VALUE 4670230467.6696332. + 77 FLD0949E PIC X VALUE 'N'. + + 77 FLD0950A PIC 9(09)V9(14) + VALUE 614898523.03850200954116. + 77 FLD0950B PIC 9(04)V9(30) + VALUE 9056.465512238127679722765606129541. + 77 FLD0950E PIC X VALUE 'N'. + + 77 FLD0951A PIC S9(08)V9(03) + VALUE +31116955.475. + 77 FLD0951B PIC 9(08)V9(20) + VALUE 74599134.92992847894313968026. + 77 FLD0951E PIC X VALUE 'N'. + + 77 FLD0952A PIC 9(09)V9(03) + VALUE 315844571.317. + 77 FLD0952B PIC 9(02) + VALUE 06. + 77 FLD0952E PIC X VALUE 'N'. + + 77 FLD0953A PIC 9(06) + VALUE 166635. + 77 FLD0953B PIC 9(10)V9(09) + VALUE 5187782319.462912461. + 77 FLD0953E PIC X VALUE 'N'. + + 77 FLD0954A PIC 9(10)V9(11) + VALUE 5577123049.60128579800. + 77 FLD0954B PIC 9(02)V9(34) + VALUE 97.0603521071659591790137255884474143. + 77 FLD0954E PIC X VALUE 'N'. + + 77 FLD0955A PIC S9(08)V9(02) + VALUE -27357789.23. + 77 FLD0955B PIC 9(06)V9(25) + VALUE 823687.4590304759102821208216482. + 77 FLD0955E PIC X VALUE 'N'. + + 77 FLD0956A PIC S9(08)V9(02) + VALUE -27355040.84. + 77 FLD0956B PIC 9(08)V9(18) + VALUE 70029518.862281070479269828. + 77 FLD0956E PIC X VALUE 'N'. + + 77 FLD0957A PIC 9(09)V9(15) + VALUE 637627083.330792543414133. + 77 FLD0957B PIC S9(04) + VALUE +1212. + 77 FLD0957E PIC X VALUE 'N'. + + 77 FLD0958A PIC S9(08)V9(03) + VALUE -29370744.150. + 77 FLD0958B PIC 9(10)V9(06) + VALUE 4358178846.720288. + 77 FLD0958E PIC X VALUE 'N'. + + 77 FLD0959A PIC 9(06)V9(25) + VALUE 827211.6833605048791255853757320. + 77 FLD0959B PIC S9(01) + VALUE +0. + 77 FLD0959E PIC X VALUE 'N'. + + 77 FLD0960A PIC 9(10)V9(11) + VALUE 5559976801.18206716315. + 77 FLD0960B PIC S9(01) + VALUE +0. + 77 FLD0960E PIC X VALUE 'N'. + + 77 FLD0961A PIC 9(08)V9(19) + VALUE 72708740.7191407630868695832. + 77 FLD0961B PIC S9(04) + VALUE +1315. + 77 FLD0961E PIC X VALUE 'N'. + + 77 FLD0962A PIC 9(02)V9(34) + VALUE 96.8081984946274620718043024680810049. + 77 FLD0962B PIC 9(08)V9(17) + VALUE 68265700.44059103725686554. + 77 FLD0962E PIC X VALUE 'N'. + + 77 FLD0963A PIC 9(01)V9(36) + VALUE 9.803573230667260718362854277074802666. + 77 FLD0963B PIC 9(09)V9(16) + VALUE 657950850.8072698935720268. + 77 FLD0963E PIC X VALUE 'N'. + + 77 FLD0964A PIC 9(09)V9(15) + VALUE 639504907.969730918004813. + 77 FLD0964B PIC 9(09)V9(13) + VALUE 599568613.7680703575725. + 77 FLD0964E PIC X VALUE 'N'. + + 77 FLD0965A PIC 9(05) + VALUE 13581. + 77 FLD0965B PIC 9(01) + VALUE 0. + 77 FLD0965E PIC X VALUE 'N'. + + 77 FLD0966A PIC 9(06)V9(01) + VALUE 189200.6. + 77 FLD0966B PIC 9(06)V9(01) + VALUE 189757.7. + 77 FLD0966E PIC X VALUE 'N'. + + 77 FLD0967A PIC 9(02) + VALUE 06. + 77 FLD0967B PIC 9(09)V9(04) + VALUE 356045641.3147. + 77 FLD0967E PIC X VALUE 'N'. + + 77 FLD0968A PIC 9(09)V9(15) + VALUE 649996663.320669743058033. + 77 FLD0968B PIC S9(04) + VALUE +1132. + 77 FLD0968E PIC X VALUE 'N'. + + 77 FLD0969A PIC S9(05) + VALUE -15366. + 77 FLD0969B PIC 9(09)V9(13) + VALUE 594539058.0989867723715. + 77 FLD0969E PIC X VALUE 'N'. + + 77 FLD0970A PIC 9(09)V9(14) + VALUE 631417540.20798013247173. + 77 FLD0970B PIC 9(02)V9(34) + VALUE 96.8862081091470539462306987843476235. + 77 FLD0970E PIC X VALUE 'N'. + + 77 FLD0971A PIC 9(07)V9(01) + VALUE 2161446.9. + 77 FLD0971B PIC S9(09)V9(06) + VALUE +400705169.115322. + 77 FLD0971E PIC X VALUE 'N'. + + 77 FLD0972A PIC 9(09)V9(15) + VALUE 647710182.878484586055378. + 77 FLD0972B PIC 9(05) + VALUE 13649. + 77 FLD0972E PIC X VALUE 'N'. + + 77 FLD0973A PIC 9(05) + VALUE 13817. + 77 FLD0973B PIC 9(06)V9(25) + VALUE 828260.5282429751358819203232997. + 77 FLD0973E PIC X VALUE 'N'. + + 77 FLD0974A PIC 9(04) + VALUE 1180. + 77 FLD0974B PIC S9(03) + VALUE +104. + 77 FLD0974E PIC X VALUE 'N'. + + 77 FLD0975A PIC S9(02) + VALUE -06. + 77 FLD0975B PIC 9(09)V9(03) + VALUE 329183580.054. + 77 FLD0975E PIC X VALUE 'N'. + + 77 FLD0976A PIC S9(07)V9(01) + VALUE +2206144.7. + 77 FLD0976B PIC 9(10)V9(09) + VALUE 5191401776.232426046. + 77 FLD0976E PIC X VALUE 'N'. + + 77 FLD0977A PIC 9(09)V9(03) + VALUE 327431372.704. + 77 FLD0977B PIC S9(09)V9(05) + VALUE -393208707.80387. + 77 FLD0977E PIC X VALUE 'N'. + + 77 FLD0978A PIC 9(09)V9(16) + VALUE 675062190.8116747338368668. + 77 FLD0978B PIC S9(09)V9(06) + VALUE +411411057.685845. + 77 FLD0978E PIC X VALUE 'N'. + + 77 FLD0979A PIC 9(03)V9(32) + VALUE 925.33169671466619643496187563869170. + 77 FLD0979B PIC 9(09)V9(05) + VALUE 388509802.38797. + 77 FLD0979E PIC X VALUE 'N'. + + 77 FLD0980A PIC 9(03)V9(32) + VALUE 935.82234581280043794748735308530740. + 77 FLD0980B PIC 9(09)V9(15) + VALUE 647159992.565670250108667. + 77 FLD0980E PIC X VALUE 'N'. + + 77 FLD0981A PIC 9(06)V9(01) + VALUE 195132.7. + 77 FLD0981B PIC S9(09)V9(04) + VALUE -360473610.9762. + 77 FLD0981E PIC X VALUE 'N'. + + 77 FLD0982A PIC 9(06)V9(25) + VALUE 816610.1728260642955703474399342. + 77 FLD0982B PIC S9(08)V9(03) + VALUE +31469845.616. + 77 FLD0982E PIC X VALUE 'N'. + + 77 FLD0983A PIC 9(10)V9(09) + VALUE 5114754992.436914005. + 77 FLD0983B PIC 9(02)V9(34) + VALUE 95.8147071945383510538363225350622087. + 77 FLD0983E PIC X VALUE 'N'. + + 77 FLD0984A PIC 9(09)V9(15) + VALUE 632949921.330981046807551. + 77 FLD0984B PIC 9(10)V9(09) + VALUE 5090793805.153389639. + 77 FLD0984E PIC X VALUE 'N'. + + 77 FLD0985A PIC 9(10)V9(06) + VALUE 4296662473.303992. + 77 FLD0985B PIC 9(05)V9(28) + VALUE 87137.5808353749947698929645412135. + 77 FLD0985E PIC X VALUE 'N'. + + 77 FLD0986A PIC 9(05) + VALUE 14588. + 77 FLD0986B PIC 9(01) + VALUE 0. + 77 FLD0986E PIC X VALUE 'N'. + + 77 FLD0987A PIC 9(01)V9(36) + VALUE 9.834402345123109956404050535638816654. + 77 FLD0987B PIC 9(06)V9(26) + VALUE 842525.10302045313661523096016026. + 77 FLD0987E PIC X VALUE 'N'. + + 77 FLD0988A PIC 9(01) + VALUE 0. + 77 FLD0988B PIC S9(05)V9(01) + VALUE -18152.0. + 77 FLD0988E PIC X VALUE 'N'. + + 77 FLD0989A PIC S9(04) + VALUE +1235. + 77 FLD0989B PIC 9(09)V9(13) + VALUE 593212782.9792923634499. + 77 FLD0989E PIC X VALUE 'N'. + + 77 FLD0990A PIC 9(07)V9(22) + VALUE 7806084.0781040319313888176111. + 77 FLD0990B PIC 9(06)V9(01) + VALUE 208986.1. + 77 FLD0990E PIC X VALUE 'N'. + + 77 FLD0991A PIC 9(06)V9(24) + VALUE 807774.663029880435338725419569. + 77 FLD0991B PIC S9(09)V9(06) + VALUE +403465254.324070. + 77 FLD0991E PIC X VALUE 'N'. + + 77 FLD0992A PIC 9(07)V9(22) + VALUE 7784108.2583169551867285917978. + 77 FLD0992B PIC 9(04)V9(29) + VALUE 8920.19846678347883006665597349638. + 77 FLD0992E PIC X VALUE 'N'. + + 77 FLD0993A PIC 9(08)V9(20) + VALUE 74534466.64416291111976420324. + 77 FLD0993B PIC S9(04) + VALUE +1132. + 77 FLD0993E PIC X VALUE 'N'. + + 77 FLD0994A PIC 9(06)V9(24) + VALUE 815107.307501011568717785849003. + 77 FLD0994B PIC S9(10)V9(08) + VALUE -4847118976.22432053. + 77 FLD0994E PIC X VALUE 'N'. + + 77 FLD0995A PIC S9(01) + VALUE +0. + 77 FLD0995B PIC 9(06)V9(01) + VALUE 188825.8. + 77 FLD0995E PIC X VALUE 'N'. + + 77 FLD0996A PIC 9(09)V9(14) + VALUE 619241405.61761309431432. + 77 FLD0996B PIC 9(09)V9(16) + VALUE 669751940.2443259384227758. + 77 FLD0996E PIC X VALUE 'N'. + + 77 FLD0997A PIC 9(10)V9(09) + VALUE 5006446394.611311356. + 77 FLD0997B PIC 9(10)V9(09) + VALUE 5005353152.147143935. + 77 FLD0997E PIC X VALUE 'N'. + + 77 FLD0998A PIC 9(09)V9(13) + VALUE 598229443.4201559374386. + 77 FLD0998B PIC S9(01) + VALUE +0. + 77 FLD0998E PIC X VALUE 'N'. + + 77 FLD0999A PIC S9(03) + VALUE -081. + 77 FLD0999B PIC S9(01) + VALUE -0. + 77 FLD0999E PIC X VALUE 'N'. + + * RESULTS-AREA + 78 XPC-FLD0500B + VALUE '708'. + 78 XPC-FLD0500E VALUE 'N'. + 78 XPC-FLD0501B + VALUE '62809334873677369337485'. + 78 XPC-FLD0501E VALUE 'Y'. + 78 XPC-FLD0502B + VALUE '78931626286150020034995122841'. + 78 XPC-FLD0502E VALUE 'N'. + 78 XPC-FLD0503B + VALUE '241748150924885620905391882843105'. + 78 XPC-FLD0503E VALUE 'N'. + 78 XPC-FLD0504B + VALUE '5028930926587901486'. + 78 XPC-FLD0504E VALUE 'N'. + 78 XPC-FLD0505B + VALUE '54079887440916072855'. + 78 XPC-FLD0505E VALUE 'N'. + 78 XPC-FLD0506B + VALUE '4498381p'. + 78 XPC-FLD0506E VALUE 'N'. + 78 XPC-FLD0507B + VALUE '5276166649082409209'. + 78 XPC-FLD0507E VALUE 'N'. + 78 XPC-FLD0508B + VALUE '214408822084888u'. + 78 XPC-FLD0508E VALUE 'N'. + 78 XPC-FLD0509B + VALUE '488937338626299289'. + 78 XPC-FLD0509E VALUE 'N'. + 78 XPC-FLD0510B + VALUE '09r'. + 78 XPC-FLD0510E VALUE 'Y'. + 78 XPC-FLD0511B + VALUE '5257737010265951195'. + 78 XPC-FLD0511E VALUE 'N'. + 78 XPC-FLD0512B + VALUE '5091717968686512163500879069033544511'. + 78 XPC-FLD0512E VALUE 'N'. + 78 XPC-FLD0513B + VALUE '7412408747450585089211472222'. + 78 XPC-FLD0513E VALUE 'Y'. + 78 XPC-FLD0514B + VALUE '2787819996822'. + 78 XPC-FLD0514E VALUE 'N'. + 78 XPC-FLD0515B + VALUE '37690011845231452527479784448514692'. + 78 XPC-FLD0515E VALUE 'N'. + 78 XPC-FLD0516B + VALUE '9'. + 78 XPC-FLD0516E VALUE 'N'. + 78 XPC-FLD0517B + VALUE '03134013404271069v'. + 78 XPC-FLD0517E VALUE 'N'. + 78 XPC-FLD0518B + VALUE '8y'. + 78 XPC-FLD0518E VALUE 'N'. + 78 XPC-FLD0519B + VALUE '6841259606583623975595287'. + 78 XPC-FLD0519E VALUE 'Y'. + 78 XPC-FLD0520B + VALUE '61059553432451049552742'. + 78 XPC-FLD0520E VALUE 'N'. + 78 XPC-FLD0521B + VALUE '28055'. + 78 XPC-FLD0521E VALUE 'N'. + 78 XPC-FLD0522B + VALUE '351067614407v'. + 78 XPC-FLD0522E VALUE 'N'. + 78 XPC-FLD0523B + VALUE '4280314707'. + 78 XPC-FLD0523E VALUE 'N'. + 78 XPC-FLD0524B + VALUE '5046008862205329081'. + 78 XPC-FLD0524E VALUE 'N'. + 78 XPC-FLD0525B + VALUE '887336156634660588871099662355845'. + 78 XPC-FLD0525E VALUE 'N'. + 78 XPC-FLD0526B + VALUE '535158707'. + 78 XPC-FLD0526E VALUE 'N'. + 78 XPC-FLD0527B + VALUE '0993866582275886311'. + 78 XPC-FLD0527E VALUE 'N'. + 78 XPC-FLD0528B + VALUE '1207'. + 78 XPC-FLD0528E VALUE 'Y'. + 78 XPC-FLD0529B + VALUE '06852906977087936'. + 78 XPC-FLD0529E VALUE 'N'. + 78 XPC-FLD0530B + VALUE '4r'. + 78 XPC-FLD0530E VALUE 'N'. + 78 XPC-FLD0531B + VALUE '23227722'. + 78 XPC-FLD0531E VALUE 'Y'. + 78 XPC-FLD0532B + VALUE 'v'. + 78 XPC-FLD0532E VALUE 'N'. + 78 XPC-FLD0533B + VALUE '014'. + 78 XPC-FLD0533E VALUE 'N'. + 78 XPC-FLD0534B + VALUE '4796286047627412578'. + 78 XPC-FLD0534E VALUE 'N'. + 78 XPC-FLD0535B + VALUE '86934843746367858133650045201648'. + 78 XPC-FLD0535E VALUE 'N'. + 78 XPC-FLD0536B + VALUE '0'. + 78 XPC-FLD0536E VALUE 'N'. + 78 XPC-FLD0537B + VALUE '1199'. + 78 XPC-FLD0537E VALUE 'Y'. + 78 XPC-FLD0538B + VALUE '793946754459935233327882997400592'. + 78 XPC-FLD0538E VALUE 'N'. + 78 XPC-FLD0539B + VALUE '70042059898033071085876599681795'. + 78 XPC-FLD0539E VALUE 'N'. + 78 XPC-FLD0540B + VALUE '0'. + 78 XPC-FLD0540E VALUE 'Y'. + 78 XPC-FLD0541B + VALUE '49167641848286621388982121061'. + 78 XPC-FLD0541E VALUE 'N'. + 78 XPC-FLD0542B + VALUE '553207696393934218126'. + 78 XPC-FLD0542E VALUE 'N'. + 78 XPC-FLD0543B + VALUE '277016069'. + 78 XPC-FLD0543E VALUE 'N'. + 78 XPC-FLD0544B + VALUE '1381302823'. + 78 XPC-FLD0544E VALUE 'N'. + 78 XPC-FLD0545B + VALUE '944856446145206807507570674'. + 78 XPC-FLD0545E VALUE 'N'. + 78 XPC-FLD0546B + VALUE '60995883518421766866790'. + 78 XPC-FLD0546E VALUE 'N'. + 78 XPC-FLD0547B + VALUE '359869586205y'. + 78 XPC-FLD0547E VALUE 'N'. + 78 XPC-FLD0548B + VALUE '68119457212008152846571817'. + 78 XPC-FLD0548E VALUE 'N'. + 78 XPC-FLD0549B + VALUE '417916211751954'. + 78 XPC-FLD0549E VALUE 'N'. + 78 XPC-FLD0550B + VALUE '94'. + 78 XPC-FLD0550E VALUE 'N'. + 78 XPC-FLD0551B + VALUE '655119044597454263904505'. + 78 XPC-FLD0551E VALUE 'N'. + 78 XPC-FLD0552B + VALUE '14745'. + 78 XPC-FLD0552E VALUE 'Y'. + 78 XPC-FLD0553B + VALUE '360871096909p'. + 78 XPC-FLD0553E VALUE 'N'. + 78 XPC-FLD0554B + VALUE '28615763752268179551663251913851128'. + 78 XPC-FLD0554E VALUE 'N'. + 78 XPC-FLD0555B + VALUE '5605686733653602811'. + 78 XPC-FLD0555E VALUE 'N'. + 78 XPC-FLD0556B + VALUE '568555321722934526833'. + 78 XPC-FLD0556E VALUE 'N'. + 78 XPC-FLD0557B + VALUE '90340'. + 78 XPC-FLD0557E VALUE 'N'. + 78 XPC-FLD0558B + VALUE '2096049'. + 78 XPC-FLD0558E VALUE 'Y'. + 78 XPC-FLD0559B + VALUE '99142824147194545678672682843'. + 78 XPC-FLD0559E VALUE 'N'. + 78 XPC-FLD0560B + VALUE '0351025116078023'. + 78 XPC-FLD0560E VALUE 'N'. + 78 XPC-FLD0561B + VALUE '0'. + 78 XPC-FLD0561E VALUE 'Y'. + 78 XPC-FLD0562B + VALUE '958208334412512741096179524902254343'. + 78 XPC-FLD0562E VALUE 'N'. + 78 XPC-FLD0563B + VALUE '72227339713'. + 78 XPC-FLD0563E VALUE 'N'. + 78 XPC-FLD0564B + VALUE '92573034981753798966508384182816371'. + 78 XPC-FLD0564E VALUE 'Y'. + 78 XPC-FLD0565B + VALUE '2180881'. + 78 XPC-FLD0565E VALUE 'N'. + 78 XPC-FLD0566B + VALUE '134200212625'. + 78 XPC-FLD0566E VALUE 'N'. + 78 XPC-FLD0567B + VALUE '878970351596639054569948257267242'. + 78 XPC-FLD0567E VALUE 'Y'. + 78 XPC-FLD0568B + VALUE '64501399773583058336459'. + 78 XPC-FLD0568E VALUE 'N'. + 78 XPC-FLD0569B + VALUE '722108073354755'. + 78 XPC-FLD0569E VALUE 'N'. + 78 XPC-FLD0570B + VALUE '720060225322646066764775696'. + 78 XPC-FLD0570E VALUE 'N'. + 78 XPC-FLD0571B + VALUE '6621729185931387539619251'. + 78 XPC-FLD0571E VALUE 'N'. + 78 XPC-FLD0572B + VALUE '36305x'. + 78 XPC-FLD0572E VALUE 'N'. + 78 XPC-FLD0573B + VALUE '9908582147727897915245875992695800960'. + 78 XPC-FLD0573E VALUE 'Y'. + 78 XPC-FLD0574B + VALUE 'v'. + 78 XPC-FLD0574E VALUE 'N'. + 78 XPC-FLD0575B + VALUE '6'. + 78 XPC-FLD0575E VALUE 'N'. + 78 XPC-FLD0576B + VALUE '47238400610562072401'. + 78 XPC-FLD0576E VALUE 'N'. + 78 XPC-FLD0577B + VALUE '805001512301445405164770363626303151'. + 78 XPC-FLD0577E VALUE 'N'. + 78 XPC-FLD0578B + VALUE '273809'. + 78 XPC-FLD0578E VALUE 'N'. + 78 XPC-FLD0579B + VALUE '5908380596787501714'. + 78 XPC-FLD0579E VALUE 'N'. + 78 XPC-FLD0580B + VALUE '646450258967046645771858948137378321'. + 78 XPC-FLD0580E VALUE 'N'. + 78 XPC-FLD0581B + VALUE '610062973643881143036828'. + 78 XPC-FLD0581E VALUE 'N'. + 78 XPC-FLD0582B + VALUE '62856274902063530202835'. + 78 XPC-FLD0582E VALUE 'N'. + 78 XPC-FLD0583B + VALUE '4'. + 78 XPC-FLD0583E VALUE 'N'. + 78 XPC-FLD0584B + VALUE '955867594557756605766485336062032729'. + 78 XPC-FLD0584E VALUE 'N'. + 78 XPC-FLD0585B + VALUE '92667442032915370297985191427869722'. + 78 XPC-FLD0585E VALUE 'Y'. + 78 XPC-FLD0586B + VALUE '77794189960829245200635284617'. + 78 XPC-FLD0586E VALUE 'N'. + 78 XPC-FLD0587B + VALUE '212x'. + 78 XPC-FLD0587E VALUE 'N'. + 78 XPC-FLD0588B + VALUE '9002074772136551272794235956098418'. + 78 XPC-FLD0588E VALUE 'Y'. + 78 XPC-FLD0589B + VALUE '3292'. + 78 XPC-FLD0589E VALUE 'N'. + 78 XPC-FLD0590B + VALUE '106211y'. + 78 XPC-FLD0590E VALUE 'N'. + 78 XPC-FLD0591B + VALUE '5700661418154348791'. + 78 XPC-FLD0591E VALUE 'N'. + 78 XPC-FLD0592B + VALUE '7390709819s'. + 78 XPC-FLD0592E VALUE 'N'. + 78 XPC-FLD0593B + VALUE '37'. + 78 XPC-FLD0593E VALUE 'N'. + 78 XPC-FLD0594B + VALUE '77388935043103479483050932685'. + 78 XPC-FLD0594E VALUE 'Y'. + 78 XPC-FLD0595B + VALUE '3197374054167890777833347730124'. + 78 XPC-FLD0595E VALUE 'N'. + 78 XPC-FLD0596B + VALUE '657855963298508210108650'. + 78 XPC-FLD0596E VALUE 'N'. + 78 XPC-FLD0597B + VALUE '8162559991782142310157155407068'. + 78 XPC-FLD0597E VALUE 'Y'. + 78 XPC-FLD0598B + VALUE '46847763318450w'. + 78 XPC-FLD0598E VALUE 'N'. + 78 XPC-FLD0599B + VALUE '9'. + 78 XPC-FLD0599E VALUE 'N'. + 78 XPC-FLD0600B + VALUE '804504375985138686644404515391'. + 78 XPC-FLD0600E VALUE 'Y'. + 78 XPC-FLD0601B + VALUE '29749813110'. + 78 XPC-FLD0601E VALUE 'N'. + 78 XPC-FLD0602B + VALUE '303615938'. + 78 XPC-FLD0602E VALUE 'N'. + 78 XPC-FLD0603B + VALUE '17089v'. + 78 XPC-FLD0603E VALUE 'Y'. + 78 XPC-FLD0604B + VALUE '551440145498789572319'. + 78 XPC-FLD0604E VALUE 'N'. + 78 XPC-FLD0605B + VALUE '4256957897307752'. + 78 XPC-FLD0605E VALUE 'N'. + 78 XPC-FLD0606B + VALUE '254178383481'. + 78 XPC-FLD0606E VALUE 'N'. + 78 XPC-FLD0607B + VALUE '25781'. + 78 XPC-FLD0607E VALUE 'N'. + 78 XPC-FLD0608B + VALUE '225226869583767068085933260590536520'. + 78 XPC-FLD0608E VALUE 'N'. + 78 XPC-FLD0609B + VALUE '45126229228847267'. + 78 XPC-FLD0609E VALUE 'N'. + 78 XPC-FLD0610B + VALUE '2786455271'. + 78 XPC-FLD0610E VALUE 'N'. + 78 XPC-FLD0611B + VALUE '3'. + 78 XPC-FLD0611E VALUE 'N'. + 78 XPC-FLD0612B + VALUE '78744622890006543691754359315'. + 78 XPC-FLD0612E VALUE 'Y'. + 78 XPC-FLD0613B + VALUE '22648276'. + 78 XPC-FLD0613E VALUE 'N'. + 78 XPC-FLD0614B + VALUE '6052981544136128984377'. + 78 XPC-FLD0614E VALUE 'N'. + 78 XPC-FLD0615B + VALUE '23341961'. + 78 XPC-FLD0615E VALUE 'N'. + 78 XPC-FLD0616B + VALUE '23'. + 78 XPC-FLD0616E VALUE 'N'. + 78 XPC-FLD0617B + VALUE '0'. + 78 XPC-FLD0617E VALUE 'N'. + 78 XPC-FLD0618B + VALUE '079'. + 78 XPC-FLD0618E VALUE 'N'. + 78 XPC-FLD0619B + VALUE '53429823777539313843'. + 78 XPC-FLD0619E VALUE 'N'. + 78 XPC-FLD0620B + VALUE '583959822349086421500174'. + 78 XPC-FLD0620E VALUE 'N'. + 78 XPC-FLD0621B + VALUE '734334021823122911598602513'. + 78 XPC-FLD0621E VALUE 'N'. + 78 XPC-FLD0622B + VALUE '954242174684x'. + 78 XPC-FLD0622E VALUE 'N'. + 78 XPC-FLD0623B + VALUE '641616922896418195095066'. + 78 XPC-FLD0623E VALUE 'N'. + 78 XPC-FLD0624B + VALUE '4356505095582531'. + 78 XPC-FLD0624E VALUE 'N'. + 78 XPC-FLD0625B + VALUE '78308435769811728739000500354'. + 78 XPC-FLD0625E VALUE 'N'. + 78 XPC-FLD0626B + VALUE '3742747793206s'. + 78 XPC-FLD0626E VALUE 'N'. + 78 XPC-FLD0627B + VALUE '23249882'. + 78 XPC-FLD0627E VALUE 'N'. + 78 XPC-FLD0628B + VALUE '29681727729'. + 78 XPC-FLD0628E VALUE 'N'. + 78 XPC-FLD0629B + VALUE '880171084163677411860149391031882'. + 78 XPC-FLD0629E VALUE 'N'. + 78 XPC-FLD0630B + VALUE '174519095249753304734'. + 78 XPC-FLD0630E VALUE 'N'. + 78 XPC-FLD0631B + VALUE '824634'. + 78 XPC-FLD0631E VALUE 'N'. + 78 XPC-FLD0632B + VALUE '5012280455704922587'. + 78 XPC-FLD0632E VALUE 'N'. + 78 XPC-FLD0633B + VALUE '405176751227'. + 78 XPC-FLD0633E VALUE 'N'. + 78 XPC-FLD0634B + VALUE '868098250115819156979655872420'. + 78 XPC-FLD0634E VALUE 'N'. + 78 XPC-FLD0635B + VALUE '558066570900784292498'. + 78 XPC-FLD0635E VALUE 'N'. + 78 XPC-FLD0636B + VALUE '15706'. + 78 XPC-FLD0636E VALUE 'Y'. + 78 XPC-FLD0637B + VALUE '53791487329715233167'. + 78 XPC-FLD0637E VALUE 'N'. + 78 XPC-FLD0638B + VALUE '9300997013279628244930563595546'. + 78 XPC-FLD0638E VALUE 'N'. + 78 XPC-FLD0639B + VALUE '9751092072024196699686626743641681969'. + 78 XPC-FLD0639E VALUE 'Y'. + 78 XPC-FLD0640B + VALUE '89710938089320346744415246575953928'. + 78 XPC-FLD0640E VALUE 'N'. + 78 XPC-FLD0641B + VALUE '802113336084028338834883697'. + 78 XPC-FLD0641E VALUE 'N'. + 78 XPC-FLD0642B + VALUE '5220924521868707701698'. + 78 XPC-FLD0642E VALUE 'N'. + 78 XPC-FLD0643B + VALUE '2890586849'. + 78 XPC-FLD0643E VALUE 'N'. + 78 XPC-FLD0644B + VALUE '92997460492260109532480782945640385'. + 78 XPC-FLD0644E VALUE 'N'. + 78 XPC-FLD0645B + VALUE '246821544'. + 78 XPC-FLD0645E VALUE 'N'. + 78 XPC-FLD0646B + VALUE '5883231932131506547456'. + 78 XPC-FLD0646E VALUE 'N'. + 78 XPC-FLD0647B + VALUE '6598931491456289340839020'. + 78 XPC-FLD0647E VALUE 'N'. + 78 XPC-FLD0648B + VALUE '634285861942461315643470'. + 78 XPC-FLD0648E VALUE 'N'. + 78 XPC-FLD0649B + VALUE '5034432631533975375'. + 78 XPC-FLD0649E VALUE 'N'. + 78 XPC-FLD0650B + VALUE '6715745920981104473110078'. + 78 XPC-FLD0650E VALUE 'N'. + 78 XPC-FLD0651B + VALUE '3209394637494v'. + 78 XPC-FLD0651E VALUE 'N'. + 78 XPC-FLD0652B + VALUE '20927047'. + 78 XPC-FLD0652E VALUE 'N'. + 78 XPC-FLD0653B + VALUE '398302'. + 78 XPC-FLD0653E VALUE 'N'. + 78 XPC-FLD0654B + VALUE '2781322351'. + 78 XPC-FLD0654E VALUE 'Y'. + 78 XPC-FLD0655B + VALUE '5949843308386091165206'. + 78 XPC-FLD0655E VALUE 'N'. + 78 XPC-FLD0656B + VALUE '650007677567117914204561'. + 78 XPC-FLD0656E VALUE 'N'. + 78 XPC-FLD0657B + VALUE '70469220160326710801212967'. + 78 XPC-FLD0657E VALUE 'N'. + 78 XPC-FLD0658B + VALUE '53680173247006238712'. + 78 XPC-FLD0658E VALUE 'N'. + 78 XPC-FLD0659B + VALUE '719555666672452026677575531'. + 78 XPC-FLD0659E VALUE 'N'. + 78 XPC-FLD0660B + VALUE '1546t'. + 78 XPC-FLD0660E VALUE 'Y'. + 78 XPC-FLD0661B + VALUE '570540954971062823984'. + 78 XPC-FLD0661E VALUE 'N'. + 78 XPC-FLD0662B + VALUE '6678282186476681732324323'. + 78 XPC-FLD0662E VALUE 'N'. + 78 XPC-FLD0663B + VALUE '889469232052811142885673234559362'. + 78 XPC-FLD0663E VALUE 'Y'. + 78 XPC-FLD0664B + VALUE '4405659595288489'. + 78 XPC-FLD0664E VALUE 'N'. + 78 XPC-FLD0665B + VALUE '6766161649406166886924393'. + 78 XPC-FLD0665E VALUE 'N'. + 78 XPC-FLD0666B + VALUE '05'. + 78 XPC-FLD0666E VALUE 'Y'. + 78 XPC-FLD0667B + VALUE '632143970272669745917437'. + 78 XPC-FLD0667E VALUE 'N'. + 78 XPC-FLD0668B + VALUE '5144628458672427460'. + 78 XPC-FLD0668E VALUE 'N'. + 78 XPC-FLD0669B + VALUE '395936640779813'. + 78 XPC-FLD0669E VALUE 'N'. + 78 XPC-FLD0670B + VALUE '164380926561097741789296833303524182'. + 78 XPC-FLD0670E VALUE 'N'. + 78 XPC-FLD0671B + VALUE '8090443'. + 78 XPC-FLD0671E VALUE 'N'. + 78 XPC-FLD0672B + VALUE '637002039815689924395769'. + 78 XPC-FLD0672E VALUE 'Y'. + 78 XPC-FLD0673B + VALUE '749211223'. + 78 XPC-FLD0673E VALUE 'N'. + 78 XPC-FLD0674B + VALUE '8225787711159490474084418921848'. + 78 XPC-FLD0674E VALUE 'N'. + 78 XPC-FLD0675B + VALUE '5083625274155812857'. + 78 XPC-FLD0675E VALUE 'N'. + 78 XPC-FLD0676B + VALUE '004664170342459437179627457226160913'. + 78 XPC-FLD0676E VALUE 'N'. + 78 XPC-FLD0677B + VALUE '708676445455624266891447859961772'. + 78 XPC-FLD0677E VALUE 'N'. + 78 XPC-FLD0678B + VALUE '85979366357613359468814451247453'. + 78 XPC-FLD0678E VALUE 'N'. + 78 XPC-FLD0679B + VALUE '44902781556612852'. + 78 XPC-FLD0679E VALUE 'N'. + 78 XPC-FLD0680B + VALUE '564571038982083600804'. + 78 XPC-FLD0680E VALUE 'N'. + 78 XPC-FLD0681B + VALUE '8213717547801553386932482681004'. + 78 XPC-FLD0681E VALUE 'Y'. + 78 XPC-FLD0682B + VALUE '5608815389721361803129542749957'. + 78 XPC-FLD0682E VALUE 'N'. + 78 XPC-FLD0683B + VALUE '5829822468269903673642'. + 78 XPC-FLD0683E VALUE 'N'. + 78 XPC-FLD0684B + VALUE '4383394737646870'. + 78 XPC-FLD0684E VALUE 'Y'. + 78 XPC-FLD0685B + VALUE '536985204876752143500539204978'. + 78 XPC-FLD0685E VALUE 'N'. + 78 XPC-FLD0686B + VALUE '0180741962593756744226'. + 78 XPC-FLD0686E VALUE 'N'. + 78 XPC-FLD0687B + VALUE '456697463326542715'. + 78 XPC-FLD0687E VALUE 'N'. + 78 XPC-FLD0688B + VALUE '0131'. + 78 XPC-FLD0688E VALUE 'N'. + 78 XPC-FLD0689B + VALUE '933318323051'. + 78 XPC-FLD0689E VALUE 'N'. + 78 XPC-FLD0690B + VALUE '280789595t'. + 78 XPC-FLD0690E VALUE 'N'. + 78 XPC-FLD0691B + VALUE '4747985190129339'. + 78 XPC-FLD0691E VALUE 'N'. + 78 XPC-FLD0692B + VALUE '278067587806645121846764'. + 78 XPC-FLD0692E VALUE 'N'. + 78 XPC-FLD0693B + VALUE 'p'. + 78 XPC-FLD0693E VALUE 'Y'. + 78 XPC-FLD0694B + VALUE '6'. + 78 XPC-FLD0694E VALUE 'N'. + 78 XPC-FLD0695B + VALUE '285416863016785357397587'. + 78 XPC-FLD0695E VALUE 'N'. + 78 XPC-FLD0696B + VALUE '318862710902'. + 78 XPC-FLD0696E VALUE 'N'. + 78 XPC-FLD0697B + VALUE '5576423548738693906'. + 78 XPC-FLD0697E VALUE 'N'. + 78 XPC-FLD0698B + VALUE '61s'. + 78 XPC-FLD0698E VALUE 'N'. + 78 XPC-FLD0699B + VALUE '63028840127729701681147'. + 78 XPC-FLD0699E VALUE 'Y'. + 78 XPC-FLD0700B + VALUE 't'. + 78 XPC-FLD0700E VALUE 'N'. + 78 XPC-FLD0701B + VALUE '824434325033338688548667501709982529'. + 78 XPC-FLD0701E VALUE 'N'. + 78 XPC-FLD0702B + VALUE '23424178'. + 78 XPC-FLD0702E VALUE 'N'. + 78 XPC-FLD0703B + VALUE '335267041235'. + 78 XPC-FLD0703E VALUE 'N'. + 78 XPC-FLD0704B + VALUE '08515404888861616825987'. + 78 XPC-FLD0704E VALUE 'N'. + 78 XPC-FLD0705B + VALUE '46999504797278301'. + 78 XPC-FLD0705E VALUE 'Y'. + 78 XPC-FLD0706B + VALUE '32739x'. + 78 XPC-FLD0706E VALUE 'N'. + 78 XPC-FLD0707B + VALUE '5129442198407349051'. + 78 XPC-FLD0707E VALUE 'N'. + 78 XPC-FLD0708B + VALUE '338347991943'. + 78 XPC-FLD0708E VALUE 'N'. + 78 XPC-FLD0709B + VALUE '37934595068404'. + 78 XPC-FLD0709E VALUE 'N'. + 78 XPC-FLD0710B + VALUE '322996288512'. + 78 XPC-FLD0710E VALUE 'N'. + 78 XPC-FLD0711B + VALUE '06'. + 78 XPC-FLD0711E VALUE 'Y'. + 78 XPC-FLD0712B + VALUE '55578253792134938s'. + 78 XPC-FLD0712E VALUE 'N'. + 78 XPC-FLD0713B + VALUE '71121008'. + 78 XPC-FLD0713E VALUE 'N'. + 78 XPC-FLD0714B + VALUE '3473859515252'. + 78 XPC-FLD0714E VALUE 'Y'. + 78 XPC-FLD0715B + VALUE '58869262308134147685'. + 78 XPC-FLD0715E VALUE 'N'. + 78 XPC-FLD0716B + VALUE '4094336916239737930141018296126276'. + 78 XPC-FLD0716E VALUE 'N'. + 78 XPC-FLD0717B + VALUE '7657108845718485268250219632'. + 78 XPC-FLD0717E VALUE 'N'. + 78 XPC-FLD0718B + VALUE '4283258317648062'. + 78 XPC-FLD0718E VALUE 'N'. + 78 XPC-FLD0719B + VALUE '239090461'. + 78 XPC-FLD0719E VALUE 'N'. + 78 XPC-FLD0720B + VALUE '404886229426392'. + 78 XPC-FLD0720E VALUE 'N'. + 78 XPC-FLD0721B + VALUE '45808242'. + 78 XPC-FLD0721E VALUE 'N'. + 78 XPC-FLD0722B + VALUE '7624904820924922808538326535'. + 78 XPC-FLD0722E VALUE 'N'. + 78 XPC-FLD0723B + VALUE '07'. + 78 XPC-FLD0723E VALUE 'Y'. + 78 XPC-FLD0724B + VALUE '4934011851187240393'. + 78 XPC-FLD0724E VALUE 'N'. + 78 XPC-FLD0725B + VALUE '4444137342530902'. + 78 XPC-FLD0725E VALUE 'N'. + 78 XPC-FLD0726B + VALUE '401820868675800'. + 78 XPC-FLD0726E VALUE 'N'. + 78 XPC-FLD0727B + VALUE '0896082861134319673904889'. + 78 XPC-FLD0727E VALUE 'N'. + 78 XPC-FLD0728B + VALUE '8107691565224u'. + 78 XPC-FLD0728E VALUE 'N'. + 78 XPC-FLD0729B + VALUE '795979478015814722415832704882'. + 78 XPC-FLD0729E VALUE 'N'. + 78 XPC-FLD0730B + VALUE '62944830238001500322119'. + 78 XPC-FLD0730E VALUE 'N'. + 78 XPC-FLD0731B + VALUE '4086517499647340789789'. + 78 XPC-FLD0731E VALUE 'N'. + 78 XPC-FLD0732B + VALUE '0313'. + 78 XPC-FLD0732E VALUE 'N'. + 78 XPC-FLD0733B + VALUE '965641152048700750127567'. + 78 XPC-FLD0733E VALUE 'N'. + 78 XPC-FLD0734B + VALUE '26'. + 78 XPC-FLD0734E VALUE 'N'. + 78 XPC-FLD0735B + VALUE '641708846027484955070190'. + 78 XPC-FLD0735E VALUE 'N'. + 78 XPC-FLD0736B + VALUE '072589764082146861645222974767'. + 78 XPC-FLD0736E VALUE 'N'. + 78 XPC-FLD0737B + VALUE '52244392r'. + 78 XPC-FLD0737E VALUE 'N'. + 78 XPC-FLD0738B + VALUE '967470462418068333221299326396547257'. + 78 XPC-FLD0738E VALUE 'Y'. + 78 XPC-FLD0739B + VALUE '45916207849346129r'. + 78 XPC-FLD0739E VALUE 'N'. + 78 XPC-FLD0740B + VALUE '072773632191726975291885537444614'. + 78 XPC-FLD0740E VALUE 'N'. + 78 XPC-FLD0741B + VALUE '644169236711'. + 78 XPC-FLD0741E VALUE 'N'. + 78 XPC-FLD0742B + VALUE '8889902186r'. + 78 XPC-FLD0742E VALUE 'N'. + 78 XPC-FLD0743B + VALUE '2956850'. + 78 XPC-FLD0743E VALUE 'N'. + 78 XPC-FLD0744B + VALUE '2695622879'. + 78 XPC-FLD0744E VALUE 'N'. + 78 XPC-FLD0745B + VALUE '13557'. + 78 XPC-FLD0745E VALUE 'N'. + 78 XPC-FLD0746B + VALUE '0231527099755997057'. + 78 XPC-FLD0746E VALUE 'N'. + 78 XPC-FLD0747B + VALUE '9169159297409485986918298294767737'. + 78 XPC-FLD0747E VALUE 'Y'. + 78 XPC-FLD0748B + VALUE '18118w'. + 78 XPC-FLD0748E VALUE 'N'. + 78 XPC-FLD0749B + VALUE '2760411381430374631233670697839'. + 78 XPC-FLD0749E VALUE 'N'. + 78 XPC-FLD0750B + VALUE '262999561973'. + 78 XPC-FLD0750E VALUE 'N'. + 78 XPC-FLD0751B + VALUE '1517p'. + 78 XPC-FLD0751E VALUE 'N'. + 78 XPC-FLD0752B + VALUE '91538508268330654527034084821934811'. + 78 XPC-FLD0752E VALUE 'N'. + 78 XPC-FLD0753B + VALUE '0'. + 78 XPC-FLD0753E VALUE 'Y'. + 78 XPC-FLD0754B + VALUE '961172589'. + 78 XPC-FLD0754E VALUE 'N'. + 78 XPC-FLD0755B + VALUE '53471365948751090643'. + 78 XPC-FLD0755E VALUE 'N'. + 78 XPC-FLD0756B + VALUE '1536v'. + 78 XPC-FLD0756E VALUE 'Y'. + 78 XPC-FLD0757B + VALUE '389641442'. + 78 XPC-FLD0757E VALUE 'N'. + 78 XPC-FLD0758B + VALUE '45592x'. + 78 XPC-FLD0758E VALUE 'N'. + 78 XPC-FLD0759B + VALUE '7622235272467824718001239148'. + 78 XPC-FLD0759E VALUE 'N'. + 78 XPC-FLD0760B + VALUE '9469886609778104836721013271017001'. + 78 XPC-FLD0760E VALUE 'N'. + 78 XPC-FLD0761B + VALUE '31926781976263429729811'. + 78 XPC-FLD0761E VALUE 'N'. + 78 XPC-FLD0762B + VALUE '259134361'. + 78 XPC-FLD0762E VALUE 'Y'. + 78 XPC-FLD0763B + VALUE '283690925904618196362605387461'. + 78 XPC-FLD0763E VALUE 'N'. + 78 XPC-FLD0764B + VALUE '055560951487484800'. + 78 XPC-FLD0764E VALUE 'N'. + 78 XPC-FLD0765B + VALUE '1212'. + 78 XPC-FLD0765E VALUE 'Y'. + 78 XPC-FLD0766B + VALUE '22949432'. + 78 XPC-FLD0766E VALUE 'N'. + 78 XPC-FLD0767B + VALUE 'p'. + 78 XPC-FLD0767E VALUE 'N'. + 78 XPC-FLD0768B + VALUE '0w'. + 78 XPC-FLD0768E VALUE 'Y'. + 78 XPC-FLD0769B + VALUE '3586597857349'. + 78 XPC-FLD0769E VALUE 'N'. + 78 XPC-FLD0770B + VALUE '54829803888151060764504'. + 78 XPC-FLD0770E VALUE 'N'. + 78 XPC-FLD0771B + VALUE '75991198999121606361129010'. + 78 XPC-FLD0771E VALUE 'N'. + 78 XPC-FLD0772B + VALUE '090893446885685'. + 78 XPC-FLD0772E VALUE 'N'. + 78 XPC-FLD0773B + VALUE '76783997423560348547511011929600499'. + 78 XPC-FLD0773E VALUE 'N'. + 78 XPC-FLD0774B + VALUE '242589104'. + 78 XPC-FLD0774E VALUE 'N'. + 78 XPC-FLD0775B + VALUE '83006085498341006789723905967548489'. + 78 XPC-FLD0775E VALUE 'N'. + 78 XPC-FLD0776B + VALUE '65983936382796708763014976284467'. + 78 XPC-FLD0776E VALUE 'N'. + 78 XPC-FLD0777B + VALUE '563799910901816754889'. + 78 XPC-FLD0777E VALUE 'N'. + 78 XPC-FLD0778B + VALUE '6562465464730475300569878527312539'. + 78 XPC-FLD0778E VALUE 'N'. + 78 XPC-FLD0779B + VALUE '47408985532610322x'. + 78 XPC-FLD0779E VALUE 'N'. + 78 XPC-FLD0780B + VALUE '8227596235369002419801631731388'. + 78 XPC-FLD0780E VALUE 'Y'. + 78 XPC-FLD0781B + VALUE '96874455399'. + 78 XPC-FLD0781E VALUE 'N'. + 78 XPC-FLD0782B + VALUE '974841984908992382763415207591606305'. + 78 XPC-FLD0782E VALUE 'N'. + 78 XPC-FLD0783B + VALUE '4236442572674454'. + 78 XPC-FLD0783E VALUE 'N'. + 78 XPC-FLD0784B + VALUE '1401654002801979714825902150218'. + 78 XPC-FLD0784E VALUE 'N'. + 78 XPC-FLD0785B + VALUE '393300524050'. + 78 XPC-FLD0785E VALUE 'N'. + 78 XPC-FLD0786B + VALUE '85407905679605532414111479511119'. + 78 XPC-FLD0786E VALUE 'N'. + 78 XPC-FLD0787B + VALUE '0464284'. + 78 XPC-FLD0787E VALUE 'N'. + 78 XPC-FLD0788B + VALUE '77898336505928358503125785715'. + 78 XPC-FLD0788E VALUE 'N'. + 78 XPC-FLD0789B + VALUE '6604278565132847496040994'. + 78 XPC-FLD0789E VALUE 'N'. + 78 XPC-FLD0790B + VALUE '3169436866r'. + 78 XPC-FLD0790E VALUE 'N'. + 78 XPC-FLD0791B + VALUE '7382741348868294886190710712'. + 78 XPC-FLD0791E VALUE 'N'. + 78 XPC-FLD0792B + VALUE '37982443954012'. + 78 XPC-FLD0792E VALUE 'N'. + 78 XPC-FLD0793B + VALUE '559177637820166807230'. + 78 XPC-FLD0793E VALUE 'N'. + 78 XPC-FLD0794B + VALUE 'y'. + 78 XPC-FLD0794E VALUE 'N'. + 78 XPC-FLD0795B + VALUE '334944006958'. + 78 XPC-FLD0795E VALUE 'N'. + 78 XPC-FLD0796B + VALUE '653841465915909014761098205'. + 78 XPC-FLD0796E VALUE 'N'. + 78 XPC-FLD0797B + VALUE '3487774860252'. + 78 XPC-FLD0797E VALUE 'N'. + 78 XPC-FLD0798B + VALUE '3415780672379371043808250'. + 78 XPC-FLD0798E VALUE 'N'. + 78 XPC-FLD0799B + VALUE '24239306208646738127'. + 78 XPC-FLD0799E VALUE 'N'. + 78 XPC-FLD0800B + VALUE '4337360023'. + 78 XPC-FLD0800E VALUE 'N'. + 78 XPC-FLD0801B + VALUE '9827967002397862694706986985693220049'. + 78 XPC-FLD0801E VALUE 'Y'. + 78 XPC-FLD0802B + VALUE '059390909987167776897365456534317'. + 78 XPC-FLD0802E VALUE 'N'. + 78 XPC-FLD0803B + VALUE '555623043499399698487'. + 78 XPC-FLD0803E VALUE 'N'. + 78 XPC-FLD0804B + VALUE '0'. + 78 XPC-FLD0804E VALUE 'Y'. + 78 XPC-FLD0805B + VALUE '479868190466873291'. + 78 XPC-FLD0805E VALUE 'N'. + 78 XPC-FLD0806B + VALUE '2580784568425466'. + 78 XPC-FLD0806E VALUE 'N'. + 78 XPC-FLD0807B + VALUE '09p'. + 78 XPC-FLD0807E VALUE 'Y'. + 78 XPC-FLD0808B + VALUE '45744550475690953'. + 78 XPC-FLD0808E VALUE 'N'. + 78 XPC-FLD0809B + VALUE '4404211618158995'. + 78 XPC-FLD0809E VALUE 'N'. + 78 XPC-FLD0810B + VALUE '21294550'. + 78 XPC-FLD0810E VALUE 'N'. + 78 XPC-FLD0811B + VALUE '5454913861947337423021251372119877487'. + 78 XPC-FLD0811E VALUE 'N'. + 78 XPC-FLD0812B + VALUE '5678497418'. + 78 XPC-FLD0812E VALUE 'N'. + 78 XPC-FLD0813B + VALUE '2911313640p'. + 78 XPC-FLD0813E VALUE 'Y'. + 78 XPC-FLD0814B + VALUE '7525119595496631362479433846'. + 78 XPC-FLD0814E VALUE 'N'. + 78 XPC-FLD0815B + VALUE '714304561558653405839436344638434439'. + 78 XPC-FLD0815E VALUE 'N'. + 78 XPC-FLD0816B + VALUE '885915144904112161761133847903693'. + 78 XPC-FLD0816E VALUE 'Y'. + 78 XPC-FLD0817B + VALUE '0322267276165150162'. + 78 XPC-FLD0817E VALUE 'N'. + 78 XPC-FLD0818B + VALUE '409797454111609544843745425'. + 78 XPC-FLD0818E VALUE 'N'. + 78 XPC-FLD0819B + VALUE '08r'. + 78 XPC-FLD0819E VALUE 'N'. + 78 XPC-FLD0820B + VALUE '956537139953218984445015848905313760'. + 78 XPC-FLD0820E VALUE 'N'. + 78 XPC-FLD0821B + VALUE '16692042005410'. + 78 XPC-FLD0821E VALUE 'N'. + 78 XPC-FLD0822B + VALUE '1092'. + 78 XPC-FLD0822E VALUE 'Y'. + 78 XPC-FLD0823B + VALUE '484310601769554'. + 78 XPC-FLD0823E VALUE 'N'. + 78 XPC-FLD0824B + VALUE '73189644908504480898002'. + 78 XPC-FLD0824E VALUE 'N'. + 78 XPC-FLD0825B + VALUE '17069r'. + 78 XPC-FLD0825E VALUE 'N'. + 78 XPC-FLD0826B + VALUE '48057855720973591v'. + 78 XPC-FLD0826E VALUE 'N'. + 78 XPC-FLD0827B + VALUE '46910500983725489'. + 78 XPC-FLD0827E VALUE 'N'. + 78 XPC-FLD0828B + VALUE '1501v'. + 78 XPC-FLD0828E VALUE 'Y'. + 78 XPC-FLD0829B + VALUE '944972866636283770347403930829'. + 78 XPC-FLD0829E VALUE 'N'. + 78 XPC-FLD0830B + VALUE '565534908381171491839'. + 78 XPC-FLD0830E VALUE 'N'. + 78 XPC-FLD0831B + VALUE '6602934475151655210356515'. + 78 XPC-FLD0831E VALUE 'N'. + 78 XPC-FLD0832B + VALUE '419047953539795'. + 78 XPC-FLD0832E VALUE 'N'. + 78 XPC-FLD0833B + VALUE '6657954482808921498060427'. + 78 XPC-FLD0833E VALUE 'N'. + 78 XPC-FLD0834B + VALUE '711918981740956136050613167'. + 78 XPC-FLD0834E VALUE 'Y'. + 78 XPC-FLD0835B + VALUE '90696211292909090229130697187'. + 78 XPC-FLD0835E VALUE 'N'. + 78 XPC-FLD0836B + VALUE '1479247899592904941896'. + 78 XPC-FLD0836E VALUE 'N'. + 78 XPC-FLD0837B + VALUE '2913777651p'. + 78 XPC-FLD0837E VALUE 'N'. + 78 XPC-FLD0838B + VALUE '54394205787057270376334726969'. + 78 XPC-FLD0838E VALUE 'N'. + 78 XPC-FLD0839B + VALUE '5300514'. + 78 XPC-FLD0839E VALUE 'N'. + 78 XPC-FLD0840B + VALUE '1153'. + 78 XPC-FLD0840E VALUE 'N'. + 78 XPC-FLD0841B + VALUE '992981736583248397742806176703'. + 78 XPC-FLD0841E VALUE 'N'. + 78 XPC-FLD0842B + VALUE '54030708425366313836265591069241055'. + 78 XPC-FLD0842E VALUE 'N'. + 78 XPC-FLD0843B + VALUE '31166916723'. + 78 XPC-FLD0843E VALUE 'N'. + 78 XPC-FLD0844B + VALUE '44793585873382490'. + 78 XPC-FLD0844E VALUE 'N'. + 78 XPC-FLD0845B + VALUE '555020066479501195111220'. + 78 XPC-FLD0845E VALUE 'N'. + 78 XPC-FLD0846B + VALUE '45502277490866085'. + 78 XPC-FLD0846E VALUE 'N'. + 78 XPC-FLD0847B + VALUE '29702735772'. + 78 XPC-FLD0847E VALUE 'N'. + 78 XPC-FLD0848B + VALUE '631805001566330881601629698'. + 78 XPC-FLD0848E VALUE 'N'. + 78 XPC-FLD0849B + VALUE '7527838155592773139446194363'. + 78 XPC-FLD0849E VALUE 'Y'. + 78 XPC-FLD0850B + VALUE '213070204849290532925563'. + 78 XPC-FLD0850E VALUE 'N'. + 78 XPC-FLD0851B + VALUE '22519773'. + 78 XPC-FLD0851E VALUE 'N'. + 78 XPC-FLD0852B + VALUE '2868257988'. + 78 XPC-FLD0852E VALUE 'Y'. + 78 XPC-FLD0853B + VALUE '0'. + 78 XPC-FLD0853E VALUE 'N'. + 78 XPC-FLD0854B + VALUE '9'. + 78 XPC-FLD0854E VALUE 'N'. + 78 XPC-FLD0855B + VALUE '167054'. + 78 XPC-FLD0855E VALUE 'Y'. + 78 XPC-FLD0856B + VALUE '3084r'. + 78 XPC-FLD0856E VALUE 'N'. + 78 XPC-FLD0857B + VALUE '10'. + 78 XPC-FLD0857E VALUE 'N'. + 78 XPC-FLD0858B + VALUE '30966624473'. + 78 XPC-FLD0858E VALUE 'Y'. + 78 XPC-FLD0859B + VALUE '971628168143447767945986015547532588'. + 78 XPC-FLD0859E VALUE 'N'. + 78 XPC-FLD0860B + VALUE '310782983915'. + 78 XPC-FLD0860E VALUE 'N'. + 78 XPC-FLD0861B + VALUE '1091'. + 78 XPC-FLD0861E VALUE 'Y'. + 78 XPC-FLD0862B + VALUE '568978369365978243753'. + 78 XPC-FLD0862E VALUE 'N'. + 78 XPC-FLD0863B + VALUE '5171345793694755750'. + 78 XPC-FLD0863E VALUE 'N'. + 78 XPC-FLD0864B + VALUE '879130787212824560405977081245509'. + 78 XPC-FLD0864E VALUE 'Y'. + 78 XPC-FLD0865B + VALUE '327'. + 78 XPC-FLD0865E VALUE 'N'. + 78 XPC-FLD0866B + VALUE '0973651490201067931957936707476620'. + 78 XPC-FLD0866E VALUE 'N'. + 78 XPC-FLD0867B + VALUE '728938616966572774526298417'. + 78 XPC-FLD0867E VALUE 'N'. + 78 XPC-FLD0868B + VALUE '5841479951825634534534'. + 78 XPC-FLD0868E VALUE 'N'. + 78 XPC-FLD0869B + VALUE '6815782206919422936408636'. + 78 XPC-FLD0869E VALUE 'N'. + 78 XPC-FLD0870B + VALUE '657570531523696821807334'. + 78 XPC-FLD0870E VALUE 'N'. + 78 XPC-FLD0871B + VALUE '5744601464762396635'. + 78 XPC-FLD0871E VALUE 'N'. + 78 XPC-FLD0872B + VALUE '45914011344767276'. + 78 XPC-FLD0872E VALUE 'N'. + 78 XPC-FLD0873B + VALUE '15597'. + 78 XPC-FLD0873E VALUE 'Y'. + 78 XPC-FLD0874B + VALUE '1881063'. + 78 XPC-FLD0874E VALUE 'N'. + 78 XPC-FLD0875B + VALUE '32'. + 78 XPC-FLD0875E VALUE 'N'. + 78 XPC-FLD0876B + VALUE '792823887607293276147402139031'. + 78 XPC-FLD0876E VALUE 'N'. + 78 XPC-FLD0877B + VALUE '721900468299383535342172'. + 78 XPC-FLD0877E VALUE 'N'. + 78 XPC-FLD0878B + VALUE '242827678838084315415812843661207'. + 78 XPC-FLD0878E VALUE 'N'. + 78 XPC-FLD0879B + VALUE '85230962794591269560129376259283'. + 78 XPC-FLD0879E VALUE 'Y'. + 78 XPC-FLD0880B + VALUE '4839436714022342976684717541503'. + 78 XPC-FLD0880E VALUE 'N'. + 78 XPC-FLD0881B + VALUE '2105193947194'. + 78 XPC-FLD0881E VALUE 'N'. + 78 XPC-FLD0882B + VALUE '6778329518186110291821933'. + 78 XPC-FLD0882E VALUE 'Y'. + 78 XPC-FLD0883B + VALUE '9754132777012324284626648395'. + 78 XPC-FLD0883E VALUE 'N'. + 78 XPC-FLD0884B + VALUE '6490392032439449247535630967'. + 78 XPC-FLD0884E VALUE 'N'. + 78 XPC-FLD0885B + VALUE '0207r'. + 78 XPC-FLD0885E VALUE 'N'. + 78 XPC-FLD0886B + VALUE '0059506907030w'. + 78 XPC-FLD0886E VALUE 'N'. + 78 XPC-FLD0887B + VALUE '9306168018675709582439026235078'. + 78 XPC-FLD0887E VALUE 'N'. + 78 XPC-FLD0888B + VALUE '239444618'. + 78 XPC-FLD0888E VALUE 'Y'. + 78 XPC-FLD0889B + VALUE '286280324389502793813733205752214417'. + 78 XPC-FLD0889E VALUE 'N'. + 78 XPC-FLD0890B + VALUE '721613583480198661490589984'. + 78 XPC-FLD0890E VALUE 'N'. + 78 XPC-FLD0891B + VALUE '735270814161123614247195234'. + 78 XPC-FLD0891E VALUE 'N'. + 78 XPC-FLD0892B + VALUE '556'. + 78 XPC-FLD0892E VALUE 'N'. + 78 XPC-FLD0893B + VALUE '90'. + 78 XPC-FLD0893E VALUE 'N'. + 78 XPC-FLD0894B + VALUE '654309128000748152942378'. + 78 XPC-FLD0894E VALUE 'N'. + 78 XPC-FLD0895B + VALUE '2889386308'. + 78 XPC-FLD0895E VALUE 'N'. + 78 XPC-FLD0896B + VALUE 'p'. + 78 XPC-FLD0896E VALUE 'N'. + 78 XPC-FLD0897B + VALUE '4404922200833586'. + 78 XPC-FLD0897E VALUE 'N'. + 78 XPC-FLD0898B + VALUE '8343519'. + 78 XPC-FLD0898E VALUE 'N'. + 78 XPC-FLD0899B + VALUE '5130606210827635'. + 78 XPC-FLD0899E VALUE 'N'. + 78 XPC-FLD0900B + VALUE '1847103'. + 78 XPC-FLD0900E VALUE 'N'. + 78 XPC-FLD0901B + VALUE '1289396298369796609307513790554367005'. + 78 XPC-FLD0901E VALUE 'N'. + 78 XPC-FLD0902B + VALUE '5131049785081560396'. + 78 XPC-FLD0902E VALUE 'N'. + 78 XPC-FLD0903B + VALUE '0v'. + 78 XPC-FLD0903E VALUE 'Y'. + 78 XPC-FLD0904B + VALUE 'w'. + 78 XPC-FLD0904E VALUE 'N'. + 78 XPC-FLD0905B + VALUE '7075373564412'. + 78 XPC-FLD0905E VALUE 'N'. + 78 XPC-FLD0906B + VALUE '0'. + 78 XPC-FLD0906E VALUE 'Y'. + 78 XPC-FLD0907B + VALUE '530207411746521324809'. + 78 XPC-FLD0907E VALUE 'N'. + 78 XPC-FLD0908B + VALUE '8642393083548316472445662839163561'. + 78 XPC-FLD0908E VALUE 'N'. + 78 XPC-FLD0909B + VALUE '0'. + 78 XPC-FLD0909E VALUE 'Y'. + 78 XPC-FLD0910B + VALUE '2257333765600096867487422969134058'. + 78 XPC-FLD0910E VALUE 'N'. + 78 XPC-FLD0911B + VALUE '3765938103187097346508025840'. + 78 XPC-FLD0911E VALUE 'N'. + 78 XPC-FLD0912B + VALUE '0'. + 78 XPC-FLD0912E VALUE 'Y'. + 78 XPC-FLD0913B + VALUE '325'. + 78 XPC-FLD0913E VALUE 'N'. + 78 XPC-FLD0914B + VALUE '7400121849171126253708052900037643855'. + 78 XPC-FLD0914E VALUE 'N'. + 78 XPC-FLD0915B + VALUE '1130'. + 78 XPC-FLD0915E VALUE 'Y'. + 78 XPC-FLD0916B + VALUE '4372777685598984'. + 78 XPC-FLD0916E VALUE 'N'. + 78 XPC-FLD0917B + VALUE '1084'. + 78 XPC-FLD0917E VALUE 'N'. + 78 XPC-FLD0918B + VALUE '569310510294893204244'. + 78 XPC-FLD0918E VALUE 'N'. + 78 XPC-FLD0919B + VALUE 'v'. + 78 XPC-FLD0919E VALUE 'N'. + 78 XPC-FLD0920B + VALUE '6698607602658151664433262'. + 78 XPC-FLD0920E VALUE 'N'. + 78 XPC-FLD0921B + VALUE '0'. + 78 XPC-FLD0921E VALUE 'Y'. + 78 XPC-FLD0922B + VALUE '18331x'. + 78 XPC-FLD0922E VALUE 'N'. + 78 XPC-FLD0923B + VALUE '0892'. + 78 XPC-FLD0923E VALUE 'N'. + 78 XPC-FLD0924B + VALUE '8304134742864166529585645548650'. + 78 XPC-FLD0924E VALUE 'Y'. + 78 XPC-FLD0925B + VALUE '6'. + 78 XPC-FLD0925E VALUE 'N'. + 78 XPC-FLD0926B + VALUE '20687721r'. + 78 XPC-FLD0926E VALUE 'N'. + 78 XPC-FLD0927B + VALUE '5121865708750312359'. + 78 XPC-FLD0927E VALUE 'N'. + 78 XPC-FLD0928B + VALUE '255169492'. + 78 XPC-FLD0928E VALUE 'N'. + 78 XPC-FLD0929B + VALUE '713937683093887626162299397'. + 78 XPC-FLD0929E VALUE 'N'. + 78 XPC-FLD0930B + VALUE '5915948649192320925289'. + 78 XPC-FLD0930E VALUE 'N'. + 78 XPC-FLD0931B + VALUE '124377459'. + 78 XPC-FLD0931E VALUE 'N'. + 78 XPC-FLD0932B + VALUE '0116711468219923287'. + 78 XPC-FLD0932E VALUE 'N'. + 78 XPC-FLD0933B + VALUE '336212612034'. + 78 XPC-FLD0933E VALUE 'N'. + 78 XPC-FLD0934B + VALUE '237750091'. + 78 XPC-FLD0934E VALUE 'N'. + 78 XPC-FLD0935B + VALUE '485384635684275264'. + 78 XPC-FLD0935E VALUE 'N'. + 78 XPC-FLD0936B + VALUE '952998853185021421730027668672846630'. + 78 XPC-FLD0936E VALUE 'Y'. + 78 XPC-FLD0937B + VALUE '4'. + 78 XPC-FLD0937E VALUE 'N'. + 78 XPC-FLD0938B + VALUE '07520562026683963451729041'. + 78 XPC-FLD0938E VALUE 'N'. + 78 XPC-FLD0939B + VALUE 'p'. + 78 XPC-FLD0939E VALUE 'Y'. + 78 XPC-FLD0940B + VALUE '420205546087499958'. + 78 XPC-FLD0940E VALUE 'N'. + 78 XPC-FLD0941B + VALUE '0154777002907'. + 78 XPC-FLD0941E VALUE 'N'. + 78 XPC-FLD0942B + VALUE '92270492697630424050458941565011627'. + 78 XPC-FLD0942E VALUE 'Y'. + 78 XPC-FLD0943B + VALUE '9698175'. + 78 XPC-FLD0943E VALUE 'N'. + 78 XPC-FLD0944B + VALUE '26005609t'. + 78 XPC-FLD0944E VALUE 'N'. + 78 XPC-FLD0945B + VALUE '9639552190838518'. + 78 XPC-FLD0945E VALUE 'N'. + 78 XPC-FLD0946B + VALUE '285407519811451561686510558502050116'. + 78 XPC-FLD0946E VALUE 'N'. + 78 XPC-FLD0947B + VALUE '6720279273588082815549249'. + 78 XPC-FLD0947E VALUE 'N'. + 78 XPC-FLD0948B + VALUE '7581536805549627281493485497'. + 78 XPC-FLD0948E VALUE 'N'. + 78 XPC-FLD0949B + VALUE '89772746643169742'. + 78 XPC-FLD0949E VALUE 'N'. + 78 XPC-FLD0950B + VALUE '9466572989771413480277234393870459'. + 78 XPC-FLD0950E VALUE 'N'. + 78 XPC-FLD0951B + VALUE '7459913492992847894313968026'. + 78 XPC-FLD0951E VALUE 'Y'. + 78 XPC-FLD0952B + VALUE '65'. + 78 XPC-FLD0952E VALUE 'N'. + 78 XPC-FLD0953B + VALUE '5187948954462912461'. + 78 XPC-FLD0953E VALUE 'N'. + 78 XPC-FLD0954B + VALUE '970603521071659591790137255884474143'. + 78 XPC-FLD0954E VALUE 'Y'. + 78 XPC-FLD0955B + VALUE '5341017709695240897178791783518'. + 78 XPC-FLD0955E VALUE 'N'. + 78 XPC-FLD0956B + VALUE '97384559702281070479269828'. + 78 XPC-FLD0956E VALUE 'N'. + 78 XPC-FLD0957B + VALUE '1212'. + 78 XPC-FLD0957E VALUE 'Y'. + 78 XPC-FLD0958B + VALUE '4387549590870288'. + 78 XPC-FLD0958E VALUE 'N'. + 78 XPC-FLD0959B + VALUE '1'. + 78 XPC-FLD0959E VALUE 'N'. + 78 XPC-FLD0960B + VALUE '0'. + 78 XPC-FLD0960E VALUE 'Y'. + 78 XPC-FLD0961B + VALUE '0055'. + 78 XPC-FLD0961E VALUE 'N'. + 78 XPC-FLD0962B + VALUE '6826560363239254262940346'. + 78 XPC-FLD0962E VALUE 'N'. + 78 XPC-FLD0963B + VALUE '6579508606108431242392875'. + 78 XPC-FLD0963E VALUE 'N'. + 78 XPC-FLD0964B + VALUE '0399362942016605604323'. + 78 XPC-FLD0964E VALUE 'N'. + 78 XPC-FLD0965B + VALUE '1'. + 78 XPC-FLD0965E VALUE 'N'. + 78 XPC-FLD0966B + VALUE '0005571'. + 78 XPC-FLD0966E VALUE 'N'. + 78 XPC-FLD0967B + VALUE '3560456473147'. + 78 XPC-FLD0967E VALUE 'N'. + 78 XPC-FLD0968B + VALUE '553q'. + 78 XPC-FLD0968E VALUE 'N'. + 78 XPC-FLD0969B + VALUE '5945236920989867723715'. + 78 XPC-FLD0969E VALUE 'N'. + 78 XPC-FLD0970B + VALUE '433217720233246760537693012156523765'. + 78 XPC-FLD0970E VALUE 'N'. + 78 XPC-FLD0971B + VALUE '402866616015322'. + 78 XPC-FLD0971E VALUE 'N'. + 78 XPC-FLD0972B + VALUE '13649'. + 78 XPC-FLD0972E VALUE 'Y'. + 78 XPC-FLD0973B + VALUE '8420775282429751358819203232997'. + 78 XPC-FLD0973E VALUE 'N'. + 78 XPC-FLD0974B + VALUE '07v'. + 78 XPC-FLD0974E VALUE 'N'. + 78 XPC-FLD0975B + VALUE '329183574054'. + 78 XPC-FLD0975E VALUE 'N'. + 78 XPC-FLD0976B + VALUE '5189195631532426046'. + 78 XPC-FLD0976E VALUE 'N'. + 78 XPC-FLD0977B + VALUE '0657773350998w'. + 78 XPC-FLD0977E VALUE 'N'. + 78 XPC-FLD0978B + VALUE '26365113312582y'. + 78 XPC-FLD0978E VALUE 'N'. + 78 XPC-FLD0979B + VALUE '38851072771966'. + 78 XPC-FLD0979E VALUE 'N'. + 78 XPC-FLD0980B + VALUE '647159056743324437308229'. + 78 XPC-FLD0980E VALUE 'N'. + 78 XPC-FLD0981B + VALUE '360278478276r'. + 78 XPC-FLD0981E VALUE 'N'. + 78 XPC-FLD0982B + VALUE '30653235443'. + 78 XPC-FLD0982E VALUE 'N'. + 78 XPC-FLD0983B + VALUE '882516211995383510538363225350622087'. + 78 XPC-FLD0983E VALUE 'N'. + 78 XPC-FLD0984B + VALUE '4457843883822408592'. + 78 XPC-FLD0984E VALUE 'N'. + 78 XPC-FLD0985B + VALUE '496108848273749947698929645412135'. + 78 XPC-FLD0985E VALUE 'N'. + 78 XPC-FLD0986B + VALUE '8'. + 78 XPC-FLD0986E VALUE 'N'. + 78 XPC-FLD0987B + VALUE '84253493742279825972518736421079'. + 78 XPC-FLD0987E VALUE 'N'. + 78 XPC-FLD0988B + VALUE '18152p'. + 78 XPC-FLD0988E VALUE 'N'. + 78 XPC-FLD0989B + VALUE '5932140179792923634499'. + 78 XPC-FLD0989E VALUE 'N'. + 78 XPC-FLD0990B + VALUE '2089861'. + 78 XPC-FLD0990E VALUE 'Y'. + 78 XPC-FLD0991B + VALUE '404273028987099'. + 78 XPC-FLD0991E VALUE 'N'. + 78 XPC-FLD0992B + VALUE '518805985017170789852514182650362'. + 78 XPC-FLD0992E VALUE 'N'. + 78 XPC-FLD0993B + VALUE '1132'. + 78 XPC-FLD0993E VALUE 'Y'. + 78 XPC-FLD0994B + VALUE '48479340835318215t'. + 78 XPC-FLD0994E VALUE 'N'. + 78 XPC-FLD0995B + VALUE '1888258'. + 78 XPC-FLD0995E VALUE 'N'. + 78 XPC-FLD0996B + VALUE '0505105346267128441084558'. + 78 XPC-FLD0996E VALUE 'N'. + 78 XPC-FLD0997B + VALUE '0011799546758455291'. + 78 XPC-FLD0997E VALUE 'N'. + 78 XPC-FLD0998B + VALUE 's'. + 78 XPC-FLD0998E VALUE 'N'. + 78 XPC-FLD0999B + VALUE 'p'. + 78 XPC-FLD0999E VALUE 'Y'. + + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + SUBTRACT FLD0500A FROM FLD0500B. + ADD FLD0501A TO FLD0501B + ON SIZE ERROR MOVE 'Y' TO FLD0501E. + SUBTRACT FLD0502A FROM FLD0502B. + ADD FLD0503A TO FLD0503B. + SUBTRACT FLD0504A FROM FLD0504B + ON SIZE ERROR MOVE 'Y' TO FLD0504E. + ADD FLD0505A TO FLD0505B. + SUBTRACT FLD0506A FROM FLD0506B. + ADD FLD0507A TO FLD0507B + ON SIZE ERROR MOVE 'Y' TO FLD0507E. + SUBTRACT FLD0508A FROM FLD0508B. + ADD FLD0509A TO FLD0509B. + SUBTRACT FLD0510A FROM FLD0510B + ON SIZE ERROR MOVE 'Y' TO FLD0510E. + ADD FLD0511A TO FLD0511B. + SUBTRACT FLD0512A FROM FLD0512B. + ADD FLD0513A TO FLD0513B + ON SIZE ERROR MOVE 'Y' TO FLD0513E. + SUBTRACT FLD0514A FROM FLD0514B. + ADD FLD0515A TO FLD0515B. + SUBTRACT FLD0516A FROM FLD0516B + ON SIZE ERROR MOVE 'Y' TO FLD0516E. + ADD FLD0517A TO FLD0517B. + SUBTRACT FLD0518A FROM FLD0518B. + ADD FLD0519A TO FLD0519B + ON SIZE ERROR MOVE 'Y' TO FLD0519E. + SUBTRACT FLD0520A FROM FLD0520B. + ADD FLD0521A TO FLD0521B. + SUBTRACT FLD0522A FROM FLD0522B + ON SIZE ERROR MOVE 'Y' TO FLD0522E. + ADD FLD0523A TO FLD0523B. + SUBTRACT FLD0524A FROM FLD0524B. + ADD FLD0525A TO FLD0525B + ON SIZE ERROR MOVE 'Y' TO FLD0525E. + SUBTRACT FLD0526A FROM FLD0526B. + ADD FLD0527A TO FLD0527B. + SUBTRACT FLD0528A FROM FLD0528B + ON SIZE ERROR MOVE 'Y' TO FLD0528E. + ADD FLD0529A TO FLD0529B. + SUBTRACT FLD0530A FROM FLD0530B. + ADD FLD0531A TO FLD0531B + ON SIZE ERROR MOVE 'Y' TO FLD0531E. + SUBTRACT FLD0532A FROM FLD0532B. + ADD FLD0533A TO FLD0533B. + SUBTRACT FLD0534A FROM FLD0534B + ON SIZE ERROR MOVE 'Y' TO FLD0534E. + ADD FLD0535A TO FLD0535B. + SUBTRACT FLD0536A FROM FLD0536B. + ADD FLD0537A TO FLD0537B + ON SIZE ERROR MOVE 'Y' TO FLD0537E. + SUBTRACT FLD0538A FROM FLD0538B. + ADD FLD0539A TO FLD0539B. + SUBTRACT FLD0540A FROM FLD0540B + ON SIZE ERROR MOVE 'Y' TO FLD0540E. + ADD FLD0541A TO FLD0541B. + SUBTRACT FLD0542A FROM FLD0542B. + ADD FLD0543A TO FLD0543B + ON SIZE ERROR MOVE 'Y' TO FLD0543E. + SUBTRACT FLD0544A FROM FLD0544B. + ADD FLD0545A TO FLD0545B. + SUBTRACT FLD0546A FROM FLD0546B + ON SIZE ERROR MOVE 'Y' TO FLD0546E. + ADD FLD0547A TO FLD0547B. + SUBTRACT FLD0548A FROM FLD0548B. + ADD FLD0549A TO FLD0549B + ON SIZE ERROR MOVE 'Y' TO FLD0549E. + SUBTRACT FLD0550A FROM FLD0550B. + ADD FLD0551A TO FLD0551B. + SUBTRACT FLD0552A FROM FLD0552B + ON SIZE ERROR MOVE 'Y' TO FLD0552E. + ADD FLD0553A TO FLD0553B. + SUBTRACT FLD0554A FROM FLD0554B. + ADD FLD0555A TO FLD0555B + ON SIZE ERROR MOVE 'Y' TO FLD0555E. + SUBTRACT FLD0556A FROM FLD0556B. + ADD FLD0557A TO FLD0557B. + SUBTRACT FLD0558A FROM FLD0558B + ON SIZE ERROR MOVE 'Y' TO FLD0558E. + ADD FLD0559A TO FLD0559B. + SUBTRACT FLD0560A FROM FLD0560B. + ADD FLD0561A TO FLD0561B + ON SIZE ERROR MOVE 'Y' TO FLD0561E. + SUBTRACT FLD0562A FROM FLD0562B. + ADD FLD0563A TO FLD0563B. + SUBTRACT FLD0564A FROM FLD0564B + ON SIZE ERROR MOVE 'Y' TO FLD0564E. + ADD FLD0565A TO FLD0565B. + SUBTRACT FLD0566A FROM FLD0566B. + ADD FLD0567A TO FLD0567B + ON SIZE ERROR MOVE 'Y' TO FLD0567E. + SUBTRACT FLD0568A FROM FLD0568B. + ADD FLD0569A TO FLD0569B. + SUBTRACT FLD0570A FROM FLD0570B + ON SIZE ERROR MOVE 'Y' TO FLD0570E. + ADD FLD0571A TO FLD0571B. + SUBTRACT FLD0572A FROM FLD0572B. + ADD FLD0573A TO FLD0573B + ON SIZE ERROR MOVE 'Y' TO FLD0573E. + SUBTRACT FLD0574A FROM FLD0574B. + ADD FLD0575A TO FLD0575B. + SUBTRACT FLD0576A FROM FLD0576B + ON SIZE ERROR MOVE 'Y' TO FLD0576E. + ADD FLD0577A TO FLD0577B. + SUBTRACT FLD0578A FROM FLD0578B. + ADD FLD0579A TO FLD0579B + ON SIZE ERROR MOVE 'Y' TO FLD0579E. + SUBTRACT FLD0580A FROM FLD0580B. + ADD FLD0581A TO FLD0581B. + SUBTRACT FLD0582A FROM FLD0582B + ON SIZE ERROR MOVE 'Y' TO FLD0582E. + ADD FLD0583A TO FLD0583B. + SUBTRACT FLD0584A FROM FLD0584B. + ADD FLD0585A TO FLD0585B + ON SIZE ERROR MOVE 'Y' TO FLD0585E. + SUBTRACT FLD0586A FROM FLD0586B. + ADD FLD0587A TO FLD0587B. + SUBTRACT FLD0588A FROM FLD0588B + ON SIZE ERROR MOVE 'Y' TO FLD0588E. + ADD FLD0589A TO FLD0589B. + SUBTRACT FLD0590A FROM FLD0590B. + ADD FLD0591A TO FLD0591B + ON SIZE ERROR MOVE 'Y' TO FLD0591E. + SUBTRACT FLD0592A FROM FLD0592B. + ADD FLD0593A TO FLD0593B. + SUBTRACT FLD0594A FROM FLD0594B + ON SIZE ERROR MOVE 'Y' TO FLD0594E. + ADD FLD0595A TO FLD0595B. + SUBTRACT FLD0596A FROM FLD0596B. + ADD FLD0597A TO FLD0597B + ON SIZE ERROR MOVE 'Y' TO FLD0597E. + SUBTRACT FLD0598A FROM FLD0598B. + ADD FLD0599A TO FLD0599B. + SUBTRACT FLD0600A FROM FLD0600B + ON SIZE ERROR MOVE 'Y' TO FLD0600E. + ADD FLD0601A TO FLD0601B. + SUBTRACT FLD0602A FROM FLD0602B. + ADD FLD0603A TO FLD0603B + ON SIZE ERROR MOVE 'Y' TO FLD0603E. + SUBTRACT FLD0604A FROM FLD0604B. + ADD FLD0605A TO FLD0605B. + SUBTRACT FLD0606A FROM FLD0606B + ON SIZE ERROR MOVE 'Y' TO FLD0606E. + ADD FLD0607A TO FLD0607B. + SUBTRACT FLD0608A FROM FLD0608B. + ADD FLD0609A TO FLD0609B + ON SIZE ERROR MOVE 'Y' TO FLD0609E. + SUBTRACT FLD0610A FROM FLD0610B. + ADD FLD0611A TO FLD0611B. + SUBTRACT FLD0612A FROM FLD0612B + ON SIZE ERROR MOVE 'Y' TO FLD0612E. + ADD FLD0613A TO FLD0613B. + SUBTRACT FLD0614A FROM FLD0614B. + ADD FLD0615A TO FLD0615B + ON SIZE ERROR MOVE 'Y' TO FLD0615E. + SUBTRACT FLD0616A FROM FLD0616B. + ADD FLD0617A TO FLD0617B. + SUBTRACT FLD0618A FROM FLD0618B + ON SIZE ERROR MOVE 'Y' TO FLD0618E. + ADD FLD0619A TO FLD0619B. + SUBTRACT FLD0620A FROM FLD0620B. + ADD FLD0621A TO FLD0621B + ON SIZE ERROR MOVE 'Y' TO FLD0621E. + SUBTRACT FLD0622A FROM FLD0622B. + ADD FLD0623A TO FLD0623B. + SUBTRACT FLD0624A FROM FLD0624B + ON SIZE ERROR MOVE 'Y' TO FLD0624E. + ADD FLD0625A TO FLD0625B. + SUBTRACT FLD0626A FROM FLD0626B. + ADD FLD0627A TO FLD0627B + ON SIZE ERROR MOVE 'Y' TO FLD0627E. + SUBTRACT FLD0628A FROM FLD0628B. + ADD FLD0629A TO FLD0629B. + SUBTRACT FLD0630A FROM FLD0630B + ON SIZE ERROR MOVE 'Y' TO FLD0630E. + ADD FLD0631A TO FLD0631B. + SUBTRACT FLD0632A FROM FLD0632B. + ADD FLD0633A TO FLD0633B + ON SIZE ERROR MOVE 'Y' TO FLD0633E. + SUBTRACT FLD0634A FROM FLD0634B. + ADD FLD0635A TO FLD0635B. + SUBTRACT FLD0636A FROM FLD0636B + ON SIZE ERROR MOVE 'Y' TO FLD0636E. + ADD FLD0637A TO FLD0637B. + SUBTRACT FLD0638A FROM FLD0638B. + ADD FLD0639A TO FLD0639B + ON SIZE ERROR MOVE 'Y' TO FLD0639E. + SUBTRACT FLD0640A FROM FLD0640B. + ADD FLD0641A TO FLD0641B. + SUBTRACT FLD0642A FROM FLD0642B + ON SIZE ERROR MOVE 'Y' TO FLD0642E. + ADD FLD0643A TO FLD0643B. + SUBTRACT FLD0644A FROM FLD0644B. + ADD FLD0645A TO FLD0645B + ON SIZE ERROR MOVE 'Y' TO FLD0645E. + SUBTRACT FLD0646A FROM FLD0646B. + ADD FLD0647A TO FLD0647B. + SUBTRACT FLD0648A FROM FLD0648B + ON SIZE ERROR MOVE 'Y' TO FLD0648E. + ADD FLD0649A TO FLD0649B. + SUBTRACT FLD0650A FROM FLD0650B. + ADD FLD0651A TO FLD0651B + ON SIZE ERROR MOVE 'Y' TO FLD0651E. + SUBTRACT FLD0652A FROM FLD0652B. + ADD FLD0653A TO FLD0653B. + SUBTRACT FLD0654A FROM FLD0654B + ON SIZE ERROR MOVE 'Y' TO FLD0654E. + ADD FLD0655A TO FLD0655B. + SUBTRACT FLD0656A FROM FLD0656B. + ADD FLD0657A TO FLD0657B + ON SIZE ERROR MOVE 'Y' TO FLD0657E. + SUBTRACT FLD0658A FROM FLD0658B. + ADD FLD0659A TO FLD0659B. + SUBTRACT FLD0660A FROM FLD0660B + ON SIZE ERROR MOVE 'Y' TO FLD0660E. + ADD FLD0661A TO FLD0661B. + SUBTRACT FLD0662A FROM FLD0662B. + ADD FLD0663A TO FLD0663B + ON SIZE ERROR MOVE 'Y' TO FLD0663E. + SUBTRACT FLD0664A FROM FLD0664B. + ADD FLD0665A TO FLD0665B. + SUBTRACT FLD0666A FROM FLD0666B + ON SIZE ERROR MOVE 'Y' TO FLD0666E. + ADD FLD0667A TO FLD0667B. + SUBTRACT FLD0668A FROM FLD0668B. + ADD FLD0669A TO FLD0669B + ON SIZE ERROR MOVE 'Y' TO FLD0669E. + SUBTRACT FLD0670A FROM FLD0670B. + ADD FLD0671A TO FLD0671B. + SUBTRACT FLD0672A FROM FLD0672B + ON SIZE ERROR MOVE 'Y' TO FLD0672E. + ADD FLD0673A TO FLD0673B. + SUBTRACT FLD0674A FROM FLD0674B. + ADD FLD0675A TO FLD0675B + ON SIZE ERROR MOVE 'Y' TO FLD0675E. + SUBTRACT FLD0676A FROM FLD0676B. + ADD FLD0677A TO FLD0677B. + SUBTRACT FLD0678A FROM FLD0678B + ON SIZE ERROR MOVE 'Y' TO FLD0678E. + ADD FLD0679A TO FLD0679B. + SUBTRACT FLD0680A FROM FLD0680B. + ADD FLD0681A TO FLD0681B + ON SIZE ERROR MOVE 'Y' TO FLD0681E. + SUBTRACT FLD0682A FROM FLD0682B. + ADD FLD0683A TO FLD0683B. + SUBTRACT FLD0684A FROM FLD0684B + ON SIZE ERROR MOVE 'Y' TO FLD0684E. + ADD FLD0685A TO FLD0685B. + SUBTRACT FLD0686A FROM FLD0686B. + ADD FLD0687A TO FLD0687B + ON SIZE ERROR MOVE 'Y' TO FLD0687E. + SUBTRACT FLD0688A FROM FLD0688B. + ADD FLD0689A TO FLD0689B. + SUBTRACT FLD0690A FROM FLD0690B + ON SIZE ERROR MOVE 'Y' TO FLD0690E. + ADD FLD0691A TO FLD0691B. + SUBTRACT FLD0692A FROM FLD0692B. + ADD FLD0693A TO FLD0693B + ON SIZE ERROR MOVE 'Y' TO FLD0693E. + SUBTRACT FLD0694A FROM FLD0694B. + ADD FLD0695A TO FLD0695B. + SUBTRACT FLD0696A FROM FLD0696B + ON SIZE ERROR MOVE 'Y' TO FLD0696E. + ADD FLD0697A TO FLD0697B. + SUBTRACT FLD0698A FROM FLD0698B. + ADD FLD0699A TO FLD0699B + ON SIZE ERROR MOVE 'Y' TO FLD0699E. + SUBTRACT FLD0700A FROM FLD0700B. + ADD FLD0701A TO FLD0701B. + SUBTRACT FLD0702A FROM FLD0702B + ON SIZE ERROR MOVE 'Y' TO FLD0702E. + ADD FLD0703A TO FLD0703B. + SUBTRACT FLD0704A FROM FLD0704B. + ADD FLD0705A TO FLD0705B + ON SIZE ERROR MOVE 'Y' TO FLD0705E. + SUBTRACT FLD0706A FROM FLD0706B. + ADD FLD0707A TO FLD0707B. + SUBTRACT FLD0708A FROM FLD0708B + ON SIZE ERROR MOVE 'Y' TO FLD0708E. + ADD FLD0709A TO FLD0709B. + SUBTRACT FLD0710A FROM FLD0710B. + ADD FLD0711A TO FLD0711B + ON SIZE ERROR MOVE 'Y' TO FLD0711E. + SUBTRACT FLD0712A FROM FLD0712B. + ADD FLD0713A TO FLD0713B. + SUBTRACT FLD0714A FROM FLD0714B + ON SIZE ERROR MOVE 'Y' TO FLD0714E. + ADD FLD0715A TO FLD0715B. + SUBTRACT FLD0716A FROM FLD0716B. + ADD FLD0717A TO FLD0717B + ON SIZE ERROR MOVE 'Y' TO FLD0717E. + SUBTRACT FLD0718A FROM FLD0718B. + ADD FLD0719A TO FLD0719B. + SUBTRACT FLD0720A FROM FLD0720B + ON SIZE ERROR MOVE 'Y' TO FLD0720E. + ADD FLD0721A TO FLD0721B. + SUBTRACT FLD0722A FROM FLD0722B. + ADD FLD0723A TO FLD0723B + ON SIZE ERROR MOVE 'Y' TO FLD0723E. + SUBTRACT FLD0724A FROM FLD0724B. + ADD FLD0725A TO FLD0725B. + SUBTRACT FLD0726A FROM FLD0726B + ON SIZE ERROR MOVE 'Y' TO FLD0726E. + ADD FLD0727A TO FLD0727B. + SUBTRACT FLD0728A FROM FLD0728B. + ADD FLD0729A TO FLD0729B + ON SIZE ERROR MOVE 'Y' TO FLD0729E. + SUBTRACT FLD0730A FROM FLD0730B. + ADD FLD0731A TO FLD0731B. + SUBTRACT FLD0732A FROM FLD0732B + ON SIZE ERROR MOVE 'Y' TO FLD0732E. + ADD FLD0733A TO FLD0733B. + SUBTRACT FLD0734A FROM FLD0734B. + ADD FLD0735A TO FLD0735B + ON SIZE ERROR MOVE 'Y' TO FLD0735E. + SUBTRACT FLD0736A FROM FLD0736B. + ADD FLD0737A TO FLD0737B. + SUBTRACT FLD0738A FROM FLD0738B + ON SIZE ERROR MOVE 'Y' TO FLD0738E. + ADD FLD0739A TO FLD0739B. + SUBTRACT FLD0740A FROM FLD0740B. + ADD FLD0741A TO FLD0741B + ON SIZE ERROR MOVE 'Y' TO FLD0741E. + SUBTRACT FLD0742A FROM FLD0742B. + ADD FLD0743A TO FLD0743B. + SUBTRACT FLD0744A FROM FLD0744B + ON SIZE ERROR MOVE 'Y' TO FLD0744E. + ADD FLD0745A TO FLD0745B. + SUBTRACT FLD0746A FROM FLD0746B. + ADD FLD0747A TO FLD0747B + ON SIZE ERROR MOVE 'Y' TO FLD0747E. + SUBTRACT FLD0748A FROM FLD0748B. + ADD FLD0749A TO FLD0749B. + SUBTRACT FLD0750A FROM FLD0750B + ON SIZE ERROR MOVE 'Y' TO FLD0750E. + ADD FLD0751A TO FLD0751B. + SUBTRACT FLD0752A FROM FLD0752B. + ADD FLD0753A TO FLD0753B + ON SIZE ERROR MOVE 'Y' TO FLD0753E. + SUBTRACT FLD0754A FROM FLD0754B. + ADD FLD0755A TO FLD0755B. + SUBTRACT FLD0756A FROM FLD0756B + ON SIZE ERROR MOVE 'Y' TO FLD0756E. + ADD FLD0757A TO FLD0757B. + SUBTRACT FLD0758A FROM FLD0758B. + ADD FLD0759A TO FLD0759B + ON SIZE ERROR MOVE 'Y' TO FLD0759E. + SUBTRACT FLD0760A FROM FLD0760B. + ADD FLD0761A TO FLD0761B. + SUBTRACT FLD0762A FROM FLD0762B + ON SIZE ERROR MOVE 'Y' TO FLD0762E. + ADD FLD0763A TO FLD0763B. + SUBTRACT FLD0764A FROM FLD0764B. + ADD FLD0765A TO FLD0765B + ON SIZE ERROR MOVE 'Y' TO FLD0765E. + SUBTRACT FLD0766A FROM FLD0766B. + ADD FLD0767A TO FLD0767B. + SUBTRACT FLD0768A FROM FLD0768B + ON SIZE ERROR MOVE 'Y' TO FLD0768E. + ADD FLD0769A TO FLD0769B. + SUBTRACT FLD0770A FROM FLD0770B. + ADD FLD0771A TO FLD0771B + ON SIZE ERROR MOVE 'Y' TO FLD0771E. + SUBTRACT FLD0772A FROM FLD0772B. + ADD FLD0773A TO FLD0773B. + SUBTRACT FLD0774A FROM FLD0774B + ON SIZE ERROR MOVE 'Y' TO FLD0774E. + ADD FLD0775A TO FLD0775B. + SUBTRACT FLD0776A FROM FLD0776B. + ADD FLD0777A TO FLD0777B + ON SIZE ERROR MOVE 'Y' TO FLD0777E. + SUBTRACT FLD0778A FROM FLD0778B. + ADD FLD0779A TO FLD0779B. + SUBTRACT FLD0780A FROM FLD0780B + ON SIZE ERROR MOVE 'Y' TO FLD0780E. + ADD FLD0781A TO FLD0781B. + SUBTRACT FLD0782A FROM FLD0782B. + ADD FLD0783A TO FLD0783B + ON SIZE ERROR MOVE 'Y' TO FLD0783E. + SUBTRACT FLD0784A FROM FLD0784B. + ADD FLD0785A TO FLD0785B. + SUBTRACT FLD0786A FROM FLD0786B + ON SIZE ERROR MOVE 'Y' TO FLD0786E. + ADD FLD0787A TO FLD0787B. + SUBTRACT FLD0788A FROM FLD0788B. + ADD FLD0789A TO FLD0789B + ON SIZE ERROR MOVE 'Y' TO FLD0789E. + SUBTRACT FLD0790A FROM FLD0790B. + ADD FLD0791A TO FLD0791B. + SUBTRACT FLD0792A FROM FLD0792B + ON SIZE ERROR MOVE 'Y' TO FLD0792E. + ADD FLD0793A TO FLD0793B. + SUBTRACT FLD0794A FROM FLD0794B. + ADD FLD0795A TO FLD0795B + ON SIZE ERROR MOVE 'Y' TO FLD0795E. + SUBTRACT FLD0796A FROM FLD0796B. + ADD FLD0797A TO FLD0797B. + SUBTRACT FLD0798A FROM FLD0798B + ON SIZE ERROR MOVE 'Y' TO FLD0798E. + ADD FLD0799A TO FLD0799B. + SUBTRACT FLD0800A FROM FLD0800B. + ADD FLD0801A TO FLD0801B + ON SIZE ERROR MOVE 'Y' TO FLD0801E. + SUBTRACT FLD0802A FROM FLD0802B. + ADD FLD0803A TO FLD0803B. + SUBTRACT FLD0804A FROM FLD0804B + ON SIZE ERROR MOVE 'Y' TO FLD0804E. + ADD FLD0805A TO FLD0805B. + SUBTRACT FLD0806A FROM FLD0806B. + ADD FLD0807A TO FLD0807B + ON SIZE ERROR MOVE 'Y' TO FLD0807E. + SUBTRACT FLD0808A FROM FLD0808B. + ADD FLD0809A TO FLD0809B. + SUBTRACT FLD0810A FROM FLD0810B + ON SIZE ERROR MOVE 'Y' TO FLD0810E. + ADD FLD0811A TO FLD0811B. + SUBTRACT FLD0812A FROM FLD0812B. + ADD FLD0813A TO FLD0813B + ON SIZE ERROR MOVE 'Y' TO FLD0813E. + SUBTRACT FLD0814A FROM FLD0814B. + ADD FLD0815A TO FLD0815B. + SUBTRACT FLD0816A FROM FLD0816B + ON SIZE ERROR MOVE 'Y' TO FLD0816E. + ADD FLD0817A TO FLD0817B. + SUBTRACT FLD0818A FROM FLD0818B. + ADD FLD0819A TO FLD0819B + ON SIZE ERROR MOVE 'Y' TO FLD0819E. + SUBTRACT FLD0820A FROM FLD0820B. + ADD FLD0821A TO FLD0821B. + SUBTRACT FLD0822A FROM FLD0822B + ON SIZE ERROR MOVE 'Y' TO FLD0822E. + ADD FLD0823A TO FLD0823B. + SUBTRACT FLD0824A FROM FLD0824B. + ADD FLD0825A TO FLD0825B + ON SIZE ERROR MOVE 'Y' TO FLD0825E. + SUBTRACT FLD0826A FROM FLD0826B. + ADD FLD0827A TO FLD0827B. + SUBTRACT FLD0828A FROM FLD0828B + ON SIZE ERROR MOVE 'Y' TO FLD0828E. + ADD FLD0829A TO FLD0829B. + SUBTRACT FLD0830A FROM FLD0830B. + ADD FLD0831A TO FLD0831B + ON SIZE ERROR MOVE 'Y' TO FLD0831E. + SUBTRACT FLD0832A FROM FLD0832B. + ADD FLD0833A TO FLD0833B. + SUBTRACT FLD0834A FROM FLD0834B + ON SIZE ERROR MOVE 'Y' TO FLD0834E. + ADD FLD0835A TO FLD0835B. + SUBTRACT FLD0836A FROM FLD0836B. + ADD FLD0837A TO FLD0837B + ON SIZE ERROR MOVE 'Y' TO FLD0837E. + SUBTRACT FLD0838A FROM FLD0838B. + ADD FLD0839A TO FLD0839B. + SUBTRACT FLD0840A FROM FLD0840B + ON SIZE ERROR MOVE 'Y' TO FLD0840E. + ADD FLD0841A TO FLD0841B. + SUBTRACT FLD0842A FROM FLD0842B. + ADD FLD0843A TO FLD0843B + ON SIZE ERROR MOVE 'Y' TO FLD0843E. + SUBTRACT FLD0844A FROM FLD0844B. + ADD FLD0845A TO FLD0845B. + SUBTRACT FLD0846A FROM FLD0846B + ON SIZE ERROR MOVE 'Y' TO FLD0846E. + ADD FLD0847A TO FLD0847B. + SUBTRACT FLD0848A FROM FLD0848B. + ADD FLD0849A TO FLD0849B + ON SIZE ERROR MOVE 'Y' TO FLD0849E. + SUBTRACT FLD0850A FROM FLD0850B. + ADD FLD0851A TO FLD0851B. + SUBTRACT FLD0852A FROM FLD0852B + ON SIZE ERROR MOVE 'Y' TO FLD0852E. + ADD FLD0853A TO FLD0853B. + SUBTRACT FLD0854A FROM FLD0854B. + ADD FLD0855A TO FLD0855B + ON SIZE ERROR MOVE 'Y' TO FLD0855E. + SUBTRACT FLD0856A FROM FLD0856B. + ADD FLD0857A TO FLD0857B. + SUBTRACT FLD0858A FROM FLD0858B + ON SIZE ERROR MOVE 'Y' TO FLD0858E. + ADD FLD0859A TO FLD0859B. + SUBTRACT FLD0860A FROM FLD0860B. + ADD FLD0861A TO FLD0861B + ON SIZE ERROR MOVE 'Y' TO FLD0861E. + SUBTRACT FLD0862A FROM FLD0862B. + ADD FLD0863A TO FLD0863B. + SUBTRACT FLD0864A FROM FLD0864B + ON SIZE ERROR MOVE 'Y' TO FLD0864E. + ADD FLD0865A TO FLD0865B. + SUBTRACT FLD0866A FROM FLD0866B. + ADD FLD0867A TO FLD0867B + ON SIZE ERROR MOVE 'Y' TO FLD0867E. + SUBTRACT FLD0868A FROM FLD0868B. + ADD FLD0869A TO FLD0869B. + SUBTRACT FLD0870A FROM FLD0870B + ON SIZE ERROR MOVE 'Y' TO FLD0870E. + ADD FLD0871A TO FLD0871B. + SUBTRACT FLD0872A FROM FLD0872B. + ADD FLD0873A TO FLD0873B + ON SIZE ERROR MOVE 'Y' TO FLD0873E. + SUBTRACT FLD0874A FROM FLD0874B. + ADD FLD0875A TO FLD0875B. + SUBTRACT FLD0876A FROM FLD0876B + ON SIZE ERROR MOVE 'Y' TO FLD0876E. + ADD FLD0877A TO FLD0877B. + SUBTRACT FLD0878A FROM FLD0878B. + ADD FLD0879A TO FLD0879B + ON SIZE ERROR MOVE 'Y' TO FLD0879E. + SUBTRACT FLD0880A FROM FLD0880B. + ADD FLD0881A TO FLD0881B. + SUBTRACT FLD0882A FROM FLD0882B + ON SIZE ERROR MOVE 'Y' TO FLD0882E. + ADD FLD0883A TO FLD0883B. + SUBTRACT FLD0884A FROM FLD0884B. + ADD FLD0885A TO FLD0885B + ON SIZE ERROR MOVE 'Y' TO FLD0885E. + SUBTRACT FLD0886A FROM FLD0886B. + ADD FLD0887A TO FLD0887B. + SUBTRACT FLD0888A FROM FLD0888B + ON SIZE ERROR MOVE 'Y' TO FLD0888E. + ADD FLD0889A TO FLD0889B. + SUBTRACT FLD0890A FROM FLD0890B. + ADD FLD0891A TO FLD0891B + ON SIZE ERROR MOVE 'Y' TO FLD0891E. + SUBTRACT FLD0892A FROM FLD0892B. + ADD FLD0893A TO FLD0893B. + SUBTRACT FLD0894A FROM FLD0894B + ON SIZE ERROR MOVE 'Y' TO FLD0894E. + ADD FLD0895A TO FLD0895B. + SUBTRACT FLD0896A FROM FLD0896B. + ADD FLD0897A TO FLD0897B + ON SIZE ERROR MOVE 'Y' TO FLD0897E. + SUBTRACT FLD0898A FROM FLD0898B. + ADD FLD0899A TO FLD0899B. + SUBTRACT FLD0900A FROM FLD0900B + ON SIZE ERROR MOVE 'Y' TO FLD0900E. + ADD FLD0901A TO FLD0901B. + SUBTRACT FLD0902A FROM FLD0902B. + ADD FLD0903A TO FLD0903B + ON SIZE ERROR MOVE 'Y' TO FLD0903E. + SUBTRACT FLD0904A FROM FLD0904B. + ADD FLD0905A TO FLD0905B. + SUBTRACT FLD0906A FROM FLD0906B + ON SIZE ERROR MOVE 'Y' TO FLD0906E. + ADD FLD0907A TO FLD0907B. + SUBTRACT FLD0908A FROM FLD0908B. + ADD FLD0909A TO FLD0909B + ON SIZE ERROR MOVE 'Y' TO FLD0909E. + SUBTRACT FLD0910A FROM FLD0910B. + ADD FLD0911A TO FLD0911B. + SUBTRACT FLD0912A FROM FLD0912B + ON SIZE ERROR MOVE 'Y' TO FLD0912E. + ADD FLD0913A TO FLD0913B. + SUBTRACT FLD0914A FROM FLD0914B. + ADD FLD0915A TO FLD0915B + ON SIZE ERROR MOVE 'Y' TO FLD0915E. + SUBTRACT FLD0916A FROM FLD0916B. + ADD FLD0917A TO FLD0917B. + SUBTRACT FLD0918A FROM FLD0918B + ON SIZE ERROR MOVE 'Y' TO FLD0918E. + ADD FLD0919A TO FLD0919B. + SUBTRACT FLD0920A FROM FLD0920B. + ADD FLD0921A TO FLD0921B + ON SIZE ERROR MOVE 'Y' TO FLD0921E. + SUBTRACT FLD0922A FROM FLD0922B. + ADD FLD0923A TO FLD0923B. + SUBTRACT FLD0924A FROM FLD0924B + ON SIZE ERROR MOVE 'Y' TO FLD0924E. + ADD FLD0925A TO FLD0925B. + SUBTRACT FLD0926A FROM FLD0926B. + ADD FLD0927A TO FLD0927B + ON SIZE ERROR MOVE 'Y' TO FLD0927E. + SUBTRACT FLD0928A FROM FLD0928B. + ADD FLD0929A TO FLD0929B. + SUBTRACT FLD0930A FROM FLD0930B + ON SIZE ERROR MOVE 'Y' TO FLD0930E. + ADD FLD0931A TO FLD0931B. + SUBTRACT FLD0932A FROM FLD0932B. + ADD FLD0933A TO FLD0933B + ON SIZE ERROR MOVE 'Y' TO FLD0933E. + SUBTRACT FLD0934A FROM FLD0934B. + ADD FLD0935A TO FLD0935B. + SUBTRACT FLD0936A FROM FLD0936B + ON SIZE ERROR MOVE 'Y' TO FLD0936E. + ADD FLD0937A TO FLD0937B. + SUBTRACT FLD0938A FROM FLD0938B. + ADD FLD0939A TO FLD0939B + ON SIZE ERROR MOVE 'Y' TO FLD0939E. + SUBTRACT FLD0940A FROM FLD0940B. + ADD FLD0941A TO FLD0941B. + SUBTRACT FLD0942A FROM FLD0942B + ON SIZE ERROR MOVE 'Y' TO FLD0942E. + ADD FLD0943A TO FLD0943B. + SUBTRACT FLD0944A FROM FLD0944B. + ADD FLD0945A TO FLD0945B + ON SIZE ERROR MOVE 'Y' TO FLD0945E. + SUBTRACT FLD0946A FROM FLD0946B. + ADD FLD0947A TO FLD0947B. + SUBTRACT FLD0948A FROM FLD0948B + ON SIZE ERROR MOVE 'Y' TO FLD0948E. + ADD FLD0949A TO FLD0949B. + SUBTRACT FLD0950A FROM FLD0950B. + ADD FLD0951A TO FLD0951B + ON SIZE ERROR MOVE 'Y' TO FLD0951E. + SUBTRACT FLD0952A FROM FLD0952B. + ADD FLD0953A TO FLD0953B. + SUBTRACT FLD0954A FROM FLD0954B + ON SIZE ERROR MOVE 'Y' TO FLD0954E. + ADD FLD0955A TO FLD0955B. + SUBTRACT FLD0956A FROM FLD0956B. + ADD FLD0957A TO FLD0957B + ON SIZE ERROR MOVE 'Y' TO FLD0957E. + SUBTRACT FLD0958A FROM FLD0958B. + ADD FLD0959A TO FLD0959B. + SUBTRACT FLD0960A FROM FLD0960B + ON SIZE ERROR MOVE 'Y' TO FLD0960E. + ADD FLD0961A TO FLD0961B. + SUBTRACT FLD0962A FROM FLD0962B. + ADD FLD0963A TO FLD0963B + ON SIZE ERROR MOVE 'Y' TO FLD0963E. + SUBTRACT FLD0964A FROM FLD0964B. + ADD FLD0965A TO FLD0965B. + SUBTRACT FLD0966A FROM FLD0966B + ON SIZE ERROR MOVE 'Y' TO FLD0966E. + ADD FLD0967A TO FLD0967B. + SUBTRACT FLD0968A FROM FLD0968B. + ADD FLD0969A TO FLD0969B + ON SIZE ERROR MOVE 'Y' TO FLD0969E. + SUBTRACT FLD0970A FROM FLD0970B. + ADD FLD0971A TO FLD0971B. + SUBTRACT FLD0972A FROM FLD0972B + ON SIZE ERROR MOVE 'Y' TO FLD0972E. + ADD FLD0973A TO FLD0973B. + SUBTRACT FLD0974A FROM FLD0974B. + ADD FLD0975A TO FLD0975B + ON SIZE ERROR MOVE 'Y' TO FLD0975E. + SUBTRACT FLD0976A FROM FLD0976B. + ADD FLD0977A TO FLD0977B. + SUBTRACT FLD0978A FROM FLD0978B + ON SIZE ERROR MOVE 'Y' TO FLD0978E. + ADD FLD0979A TO FLD0979B. + SUBTRACT FLD0980A FROM FLD0980B. + ADD FLD0981A TO FLD0981B + ON SIZE ERROR MOVE 'Y' TO FLD0981E. + SUBTRACT FLD0982A FROM FLD0982B. + ADD FLD0983A TO FLD0983B. + SUBTRACT FLD0984A FROM FLD0984B + ON SIZE ERROR MOVE 'Y' TO FLD0984E. + ADD FLD0985A TO FLD0985B. + SUBTRACT FLD0986A FROM FLD0986B. + ADD FLD0987A TO FLD0987B + ON SIZE ERROR MOVE 'Y' TO FLD0987E. + SUBTRACT FLD0988A FROM FLD0988B. + ADD FLD0989A TO FLD0989B. + SUBTRACT FLD0990A FROM FLD0990B + ON SIZE ERROR MOVE 'Y' TO FLD0990E. + ADD FLD0991A TO FLD0991B. + SUBTRACT FLD0992A FROM FLD0992B. + ADD FLD0993A TO FLD0993B + ON SIZE ERROR MOVE 'Y' TO FLD0993E. + SUBTRACT FLD0994A FROM FLD0994B. + ADD FLD0995A TO FLD0995B. + SUBTRACT FLD0996A FROM FLD0996B + ON SIZE ERROR MOVE 'Y' TO FLD0996E. + ADD FLD0997A TO FLD0997B. + SUBTRACT FLD0998A FROM FLD0998B. + ADD FLD0999A TO FLD0999B + ON SIZE ERROR MOVE 'Y' TO FLD0999E. + + *4000-COMPARE. + + IF FLD0500B (1:) NOT EQUAL XPC-FLD0500B + DISPLAY 'FLD0500B ==> ' FLD0500B + DISPLAY 'EXPECTED ==> ' XPC-FLD0500B. + IF FLD0500E NOT EQUAL XPC-FLD0500E + DISPLAY 'FLD0500E ==> ' FLD0500E + DISPLAY 'EXPECTED ==> ' XPC-FLD0500E. + IF FLD0501B (1:) NOT EQUAL XPC-FLD0501B + DISPLAY 'FLD0501B ==> ' FLD0501B + DISPLAY 'EXPECTED ==> ' XPC-FLD0501B. + IF FLD0501E NOT EQUAL XPC-FLD0501E + DISPLAY 'FLD0501E ==> ' FLD0501E + DISPLAY 'EXPECTED ==> ' XPC-FLD0501E. + IF FLD0502B (1:) NOT EQUAL XPC-FLD0502B + DISPLAY 'FLD0502B ==> ' FLD0502B + DISPLAY 'EXPECTED ==> ' XPC-FLD0502B. + IF FLD0502E NOT EQUAL XPC-FLD0502E + DISPLAY 'FLD0502E ==> ' FLD0502E + DISPLAY 'EXPECTED ==> ' XPC-FLD0502E. + IF FLD0503B (1:) NOT EQUAL XPC-FLD0503B + DISPLAY 'FLD0503B ==> ' FLD0503B + DISPLAY 'EXPECTED ==> ' XPC-FLD0503B. + IF FLD0503E NOT EQUAL XPC-FLD0503E + DISPLAY 'FLD0503E ==> ' FLD0503E + DISPLAY 'EXPECTED ==> ' XPC-FLD0503E. + IF FLD0504B (1:) NOT EQUAL XPC-FLD0504B + DISPLAY 'FLD0504B ==> ' FLD0504B + DISPLAY 'EXPECTED ==> ' XPC-FLD0504B. + IF FLD0504E NOT EQUAL XPC-FLD0504E + DISPLAY 'FLD0504E ==> ' FLD0504E + DISPLAY 'EXPECTED ==> ' XPC-FLD0504E. + IF FLD0505B (1:) NOT EQUAL XPC-FLD0505B + DISPLAY 'FLD0505B ==> ' FLD0505B + DISPLAY 'EXPECTED ==> ' XPC-FLD0505B. + IF FLD0505E NOT EQUAL XPC-FLD0505E + DISPLAY 'FLD0505E ==> ' FLD0505E + DISPLAY 'EXPECTED ==> ' XPC-FLD0505E. + IF FLD0506B (1:) NOT EQUAL XPC-FLD0506B + DISPLAY 'FLD0506B ==> ' FLD0506B + DISPLAY 'EXPECTED ==> ' XPC-FLD0506B. + IF FLD0506E NOT EQUAL XPC-FLD0506E + DISPLAY 'FLD0506E ==> ' FLD0506E + DISPLAY 'EXPECTED ==> ' XPC-FLD0506E. + IF FLD0507B (1:) NOT EQUAL XPC-FLD0507B + DISPLAY 'FLD0507B ==> ' FLD0507B + DISPLAY 'EXPECTED ==> ' XPC-FLD0507B. + IF FLD0507E NOT EQUAL XPC-FLD0507E + DISPLAY 'FLD0507E ==> ' FLD0507E + DISPLAY 'EXPECTED ==> ' XPC-FLD0507E. + IF FLD0508B (1:) NOT EQUAL XPC-FLD0508B + DISPLAY 'FLD0508B ==> ' FLD0508B + DISPLAY 'EXPECTED ==> ' XPC-FLD0508B. + IF FLD0508E NOT EQUAL XPC-FLD0508E + DISPLAY 'FLD0508E ==> ' FLD0508E + DISPLAY 'EXPECTED ==> ' XPC-FLD0508E. + IF FLD0509B (1:) NOT EQUAL XPC-FLD0509B + DISPLAY 'FLD0509B ==> ' FLD0509B + DISPLAY 'EXPECTED ==> ' XPC-FLD0509B. + IF FLD0509E NOT EQUAL XPC-FLD0509E + DISPLAY 'FLD0509E ==> ' FLD0509E + DISPLAY 'EXPECTED ==> ' XPC-FLD0509E. + IF FLD0510B (1:) NOT EQUAL XPC-FLD0510B + DISPLAY 'FLD0510B ==> ' FLD0510B + DISPLAY 'EXPECTED ==> ' XPC-FLD0510B. + IF FLD0510E NOT EQUAL XPC-FLD0510E + DISPLAY 'FLD0510E ==> ' FLD0510E + DISPLAY 'EXPECTED ==> ' XPC-FLD0510E. + IF FLD0511B (1:) NOT EQUAL XPC-FLD0511B + DISPLAY 'FLD0511B ==> ' FLD0511B + DISPLAY 'EXPECTED ==> ' XPC-FLD0511B. + IF FLD0511E NOT EQUAL XPC-FLD0511E + DISPLAY 'FLD0511E ==> ' FLD0511E + DISPLAY 'EXPECTED ==> ' XPC-FLD0511E. + IF FLD0512B (1:) NOT EQUAL XPC-FLD0512B + DISPLAY 'FLD0512B ==> ' FLD0512B + DISPLAY 'EXPECTED ==> ' XPC-FLD0512B. + IF FLD0512E NOT EQUAL XPC-FLD0512E + DISPLAY 'FLD0512E ==> ' FLD0512E + DISPLAY 'EXPECTED ==> ' XPC-FLD0512E. + IF FLD0513B (1:) NOT EQUAL XPC-FLD0513B + DISPLAY 'FLD0513B ==> ' FLD0513B + DISPLAY 'EXPECTED ==> ' XPC-FLD0513B. + IF FLD0513E NOT EQUAL XPC-FLD0513E + DISPLAY 'FLD0513E ==> ' FLD0513E + DISPLAY 'EXPECTED ==> ' XPC-FLD0513E. + IF FLD0514B (1:) NOT EQUAL XPC-FLD0514B + DISPLAY 'FLD0514B ==> ' FLD0514B + DISPLAY 'EXPECTED ==> ' XPC-FLD0514B. + IF FLD0514E NOT EQUAL XPC-FLD0514E + DISPLAY 'FLD0514E ==> ' FLD0514E + DISPLAY 'EXPECTED ==> ' XPC-FLD0514E. + IF FLD0515B (1:) NOT EQUAL XPC-FLD0515B + DISPLAY 'FLD0515B ==> ' FLD0515B + DISPLAY 'EXPECTED ==> ' XPC-FLD0515B. + IF FLD0515E NOT EQUAL XPC-FLD0515E + DISPLAY 'FLD0515E ==> ' FLD0515E + DISPLAY 'EXPECTED ==> ' XPC-FLD0515E. + IF FLD0516B (1:) NOT EQUAL XPC-FLD0516B + DISPLAY 'FLD0516B ==> ' FLD0516B + DISPLAY 'EXPECTED ==> ' XPC-FLD0516B. + IF FLD0516E NOT EQUAL XPC-FLD0516E + DISPLAY 'FLD0516E ==> ' FLD0516E + DISPLAY 'EXPECTED ==> ' XPC-FLD0516E. + IF FLD0517B (1:) NOT EQUAL XPC-FLD0517B + DISPLAY 'FLD0517B ==> ' FLD0517B + DISPLAY 'EXPECTED ==> ' XPC-FLD0517B. + IF FLD0517E NOT EQUAL XPC-FLD0517E + DISPLAY 'FLD0517E ==> ' FLD0517E + DISPLAY 'EXPECTED ==> ' XPC-FLD0517E. + IF FLD0518B (1:) NOT EQUAL XPC-FLD0518B + DISPLAY 'FLD0518B ==> ' FLD0518B + DISPLAY 'EXPECTED ==> ' XPC-FLD0518B. + IF FLD0518E NOT EQUAL XPC-FLD0518E + DISPLAY 'FLD0518E ==> ' FLD0518E + DISPLAY 'EXPECTED ==> ' XPC-FLD0518E. + IF FLD0519B (1:) NOT EQUAL XPC-FLD0519B + DISPLAY 'FLD0519B ==> ' FLD0519B + DISPLAY 'EXPECTED ==> ' XPC-FLD0519B. + IF FLD0519E NOT EQUAL XPC-FLD0519E + DISPLAY 'FLD0519E ==> ' FLD0519E + DISPLAY 'EXPECTED ==> ' XPC-FLD0519E. + IF FLD0520B (1:) NOT EQUAL XPC-FLD0520B + DISPLAY 'FLD0520B ==> ' FLD0520B + DISPLAY 'EXPECTED ==> ' XPC-FLD0520B. + IF FLD0520E NOT EQUAL XPC-FLD0520E + DISPLAY 'FLD0520E ==> ' FLD0520E + DISPLAY 'EXPECTED ==> ' XPC-FLD0520E. + IF FLD0521B (1:) NOT EQUAL XPC-FLD0521B + DISPLAY 'FLD0521B ==> ' FLD0521B + DISPLAY 'EXPECTED ==> ' XPC-FLD0521B. + IF FLD0521E NOT EQUAL XPC-FLD0521E + DISPLAY 'FLD0521E ==> ' FLD0521E + DISPLAY 'EXPECTED ==> ' XPC-FLD0521E. + IF FLD0522B (1:) NOT EQUAL XPC-FLD0522B + DISPLAY 'FLD0522B ==> ' FLD0522B + DISPLAY 'EXPECTED ==> ' XPC-FLD0522B. + IF FLD0522E NOT EQUAL XPC-FLD0522E + DISPLAY 'FLD0522E ==> ' FLD0522E + DISPLAY 'EXPECTED ==> ' XPC-FLD0522E. + IF FLD0523B (1:) NOT EQUAL XPC-FLD0523B + DISPLAY 'FLD0523B ==> ' FLD0523B + DISPLAY 'EXPECTED ==> ' XPC-FLD0523B. + IF FLD0523E NOT EQUAL XPC-FLD0523E + DISPLAY 'FLD0523E ==> ' FLD0523E + DISPLAY 'EXPECTED ==> ' XPC-FLD0523E. + IF FLD0524B (1:) NOT EQUAL XPC-FLD0524B + DISPLAY 'FLD0524B ==> ' FLD0524B + DISPLAY 'EXPECTED ==> ' XPC-FLD0524B. + IF FLD0524E NOT EQUAL XPC-FLD0524E + DISPLAY 'FLD0524E ==> ' FLD0524E + DISPLAY 'EXPECTED ==> ' XPC-FLD0524E. + IF FLD0525B (1:) NOT EQUAL XPC-FLD0525B + DISPLAY 'FLD0525B ==> ' FLD0525B + DISPLAY 'EXPECTED ==> ' XPC-FLD0525B. + IF FLD0525E NOT EQUAL XPC-FLD0525E + DISPLAY 'FLD0525E ==> ' FLD0525E + DISPLAY 'EXPECTED ==> ' XPC-FLD0525E. + IF FLD0526B (1:) NOT EQUAL XPC-FLD0526B + DISPLAY 'FLD0526B ==> ' FLD0526B + DISPLAY 'EXPECTED ==> ' XPC-FLD0526B. + IF FLD0526E NOT EQUAL XPC-FLD0526E + DISPLAY 'FLD0526E ==> ' FLD0526E + DISPLAY 'EXPECTED ==> ' XPC-FLD0526E. + IF FLD0527B (1:) NOT EQUAL XPC-FLD0527B + DISPLAY 'FLD0527B ==> ' FLD0527B + DISPLAY 'EXPECTED ==> ' XPC-FLD0527B. + IF FLD0527E NOT EQUAL XPC-FLD0527E + DISPLAY 'FLD0527E ==> ' FLD0527E + DISPLAY 'EXPECTED ==> ' XPC-FLD0527E. + IF FLD0528B (1:) NOT EQUAL XPC-FLD0528B + DISPLAY 'FLD0528B ==> ' FLD0528B + DISPLAY 'EXPECTED ==> ' XPC-FLD0528B. + IF FLD0528E NOT EQUAL XPC-FLD0528E + DISPLAY 'FLD0528E ==> ' FLD0528E + DISPLAY 'EXPECTED ==> ' XPC-FLD0528E. + IF FLD0529B (1:) NOT EQUAL XPC-FLD0529B + DISPLAY 'FLD0529B ==> ' FLD0529B + DISPLAY 'EXPECTED ==> ' XPC-FLD0529B. + IF FLD0529E NOT EQUAL XPC-FLD0529E + DISPLAY 'FLD0529E ==> ' FLD0529E + DISPLAY 'EXPECTED ==> ' XPC-FLD0529E. + IF FLD0530B (1:) NOT EQUAL XPC-FLD0530B + DISPLAY 'FLD0530B ==> ' FLD0530B + DISPLAY 'EXPECTED ==> ' XPC-FLD0530B. + IF FLD0530E NOT EQUAL XPC-FLD0530E + DISPLAY 'FLD0530E ==> ' FLD0530E + DISPLAY 'EXPECTED ==> ' XPC-FLD0530E. + IF FLD0531B (1:) NOT EQUAL XPC-FLD0531B + DISPLAY 'FLD0531B ==> ' FLD0531B + DISPLAY 'EXPECTED ==> ' XPC-FLD0531B. + IF FLD0531E NOT EQUAL XPC-FLD0531E + DISPLAY 'FLD0531E ==> ' FLD0531E + DISPLAY 'EXPECTED ==> ' XPC-FLD0531E. + IF FLD0532B (1:) NOT EQUAL XPC-FLD0532B + DISPLAY 'FLD0532B ==> ' FLD0532B + DISPLAY 'EXPECTED ==> ' XPC-FLD0532B. + IF FLD0532E NOT EQUAL XPC-FLD0532E + DISPLAY 'FLD0532E ==> ' FLD0532E + DISPLAY 'EXPECTED ==> ' XPC-FLD0532E. + IF FLD0533B (1:) NOT EQUAL XPC-FLD0533B + DISPLAY 'FLD0533B ==> ' FLD0533B + DISPLAY 'EXPECTED ==> ' XPC-FLD0533B. + IF FLD0533E NOT EQUAL XPC-FLD0533E + DISPLAY 'FLD0533E ==> ' FLD0533E + DISPLAY 'EXPECTED ==> ' XPC-FLD0533E. + IF FLD0534B (1:) NOT EQUAL XPC-FLD0534B + DISPLAY 'FLD0534B ==> ' FLD0534B + DISPLAY 'EXPECTED ==> ' XPC-FLD0534B. + IF FLD0534E NOT EQUAL XPC-FLD0534E + DISPLAY 'FLD0534E ==> ' FLD0534E + DISPLAY 'EXPECTED ==> ' XPC-FLD0534E. + IF FLD0535B (1:) NOT EQUAL XPC-FLD0535B + DISPLAY 'FLD0535B ==> ' FLD0535B + DISPLAY 'EXPECTED ==> ' XPC-FLD0535B. + IF FLD0535E NOT EQUAL XPC-FLD0535E + DISPLAY 'FLD0535E ==> ' FLD0535E + DISPLAY 'EXPECTED ==> ' XPC-FLD0535E. + IF FLD0536B (1:) NOT EQUAL XPC-FLD0536B + DISPLAY 'FLD0536B ==> ' FLD0536B + DISPLAY 'EXPECTED ==> ' XPC-FLD0536B. + IF FLD0536E NOT EQUAL XPC-FLD0536E + DISPLAY 'FLD0536E ==> ' FLD0536E + DISPLAY 'EXPECTED ==> ' XPC-FLD0536E. + IF FLD0537B (1:) NOT EQUAL XPC-FLD0537B + DISPLAY 'FLD0537B ==> ' FLD0537B + DISPLAY 'EXPECTED ==> ' XPC-FLD0537B. + IF FLD0537E NOT EQUAL XPC-FLD0537E + DISPLAY 'FLD0537E ==> ' FLD0537E + DISPLAY 'EXPECTED ==> ' XPC-FLD0537E. + IF FLD0538B (1:) NOT EQUAL XPC-FLD0538B + DISPLAY 'FLD0538B ==> ' FLD0538B + DISPLAY 'EXPECTED ==> ' XPC-FLD0538B. + IF FLD0538E NOT EQUAL XPC-FLD0538E + DISPLAY 'FLD0538E ==> ' FLD0538E + DISPLAY 'EXPECTED ==> ' XPC-FLD0538E. + IF FLD0539B (1:) NOT EQUAL XPC-FLD0539B + DISPLAY 'FLD0539B ==> ' FLD0539B + DISPLAY 'EXPECTED ==> ' XPC-FLD0539B. + IF FLD0539E NOT EQUAL XPC-FLD0539E + DISPLAY 'FLD0539E ==> ' FLD0539E + DISPLAY 'EXPECTED ==> ' XPC-FLD0539E. + IF FLD0540B (1:) NOT EQUAL XPC-FLD0540B + DISPLAY 'FLD0540B ==> ' FLD0540B + DISPLAY 'EXPECTED ==> ' XPC-FLD0540B. + IF FLD0540E NOT EQUAL XPC-FLD0540E + DISPLAY 'FLD0540E ==> ' FLD0540E + DISPLAY 'EXPECTED ==> ' XPC-FLD0540E. + IF FLD0541B (1:) NOT EQUAL XPC-FLD0541B + DISPLAY 'FLD0541B ==> ' FLD0541B + DISPLAY 'EXPECTED ==> ' XPC-FLD0541B. + IF FLD0541E NOT EQUAL XPC-FLD0541E + DISPLAY 'FLD0541E ==> ' FLD0541E + DISPLAY 'EXPECTED ==> ' XPC-FLD0541E. + IF FLD0542B (1:) NOT EQUAL XPC-FLD0542B + DISPLAY 'FLD0542B ==> ' FLD0542B + DISPLAY 'EXPECTED ==> ' XPC-FLD0542B. + IF FLD0542E NOT EQUAL XPC-FLD0542E + DISPLAY 'FLD0542E ==> ' FLD0542E + DISPLAY 'EXPECTED ==> ' XPC-FLD0542E. + IF FLD0543B (1:) NOT EQUAL XPC-FLD0543B + DISPLAY 'FLD0543B ==> ' FLD0543B + DISPLAY 'EXPECTED ==> ' XPC-FLD0543B. + IF FLD0543E NOT EQUAL XPC-FLD0543E + DISPLAY 'FLD0543E ==> ' FLD0543E + DISPLAY 'EXPECTED ==> ' XPC-FLD0543E. + IF FLD0544B (1:) NOT EQUAL XPC-FLD0544B + DISPLAY 'FLD0544B ==> ' FLD0544B + DISPLAY 'EXPECTED ==> ' XPC-FLD0544B. + IF FLD0544E NOT EQUAL XPC-FLD0544E + DISPLAY 'FLD0544E ==> ' FLD0544E + DISPLAY 'EXPECTED ==> ' XPC-FLD0544E. + IF FLD0545B (1:) NOT EQUAL XPC-FLD0545B + DISPLAY 'FLD0545B ==> ' FLD0545B + DISPLAY 'EXPECTED ==> ' XPC-FLD0545B. + IF FLD0545E NOT EQUAL XPC-FLD0545E + DISPLAY 'FLD0545E ==> ' FLD0545E + DISPLAY 'EXPECTED ==> ' XPC-FLD0545E. + IF FLD0546B (1:) NOT EQUAL XPC-FLD0546B + DISPLAY 'FLD0546B ==> ' FLD0546B + DISPLAY 'EXPECTED ==> ' XPC-FLD0546B. + IF FLD0546E NOT EQUAL XPC-FLD0546E + DISPLAY 'FLD0546E ==> ' FLD0546E + DISPLAY 'EXPECTED ==> ' XPC-FLD0546E. + IF FLD0547B (1:) NOT EQUAL XPC-FLD0547B + DISPLAY 'FLD0547B ==> ' FLD0547B + DISPLAY 'EXPECTED ==> ' XPC-FLD0547B. + IF FLD0547E NOT EQUAL XPC-FLD0547E + DISPLAY 'FLD0547E ==> ' FLD0547E + DISPLAY 'EXPECTED ==> ' XPC-FLD0547E. + IF FLD0548B (1:) NOT EQUAL XPC-FLD0548B + DISPLAY 'FLD0548B ==> ' FLD0548B + DISPLAY 'EXPECTED ==> ' XPC-FLD0548B. + IF FLD0548E NOT EQUAL XPC-FLD0548E + DISPLAY 'FLD0548E ==> ' FLD0548E + DISPLAY 'EXPECTED ==> ' XPC-FLD0548E. + IF FLD0549B (1:) NOT EQUAL XPC-FLD0549B + DISPLAY 'FLD0549B ==> ' FLD0549B + DISPLAY 'EXPECTED ==> ' XPC-FLD0549B. + IF FLD0549E NOT EQUAL XPC-FLD0549E + DISPLAY 'FLD0549E ==> ' FLD0549E + DISPLAY 'EXPECTED ==> ' XPC-FLD0549E. + IF FLD0550B (1:) NOT EQUAL XPC-FLD0550B + DISPLAY 'FLD0550B ==> ' FLD0550B + DISPLAY 'EXPECTED ==> ' XPC-FLD0550B. + IF FLD0550E NOT EQUAL XPC-FLD0550E + DISPLAY 'FLD0550E ==> ' FLD0550E + DISPLAY 'EXPECTED ==> ' XPC-FLD0550E. + IF FLD0551B (1:) NOT EQUAL XPC-FLD0551B + DISPLAY 'FLD0551B ==> ' FLD0551B + DISPLAY 'EXPECTED ==> ' XPC-FLD0551B. + IF FLD0551E NOT EQUAL XPC-FLD0551E + DISPLAY 'FLD0551E ==> ' FLD0551E + DISPLAY 'EXPECTED ==> ' XPC-FLD0551E. + IF FLD0552B (1:) NOT EQUAL XPC-FLD0552B + DISPLAY 'FLD0552B ==> ' FLD0552B + DISPLAY 'EXPECTED ==> ' XPC-FLD0552B. + IF FLD0552E NOT EQUAL XPC-FLD0552E + DISPLAY 'FLD0552E ==> ' FLD0552E + DISPLAY 'EXPECTED ==> ' XPC-FLD0552E. + IF FLD0553B (1:) NOT EQUAL XPC-FLD0553B + DISPLAY 'FLD0553B ==> ' FLD0553B + DISPLAY 'EXPECTED ==> ' XPC-FLD0553B. + IF FLD0553E NOT EQUAL XPC-FLD0553E + DISPLAY 'FLD0553E ==> ' FLD0553E + DISPLAY 'EXPECTED ==> ' XPC-FLD0553E. + IF FLD0554B (1:) NOT EQUAL XPC-FLD0554B + DISPLAY 'FLD0554B ==> ' FLD0554B + DISPLAY 'EXPECTED ==> ' XPC-FLD0554B. + IF FLD0554E NOT EQUAL XPC-FLD0554E + DISPLAY 'FLD0554E ==> ' FLD0554E + DISPLAY 'EXPECTED ==> ' XPC-FLD0554E. + IF FLD0555B (1:) NOT EQUAL XPC-FLD0555B + DISPLAY 'FLD0555B ==> ' FLD0555B + DISPLAY 'EXPECTED ==> ' XPC-FLD0555B. + IF FLD0555E NOT EQUAL XPC-FLD0555E + DISPLAY 'FLD0555E ==> ' FLD0555E + DISPLAY 'EXPECTED ==> ' XPC-FLD0555E. + IF FLD0556B (1:) NOT EQUAL XPC-FLD0556B + DISPLAY 'FLD0556B ==> ' FLD0556B + DISPLAY 'EXPECTED ==> ' XPC-FLD0556B. + IF FLD0556E NOT EQUAL XPC-FLD0556E + DISPLAY 'FLD0556E ==> ' FLD0556E + DISPLAY 'EXPECTED ==> ' XPC-FLD0556E. + IF FLD0557B (1:) NOT EQUAL XPC-FLD0557B + DISPLAY 'FLD0557B ==> ' FLD0557B + DISPLAY 'EXPECTED ==> ' XPC-FLD0557B. + IF FLD0557E NOT EQUAL XPC-FLD0557E + DISPLAY 'FLD0557E ==> ' FLD0557E + DISPLAY 'EXPECTED ==> ' XPC-FLD0557E. + IF FLD0558B (1:) NOT EQUAL XPC-FLD0558B + DISPLAY 'FLD0558B ==> ' FLD0558B + DISPLAY 'EXPECTED ==> ' XPC-FLD0558B. + IF FLD0558E NOT EQUAL XPC-FLD0558E + DISPLAY 'FLD0558E ==> ' FLD0558E + DISPLAY 'EXPECTED ==> ' XPC-FLD0558E. + IF FLD0559B (1:) NOT EQUAL XPC-FLD0559B + DISPLAY 'FLD0559B ==> ' FLD0559B + DISPLAY 'EXPECTED ==> ' XPC-FLD0559B. + IF FLD0559E NOT EQUAL XPC-FLD0559E + DISPLAY 'FLD0559E ==> ' FLD0559E + DISPLAY 'EXPECTED ==> ' XPC-FLD0559E. + IF FLD0560B (1:) NOT EQUAL XPC-FLD0560B + DISPLAY 'FLD0560B ==> ' FLD0560B + DISPLAY 'EXPECTED ==> ' XPC-FLD0560B. + IF FLD0560E NOT EQUAL XPC-FLD0560E + DISPLAY 'FLD0560E ==> ' FLD0560E + DISPLAY 'EXPECTED ==> ' XPC-FLD0560E. + IF FLD0561B (1:) NOT EQUAL XPC-FLD0561B + DISPLAY 'FLD0561B ==> ' FLD0561B + DISPLAY 'EXPECTED ==> ' XPC-FLD0561B. + IF FLD0561E NOT EQUAL XPC-FLD0561E + DISPLAY 'FLD0561E ==> ' FLD0561E + DISPLAY 'EXPECTED ==> ' XPC-FLD0561E. + IF FLD0562B (1:) NOT EQUAL XPC-FLD0562B + DISPLAY 'FLD0562B ==> ' FLD0562B + DISPLAY 'EXPECTED ==> ' XPC-FLD0562B. + IF FLD0562E NOT EQUAL XPC-FLD0562E + DISPLAY 'FLD0562E ==> ' FLD0562E + DISPLAY 'EXPECTED ==> ' XPC-FLD0562E. + IF FLD0563B (1:) NOT EQUAL XPC-FLD0563B + DISPLAY 'FLD0563B ==> ' FLD0563B + DISPLAY 'EXPECTED ==> ' XPC-FLD0563B. + IF FLD0563E NOT EQUAL XPC-FLD0563E + DISPLAY 'FLD0563E ==> ' FLD0563E + DISPLAY 'EXPECTED ==> ' XPC-FLD0563E. + IF FLD0564B (1:) NOT EQUAL XPC-FLD0564B + DISPLAY 'FLD0564B ==> ' FLD0564B + DISPLAY 'EXPECTED ==> ' XPC-FLD0564B. + IF FLD0564E NOT EQUAL XPC-FLD0564E + DISPLAY 'FLD0564E ==> ' FLD0564E + DISPLAY 'EXPECTED ==> ' XPC-FLD0564E. + IF FLD0565B (1:) NOT EQUAL XPC-FLD0565B + DISPLAY 'FLD0565B ==> ' FLD0565B + DISPLAY 'EXPECTED ==> ' XPC-FLD0565B. + IF FLD0565E NOT EQUAL XPC-FLD0565E + DISPLAY 'FLD0565E ==> ' FLD0565E + DISPLAY 'EXPECTED ==> ' XPC-FLD0565E. + IF FLD0566B (1:) NOT EQUAL XPC-FLD0566B + DISPLAY 'FLD0566B ==> ' FLD0566B + DISPLAY 'EXPECTED ==> ' XPC-FLD0566B. + IF FLD0566E NOT EQUAL XPC-FLD0566E + DISPLAY 'FLD0566E ==> ' FLD0566E + DISPLAY 'EXPECTED ==> ' XPC-FLD0566E. + IF FLD0567B (1:) NOT EQUAL XPC-FLD0567B + DISPLAY 'FLD0567B ==> ' FLD0567B + DISPLAY 'EXPECTED ==> ' XPC-FLD0567B. + IF FLD0567E NOT EQUAL XPC-FLD0567E + DISPLAY 'FLD0567E ==> ' FLD0567E + DISPLAY 'EXPECTED ==> ' XPC-FLD0567E. + IF FLD0568B (1:) NOT EQUAL XPC-FLD0568B + DISPLAY 'FLD0568B ==> ' FLD0568B + DISPLAY 'EXPECTED ==> ' XPC-FLD0568B. + IF FLD0568E NOT EQUAL XPC-FLD0568E + DISPLAY 'FLD0568E ==> ' FLD0568E + DISPLAY 'EXPECTED ==> ' XPC-FLD0568E. + IF FLD0569B (1:) NOT EQUAL XPC-FLD0569B + DISPLAY 'FLD0569B ==> ' FLD0569B + DISPLAY 'EXPECTED ==> ' XPC-FLD0569B. + IF FLD0569E NOT EQUAL XPC-FLD0569E + DISPLAY 'FLD0569E ==> ' FLD0569E + DISPLAY 'EXPECTED ==> ' XPC-FLD0569E. + IF FLD0570B (1:) NOT EQUAL XPC-FLD0570B + DISPLAY 'FLD0570B ==> ' FLD0570B + DISPLAY 'EXPECTED ==> ' XPC-FLD0570B. + IF FLD0570E NOT EQUAL XPC-FLD0570E + DISPLAY 'FLD0570E ==> ' FLD0570E + DISPLAY 'EXPECTED ==> ' XPC-FLD0570E. + IF FLD0571B (1:) NOT EQUAL XPC-FLD0571B + DISPLAY 'FLD0571B ==> ' FLD0571B + DISPLAY 'EXPECTED ==> ' XPC-FLD0571B. + IF FLD0571E NOT EQUAL XPC-FLD0571E + DISPLAY 'FLD0571E ==> ' FLD0571E + DISPLAY 'EXPECTED ==> ' XPC-FLD0571E. + IF FLD0572B (1:) NOT EQUAL XPC-FLD0572B + DISPLAY 'FLD0572B ==> ' FLD0572B + DISPLAY 'EXPECTED ==> ' XPC-FLD0572B. + IF FLD0572E NOT EQUAL XPC-FLD0572E + DISPLAY 'FLD0572E ==> ' FLD0572E + DISPLAY 'EXPECTED ==> ' XPC-FLD0572E. + IF FLD0573B (1:) NOT EQUAL XPC-FLD0573B + DISPLAY 'FLD0573B ==> ' FLD0573B + DISPLAY 'EXPECTED ==> ' XPC-FLD0573B. + IF FLD0573E NOT EQUAL XPC-FLD0573E + DISPLAY 'FLD0573E ==> ' FLD0573E + DISPLAY 'EXPECTED ==> ' XPC-FLD0573E. + IF FLD0574B (1:) NOT EQUAL XPC-FLD0574B + DISPLAY 'FLD0574B ==> ' FLD0574B + DISPLAY 'EXPECTED ==> ' XPC-FLD0574B. + IF FLD0574E NOT EQUAL XPC-FLD0574E + DISPLAY 'FLD0574E ==> ' FLD0574E + DISPLAY 'EXPECTED ==> ' XPC-FLD0574E. + IF FLD0575B (1:) NOT EQUAL XPC-FLD0575B + DISPLAY 'FLD0575B ==> ' FLD0575B + DISPLAY 'EXPECTED ==> ' XPC-FLD0575B. + IF FLD0575E NOT EQUAL XPC-FLD0575E + DISPLAY 'FLD0575E ==> ' FLD0575E + DISPLAY 'EXPECTED ==> ' XPC-FLD0575E. + IF FLD0576B (1:) NOT EQUAL XPC-FLD0576B + DISPLAY 'FLD0576B ==> ' FLD0576B + DISPLAY 'EXPECTED ==> ' XPC-FLD0576B. + IF FLD0576E NOT EQUAL XPC-FLD0576E + DISPLAY 'FLD0576E ==> ' FLD0576E + DISPLAY 'EXPECTED ==> ' XPC-FLD0576E. + IF FLD0577B (1:) NOT EQUAL XPC-FLD0577B + DISPLAY 'FLD0577B ==> ' FLD0577B + DISPLAY 'EXPECTED ==> ' XPC-FLD0577B. + IF FLD0577E NOT EQUAL XPC-FLD0577E + DISPLAY 'FLD0577E ==> ' FLD0577E + DISPLAY 'EXPECTED ==> ' XPC-FLD0577E. + IF FLD0578B (1:) NOT EQUAL XPC-FLD0578B + DISPLAY 'FLD0578B ==> ' FLD0578B + DISPLAY 'EXPECTED ==> ' XPC-FLD0578B. + IF FLD0578E NOT EQUAL XPC-FLD0578E + DISPLAY 'FLD0578E ==> ' FLD0578E + DISPLAY 'EXPECTED ==> ' XPC-FLD0578E. + IF FLD0579B (1:) NOT EQUAL XPC-FLD0579B + DISPLAY 'FLD0579B ==> ' FLD0579B + DISPLAY 'EXPECTED ==> ' XPC-FLD0579B. + IF FLD0579E NOT EQUAL XPC-FLD0579E + DISPLAY 'FLD0579E ==> ' FLD0579E + DISPLAY 'EXPECTED ==> ' XPC-FLD0579E. + IF FLD0580B (1:) NOT EQUAL XPC-FLD0580B + DISPLAY 'FLD0580B ==> ' FLD0580B + DISPLAY 'EXPECTED ==> ' XPC-FLD0580B. + IF FLD0580E NOT EQUAL XPC-FLD0580E + DISPLAY 'FLD0580E ==> ' FLD0580E + DISPLAY 'EXPECTED ==> ' XPC-FLD0580E. + IF FLD0581B (1:) NOT EQUAL XPC-FLD0581B + DISPLAY 'FLD0581B ==> ' FLD0581B + DISPLAY 'EXPECTED ==> ' XPC-FLD0581B. + IF FLD0581E NOT EQUAL XPC-FLD0581E + DISPLAY 'FLD0581E ==> ' FLD0581E + DISPLAY 'EXPECTED ==> ' XPC-FLD0581E. + IF FLD0582B (1:) NOT EQUAL XPC-FLD0582B + DISPLAY 'FLD0582B ==> ' FLD0582B + DISPLAY 'EXPECTED ==> ' XPC-FLD0582B. + IF FLD0582E NOT EQUAL XPC-FLD0582E + DISPLAY 'FLD0582E ==> ' FLD0582E + DISPLAY 'EXPECTED ==> ' XPC-FLD0582E. + IF FLD0583B (1:) NOT EQUAL XPC-FLD0583B + DISPLAY 'FLD0583B ==> ' FLD0583B + DISPLAY 'EXPECTED ==> ' XPC-FLD0583B. + IF FLD0583E NOT EQUAL XPC-FLD0583E + DISPLAY 'FLD0583E ==> ' FLD0583E + DISPLAY 'EXPECTED ==> ' XPC-FLD0583E. + IF FLD0584B (1:) NOT EQUAL XPC-FLD0584B + DISPLAY 'FLD0584B ==> ' FLD0584B + DISPLAY 'EXPECTED ==> ' XPC-FLD0584B. + IF FLD0584E NOT EQUAL XPC-FLD0584E + DISPLAY 'FLD0584E ==> ' FLD0584E + DISPLAY 'EXPECTED ==> ' XPC-FLD0584E. + IF FLD0585B (1:) NOT EQUAL XPC-FLD0585B + DISPLAY 'FLD0585B ==> ' FLD0585B + DISPLAY 'EXPECTED ==> ' XPC-FLD0585B. + IF FLD0585E NOT EQUAL XPC-FLD0585E + DISPLAY 'FLD0585E ==> ' FLD0585E + DISPLAY 'EXPECTED ==> ' XPC-FLD0585E. + IF FLD0586B (1:) NOT EQUAL XPC-FLD0586B + DISPLAY 'FLD0586B ==> ' FLD0586B + DISPLAY 'EXPECTED ==> ' XPC-FLD0586B. + IF FLD0586E NOT EQUAL XPC-FLD0586E + DISPLAY 'FLD0586E ==> ' FLD0586E + DISPLAY 'EXPECTED ==> ' XPC-FLD0586E. + IF FLD0587B (1:) NOT EQUAL XPC-FLD0587B + DISPLAY 'FLD0587B ==> ' FLD0587B + DISPLAY 'EXPECTED ==> ' XPC-FLD0587B. + IF FLD0587E NOT EQUAL XPC-FLD0587E + DISPLAY 'FLD0587E ==> ' FLD0587E + DISPLAY 'EXPECTED ==> ' XPC-FLD0587E. + IF FLD0588B (1:) NOT EQUAL XPC-FLD0588B + DISPLAY 'FLD0588B ==> ' FLD0588B + DISPLAY 'EXPECTED ==> ' XPC-FLD0588B. + IF FLD0588E NOT EQUAL XPC-FLD0588E + DISPLAY 'FLD0588E ==> ' FLD0588E + DISPLAY 'EXPECTED ==> ' XPC-FLD0588E. + IF FLD0589B (1:) NOT EQUAL XPC-FLD0589B + DISPLAY 'FLD0589B ==> ' FLD0589B + DISPLAY 'EXPECTED ==> ' XPC-FLD0589B. + IF FLD0589E NOT EQUAL XPC-FLD0589E + DISPLAY 'FLD0589E ==> ' FLD0589E + DISPLAY 'EXPECTED ==> ' XPC-FLD0589E. + IF FLD0590B (1:) NOT EQUAL XPC-FLD0590B + DISPLAY 'FLD0590B ==> ' FLD0590B + DISPLAY 'EXPECTED ==> ' XPC-FLD0590B. + IF FLD0590E NOT EQUAL XPC-FLD0590E + DISPLAY 'FLD0590E ==> ' FLD0590E + DISPLAY 'EXPECTED ==> ' XPC-FLD0590E. + IF FLD0591B (1:) NOT EQUAL XPC-FLD0591B + DISPLAY 'FLD0591B ==> ' FLD0591B + DISPLAY 'EXPECTED ==> ' XPC-FLD0591B. + IF FLD0591E NOT EQUAL XPC-FLD0591E + DISPLAY 'FLD0591E ==> ' FLD0591E + DISPLAY 'EXPECTED ==> ' XPC-FLD0591E. + IF FLD0592B (1:) NOT EQUAL XPC-FLD0592B + DISPLAY 'FLD0592B ==> ' FLD0592B + DISPLAY 'EXPECTED ==> ' XPC-FLD0592B. + IF FLD0592E NOT EQUAL XPC-FLD0592E + DISPLAY 'FLD0592E ==> ' FLD0592E + DISPLAY 'EXPECTED ==> ' XPC-FLD0592E. + IF FLD0593B (1:) NOT EQUAL XPC-FLD0593B + DISPLAY 'FLD0593B ==> ' FLD0593B + DISPLAY 'EXPECTED ==> ' XPC-FLD0593B. + IF FLD0593E NOT EQUAL XPC-FLD0593E + DISPLAY 'FLD0593E ==> ' FLD0593E + DISPLAY 'EXPECTED ==> ' XPC-FLD0593E. + IF FLD0594B (1:) NOT EQUAL XPC-FLD0594B + DISPLAY 'FLD0594B ==> ' FLD0594B + DISPLAY 'EXPECTED ==> ' XPC-FLD0594B. + IF FLD0594E NOT EQUAL XPC-FLD0594E + DISPLAY 'FLD0594E ==> ' FLD0594E + DISPLAY 'EXPECTED ==> ' XPC-FLD0594E. + IF FLD0595B (1:) NOT EQUAL XPC-FLD0595B + DISPLAY 'FLD0595B ==> ' FLD0595B + DISPLAY 'EXPECTED ==> ' XPC-FLD0595B. + IF FLD0595E NOT EQUAL XPC-FLD0595E + DISPLAY 'FLD0595E ==> ' FLD0595E + DISPLAY 'EXPECTED ==> ' XPC-FLD0595E. + IF FLD0596B (1:) NOT EQUAL XPC-FLD0596B + DISPLAY 'FLD0596B ==> ' FLD0596B + DISPLAY 'EXPECTED ==> ' XPC-FLD0596B. + IF FLD0596E NOT EQUAL XPC-FLD0596E + DISPLAY 'FLD0596E ==> ' FLD0596E + DISPLAY 'EXPECTED ==> ' XPC-FLD0596E. + IF FLD0597B (1:) NOT EQUAL XPC-FLD0597B + DISPLAY 'FLD0597B ==> ' FLD0597B + DISPLAY 'EXPECTED ==> ' XPC-FLD0597B. + IF FLD0597E NOT EQUAL XPC-FLD0597E + DISPLAY 'FLD0597E ==> ' FLD0597E + DISPLAY 'EXPECTED ==> ' XPC-FLD0597E. + IF FLD0598B (1:) NOT EQUAL XPC-FLD0598B + DISPLAY 'FLD0598B ==> ' FLD0598B + DISPLAY 'EXPECTED ==> ' XPC-FLD0598B. + IF FLD0598E NOT EQUAL XPC-FLD0598E + DISPLAY 'FLD0598E ==> ' FLD0598E + DISPLAY 'EXPECTED ==> ' XPC-FLD0598E. + IF FLD0599B (1:) NOT EQUAL XPC-FLD0599B + DISPLAY 'FLD0599B ==> ' FLD0599B + DISPLAY 'EXPECTED ==> ' XPC-FLD0599B. + IF FLD0599E NOT EQUAL XPC-FLD0599E + DISPLAY 'FLD0599E ==> ' FLD0599E + DISPLAY 'EXPECTED ==> ' XPC-FLD0599E. + IF FLD0600B (1:) NOT EQUAL XPC-FLD0600B + DISPLAY 'FLD0600B ==> ' FLD0600B + DISPLAY 'EXPECTED ==> ' XPC-FLD0600B. + IF FLD0600E NOT EQUAL XPC-FLD0600E + DISPLAY 'FLD0600E ==> ' FLD0600E + DISPLAY 'EXPECTED ==> ' XPC-FLD0600E. + IF FLD0601B (1:) NOT EQUAL XPC-FLD0601B + DISPLAY 'FLD0601B ==> ' FLD0601B + DISPLAY 'EXPECTED ==> ' XPC-FLD0601B. + IF FLD0601E NOT EQUAL XPC-FLD0601E + DISPLAY 'FLD0601E ==> ' FLD0601E + DISPLAY 'EXPECTED ==> ' XPC-FLD0601E. + IF FLD0602B (1:) NOT EQUAL XPC-FLD0602B + DISPLAY 'FLD0602B ==> ' FLD0602B + DISPLAY 'EXPECTED ==> ' XPC-FLD0602B. + IF FLD0602E NOT EQUAL XPC-FLD0602E + DISPLAY 'FLD0602E ==> ' FLD0602E + DISPLAY 'EXPECTED ==> ' XPC-FLD0602E. + IF FLD0603B (1:) NOT EQUAL XPC-FLD0603B + DISPLAY 'FLD0603B ==> ' FLD0603B + DISPLAY 'EXPECTED ==> ' XPC-FLD0603B. + IF FLD0603E NOT EQUAL XPC-FLD0603E + DISPLAY 'FLD0603E ==> ' FLD0603E + DISPLAY 'EXPECTED ==> ' XPC-FLD0603E. + IF FLD0604B (1:) NOT EQUAL XPC-FLD0604B + DISPLAY 'FLD0604B ==> ' FLD0604B + DISPLAY 'EXPECTED ==> ' XPC-FLD0604B. + IF FLD0604E NOT EQUAL XPC-FLD0604E + DISPLAY 'FLD0604E ==> ' FLD0604E + DISPLAY 'EXPECTED ==> ' XPC-FLD0604E. + IF FLD0605B (1:) NOT EQUAL XPC-FLD0605B + DISPLAY 'FLD0605B ==> ' FLD0605B + DISPLAY 'EXPECTED ==> ' XPC-FLD0605B. + IF FLD0605E NOT EQUAL XPC-FLD0605E + DISPLAY 'FLD0605E ==> ' FLD0605E + DISPLAY 'EXPECTED ==> ' XPC-FLD0605E. + IF FLD0606B (1:) NOT EQUAL XPC-FLD0606B + DISPLAY 'FLD0606B ==> ' FLD0606B + DISPLAY 'EXPECTED ==> ' XPC-FLD0606B. + IF FLD0606E NOT EQUAL XPC-FLD0606E + DISPLAY 'FLD0606E ==> ' FLD0606E + DISPLAY 'EXPECTED ==> ' XPC-FLD0606E. + IF FLD0607B (1:) NOT EQUAL XPC-FLD0607B + DISPLAY 'FLD0607B ==> ' FLD0607B + DISPLAY 'EXPECTED ==> ' XPC-FLD0607B. + IF FLD0607E NOT EQUAL XPC-FLD0607E + DISPLAY 'FLD0607E ==> ' FLD0607E + DISPLAY 'EXPECTED ==> ' XPC-FLD0607E. + IF FLD0608B (1:) NOT EQUAL XPC-FLD0608B + DISPLAY 'FLD0608B ==> ' FLD0608B + DISPLAY 'EXPECTED ==> ' XPC-FLD0608B. + IF FLD0608E NOT EQUAL XPC-FLD0608E + DISPLAY 'FLD0608E ==> ' FLD0608E + DISPLAY 'EXPECTED ==> ' XPC-FLD0608E. + IF FLD0609B (1:) NOT EQUAL XPC-FLD0609B + DISPLAY 'FLD0609B ==> ' FLD0609B + DISPLAY 'EXPECTED ==> ' XPC-FLD0609B. + IF FLD0609E NOT EQUAL XPC-FLD0609E + DISPLAY 'FLD0609E ==> ' FLD0609E + DISPLAY 'EXPECTED ==> ' XPC-FLD0609E. + IF FLD0610B (1:) NOT EQUAL XPC-FLD0610B + DISPLAY 'FLD0610B ==> ' FLD0610B + DISPLAY 'EXPECTED ==> ' XPC-FLD0610B. + IF FLD0610E NOT EQUAL XPC-FLD0610E + DISPLAY 'FLD0610E ==> ' FLD0610E + DISPLAY 'EXPECTED ==> ' XPC-FLD0610E. + IF FLD0611B (1:) NOT EQUAL XPC-FLD0611B + DISPLAY 'FLD0611B ==> ' FLD0611B + DISPLAY 'EXPECTED ==> ' XPC-FLD0611B. + IF FLD0611E NOT EQUAL XPC-FLD0611E + DISPLAY 'FLD0611E ==> ' FLD0611E + DISPLAY 'EXPECTED ==> ' XPC-FLD0611E. + IF FLD0612B (1:) NOT EQUAL XPC-FLD0612B + DISPLAY 'FLD0612B ==> ' FLD0612B + DISPLAY 'EXPECTED ==> ' XPC-FLD0612B. + IF FLD0612E NOT EQUAL XPC-FLD0612E + DISPLAY 'FLD0612E ==> ' FLD0612E + DISPLAY 'EXPECTED ==> ' XPC-FLD0612E. + IF FLD0613B (1:) NOT EQUAL XPC-FLD0613B + DISPLAY 'FLD0613B ==> ' FLD0613B + DISPLAY 'EXPECTED ==> ' XPC-FLD0613B. + IF FLD0613E NOT EQUAL XPC-FLD0613E + DISPLAY 'FLD0613E ==> ' FLD0613E + DISPLAY 'EXPECTED ==> ' XPC-FLD0613E. + IF FLD0614B (1:) NOT EQUAL XPC-FLD0614B + DISPLAY 'FLD0614B ==> ' FLD0614B + DISPLAY 'EXPECTED ==> ' XPC-FLD0614B. + IF FLD0614E NOT EQUAL XPC-FLD0614E + DISPLAY 'FLD0614E ==> ' FLD0614E + DISPLAY 'EXPECTED ==> ' XPC-FLD0614E. + IF FLD0615B (1:) NOT EQUAL XPC-FLD0615B + DISPLAY 'FLD0615B ==> ' FLD0615B + DISPLAY 'EXPECTED ==> ' XPC-FLD0615B. + IF FLD0615E NOT EQUAL XPC-FLD0615E + DISPLAY 'FLD0615E ==> ' FLD0615E + DISPLAY 'EXPECTED ==> ' XPC-FLD0615E. + IF FLD0616B (1:) NOT EQUAL XPC-FLD0616B + DISPLAY 'FLD0616B ==> ' FLD0616B + DISPLAY 'EXPECTED ==> ' XPC-FLD0616B. + IF FLD0616E NOT EQUAL XPC-FLD0616E + DISPLAY 'FLD0616E ==> ' FLD0616E + DISPLAY 'EXPECTED ==> ' XPC-FLD0616E. + IF FLD0617B (1:) NOT EQUAL XPC-FLD0617B + DISPLAY 'FLD0617B ==> ' FLD0617B + DISPLAY 'EXPECTED ==> ' XPC-FLD0617B. + IF FLD0617E NOT EQUAL XPC-FLD0617E + DISPLAY 'FLD0617E ==> ' FLD0617E + DISPLAY 'EXPECTED ==> ' XPC-FLD0617E. + IF FLD0618B (1:) NOT EQUAL XPC-FLD0618B + DISPLAY 'FLD0618B ==> ' FLD0618B + DISPLAY 'EXPECTED ==> ' XPC-FLD0618B. + IF FLD0618E NOT EQUAL XPC-FLD0618E + DISPLAY 'FLD0618E ==> ' FLD0618E + DISPLAY 'EXPECTED ==> ' XPC-FLD0618E. + IF FLD0619B (1:) NOT EQUAL XPC-FLD0619B + DISPLAY 'FLD0619B ==> ' FLD0619B + DISPLAY 'EXPECTED ==> ' XPC-FLD0619B. + IF FLD0619E NOT EQUAL XPC-FLD0619E + DISPLAY 'FLD0619E ==> ' FLD0619E + DISPLAY 'EXPECTED ==> ' XPC-FLD0619E. + IF FLD0620B (1:) NOT EQUAL XPC-FLD0620B + DISPLAY 'FLD0620B ==> ' FLD0620B + DISPLAY 'EXPECTED ==> ' XPC-FLD0620B. + IF FLD0620E NOT EQUAL XPC-FLD0620E + DISPLAY 'FLD0620E ==> ' FLD0620E + DISPLAY 'EXPECTED ==> ' XPC-FLD0620E. + IF FLD0621B (1:) NOT EQUAL XPC-FLD0621B + DISPLAY 'FLD0621B ==> ' FLD0621B + DISPLAY 'EXPECTED ==> ' XPC-FLD0621B. + IF FLD0621E NOT EQUAL XPC-FLD0621E + DISPLAY 'FLD0621E ==> ' FLD0621E + DISPLAY 'EXPECTED ==> ' XPC-FLD0621E. + IF FLD0622B (1:) NOT EQUAL XPC-FLD0622B + DISPLAY 'FLD0622B ==> ' FLD0622B + DISPLAY 'EXPECTED ==> ' XPC-FLD0622B. + IF FLD0622E NOT EQUAL XPC-FLD0622E + DISPLAY 'FLD0622E ==> ' FLD0622E + DISPLAY 'EXPECTED ==> ' XPC-FLD0622E. + IF FLD0623B (1:) NOT EQUAL XPC-FLD0623B + DISPLAY 'FLD0623B ==> ' FLD0623B + DISPLAY 'EXPECTED ==> ' XPC-FLD0623B. + IF FLD0623E NOT EQUAL XPC-FLD0623E + DISPLAY 'FLD0623E ==> ' FLD0623E + DISPLAY 'EXPECTED ==> ' XPC-FLD0623E. + IF FLD0624B (1:) NOT EQUAL XPC-FLD0624B + DISPLAY 'FLD0624B ==> ' FLD0624B + DISPLAY 'EXPECTED ==> ' XPC-FLD0624B. + IF FLD0624E NOT EQUAL XPC-FLD0624E + DISPLAY 'FLD0624E ==> ' FLD0624E + DISPLAY 'EXPECTED ==> ' XPC-FLD0624E. + IF FLD0625B (1:) NOT EQUAL XPC-FLD0625B + DISPLAY 'FLD0625B ==> ' FLD0625B + DISPLAY 'EXPECTED ==> ' XPC-FLD0625B. + IF FLD0625E NOT EQUAL XPC-FLD0625E + DISPLAY 'FLD0625E ==> ' FLD0625E + DISPLAY 'EXPECTED ==> ' XPC-FLD0625E. + IF FLD0626B (1:) NOT EQUAL XPC-FLD0626B + DISPLAY 'FLD0626B ==> ' FLD0626B + DISPLAY 'EXPECTED ==> ' XPC-FLD0626B. + IF FLD0626E NOT EQUAL XPC-FLD0626E + DISPLAY 'FLD0626E ==> ' FLD0626E + DISPLAY 'EXPECTED ==> ' XPC-FLD0626E. + IF FLD0627B (1:) NOT EQUAL XPC-FLD0627B + DISPLAY 'FLD0627B ==> ' FLD0627B + DISPLAY 'EXPECTED ==> ' XPC-FLD0627B. + IF FLD0627E NOT EQUAL XPC-FLD0627E + DISPLAY 'FLD0627E ==> ' FLD0627E + DISPLAY 'EXPECTED ==> ' XPC-FLD0627E. + IF FLD0628B (1:) NOT EQUAL XPC-FLD0628B + DISPLAY 'FLD0628B ==> ' FLD0628B + DISPLAY 'EXPECTED ==> ' XPC-FLD0628B. + IF FLD0628E NOT EQUAL XPC-FLD0628E + DISPLAY 'FLD0628E ==> ' FLD0628E + DISPLAY 'EXPECTED ==> ' XPC-FLD0628E. + IF FLD0629B (1:) NOT EQUAL XPC-FLD0629B + DISPLAY 'FLD0629B ==> ' FLD0629B + DISPLAY 'EXPECTED ==> ' XPC-FLD0629B. + IF FLD0629E NOT EQUAL XPC-FLD0629E + DISPLAY 'FLD0629E ==> ' FLD0629E + DISPLAY 'EXPECTED ==> ' XPC-FLD0629E. + IF FLD0630B (1:) NOT EQUAL XPC-FLD0630B + DISPLAY 'FLD0630B ==> ' FLD0630B + DISPLAY 'EXPECTED ==> ' XPC-FLD0630B. + IF FLD0630E NOT EQUAL XPC-FLD0630E + DISPLAY 'FLD0630E ==> ' FLD0630E + DISPLAY 'EXPECTED ==> ' XPC-FLD0630E. + IF FLD0631B (1:) NOT EQUAL XPC-FLD0631B + DISPLAY 'FLD0631B ==> ' FLD0631B + DISPLAY 'EXPECTED ==> ' XPC-FLD0631B. + IF FLD0631E NOT EQUAL XPC-FLD0631E + DISPLAY 'FLD0631E ==> ' FLD0631E + DISPLAY 'EXPECTED ==> ' XPC-FLD0631E. + IF FLD0632B (1:) NOT EQUAL XPC-FLD0632B + DISPLAY 'FLD0632B ==> ' FLD0632B + DISPLAY 'EXPECTED ==> ' XPC-FLD0632B. + IF FLD0632E NOT EQUAL XPC-FLD0632E + DISPLAY 'FLD0632E ==> ' FLD0632E + DISPLAY 'EXPECTED ==> ' XPC-FLD0632E. + IF FLD0633B (1:) NOT EQUAL XPC-FLD0633B + DISPLAY 'FLD0633B ==> ' FLD0633B + DISPLAY 'EXPECTED ==> ' XPC-FLD0633B. + IF FLD0633E NOT EQUAL XPC-FLD0633E + DISPLAY 'FLD0633E ==> ' FLD0633E + DISPLAY 'EXPECTED ==> ' XPC-FLD0633E. + IF FLD0634B (1:) NOT EQUAL XPC-FLD0634B + DISPLAY 'FLD0634B ==> ' FLD0634B + DISPLAY 'EXPECTED ==> ' XPC-FLD0634B. + IF FLD0634E NOT EQUAL XPC-FLD0634E + DISPLAY 'FLD0634E ==> ' FLD0634E + DISPLAY 'EXPECTED ==> ' XPC-FLD0634E. + IF FLD0635B (1:) NOT EQUAL XPC-FLD0635B + DISPLAY 'FLD0635B ==> ' FLD0635B + DISPLAY 'EXPECTED ==> ' XPC-FLD0635B. + IF FLD0635E NOT EQUAL XPC-FLD0635E + DISPLAY 'FLD0635E ==> ' FLD0635E + DISPLAY 'EXPECTED ==> ' XPC-FLD0635E. + IF FLD0636B (1:) NOT EQUAL XPC-FLD0636B + DISPLAY 'FLD0636B ==> ' FLD0636B + DISPLAY 'EXPECTED ==> ' XPC-FLD0636B. + IF FLD0636E NOT EQUAL XPC-FLD0636E + DISPLAY 'FLD0636E ==> ' FLD0636E + DISPLAY 'EXPECTED ==> ' XPC-FLD0636E. + IF FLD0637B (1:) NOT EQUAL XPC-FLD0637B + DISPLAY 'FLD0637B ==> ' FLD0637B + DISPLAY 'EXPECTED ==> ' XPC-FLD0637B. + IF FLD0637E NOT EQUAL XPC-FLD0637E + DISPLAY 'FLD0637E ==> ' FLD0637E + DISPLAY 'EXPECTED ==> ' XPC-FLD0637E. + IF FLD0638B (1:) NOT EQUAL XPC-FLD0638B + DISPLAY 'FLD0638B ==> ' FLD0638B + DISPLAY 'EXPECTED ==> ' XPC-FLD0638B. + IF FLD0638E NOT EQUAL XPC-FLD0638E + DISPLAY 'FLD0638E ==> ' FLD0638E + DISPLAY 'EXPECTED ==> ' XPC-FLD0638E. + IF FLD0639B (1:) NOT EQUAL XPC-FLD0639B + DISPLAY 'FLD0639B ==> ' FLD0639B + DISPLAY 'EXPECTED ==> ' XPC-FLD0639B. + IF FLD0639E NOT EQUAL XPC-FLD0639E + DISPLAY 'FLD0639E ==> ' FLD0639E + DISPLAY 'EXPECTED ==> ' XPC-FLD0639E. + IF FLD0640B (1:) NOT EQUAL XPC-FLD0640B + DISPLAY 'FLD0640B ==> ' FLD0640B + DISPLAY 'EXPECTED ==> ' XPC-FLD0640B. + IF FLD0640E NOT EQUAL XPC-FLD0640E + DISPLAY 'FLD0640E ==> ' FLD0640E + DISPLAY 'EXPECTED ==> ' XPC-FLD0640E. + IF FLD0641B (1:) NOT EQUAL XPC-FLD0641B + DISPLAY 'FLD0641B ==> ' FLD0641B + DISPLAY 'EXPECTED ==> ' XPC-FLD0641B. + IF FLD0641E NOT EQUAL XPC-FLD0641E + DISPLAY 'FLD0641E ==> ' FLD0641E + DISPLAY 'EXPECTED ==> ' XPC-FLD0641E. + IF FLD0642B (1:) NOT EQUAL XPC-FLD0642B + DISPLAY 'FLD0642B ==> ' FLD0642B + DISPLAY 'EXPECTED ==> ' XPC-FLD0642B. + IF FLD0642E NOT EQUAL XPC-FLD0642E + DISPLAY 'FLD0642E ==> ' FLD0642E + DISPLAY 'EXPECTED ==> ' XPC-FLD0642E. + IF FLD0643B (1:) NOT EQUAL XPC-FLD0643B + DISPLAY 'FLD0643B ==> ' FLD0643B + DISPLAY 'EXPECTED ==> ' XPC-FLD0643B. + IF FLD0643E NOT EQUAL XPC-FLD0643E + DISPLAY 'FLD0643E ==> ' FLD0643E + DISPLAY 'EXPECTED ==> ' XPC-FLD0643E. + IF FLD0644B (1:) NOT EQUAL XPC-FLD0644B + DISPLAY 'FLD0644B ==> ' FLD0644B + DISPLAY 'EXPECTED ==> ' XPC-FLD0644B. + IF FLD0644E NOT EQUAL XPC-FLD0644E + DISPLAY 'FLD0644E ==> ' FLD0644E + DISPLAY 'EXPECTED ==> ' XPC-FLD0644E. + IF FLD0645B (1:) NOT EQUAL XPC-FLD0645B + DISPLAY 'FLD0645B ==> ' FLD0645B + DISPLAY 'EXPECTED ==> ' XPC-FLD0645B. + IF FLD0645E NOT EQUAL XPC-FLD0645E + DISPLAY 'FLD0645E ==> ' FLD0645E + DISPLAY 'EXPECTED ==> ' XPC-FLD0645E. + IF FLD0646B (1:) NOT EQUAL XPC-FLD0646B + DISPLAY 'FLD0646B ==> ' FLD0646B + DISPLAY 'EXPECTED ==> ' XPC-FLD0646B. + IF FLD0646E NOT EQUAL XPC-FLD0646E + DISPLAY 'FLD0646E ==> ' FLD0646E + DISPLAY 'EXPECTED ==> ' XPC-FLD0646E. + IF FLD0647B (1:) NOT EQUAL XPC-FLD0647B + DISPLAY 'FLD0647B ==> ' FLD0647B + DISPLAY 'EXPECTED ==> ' XPC-FLD0647B. + IF FLD0647E NOT EQUAL XPC-FLD0647E + DISPLAY 'FLD0647E ==> ' FLD0647E + DISPLAY 'EXPECTED ==> ' XPC-FLD0647E. + IF FLD0648B (1:) NOT EQUAL XPC-FLD0648B + DISPLAY 'FLD0648B ==> ' FLD0648B + DISPLAY 'EXPECTED ==> ' XPC-FLD0648B. + IF FLD0648E NOT EQUAL XPC-FLD0648E + DISPLAY 'FLD0648E ==> ' FLD0648E + DISPLAY 'EXPECTED ==> ' XPC-FLD0648E. + IF FLD0649B (1:) NOT EQUAL XPC-FLD0649B + DISPLAY 'FLD0649B ==> ' FLD0649B + DISPLAY 'EXPECTED ==> ' XPC-FLD0649B. + IF FLD0649E NOT EQUAL XPC-FLD0649E + DISPLAY 'FLD0649E ==> ' FLD0649E + DISPLAY 'EXPECTED ==> ' XPC-FLD0649E. + IF FLD0650B (1:) NOT EQUAL XPC-FLD0650B + DISPLAY 'FLD0650B ==> ' FLD0650B + DISPLAY 'EXPECTED ==> ' XPC-FLD0650B. + IF FLD0650E NOT EQUAL XPC-FLD0650E + DISPLAY 'FLD0650E ==> ' FLD0650E + DISPLAY 'EXPECTED ==> ' XPC-FLD0650E. + IF FLD0651B (1:) NOT EQUAL XPC-FLD0651B + DISPLAY 'FLD0651B ==> ' FLD0651B + DISPLAY 'EXPECTED ==> ' XPC-FLD0651B. + IF FLD0651E NOT EQUAL XPC-FLD0651E + DISPLAY 'FLD0651E ==> ' FLD0651E + DISPLAY 'EXPECTED ==> ' XPC-FLD0651E. + IF FLD0652B (1:) NOT EQUAL XPC-FLD0652B + DISPLAY 'FLD0652B ==> ' FLD0652B + DISPLAY 'EXPECTED ==> ' XPC-FLD0652B. + IF FLD0652E NOT EQUAL XPC-FLD0652E + DISPLAY 'FLD0652E ==> ' FLD0652E + DISPLAY 'EXPECTED ==> ' XPC-FLD0652E. + IF FLD0653B (1:) NOT EQUAL XPC-FLD0653B + DISPLAY 'FLD0653B ==> ' FLD0653B + DISPLAY 'EXPECTED ==> ' XPC-FLD0653B. + IF FLD0653E NOT EQUAL XPC-FLD0653E + DISPLAY 'FLD0653E ==> ' FLD0653E + DISPLAY 'EXPECTED ==> ' XPC-FLD0653E. + IF FLD0654B (1:) NOT EQUAL XPC-FLD0654B + DISPLAY 'FLD0654B ==> ' FLD0654B + DISPLAY 'EXPECTED ==> ' XPC-FLD0654B. + IF FLD0654E NOT EQUAL XPC-FLD0654E + DISPLAY 'FLD0654E ==> ' FLD0654E + DISPLAY 'EXPECTED ==> ' XPC-FLD0654E. + IF FLD0655B (1:) NOT EQUAL XPC-FLD0655B + DISPLAY 'FLD0655B ==> ' FLD0655B + DISPLAY 'EXPECTED ==> ' XPC-FLD0655B. + IF FLD0655E NOT EQUAL XPC-FLD0655E + DISPLAY 'FLD0655E ==> ' FLD0655E + DISPLAY 'EXPECTED ==> ' XPC-FLD0655E. + IF FLD0656B (1:) NOT EQUAL XPC-FLD0656B + DISPLAY 'FLD0656B ==> ' FLD0656B + DISPLAY 'EXPECTED ==> ' XPC-FLD0656B. + IF FLD0656E NOT EQUAL XPC-FLD0656E + DISPLAY 'FLD0656E ==> ' FLD0656E + DISPLAY 'EXPECTED ==> ' XPC-FLD0656E. + IF FLD0657B (1:) NOT EQUAL XPC-FLD0657B + DISPLAY 'FLD0657B ==> ' FLD0657B + DISPLAY 'EXPECTED ==> ' XPC-FLD0657B. + IF FLD0657E NOT EQUAL XPC-FLD0657E + DISPLAY 'FLD0657E ==> ' FLD0657E + DISPLAY 'EXPECTED ==> ' XPC-FLD0657E. + IF FLD0658B (1:) NOT EQUAL XPC-FLD0658B + DISPLAY 'FLD0658B ==> ' FLD0658B + DISPLAY 'EXPECTED ==> ' XPC-FLD0658B. + IF FLD0658E NOT EQUAL XPC-FLD0658E + DISPLAY 'FLD0658E ==> ' FLD0658E + DISPLAY 'EXPECTED ==> ' XPC-FLD0658E. + IF FLD0659B (1:) NOT EQUAL XPC-FLD0659B + DISPLAY 'FLD0659B ==> ' FLD0659B + DISPLAY 'EXPECTED ==> ' XPC-FLD0659B. + IF FLD0659E NOT EQUAL XPC-FLD0659E + DISPLAY 'FLD0659E ==> ' FLD0659E + DISPLAY 'EXPECTED ==> ' XPC-FLD0659E. + IF FLD0660B (1:) NOT EQUAL XPC-FLD0660B + DISPLAY 'FLD0660B ==> ' FLD0660B + DISPLAY 'EXPECTED ==> ' XPC-FLD0660B. + IF FLD0660E NOT EQUAL XPC-FLD0660E + DISPLAY 'FLD0660E ==> ' FLD0660E + DISPLAY 'EXPECTED ==> ' XPC-FLD0660E. + IF FLD0661B (1:) NOT EQUAL XPC-FLD0661B + DISPLAY 'FLD0661B ==> ' FLD0661B + DISPLAY 'EXPECTED ==> ' XPC-FLD0661B. + IF FLD0661E NOT EQUAL XPC-FLD0661E + DISPLAY 'FLD0661E ==> ' FLD0661E + DISPLAY 'EXPECTED ==> ' XPC-FLD0661E. + IF FLD0662B (1:) NOT EQUAL XPC-FLD0662B + DISPLAY 'FLD0662B ==> ' FLD0662B + DISPLAY 'EXPECTED ==> ' XPC-FLD0662B. + IF FLD0662E NOT EQUAL XPC-FLD0662E + DISPLAY 'FLD0662E ==> ' FLD0662E + DISPLAY 'EXPECTED ==> ' XPC-FLD0662E. + IF FLD0663B (1:) NOT EQUAL XPC-FLD0663B + DISPLAY 'FLD0663B ==> ' FLD0663B + DISPLAY 'EXPECTED ==> ' XPC-FLD0663B. + IF FLD0663E NOT EQUAL XPC-FLD0663E + DISPLAY 'FLD0663E ==> ' FLD0663E + DISPLAY 'EXPECTED ==> ' XPC-FLD0663E. + IF FLD0664B (1:) NOT EQUAL XPC-FLD0664B + DISPLAY 'FLD0664B ==> ' FLD0664B + DISPLAY 'EXPECTED ==> ' XPC-FLD0664B. + IF FLD0664E NOT EQUAL XPC-FLD0664E + DISPLAY 'FLD0664E ==> ' FLD0664E + DISPLAY 'EXPECTED ==> ' XPC-FLD0664E. + IF FLD0665B (1:) NOT EQUAL XPC-FLD0665B + DISPLAY 'FLD0665B ==> ' FLD0665B + DISPLAY 'EXPECTED ==> ' XPC-FLD0665B. + IF FLD0665E NOT EQUAL XPC-FLD0665E + DISPLAY 'FLD0665E ==> ' FLD0665E + DISPLAY 'EXPECTED ==> ' XPC-FLD0665E. + IF FLD0666B (1:) NOT EQUAL XPC-FLD0666B + DISPLAY 'FLD0666B ==> ' FLD0666B + DISPLAY 'EXPECTED ==> ' XPC-FLD0666B. + IF FLD0666E NOT EQUAL XPC-FLD0666E + DISPLAY 'FLD0666E ==> ' FLD0666E + DISPLAY 'EXPECTED ==> ' XPC-FLD0666E. + IF FLD0667B (1:) NOT EQUAL XPC-FLD0667B + DISPLAY 'FLD0667B ==> ' FLD0667B + DISPLAY 'EXPECTED ==> ' XPC-FLD0667B. + IF FLD0667E NOT EQUAL XPC-FLD0667E + DISPLAY 'FLD0667E ==> ' FLD0667E + DISPLAY 'EXPECTED ==> ' XPC-FLD0667E. + IF FLD0668B (1:) NOT EQUAL XPC-FLD0668B + DISPLAY 'FLD0668B ==> ' FLD0668B + DISPLAY 'EXPECTED ==> ' XPC-FLD0668B. + IF FLD0668E NOT EQUAL XPC-FLD0668E + DISPLAY 'FLD0668E ==> ' FLD0668E + DISPLAY 'EXPECTED ==> ' XPC-FLD0668E. + IF FLD0669B (1:) NOT EQUAL XPC-FLD0669B + DISPLAY 'FLD0669B ==> ' FLD0669B + DISPLAY 'EXPECTED ==> ' XPC-FLD0669B. + IF FLD0669E NOT EQUAL XPC-FLD0669E + DISPLAY 'FLD0669E ==> ' FLD0669E + DISPLAY 'EXPECTED ==> ' XPC-FLD0669E. + IF FLD0670B (1:) NOT EQUAL XPC-FLD0670B + DISPLAY 'FLD0670B ==> ' FLD0670B + DISPLAY 'EXPECTED ==> ' XPC-FLD0670B. + IF FLD0670E NOT EQUAL XPC-FLD0670E + DISPLAY 'FLD0670E ==> ' FLD0670E + DISPLAY 'EXPECTED ==> ' XPC-FLD0670E. + IF FLD0671B (1:) NOT EQUAL XPC-FLD0671B + DISPLAY 'FLD0671B ==> ' FLD0671B + DISPLAY 'EXPECTED ==> ' XPC-FLD0671B. + IF FLD0671E NOT EQUAL XPC-FLD0671E + DISPLAY 'FLD0671E ==> ' FLD0671E + DISPLAY 'EXPECTED ==> ' XPC-FLD0671E. + IF FLD0672B (1:) NOT EQUAL XPC-FLD0672B + DISPLAY 'FLD0672B ==> ' FLD0672B + DISPLAY 'EXPECTED ==> ' XPC-FLD0672B. + IF FLD0672E NOT EQUAL XPC-FLD0672E + DISPLAY 'FLD0672E ==> ' FLD0672E + DISPLAY 'EXPECTED ==> ' XPC-FLD0672E. + IF FLD0673B (1:) NOT EQUAL XPC-FLD0673B + DISPLAY 'FLD0673B ==> ' FLD0673B + DISPLAY 'EXPECTED ==> ' XPC-FLD0673B. + IF FLD0673E NOT EQUAL XPC-FLD0673E + DISPLAY 'FLD0673E ==> ' FLD0673E + DISPLAY 'EXPECTED ==> ' XPC-FLD0673E. + IF FLD0674B (1:) NOT EQUAL XPC-FLD0674B + DISPLAY 'FLD0674B ==> ' FLD0674B + DISPLAY 'EXPECTED ==> ' XPC-FLD0674B. + IF FLD0674E NOT EQUAL XPC-FLD0674E + DISPLAY 'FLD0674E ==> ' FLD0674E + DISPLAY 'EXPECTED ==> ' XPC-FLD0674E. + IF FLD0675B (1:) NOT EQUAL XPC-FLD0675B + DISPLAY 'FLD0675B ==> ' FLD0675B + DISPLAY 'EXPECTED ==> ' XPC-FLD0675B. + IF FLD0675E NOT EQUAL XPC-FLD0675E + DISPLAY 'FLD0675E ==> ' FLD0675E + DISPLAY 'EXPECTED ==> ' XPC-FLD0675E. + IF FLD0676B (1:) NOT EQUAL XPC-FLD0676B + DISPLAY 'FLD0676B ==> ' FLD0676B + DISPLAY 'EXPECTED ==> ' XPC-FLD0676B. + IF FLD0676E NOT EQUAL XPC-FLD0676E + DISPLAY 'FLD0676E ==> ' FLD0676E + DISPLAY 'EXPECTED ==> ' XPC-FLD0676E. + IF FLD0677B (1:) NOT EQUAL XPC-FLD0677B + DISPLAY 'FLD0677B ==> ' FLD0677B + DISPLAY 'EXPECTED ==> ' XPC-FLD0677B. + IF FLD0677E NOT EQUAL XPC-FLD0677E + DISPLAY 'FLD0677E ==> ' FLD0677E + DISPLAY 'EXPECTED ==> ' XPC-FLD0677E. + IF FLD0678B (1:) NOT EQUAL XPC-FLD0678B + DISPLAY 'FLD0678B ==> ' FLD0678B + DISPLAY 'EXPECTED ==> ' XPC-FLD0678B. + IF FLD0678E NOT EQUAL XPC-FLD0678E + DISPLAY 'FLD0678E ==> ' FLD0678E + DISPLAY 'EXPECTED ==> ' XPC-FLD0678E. + IF FLD0679B (1:) NOT EQUAL XPC-FLD0679B + DISPLAY 'FLD0679B ==> ' FLD0679B + DISPLAY 'EXPECTED ==> ' XPC-FLD0679B. + IF FLD0679E NOT EQUAL XPC-FLD0679E + DISPLAY 'FLD0679E ==> ' FLD0679E + DISPLAY 'EXPECTED ==> ' XPC-FLD0679E. + IF FLD0680B (1:) NOT EQUAL XPC-FLD0680B + DISPLAY 'FLD0680B ==> ' FLD0680B + DISPLAY 'EXPECTED ==> ' XPC-FLD0680B. + IF FLD0680E NOT EQUAL XPC-FLD0680E + DISPLAY 'FLD0680E ==> ' FLD0680E + DISPLAY 'EXPECTED ==> ' XPC-FLD0680E. + IF FLD0681B (1:) NOT EQUAL XPC-FLD0681B + DISPLAY 'FLD0681B ==> ' FLD0681B + DISPLAY 'EXPECTED ==> ' XPC-FLD0681B. + IF FLD0681E NOT EQUAL XPC-FLD0681E + DISPLAY 'FLD0681E ==> ' FLD0681E + DISPLAY 'EXPECTED ==> ' XPC-FLD0681E. + IF FLD0682B (1:) NOT EQUAL XPC-FLD0682B + DISPLAY 'FLD0682B ==> ' FLD0682B + DISPLAY 'EXPECTED ==> ' XPC-FLD0682B. + IF FLD0682E NOT EQUAL XPC-FLD0682E + DISPLAY 'FLD0682E ==> ' FLD0682E + DISPLAY 'EXPECTED ==> ' XPC-FLD0682E. + IF FLD0683B (1:) NOT EQUAL XPC-FLD0683B + DISPLAY 'FLD0683B ==> ' FLD0683B + DISPLAY 'EXPECTED ==> ' XPC-FLD0683B. + IF FLD0683E NOT EQUAL XPC-FLD0683E + DISPLAY 'FLD0683E ==> ' FLD0683E + DISPLAY 'EXPECTED ==> ' XPC-FLD0683E. + IF FLD0684B (1:) NOT EQUAL XPC-FLD0684B + DISPLAY 'FLD0684B ==> ' FLD0684B + DISPLAY 'EXPECTED ==> ' XPC-FLD0684B. + IF FLD0684E NOT EQUAL XPC-FLD0684E + DISPLAY 'FLD0684E ==> ' FLD0684E + DISPLAY 'EXPECTED ==> ' XPC-FLD0684E. + IF FLD0685B (1:) NOT EQUAL XPC-FLD0685B + DISPLAY 'FLD0685B ==> ' FLD0685B + DISPLAY 'EXPECTED ==> ' XPC-FLD0685B. + IF FLD0685E NOT EQUAL XPC-FLD0685E + DISPLAY 'FLD0685E ==> ' FLD0685E + DISPLAY 'EXPECTED ==> ' XPC-FLD0685E. + IF FLD0686B (1:) NOT EQUAL XPC-FLD0686B + DISPLAY 'FLD0686B ==> ' FLD0686B + DISPLAY 'EXPECTED ==> ' XPC-FLD0686B. + IF FLD0686E NOT EQUAL XPC-FLD0686E + DISPLAY 'FLD0686E ==> ' FLD0686E + DISPLAY 'EXPECTED ==> ' XPC-FLD0686E. + IF FLD0687B (1:) NOT EQUAL XPC-FLD0687B + DISPLAY 'FLD0687B ==> ' FLD0687B + DISPLAY 'EXPECTED ==> ' XPC-FLD0687B. + IF FLD0687E NOT EQUAL XPC-FLD0687E + DISPLAY 'FLD0687E ==> ' FLD0687E + DISPLAY 'EXPECTED ==> ' XPC-FLD0687E. + IF FLD0688B (1:) NOT EQUAL XPC-FLD0688B + DISPLAY 'FLD0688B ==> ' FLD0688B + DISPLAY 'EXPECTED ==> ' XPC-FLD0688B. + IF FLD0688E NOT EQUAL XPC-FLD0688E + DISPLAY 'FLD0688E ==> ' FLD0688E + DISPLAY 'EXPECTED ==> ' XPC-FLD0688E. + IF FLD0689B (1:) NOT EQUAL XPC-FLD0689B + DISPLAY 'FLD0689B ==> ' FLD0689B + DISPLAY 'EXPECTED ==> ' XPC-FLD0689B. + IF FLD0689E NOT EQUAL XPC-FLD0689E + DISPLAY 'FLD0689E ==> ' FLD0689E + DISPLAY 'EXPECTED ==> ' XPC-FLD0689E. + IF FLD0690B (1:) NOT EQUAL XPC-FLD0690B + DISPLAY 'FLD0690B ==> ' FLD0690B + DISPLAY 'EXPECTED ==> ' XPC-FLD0690B. + IF FLD0690E NOT EQUAL XPC-FLD0690E + DISPLAY 'FLD0690E ==> ' FLD0690E + DISPLAY 'EXPECTED ==> ' XPC-FLD0690E. + IF FLD0691B (1:) NOT EQUAL XPC-FLD0691B + DISPLAY 'FLD0691B ==> ' FLD0691B + DISPLAY 'EXPECTED ==> ' XPC-FLD0691B. + IF FLD0691E NOT EQUAL XPC-FLD0691E + DISPLAY 'FLD0691E ==> ' FLD0691E + DISPLAY 'EXPECTED ==> ' XPC-FLD0691E. + IF FLD0692B (1:) NOT EQUAL XPC-FLD0692B + DISPLAY 'FLD0692B ==> ' FLD0692B + DISPLAY 'EXPECTED ==> ' XPC-FLD0692B. + IF FLD0692E NOT EQUAL XPC-FLD0692E + DISPLAY 'FLD0692E ==> ' FLD0692E + DISPLAY 'EXPECTED ==> ' XPC-FLD0692E. + IF FLD0693B (1:) NOT EQUAL XPC-FLD0693B + DISPLAY 'FLD0693B ==> ' FLD0693B + DISPLAY 'EXPECTED ==> ' XPC-FLD0693B. + IF FLD0693E NOT EQUAL XPC-FLD0693E + DISPLAY 'FLD0693E ==> ' FLD0693E + DISPLAY 'EXPECTED ==> ' XPC-FLD0693E. + IF FLD0694B (1:) NOT EQUAL XPC-FLD0694B + DISPLAY 'FLD0694B ==> ' FLD0694B + DISPLAY 'EXPECTED ==> ' XPC-FLD0694B. + IF FLD0694E NOT EQUAL XPC-FLD0694E + DISPLAY 'FLD0694E ==> ' FLD0694E + DISPLAY 'EXPECTED ==> ' XPC-FLD0694E. + IF FLD0695B (1:) NOT EQUAL XPC-FLD0695B + DISPLAY 'FLD0695B ==> ' FLD0695B + DISPLAY 'EXPECTED ==> ' XPC-FLD0695B. + IF FLD0695E NOT EQUAL XPC-FLD0695E + DISPLAY 'FLD0695E ==> ' FLD0695E + DISPLAY 'EXPECTED ==> ' XPC-FLD0695E. + IF FLD0696B (1:) NOT EQUAL XPC-FLD0696B + DISPLAY 'FLD0696B ==> ' FLD0696B + DISPLAY 'EXPECTED ==> ' XPC-FLD0696B. + IF FLD0696E NOT EQUAL XPC-FLD0696E + DISPLAY 'FLD0696E ==> ' FLD0696E + DISPLAY 'EXPECTED ==> ' XPC-FLD0696E. + IF FLD0697B (1:) NOT EQUAL XPC-FLD0697B + DISPLAY 'FLD0697B ==> ' FLD0697B + DISPLAY 'EXPECTED ==> ' XPC-FLD0697B. + IF FLD0697E NOT EQUAL XPC-FLD0697E + DISPLAY 'FLD0697E ==> ' FLD0697E + DISPLAY 'EXPECTED ==> ' XPC-FLD0697E. + IF FLD0698B (1:) NOT EQUAL XPC-FLD0698B + DISPLAY 'FLD0698B ==> ' FLD0698B + DISPLAY 'EXPECTED ==> ' XPC-FLD0698B. + IF FLD0698E NOT EQUAL XPC-FLD0698E + DISPLAY 'FLD0698E ==> ' FLD0698E + DISPLAY 'EXPECTED ==> ' XPC-FLD0698E. + IF FLD0699B (1:) NOT EQUAL XPC-FLD0699B + DISPLAY 'FLD0699B ==> ' FLD0699B + DISPLAY 'EXPECTED ==> ' XPC-FLD0699B. + IF FLD0699E NOT EQUAL XPC-FLD0699E + DISPLAY 'FLD0699E ==> ' FLD0699E + DISPLAY 'EXPECTED ==> ' XPC-FLD0699E. + IF FLD0700B (1:) NOT EQUAL XPC-FLD0700B + DISPLAY 'FLD0700B ==> ' FLD0700B + DISPLAY 'EXPECTED ==> ' XPC-FLD0700B. + IF FLD0700E NOT EQUAL XPC-FLD0700E + DISPLAY 'FLD0700E ==> ' FLD0700E + DISPLAY 'EXPECTED ==> ' XPC-FLD0700E. + IF FLD0701B (1:) NOT EQUAL XPC-FLD0701B + DISPLAY 'FLD0701B ==> ' FLD0701B + DISPLAY 'EXPECTED ==> ' XPC-FLD0701B. + IF FLD0701E NOT EQUAL XPC-FLD0701E + DISPLAY 'FLD0701E ==> ' FLD0701E + DISPLAY 'EXPECTED ==> ' XPC-FLD0701E. + IF FLD0702B (1:) NOT EQUAL XPC-FLD0702B + DISPLAY 'FLD0702B ==> ' FLD0702B + DISPLAY 'EXPECTED ==> ' XPC-FLD0702B. + IF FLD0702E NOT EQUAL XPC-FLD0702E + DISPLAY 'FLD0702E ==> ' FLD0702E + DISPLAY 'EXPECTED ==> ' XPC-FLD0702E. + IF FLD0703B (1:) NOT EQUAL XPC-FLD0703B + DISPLAY 'FLD0703B ==> ' FLD0703B + DISPLAY 'EXPECTED ==> ' XPC-FLD0703B. + IF FLD0703E NOT EQUAL XPC-FLD0703E + DISPLAY 'FLD0703E ==> ' FLD0703E + DISPLAY 'EXPECTED ==> ' XPC-FLD0703E. + IF FLD0704B (1:) NOT EQUAL XPC-FLD0704B + DISPLAY 'FLD0704B ==> ' FLD0704B + DISPLAY 'EXPECTED ==> ' XPC-FLD0704B. + IF FLD0704E NOT EQUAL XPC-FLD0704E + DISPLAY 'FLD0704E ==> ' FLD0704E + DISPLAY 'EXPECTED ==> ' XPC-FLD0704E. + IF FLD0705B (1:) NOT EQUAL XPC-FLD0705B + DISPLAY 'FLD0705B ==> ' FLD0705B + DISPLAY 'EXPECTED ==> ' XPC-FLD0705B. + IF FLD0705E NOT EQUAL XPC-FLD0705E + DISPLAY 'FLD0705E ==> ' FLD0705E + DISPLAY 'EXPECTED ==> ' XPC-FLD0705E. + IF FLD0706B (1:) NOT EQUAL XPC-FLD0706B + DISPLAY 'FLD0706B ==> ' FLD0706B + DISPLAY 'EXPECTED ==> ' XPC-FLD0706B. + IF FLD0706E NOT EQUAL XPC-FLD0706E + DISPLAY 'FLD0706E ==> ' FLD0706E + DISPLAY 'EXPECTED ==> ' XPC-FLD0706E. + IF FLD0707B (1:) NOT EQUAL XPC-FLD0707B + DISPLAY 'FLD0707B ==> ' FLD0707B + DISPLAY 'EXPECTED ==> ' XPC-FLD0707B. + IF FLD0707E NOT EQUAL XPC-FLD0707E + DISPLAY 'FLD0707E ==> ' FLD0707E + DISPLAY 'EXPECTED ==> ' XPC-FLD0707E. + IF FLD0708B (1:) NOT EQUAL XPC-FLD0708B + DISPLAY 'FLD0708B ==> ' FLD0708B + DISPLAY 'EXPECTED ==> ' XPC-FLD0708B. + IF FLD0708E NOT EQUAL XPC-FLD0708E + DISPLAY 'FLD0708E ==> ' FLD0708E + DISPLAY 'EXPECTED ==> ' XPC-FLD0708E. + IF FLD0709B (1:) NOT EQUAL XPC-FLD0709B + DISPLAY 'FLD0709B ==> ' FLD0709B + DISPLAY 'EXPECTED ==> ' XPC-FLD0709B. + IF FLD0709E NOT EQUAL XPC-FLD0709E + DISPLAY 'FLD0709E ==> ' FLD0709E + DISPLAY 'EXPECTED ==> ' XPC-FLD0709E. + IF FLD0710B (1:) NOT EQUAL XPC-FLD0710B + DISPLAY 'FLD0710B ==> ' FLD0710B + DISPLAY 'EXPECTED ==> ' XPC-FLD0710B. + IF FLD0710E NOT EQUAL XPC-FLD0710E + DISPLAY 'FLD0710E ==> ' FLD0710E + DISPLAY 'EXPECTED ==> ' XPC-FLD0710E. + IF FLD0711B (1:) NOT EQUAL XPC-FLD0711B + DISPLAY 'FLD0711B ==> ' FLD0711B + DISPLAY 'EXPECTED ==> ' XPC-FLD0711B. + IF FLD0711E NOT EQUAL XPC-FLD0711E + DISPLAY 'FLD0711E ==> ' FLD0711E + DISPLAY 'EXPECTED ==> ' XPC-FLD0711E. + IF FLD0712B (1:) NOT EQUAL XPC-FLD0712B + DISPLAY 'FLD0712B ==> ' FLD0712B + DISPLAY 'EXPECTED ==> ' XPC-FLD0712B. + IF FLD0712E NOT EQUAL XPC-FLD0712E + DISPLAY 'FLD0712E ==> ' FLD0712E + DISPLAY 'EXPECTED ==> ' XPC-FLD0712E. + IF FLD0713B (1:) NOT EQUAL XPC-FLD0713B + DISPLAY 'FLD0713B ==> ' FLD0713B + DISPLAY 'EXPECTED ==> ' XPC-FLD0713B. + IF FLD0713E NOT EQUAL XPC-FLD0713E + DISPLAY 'FLD0713E ==> ' FLD0713E + DISPLAY 'EXPECTED ==> ' XPC-FLD0713E. + IF FLD0714B (1:) NOT EQUAL XPC-FLD0714B + DISPLAY 'FLD0714B ==> ' FLD0714B + DISPLAY 'EXPECTED ==> ' XPC-FLD0714B. + IF FLD0714E NOT EQUAL XPC-FLD0714E + DISPLAY 'FLD0714E ==> ' FLD0714E + DISPLAY 'EXPECTED ==> ' XPC-FLD0714E. + IF FLD0715B (1:) NOT EQUAL XPC-FLD0715B + DISPLAY 'FLD0715B ==> ' FLD0715B + DISPLAY 'EXPECTED ==> ' XPC-FLD0715B. + IF FLD0715E NOT EQUAL XPC-FLD0715E + DISPLAY 'FLD0715E ==> ' FLD0715E + DISPLAY 'EXPECTED ==> ' XPC-FLD0715E. + IF FLD0716B (1:) NOT EQUAL XPC-FLD0716B + DISPLAY 'FLD0716B ==> ' FLD0716B + DISPLAY 'EXPECTED ==> ' XPC-FLD0716B. + IF FLD0716E NOT EQUAL XPC-FLD0716E + DISPLAY 'FLD0716E ==> ' FLD0716E + DISPLAY 'EXPECTED ==> ' XPC-FLD0716E. + IF FLD0717B (1:) NOT EQUAL XPC-FLD0717B + DISPLAY 'FLD0717B ==> ' FLD0717B + DISPLAY 'EXPECTED ==> ' XPC-FLD0717B. + IF FLD0717E NOT EQUAL XPC-FLD0717E + DISPLAY 'FLD0717E ==> ' FLD0717E + DISPLAY 'EXPECTED ==> ' XPC-FLD0717E. + IF FLD0718B (1:) NOT EQUAL XPC-FLD0718B + DISPLAY 'FLD0718B ==> ' FLD0718B + DISPLAY 'EXPECTED ==> ' XPC-FLD0718B. + IF FLD0718E NOT EQUAL XPC-FLD0718E + DISPLAY 'FLD0718E ==> ' FLD0718E + DISPLAY 'EXPECTED ==> ' XPC-FLD0718E. + IF FLD0719B (1:) NOT EQUAL XPC-FLD0719B + DISPLAY 'FLD0719B ==> ' FLD0719B + DISPLAY 'EXPECTED ==> ' XPC-FLD0719B. + IF FLD0719E NOT EQUAL XPC-FLD0719E + DISPLAY 'FLD0719E ==> ' FLD0719E + DISPLAY 'EXPECTED ==> ' XPC-FLD0719E. + IF FLD0720B (1:) NOT EQUAL XPC-FLD0720B + DISPLAY 'FLD0720B ==> ' FLD0720B + DISPLAY 'EXPECTED ==> ' XPC-FLD0720B. + IF FLD0720E NOT EQUAL XPC-FLD0720E + DISPLAY 'FLD0720E ==> ' FLD0720E + DISPLAY 'EXPECTED ==> ' XPC-FLD0720E. + IF FLD0721B (1:) NOT EQUAL XPC-FLD0721B + DISPLAY 'FLD0721B ==> ' FLD0721B + DISPLAY 'EXPECTED ==> ' XPC-FLD0721B. + IF FLD0721E NOT EQUAL XPC-FLD0721E + DISPLAY 'FLD0721E ==> ' FLD0721E + DISPLAY 'EXPECTED ==> ' XPC-FLD0721E. + IF FLD0722B (1:) NOT EQUAL XPC-FLD0722B + DISPLAY 'FLD0722B ==> ' FLD0722B + DISPLAY 'EXPECTED ==> ' XPC-FLD0722B. + IF FLD0722E NOT EQUAL XPC-FLD0722E + DISPLAY 'FLD0722E ==> ' FLD0722E + DISPLAY 'EXPECTED ==> ' XPC-FLD0722E. + IF FLD0723B (1:) NOT EQUAL XPC-FLD0723B + DISPLAY 'FLD0723B ==> ' FLD0723B + DISPLAY 'EXPECTED ==> ' XPC-FLD0723B. + IF FLD0723E NOT EQUAL XPC-FLD0723E + DISPLAY 'FLD0723E ==> ' FLD0723E + DISPLAY 'EXPECTED ==> ' XPC-FLD0723E. + IF FLD0724B (1:) NOT EQUAL XPC-FLD0724B + DISPLAY 'FLD0724B ==> ' FLD0724B + DISPLAY 'EXPECTED ==> ' XPC-FLD0724B. + IF FLD0724E NOT EQUAL XPC-FLD0724E + DISPLAY 'FLD0724E ==> ' FLD0724E + DISPLAY 'EXPECTED ==> ' XPC-FLD0724E. + IF FLD0725B (1:) NOT EQUAL XPC-FLD0725B + DISPLAY 'FLD0725B ==> ' FLD0725B + DISPLAY 'EXPECTED ==> ' XPC-FLD0725B. + IF FLD0725E NOT EQUAL XPC-FLD0725E + DISPLAY 'FLD0725E ==> ' FLD0725E + DISPLAY 'EXPECTED ==> ' XPC-FLD0725E. + IF FLD0726B (1:) NOT EQUAL XPC-FLD0726B + DISPLAY 'FLD0726B ==> ' FLD0726B + DISPLAY 'EXPECTED ==> ' XPC-FLD0726B. + IF FLD0726E NOT EQUAL XPC-FLD0726E + DISPLAY 'FLD0726E ==> ' FLD0726E + DISPLAY 'EXPECTED ==> ' XPC-FLD0726E. + IF FLD0727B (1:) NOT EQUAL XPC-FLD0727B + DISPLAY 'FLD0727B ==> ' FLD0727B + DISPLAY 'EXPECTED ==> ' XPC-FLD0727B. + IF FLD0727E NOT EQUAL XPC-FLD0727E + DISPLAY 'FLD0727E ==> ' FLD0727E + DISPLAY 'EXPECTED ==> ' XPC-FLD0727E. + IF FLD0728B (1:) NOT EQUAL XPC-FLD0728B + DISPLAY 'FLD0728B ==> ' FLD0728B + DISPLAY 'EXPECTED ==> ' XPC-FLD0728B. + IF FLD0728E NOT EQUAL XPC-FLD0728E + DISPLAY 'FLD0728E ==> ' FLD0728E + DISPLAY 'EXPECTED ==> ' XPC-FLD0728E. + IF FLD0729B (1:) NOT EQUAL XPC-FLD0729B + DISPLAY 'FLD0729B ==> ' FLD0729B + DISPLAY 'EXPECTED ==> ' XPC-FLD0729B. + IF FLD0729E NOT EQUAL XPC-FLD0729E + DISPLAY 'FLD0729E ==> ' FLD0729E + DISPLAY 'EXPECTED ==> ' XPC-FLD0729E. + IF FLD0730B (1:) NOT EQUAL XPC-FLD0730B + DISPLAY 'FLD0730B ==> ' FLD0730B + DISPLAY 'EXPECTED ==> ' XPC-FLD0730B. + IF FLD0730E NOT EQUAL XPC-FLD0730E + DISPLAY 'FLD0730E ==> ' FLD0730E + DISPLAY 'EXPECTED ==> ' XPC-FLD0730E. + IF FLD0731B (1:) NOT EQUAL XPC-FLD0731B + DISPLAY 'FLD0731B ==> ' FLD0731B + DISPLAY 'EXPECTED ==> ' XPC-FLD0731B. + IF FLD0731E NOT EQUAL XPC-FLD0731E + DISPLAY 'FLD0731E ==> ' FLD0731E + DISPLAY 'EXPECTED ==> ' XPC-FLD0731E. + IF FLD0732B (1:) NOT EQUAL XPC-FLD0732B + DISPLAY 'FLD0732B ==> ' FLD0732B + DISPLAY 'EXPECTED ==> ' XPC-FLD0732B. + IF FLD0732E NOT EQUAL XPC-FLD0732E + DISPLAY 'FLD0732E ==> ' FLD0732E + DISPLAY 'EXPECTED ==> ' XPC-FLD0732E. + IF FLD0733B (1:) NOT EQUAL XPC-FLD0733B + DISPLAY 'FLD0733B ==> ' FLD0733B + DISPLAY 'EXPECTED ==> ' XPC-FLD0733B. + IF FLD0733E NOT EQUAL XPC-FLD0733E + DISPLAY 'FLD0733E ==> ' FLD0733E + DISPLAY 'EXPECTED ==> ' XPC-FLD0733E. + IF FLD0734B (1:) NOT EQUAL XPC-FLD0734B + DISPLAY 'FLD0734B ==> ' FLD0734B + DISPLAY 'EXPECTED ==> ' XPC-FLD0734B. + IF FLD0734E NOT EQUAL XPC-FLD0734E + DISPLAY 'FLD0734E ==> ' FLD0734E + DISPLAY 'EXPECTED ==> ' XPC-FLD0734E. + IF FLD0735B (1:) NOT EQUAL XPC-FLD0735B + DISPLAY 'FLD0735B ==> ' FLD0735B + DISPLAY 'EXPECTED ==> ' XPC-FLD0735B. + IF FLD0735E NOT EQUAL XPC-FLD0735E + DISPLAY 'FLD0735E ==> ' FLD0735E + DISPLAY 'EXPECTED ==> ' XPC-FLD0735E. + IF FLD0736B (1:) NOT EQUAL XPC-FLD0736B + DISPLAY 'FLD0736B ==> ' FLD0736B + DISPLAY 'EXPECTED ==> ' XPC-FLD0736B. + IF FLD0736E NOT EQUAL XPC-FLD0736E + DISPLAY 'FLD0736E ==> ' FLD0736E + DISPLAY 'EXPECTED ==> ' XPC-FLD0736E. + IF FLD0737B (1:) NOT EQUAL XPC-FLD0737B + DISPLAY 'FLD0737B ==> ' FLD0737B + DISPLAY 'EXPECTED ==> ' XPC-FLD0737B. + IF FLD0737E NOT EQUAL XPC-FLD0737E + DISPLAY 'FLD0737E ==> ' FLD0737E + DISPLAY 'EXPECTED ==> ' XPC-FLD0737E. + IF FLD0738B (1:) NOT EQUAL XPC-FLD0738B + DISPLAY 'FLD0738B ==> ' FLD0738B + DISPLAY 'EXPECTED ==> ' XPC-FLD0738B. + IF FLD0738E NOT EQUAL XPC-FLD0738E + DISPLAY 'FLD0738E ==> ' FLD0738E + DISPLAY 'EXPECTED ==> ' XPC-FLD0738E. + IF FLD0739B (1:) NOT EQUAL XPC-FLD0739B + DISPLAY 'FLD0739B ==> ' FLD0739B + DISPLAY 'EXPECTED ==> ' XPC-FLD0739B. + IF FLD0739E NOT EQUAL XPC-FLD0739E + DISPLAY 'FLD0739E ==> ' FLD0739E + DISPLAY 'EXPECTED ==> ' XPC-FLD0739E. + IF FLD0740B (1:) NOT EQUAL XPC-FLD0740B + DISPLAY 'FLD0740B ==> ' FLD0740B + DISPLAY 'EXPECTED ==> ' XPC-FLD0740B. + IF FLD0740E NOT EQUAL XPC-FLD0740E + DISPLAY 'FLD0740E ==> ' FLD0740E + DISPLAY 'EXPECTED ==> ' XPC-FLD0740E. + IF FLD0741B (1:) NOT EQUAL XPC-FLD0741B + DISPLAY 'FLD0741B ==> ' FLD0741B + DISPLAY 'EXPECTED ==> ' XPC-FLD0741B. + IF FLD0741E NOT EQUAL XPC-FLD0741E + DISPLAY 'FLD0741E ==> ' FLD0741E + DISPLAY 'EXPECTED ==> ' XPC-FLD0741E. + IF FLD0742B (1:) NOT EQUAL XPC-FLD0742B + DISPLAY 'FLD0742B ==> ' FLD0742B + DISPLAY 'EXPECTED ==> ' XPC-FLD0742B. + IF FLD0742E NOT EQUAL XPC-FLD0742E + DISPLAY 'FLD0742E ==> ' FLD0742E + DISPLAY 'EXPECTED ==> ' XPC-FLD0742E. + IF FLD0743B (1:) NOT EQUAL XPC-FLD0743B + DISPLAY 'FLD0743B ==> ' FLD0743B + DISPLAY 'EXPECTED ==> ' XPC-FLD0743B. + IF FLD0743E NOT EQUAL XPC-FLD0743E + DISPLAY 'FLD0743E ==> ' FLD0743E + DISPLAY 'EXPECTED ==> ' XPC-FLD0743E. + IF FLD0744B (1:) NOT EQUAL XPC-FLD0744B + DISPLAY 'FLD0744B ==> ' FLD0744B + DISPLAY 'EXPECTED ==> ' XPC-FLD0744B. + IF FLD0744E NOT EQUAL XPC-FLD0744E + DISPLAY 'FLD0744E ==> ' FLD0744E + DISPLAY 'EXPECTED ==> ' XPC-FLD0744E. + IF FLD0745B (1:) NOT EQUAL XPC-FLD0745B + DISPLAY 'FLD0745B ==> ' FLD0745B + DISPLAY 'EXPECTED ==> ' XPC-FLD0745B. + IF FLD0745E NOT EQUAL XPC-FLD0745E + DISPLAY 'FLD0745E ==> ' FLD0745E + DISPLAY 'EXPECTED ==> ' XPC-FLD0745E. + IF FLD0746B (1:) NOT EQUAL XPC-FLD0746B + DISPLAY 'FLD0746B ==> ' FLD0746B + DISPLAY 'EXPECTED ==> ' XPC-FLD0746B. + IF FLD0746E NOT EQUAL XPC-FLD0746E + DISPLAY 'FLD0746E ==> ' FLD0746E + DISPLAY 'EXPECTED ==> ' XPC-FLD0746E. + IF FLD0747B (1:) NOT EQUAL XPC-FLD0747B + DISPLAY 'FLD0747B ==> ' FLD0747B + DISPLAY 'EXPECTED ==> ' XPC-FLD0747B. + IF FLD0747E NOT EQUAL XPC-FLD0747E + DISPLAY 'FLD0747E ==> ' FLD0747E + DISPLAY 'EXPECTED ==> ' XPC-FLD0747E. + IF FLD0748B (1:) NOT EQUAL XPC-FLD0748B + DISPLAY 'FLD0748B ==> ' FLD0748B + DISPLAY 'EXPECTED ==> ' XPC-FLD0748B. + IF FLD0748E NOT EQUAL XPC-FLD0748E + DISPLAY 'FLD0748E ==> ' FLD0748E + DISPLAY 'EXPECTED ==> ' XPC-FLD0748E. + IF FLD0749B (1:) NOT EQUAL XPC-FLD0749B + DISPLAY 'FLD0749B ==> ' FLD0749B + DISPLAY 'EXPECTED ==> ' XPC-FLD0749B. + IF FLD0749E NOT EQUAL XPC-FLD0749E + DISPLAY 'FLD0749E ==> ' FLD0749E + DISPLAY 'EXPECTED ==> ' XPC-FLD0749E. + IF FLD0750B (1:) NOT EQUAL XPC-FLD0750B + DISPLAY 'FLD0750B ==> ' FLD0750B + DISPLAY 'EXPECTED ==> ' XPC-FLD0750B. + IF FLD0750E NOT EQUAL XPC-FLD0750E + DISPLAY 'FLD0750E ==> ' FLD0750E + DISPLAY 'EXPECTED ==> ' XPC-FLD0750E. + IF FLD0751B (1:) NOT EQUAL XPC-FLD0751B + DISPLAY 'FLD0751B ==> ' FLD0751B + DISPLAY 'EXPECTED ==> ' XPC-FLD0751B. + IF FLD0751E NOT EQUAL XPC-FLD0751E + DISPLAY 'FLD0751E ==> ' FLD0751E + DISPLAY 'EXPECTED ==> ' XPC-FLD0751E. + IF FLD0752B (1:) NOT EQUAL XPC-FLD0752B + DISPLAY 'FLD0752B ==> ' FLD0752B + DISPLAY 'EXPECTED ==> ' XPC-FLD0752B. + IF FLD0752E NOT EQUAL XPC-FLD0752E + DISPLAY 'FLD0752E ==> ' FLD0752E + DISPLAY 'EXPECTED ==> ' XPC-FLD0752E. + IF FLD0753B (1:) NOT EQUAL XPC-FLD0753B + DISPLAY 'FLD0753B ==> ' FLD0753B + DISPLAY 'EXPECTED ==> ' XPC-FLD0753B. + IF FLD0753E NOT EQUAL XPC-FLD0753E + DISPLAY 'FLD0753E ==> ' FLD0753E + DISPLAY 'EXPECTED ==> ' XPC-FLD0753E. + IF FLD0754B (1:) NOT EQUAL XPC-FLD0754B + DISPLAY 'FLD0754B ==> ' FLD0754B + DISPLAY 'EXPECTED ==> ' XPC-FLD0754B. + IF FLD0754E NOT EQUAL XPC-FLD0754E + DISPLAY 'FLD0754E ==> ' FLD0754E + DISPLAY 'EXPECTED ==> ' XPC-FLD0754E. + IF FLD0755B (1:) NOT EQUAL XPC-FLD0755B + DISPLAY 'FLD0755B ==> ' FLD0755B + DISPLAY 'EXPECTED ==> ' XPC-FLD0755B. + IF FLD0755E NOT EQUAL XPC-FLD0755E + DISPLAY 'FLD0755E ==> ' FLD0755E + DISPLAY 'EXPECTED ==> ' XPC-FLD0755E. + IF FLD0756B (1:) NOT EQUAL XPC-FLD0756B + DISPLAY 'FLD0756B ==> ' FLD0756B + DISPLAY 'EXPECTED ==> ' XPC-FLD0756B. + IF FLD0756E NOT EQUAL XPC-FLD0756E + DISPLAY 'FLD0756E ==> ' FLD0756E + DISPLAY 'EXPECTED ==> ' XPC-FLD0756E. + IF FLD0757B (1:) NOT EQUAL XPC-FLD0757B + DISPLAY 'FLD0757B ==> ' FLD0757B + DISPLAY 'EXPECTED ==> ' XPC-FLD0757B. + IF FLD0757E NOT EQUAL XPC-FLD0757E + DISPLAY 'FLD0757E ==> ' FLD0757E + DISPLAY 'EXPECTED ==> ' XPC-FLD0757E. + IF FLD0758B (1:) NOT EQUAL XPC-FLD0758B + DISPLAY 'FLD0758B ==> ' FLD0758B + DISPLAY 'EXPECTED ==> ' XPC-FLD0758B. + IF FLD0758E NOT EQUAL XPC-FLD0758E + DISPLAY 'FLD0758E ==> ' FLD0758E + DISPLAY 'EXPECTED ==> ' XPC-FLD0758E. + IF FLD0759B (1:) NOT EQUAL XPC-FLD0759B + DISPLAY 'FLD0759B ==> ' FLD0759B + DISPLAY 'EXPECTED ==> ' XPC-FLD0759B. + IF FLD0759E NOT EQUAL XPC-FLD0759E + DISPLAY 'FLD0759E ==> ' FLD0759E + DISPLAY 'EXPECTED ==> ' XPC-FLD0759E. + IF FLD0760B (1:) NOT EQUAL XPC-FLD0760B + DISPLAY 'FLD0760B ==> ' FLD0760B + DISPLAY 'EXPECTED ==> ' XPC-FLD0760B. + IF FLD0760E NOT EQUAL XPC-FLD0760E + DISPLAY 'FLD0760E ==> ' FLD0760E + DISPLAY 'EXPECTED ==> ' XPC-FLD0760E. + IF FLD0761B (1:) NOT EQUAL XPC-FLD0761B + DISPLAY 'FLD0761B ==> ' FLD0761B + DISPLAY 'EXPECTED ==> ' XPC-FLD0761B. + IF FLD0761E NOT EQUAL XPC-FLD0761E + DISPLAY 'FLD0761E ==> ' FLD0761E + DISPLAY 'EXPECTED ==> ' XPC-FLD0761E. + IF FLD0762B (1:) NOT EQUAL XPC-FLD0762B + DISPLAY 'FLD0762B ==> ' FLD0762B + DISPLAY 'EXPECTED ==> ' XPC-FLD0762B. + IF FLD0762E NOT EQUAL XPC-FLD0762E + DISPLAY 'FLD0762E ==> ' FLD0762E + DISPLAY 'EXPECTED ==> ' XPC-FLD0762E. + IF FLD0763B (1:) NOT EQUAL XPC-FLD0763B + DISPLAY 'FLD0763B ==> ' FLD0763B + DISPLAY 'EXPECTED ==> ' XPC-FLD0763B. + IF FLD0763E NOT EQUAL XPC-FLD0763E + DISPLAY 'FLD0763E ==> ' FLD0763E + DISPLAY 'EXPECTED ==> ' XPC-FLD0763E. + IF FLD0764B (1:) NOT EQUAL XPC-FLD0764B + DISPLAY 'FLD0764B ==> ' FLD0764B + DISPLAY 'EXPECTED ==> ' XPC-FLD0764B. + IF FLD0764E NOT EQUAL XPC-FLD0764E + DISPLAY 'FLD0764E ==> ' FLD0764E + DISPLAY 'EXPECTED ==> ' XPC-FLD0764E. + IF FLD0765B (1:) NOT EQUAL XPC-FLD0765B + DISPLAY 'FLD0765B ==> ' FLD0765B + DISPLAY 'EXPECTED ==> ' XPC-FLD0765B. + IF FLD0765E NOT EQUAL XPC-FLD0765E + DISPLAY 'FLD0765E ==> ' FLD0765E + DISPLAY 'EXPECTED ==> ' XPC-FLD0765E. + IF FLD0766B (1:) NOT EQUAL XPC-FLD0766B + DISPLAY 'FLD0766B ==> ' FLD0766B + DISPLAY 'EXPECTED ==> ' XPC-FLD0766B. + IF FLD0766E NOT EQUAL XPC-FLD0766E + DISPLAY 'FLD0766E ==> ' FLD0766E + DISPLAY 'EXPECTED ==> ' XPC-FLD0766E. + IF FLD0767B (1:) NOT EQUAL XPC-FLD0767B + DISPLAY 'FLD0767B ==> ' FLD0767B + DISPLAY 'EXPECTED ==> ' XPC-FLD0767B. + IF FLD0767E NOT EQUAL XPC-FLD0767E + DISPLAY 'FLD0767E ==> ' FLD0767E + DISPLAY 'EXPECTED ==> ' XPC-FLD0767E. + IF FLD0768B (1:) NOT EQUAL XPC-FLD0768B + DISPLAY 'FLD0768B ==> ' FLD0768B + DISPLAY 'EXPECTED ==> ' XPC-FLD0768B. + IF FLD0768E NOT EQUAL XPC-FLD0768E + DISPLAY 'FLD0768E ==> ' FLD0768E + DISPLAY 'EXPECTED ==> ' XPC-FLD0768E. + IF FLD0769B (1:) NOT EQUAL XPC-FLD0769B + DISPLAY 'FLD0769B ==> ' FLD0769B + DISPLAY 'EXPECTED ==> ' XPC-FLD0769B. + IF FLD0769E NOT EQUAL XPC-FLD0769E + DISPLAY 'FLD0769E ==> ' FLD0769E + DISPLAY 'EXPECTED ==> ' XPC-FLD0769E. + IF FLD0770B (1:) NOT EQUAL XPC-FLD0770B + DISPLAY 'FLD0770B ==> ' FLD0770B + DISPLAY 'EXPECTED ==> ' XPC-FLD0770B. + IF FLD0770E NOT EQUAL XPC-FLD0770E + DISPLAY 'FLD0770E ==> ' FLD0770E + DISPLAY 'EXPECTED ==> ' XPC-FLD0770E. + IF FLD0771B (1:) NOT EQUAL XPC-FLD0771B + DISPLAY 'FLD0771B ==> ' FLD0771B + DISPLAY 'EXPECTED ==> ' XPC-FLD0771B. + IF FLD0771E NOT EQUAL XPC-FLD0771E + DISPLAY 'FLD0771E ==> ' FLD0771E + DISPLAY 'EXPECTED ==> ' XPC-FLD0771E. + IF FLD0772B (1:) NOT EQUAL XPC-FLD0772B + DISPLAY 'FLD0772B ==> ' FLD0772B + DISPLAY 'EXPECTED ==> ' XPC-FLD0772B. + IF FLD0772E NOT EQUAL XPC-FLD0772E + DISPLAY 'FLD0772E ==> ' FLD0772E + DISPLAY 'EXPECTED ==> ' XPC-FLD0772E. + IF FLD0773B (1:) NOT EQUAL XPC-FLD0773B + DISPLAY 'FLD0773B ==> ' FLD0773B + DISPLAY 'EXPECTED ==> ' XPC-FLD0773B. + IF FLD0773E NOT EQUAL XPC-FLD0773E + DISPLAY 'FLD0773E ==> ' FLD0773E + DISPLAY 'EXPECTED ==> ' XPC-FLD0773E. + IF FLD0774B (1:) NOT EQUAL XPC-FLD0774B + DISPLAY 'FLD0774B ==> ' FLD0774B + DISPLAY 'EXPECTED ==> ' XPC-FLD0774B. + IF FLD0774E NOT EQUAL XPC-FLD0774E + DISPLAY 'FLD0774E ==> ' FLD0774E + DISPLAY 'EXPECTED ==> ' XPC-FLD0774E. + IF FLD0775B (1:) NOT EQUAL XPC-FLD0775B + DISPLAY 'FLD0775B ==> ' FLD0775B + DISPLAY 'EXPECTED ==> ' XPC-FLD0775B. + IF FLD0775E NOT EQUAL XPC-FLD0775E + DISPLAY 'FLD0775E ==> ' FLD0775E + DISPLAY 'EXPECTED ==> ' XPC-FLD0775E. + IF FLD0776B (1:) NOT EQUAL XPC-FLD0776B + DISPLAY 'FLD0776B ==> ' FLD0776B + DISPLAY 'EXPECTED ==> ' XPC-FLD0776B. + IF FLD0776E NOT EQUAL XPC-FLD0776E + DISPLAY 'FLD0776E ==> ' FLD0776E + DISPLAY 'EXPECTED ==> ' XPC-FLD0776E. + IF FLD0777B (1:) NOT EQUAL XPC-FLD0777B + DISPLAY 'FLD0777B ==> ' FLD0777B + DISPLAY 'EXPECTED ==> ' XPC-FLD0777B. + IF FLD0777E NOT EQUAL XPC-FLD0777E + DISPLAY 'FLD0777E ==> ' FLD0777E + DISPLAY 'EXPECTED ==> ' XPC-FLD0777E. + IF FLD0778B (1:) NOT EQUAL XPC-FLD0778B + DISPLAY 'FLD0778B ==> ' FLD0778B + DISPLAY 'EXPECTED ==> ' XPC-FLD0778B. + IF FLD0778E NOT EQUAL XPC-FLD0778E + DISPLAY 'FLD0778E ==> ' FLD0778E + DISPLAY 'EXPECTED ==> ' XPC-FLD0778E. + IF FLD0779B (1:) NOT EQUAL XPC-FLD0779B + DISPLAY 'FLD0779B ==> ' FLD0779B + DISPLAY 'EXPECTED ==> ' XPC-FLD0779B. + IF FLD0779E NOT EQUAL XPC-FLD0779E + DISPLAY 'FLD0779E ==> ' FLD0779E + DISPLAY 'EXPECTED ==> ' XPC-FLD0779E. + IF FLD0780B (1:) NOT EQUAL XPC-FLD0780B + DISPLAY 'FLD0780B ==> ' FLD0780B + DISPLAY 'EXPECTED ==> ' XPC-FLD0780B. + IF FLD0780E NOT EQUAL XPC-FLD0780E + DISPLAY 'FLD0780E ==> ' FLD0780E + DISPLAY 'EXPECTED ==> ' XPC-FLD0780E. + IF FLD0781B (1:) NOT EQUAL XPC-FLD0781B + DISPLAY 'FLD0781B ==> ' FLD0781B + DISPLAY 'EXPECTED ==> ' XPC-FLD0781B. + IF FLD0781E NOT EQUAL XPC-FLD0781E + DISPLAY 'FLD0781E ==> ' FLD0781E + DISPLAY 'EXPECTED ==> ' XPC-FLD0781E. + IF FLD0782B (1:) NOT EQUAL XPC-FLD0782B + DISPLAY 'FLD0782B ==> ' FLD0782B + DISPLAY 'EXPECTED ==> ' XPC-FLD0782B. + IF FLD0782E NOT EQUAL XPC-FLD0782E + DISPLAY 'FLD0782E ==> ' FLD0782E + DISPLAY 'EXPECTED ==> ' XPC-FLD0782E. + IF FLD0783B (1:) NOT EQUAL XPC-FLD0783B + DISPLAY 'FLD0783B ==> ' FLD0783B + DISPLAY 'EXPECTED ==> ' XPC-FLD0783B. + IF FLD0783E NOT EQUAL XPC-FLD0783E + DISPLAY 'FLD0783E ==> ' FLD0783E + DISPLAY 'EXPECTED ==> ' XPC-FLD0783E. + IF FLD0784B (1:) NOT EQUAL XPC-FLD0784B + DISPLAY 'FLD0784B ==> ' FLD0784B + DISPLAY 'EXPECTED ==> ' XPC-FLD0784B. + IF FLD0784E NOT EQUAL XPC-FLD0784E + DISPLAY 'FLD0784E ==> ' FLD0784E + DISPLAY 'EXPECTED ==> ' XPC-FLD0784E. + IF FLD0785B (1:) NOT EQUAL XPC-FLD0785B + DISPLAY 'FLD0785B ==> ' FLD0785B + DISPLAY 'EXPECTED ==> ' XPC-FLD0785B. + IF FLD0785E NOT EQUAL XPC-FLD0785E + DISPLAY 'FLD0785E ==> ' FLD0785E + DISPLAY 'EXPECTED ==> ' XPC-FLD0785E. + IF FLD0786B (1:) NOT EQUAL XPC-FLD0786B + DISPLAY 'FLD0786B ==> ' FLD0786B + DISPLAY 'EXPECTED ==> ' XPC-FLD0786B. + IF FLD0786E NOT EQUAL XPC-FLD0786E + DISPLAY 'FLD0786E ==> ' FLD0786E + DISPLAY 'EXPECTED ==> ' XPC-FLD0786E. + IF FLD0787B (1:) NOT EQUAL XPC-FLD0787B + DISPLAY 'FLD0787B ==> ' FLD0787B + DISPLAY 'EXPECTED ==> ' XPC-FLD0787B. + IF FLD0787E NOT EQUAL XPC-FLD0787E + DISPLAY 'FLD0787E ==> ' FLD0787E + DISPLAY 'EXPECTED ==> ' XPC-FLD0787E. + IF FLD0788B (1:) NOT EQUAL XPC-FLD0788B + DISPLAY 'FLD0788B ==> ' FLD0788B + DISPLAY 'EXPECTED ==> ' XPC-FLD0788B. + IF FLD0788E NOT EQUAL XPC-FLD0788E + DISPLAY 'FLD0788E ==> ' FLD0788E + DISPLAY 'EXPECTED ==> ' XPC-FLD0788E. + IF FLD0789B (1:) NOT EQUAL XPC-FLD0789B + DISPLAY 'FLD0789B ==> ' FLD0789B + DISPLAY 'EXPECTED ==> ' XPC-FLD0789B. + IF FLD0789E NOT EQUAL XPC-FLD0789E + DISPLAY 'FLD0789E ==> ' FLD0789E + DISPLAY 'EXPECTED ==> ' XPC-FLD0789E. + IF FLD0790B (1:) NOT EQUAL XPC-FLD0790B + DISPLAY 'FLD0790B ==> ' FLD0790B + DISPLAY 'EXPECTED ==> ' XPC-FLD0790B. + IF FLD0790E NOT EQUAL XPC-FLD0790E + DISPLAY 'FLD0790E ==> ' FLD0790E + DISPLAY 'EXPECTED ==> ' XPC-FLD0790E. + IF FLD0791B (1:) NOT EQUAL XPC-FLD0791B + DISPLAY 'FLD0791B ==> ' FLD0791B + DISPLAY 'EXPECTED ==> ' XPC-FLD0791B. + IF FLD0791E NOT EQUAL XPC-FLD0791E + DISPLAY 'FLD0791E ==> ' FLD0791E + DISPLAY 'EXPECTED ==> ' XPC-FLD0791E. + IF FLD0792B (1:) NOT EQUAL XPC-FLD0792B + DISPLAY 'FLD0792B ==> ' FLD0792B + DISPLAY 'EXPECTED ==> ' XPC-FLD0792B. + IF FLD0792E NOT EQUAL XPC-FLD0792E + DISPLAY 'FLD0792E ==> ' FLD0792E + DISPLAY 'EXPECTED ==> ' XPC-FLD0792E. + IF FLD0793B (1:) NOT EQUAL XPC-FLD0793B + DISPLAY 'FLD0793B ==> ' FLD0793B + DISPLAY 'EXPECTED ==> ' XPC-FLD0793B. + IF FLD0793E NOT EQUAL XPC-FLD0793E + DISPLAY 'FLD0793E ==> ' FLD0793E + DISPLAY 'EXPECTED ==> ' XPC-FLD0793E. + IF FLD0794B (1:) NOT EQUAL XPC-FLD0794B + DISPLAY 'FLD0794B ==> ' FLD0794B + DISPLAY 'EXPECTED ==> ' XPC-FLD0794B. + IF FLD0794E NOT EQUAL XPC-FLD0794E + DISPLAY 'FLD0794E ==> ' FLD0794E + DISPLAY 'EXPECTED ==> ' XPC-FLD0794E. + IF FLD0795B (1:) NOT EQUAL XPC-FLD0795B + DISPLAY 'FLD0795B ==> ' FLD0795B + DISPLAY 'EXPECTED ==> ' XPC-FLD0795B. + IF FLD0795E NOT EQUAL XPC-FLD0795E + DISPLAY 'FLD0795E ==> ' FLD0795E + DISPLAY 'EXPECTED ==> ' XPC-FLD0795E. + IF FLD0796B (1:) NOT EQUAL XPC-FLD0796B + DISPLAY 'FLD0796B ==> ' FLD0796B + DISPLAY 'EXPECTED ==> ' XPC-FLD0796B. + IF FLD0796E NOT EQUAL XPC-FLD0796E + DISPLAY 'FLD0796E ==> ' FLD0796E + DISPLAY 'EXPECTED ==> ' XPC-FLD0796E. + IF FLD0797B (1:) NOT EQUAL XPC-FLD0797B + DISPLAY 'FLD0797B ==> ' FLD0797B + DISPLAY 'EXPECTED ==> ' XPC-FLD0797B. + IF FLD0797E NOT EQUAL XPC-FLD0797E + DISPLAY 'FLD0797E ==> ' FLD0797E + DISPLAY 'EXPECTED ==> ' XPC-FLD0797E. + IF FLD0798B (1:) NOT EQUAL XPC-FLD0798B + DISPLAY 'FLD0798B ==> ' FLD0798B + DISPLAY 'EXPECTED ==> ' XPC-FLD0798B. + IF FLD0798E NOT EQUAL XPC-FLD0798E + DISPLAY 'FLD0798E ==> ' FLD0798E + DISPLAY 'EXPECTED ==> ' XPC-FLD0798E. + IF FLD0799B (1:) NOT EQUAL XPC-FLD0799B + DISPLAY 'FLD0799B ==> ' FLD0799B + DISPLAY 'EXPECTED ==> ' XPC-FLD0799B. + IF FLD0799E NOT EQUAL XPC-FLD0799E + DISPLAY 'FLD0799E ==> ' FLD0799E + DISPLAY 'EXPECTED ==> ' XPC-FLD0799E. + IF FLD0800B (1:) NOT EQUAL XPC-FLD0800B + DISPLAY 'FLD0800B ==> ' FLD0800B + DISPLAY 'EXPECTED ==> ' XPC-FLD0800B. + IF FLD0800E NOT EQUAL XPC-FLD0800E + DISPLAY 'FLD0800E ==> ' FLD0800E + DISPLAY 'EXPECTED ==> ' XPC-FLD0800E. + IF FLD0801B (1:) NOT EQUAL XPC-FLD0801B + DISPLAY 'FLD0801B ==> ' FLD0801B + DISPLAY 'EXPECTED ==> ' XPC-FLD0801B. + IF FLD0801E NOT EQUAL XPC-FLD0801E + DISPLAY 'FLD0801E ==> ' FLD0801E + DISPLAY 'EXPECTED ==> ' XPC-FLD0801E. + IF FLD0802B (1:) NOT EQUAL XPC-FLD0802B + DISPLAY 'FLD0802B ==> ' FLD0802B + DISPLAY 'EXPECTED ==> ' XPC-FLD0802B. + IF FLD0802E NOT EQUAL XPC-FLD0802E + DISPLAY 'FLD0802E ==> ' FLD0802E + DISPLAY 'EXPECTED ==> ' XPC-FLD0802E. + IF FLD0803B (1:) NOT EQUAL XPC-FLD0803B + DISPLAY 'FLD0803B ==> ' FLD0803B + DISPLAY 'EXPECTED ==> ' XPC-FLD0803B. + IF FLD0803E NOT EQUAL XPC-FLD0803E + DISPLAY 'FLD0803E ==> ' FLD0803E + DISPLAY 'EXPECTED ==> ' XPC-FLD0803E. + IF FLD0804B (1:) NOT EQUAL XPC-FLD0804B + DISPLAY 'FLD0804B ==> ' FLD0804B + DISPLAY 'EXPECTED ==> ' XPC-FLD0804B. + IF FLD0804E NOT EQUAL XPC-FLD0804E + DISPLAY 'FLD0804E ==> ' FLD0804E + DISPLAY 'EXPECTED ==> ' XPC-FLD0804E. + IF FLD0805B (1:) NOT EQUAL XPC-FLD0805B + DISPLAY 'FLD0805B ==> ' FLD0805B + DISPLAY 'EXPECTED ==> ' XPC-FLD0805B. + IF FLD0805E NOT EQUAL XPC-FLD0805E + DISPLAY 'FLD0805E ==> ' FLD0805E + DISPLAY 'EXPECTED ==> ' XPC-FLD0805E. + IF FLD0806B (1:) NOT EQUAL XPC-FLD0806B + DISPLAY 'FLD0806B ==> ' FLD0806B + DISPLAY 'EXPECTED ==> ' XPC-FLD0806B. + IF FLD0806E NOT EQUAL XPC-FLD0806E + DISPLAY 'FLD0806E ==> ' FLD0806E + DISPLAY 'EXPECTED ==> ' XPC-FLD0806E. + IF FLD0807B (1:) NOT EQUAL XPC-FLD0807B + DISPLAY 'FLD0807B ==> ' FLD0807B + DISPLAY 'EXPECTED ==> ' XPC-FLD0807B. + IF FLD0807E NOT EQUAL XPC-FLD0807E + DISPLAY 'FLD0807E ==> ' FLD0807E + DISPLAY 'EXPECTED ==> ' XPC-FLD0807E. + IF FLD0808B (1:) NOT EQUAL XPC-FLD0808B + DISPLAY 'FLD0808B ==> ' FLD0808B + DISPLAY 'EXPECTED ==> ' XPC-FLD0808B. + IF FLD0808E NOT EQUAL XPC-FLD0808E + DISPLAY 'FLD0808E ==> ' FLD0808E + DISPLAY 'EXPECTED ==> ' XPC-FLD0808E. + IF FLD0809B (1:) NOT EQUAL XPC-FLD0809B + DISPLAY 'FLD0809B ==> ' FLD0809B + DISPLAY 'EXPECTED ==> ' XPC-FLD0809B. + IF FLD0809E NOT EQUAL XPC-FLD0809E + DISPLAY 'FLD0809E ==> ' FLD0809E + DISPLAY 'EXPECTED ==> ' XPC-FLD0809E. + IF FLD0810B (1:) NOT EQUAL XPC-FLD0810B + DISPLAY 'FLD0810B ==> ' FLD0810B + DISPLAY 'EXPECTED ==> ' XPC-FLD0810B. + IF FLD0810E NOT EQUAL XPC-FLD0810E + DISPLAY 'FLD0810E ==> ' FLD0810E + DISPLAY 'EXPECTED ==> ' XPC-FLD0810E. + IF FLD0811B (1:) NOT EQUAL XPC-FLD0811B + DISPLAY 'FLD0811B ==> ' FLD0811B + DISPLAY 'EXPECTED ==> ' XPC-FLD0811B. + IF FLD0811E NOT EQUAL XPC-FLD0811E + DISPLAY 'FLD0811E ==> ' FLD0811E + DISPLAY 'EXPECTED ==> ' XPC-FLD0811E. + IF FLD0812B (1:) NOT EQUAL XPC-FLD0812B + DISPLAY 'FLD0812B ==> ' FLD0812B + DISPLAY 'EXPECTED ==> ' XPC-FLD0812B. + IF FLD0812E NOT EQUAL XPC-FLD0812E + DISPLAY 'FLD0812E ==> ' FLD0812E + DISPLAY 'EXPECTED ==> ' XPC-FLD0812E. + IF FLD0813B (1:) NOT EQUAL XPC-FLD0813B + DISPLAY 'FLD0813B ==> ' FLD0813B + DISPLAY 'EXPECTED ==> ' XPC-FLD0813B. + IF FLD0813E NOT EQUAL XPC-FLD0813E + DISPLAY 'FLD0813E ==> ' FLD0813E + DISPLAY 'EXPECTED ==> ' XPC-FLD0813E. + IF FLD0814B (1:) NOT EQUAL XPC-FLD0814B + DISPLAY 'FLD0814B ==> ' FLD0814B + DISPLAY 'EXPECTED ==> ' XPC-FLD0814B. + IF FLD0814E NOT EQUAL XPC-FLD0814E + DISPLAY 'FLD0814E ==> ' FLD0814E + DISPLAY 'EXPECTED ==> ' XPC-FLD0814E. + IF FLD0815B (1:) NOT EQUAL XPC-FLD0815B + DISPLAY 'FLD0815B ==> ' FLD0815B + DISPLAY 'EXPECTED ==> ' XPC-FLD0815B. + IF FLD0815E NOT EQUAL XPC-FLD0815E + DISPLAY 'FLD0815E ==> ' FLD0815E + DISPLAY 'EXPECTED ==> ' XPC-FLD0815E. + IF FLD0816B (1:) NOT EQUAL XPC-FLD0816B + DISPLAY 'FLD0816B ==> ' FLD0816B + DISPLAY 'EXPECTED ==> ' XPC-FLD0816B. + IF FLD0816E NOT EQUAL XPC-FLD0816E + DISPLAY 'FLD0816E ==> ' FLD0816E + DISPLAY 'EXPECTED ==> ' XPC-FLD0816E. + IF FLD0817B (1:) NOT EQUAL XPC-FLD0817B + DISPLAY 'FLD0817B ==> ' FLD0817B + DISPLAY 'EXPECTED ==> ' XPC-FLD0817B. + IF FLD0817E NOT EQUAL XPC-FLD0817E + DISPLAY 'FLD0817E ==> ' FLD0817E + DISPLAY 'EXPECTED ==> ' XPC-FLD0817E. + IF FLD0818B (1:) NOT EQUAL XPC-FLD0818B + DISPLAY 'FLD0818B ==> ' FLD0818B + DISPLAY 'EXPECTED ==> ' XPC-FLD0818B. + IF FLD0818E NOT EQUAL XPC-FLD0818E + DISPLAY 'FLD0818E ==> ' FLD0818E + DISPLAY 'EXPECTED ==> ' XPC-FLD0818E. + IF FLD0819B (1:) NOT EQUAL XPC-FLD0819B + DISPLAY 'FLD0819B ==> ' FLD0819B + DISPLAY 'EXPECTED ==> ' XPC-FLD0819B. + IF FLD0819E NOT EQUAL XPC-FLD0819E + DISPLAY 'FLD0819E ==> ' FLD0819E + DISPLAY 'EXPECTED ==> ' XPC-FLD0819E. + IF FLD0820B (1:) NOT EQUAL XPC-FLD0820B + DISPLAY 'FLD0820B ==> ' FLD0820B + DISPLAY 'EXPECTED ==> ' XPC-FLD0820B. + IF FLD0820E NOT EQUAL XPC-FLD0820E + DISPLAY 'FLD0820E ==> ' FLD0820E + DISPLAY 'EXPECTED ==> ' XPC-FLD0820E. + IF FLD0821B (1:) NOT EQUAL XPC-FLD0821B + DISPLAY 'FLD0821B ==> ' FLD0821B + DISPLAY 'EXPECTED ==> ' XPC-FLD0821B. + IF FLD0821E NOT EQUAL XPC-FLD0821E + DISPLAY 'FLD0821E ==> ' FLD0821E + DISPLAY 'EXPECTED ==> ' XPC-FLD0821E. + IF FLD0822B (1:) NOT EQUAL XPC-FLD0822B + DISPLAY 'FLD0822B ==> ' FLD0822B + DISPLAY 'EXPECTED ==> ' XPC-FLD0822B. + IF FLD0822E NOT EQUAL XPC-FLD0822E + DISPLAY 'FLD0822E ==> ' FLD0822E + DISPLAY 'EXPECTED ==> ' XPC-FLD0822E. + IF FLD0823B (1:) NOT EQUAL XPC-FLD0823B + DISPLAY 'FLD0823B ==> ' FLD0823B + DISPLAY 'EXPECTED ==> ' XPC-FLD0823B. + IF FLD0823E NOT EQUAL XPC-FLD0823E + DISPLAY 'FLD0823E ==> ' FLD0823E + DISPLAY 'EXPECTED ==> ' XPC-FLD0823E. + IF FLD0824B (1:) NOT EQUAL XPC-FLD0824B + DISPLAY 'FLD0824B ==> ' FLD0824B + DISPLAY 'EXPECTED ==> ' XPC-FLD0824B. + IF FLD0824E NOT EQUAL XPC-FLD0824E + DISPLAY 'FLD0824E ==> ' FLD0824E + DISPLAY 'EXPECTED ==> ' XPC-FLD0824E. + IF FLD0825B (1:) NOT EQUAL XPC-FLD0825B + DISPLAY 'FLD0825B ==> ' FLD0825B + DISPLAY 'EXPECTED ==> ' XPC-FLD0825B. + IF FLD0825E NOT EQUAL XPC-FLD0825E + DISPLAY 'FLD0825E ==> ' FLD0825E + DISPLAY 'EXPECTED ==> ' XPC-FLD0825E. + IF FLD0826B (1:) NOT EQUAL XPC-FLD0826B + DISPLAY 'FLD0826B ==> ' FLD0826B + DISPLAY 'EXPECTED ==> ' XPC-FLD0826B. + IF FLD0826E NOT EQUAL XPC-FLD0826E + DISPLAY 'FLD0826E ==> ' FLD0826E + DISPLAY 'EXPECTED ==> ' XPC-FLD0826E. + IF FLD0827B (1:) NOT EQUAL XPC-FLD0827B + DISPLAY 'FLD0827B ==> ' FLD0827B + DISPLAY 'EXPECTED ==> ' XPC-FLD0827B. + IF FLD0827E NOT EQUAL XPC-FLD0827E + DISPLAY 'FLD0827E ==> ' FLD0827E + DISPLAY 'EXPECTED ==> ' XPC-FLD0827E. + IF FLD0828B (1:) NOT EQUAL XPC-FLD0828B + DISPLAY 'FLD0828B ==> ' FLD0828B + DISPLAY 'EXPECTED ==> ' XPC-FLD0828B. + IF FLD0828E NOT EQUAL XPC-FLD0828E + DISPLAY 'FLD0828E ==> ' FLD0828E + DISPLAY 'EXPECTED ==> ' XPC-FLD0828E. + IF FLD0829B (1:) NOT EQUAL XPC-FLD0829B + DISPLAY 'FLD0829B ==> ' FLD0829B + DISPLAY 'EXPECTED ==> ' XPC-FLD0829B. + IF FLD0829E NOT EQUAL XPC-FLD0829E + DISPLAY 'FLD0829E ==> ' FLD0829E + DISPLAY 'EXPECTED ==> ' XPC-FLD0829E. + IF FLD0830B (1:) NOT EQUAL XPC-FLD0830B + DISPLAY 'FLD0830B ==> ' FLD0830B + DISPLAY 'EXPECTED ==> ' XPC-FLD0830B. + IF FLD0830E NOT EQUAL XPC-FLD0830E + DISPLAY 'FLD0830E ==> ' FLD0830E + DISPLAY 'EXPECTED ==> ' XPC-FLD0830E. + IF FLD0831B (1:) NOT EQUAL XPC-FLD0831B + DISPLAY 'FLD0831B ==> ' FLD0831B + DISPLAY 'EXPECTED ==> ' XPC-FLD0831B. + IF FLD0831E NOT EQUAL XPC-FLD0831E + DISPLAY 'FLD0831E ==> ' FLD0831E + DISPLAY 'EXPECTED ==> ' XPC-FLD0831E. + IF FLD0832B (1:) NOT EQUAL XPC-FLD0832B + DISPLAY 'FLD0832B ==> ' FLD0832B + DISPLAY 'EXPECTED ==> ' XPC-FLD0832B. + IF FLD0832E NOT EQUAL XPC-FLD0832E + DISPLAY 'FLD0832E ==> ' FLD0832E + DISPLAY 'EXPECTED ==> ' XPC-FLD0832E. + IF FLD0833B (1:) NOT EQUAL XPC-FLD0833B + DISPLAY 'FLD0833B ==> ' FLD0833B + DISPLAY 'EXPECTED ==> ' XPC-FLD0833B. + IF FLD0833E NOT EQUAL XPC-FLD0833E + DISPLAY 'FLD0833E ==> ' FLD0833E + DISPLAY 'EXPECTED ==> ' XPC-FLD0833E. + IF FLD0834B (1:) NOT EQUAL XPC-FLD0834B + DISPLAY 'FLD0834B ==> ' FLD0834B + DISPLAY 'EXPECTED ==> ' XPC-FLD0834B. + IF FLD0834E NOT EQUAL XPC-FLD0834E + DISPLAY 'FLD0834E ==> ' FLD0834E + DISPLAY 'EXPECTED ==> ' XPC-FLD0834E. + IF FLD0835B (1:) NOT EQUAL XPC-FLD0835B + DISPLAY 'FLD0835B ==> ' FLD0835B + DISPLAY 'EXPECTED ==> ' XPC-FLD0835B. + IF FLD0835E NOT EQUAL XPC-FLD0835E + DISPLAY 'FLD0835E ==> ' FLD0835E + DISPLAY 'EXPECTED ==> ' XPC-FLD0835E. + IF FLD0836B (1:) NOT EQUAL XPC-FLD0836B + DISPLAY 'FLD0836B ==> ' FLD0836B + DISPLAY 'EXPECTED ==> ' XPC-FLD0836B. + IF FLD0836E NOT EQUAL XPC-FLD0836E + DISPLAY 'FLD0836E ==> ' FLD0836E + DISPLAY 'EXPECTED ==> ' XPC-FLD0836E. + IF FLD0837B (1:) NOT EQUAL XPC-FLD0837B + DISPLAY 'FLD0837B ==> ' FLD0837B + DISPLAY 'EXPECTED ==> ' XPC-FLD0837B. + IF FLD0837E NOT EQUAL XPC-FLD0837E + DISPLAY 'FLD0837E ==> ' FLD0837E + DISPLAY 'EXPECTED ==> ' XPC-FLD0837E. + IF FLD0838B (1:) NOT EQUAL XPC-FLD0838B + DISPLAY 'FLD0838B ==> ' FLD0838B + DISPLAY 'EXPECTED ==> ' XPC-FLD0838B. + IF FLD0838E NOT EQUAL XPC-FLD0838E + DISPLAY 'FLD0838E ==> ' FLD0838E + DISPLAY 'EXPECTED ==> ' XPC-FLD0838E. + IF FLD0839B (1:) NOT EQUAL XPC-FLD0839B + DISPLAY 'FLD0839B ==> ' FLD0839B + DISPLAY 'EXPECTED ==> ' XPC-FLD0839B. + IF FLD0839E NOT EQUAL XPC-FLD0839E + DISPLAY 'FLD0839E ==> ' FLD0839E + DISPLAY 'EXPECTED ==> ' XPC-FLD0839E. + IF FLD0840B (1:) NOT EQUAL XPC-FLD0840B + DISPLAY 'FLD0840B ==> ' FLD0840B + DISPLAY 'EXPECTED ==> ' XPC-FLD0840B. + IF FLD0840E NOT EQUAL XPC-FLD0840E + DISPLAY 'FLD0840E ==> ' FLD0840E + DISPLAY 'EXPECTED ==> ' XPC-FLD0840E. + IF FLD0841B (1:) NOT EQUAL XPC-FLD0841B + DISPLAY 'FLD0841B ==> ' FLD0841B + DISPLAY 'EXPECTED ==> ' XPC-FLD0841B. + IF FLD0841E NOT EQUAL XPC-FLD0841E + DISPLAY 'FLD0841E ==> ' FLD0841E + DISPLAY 'EXPECTED ==> ' XPC-FLD0841E. + IF FLD0842B (1:) NOT EQUAL XPC-FLD0842B + DISPLAY 'FLD0842B ==> ' FLD0842B + DISPLAY 'EXPECTED ==> ' XPC-FLD0842B. + IF FLD0842E NOT EQUAL XPC-FLD0842E + DISPLAY 'FLD0842E ==> ' FLD0842E + DISPLAY 'EXPECTED ==> ' XPC-FLD0842E. + IF FLD0843B (1:) NOT EQUAL XPC-FLD0843B + DISPLAY 'FLD0843B ==> ' FLD0843B + DISPLAY 'EXPECTED ==> ' XPC-FLD0843B. + IF FLD0843E NOT EQUAL XPC-FLD0843E + DISPLAY 'FLD0843E ==> ' FLD0843E + DISPLAY 'EXPECTED ==> ' XPC-FLD0843E. + IF FLD0844B (1:) NOT EQUAL XPC-FLD0844B + DISPLAY 'FLD0844B ==> ' FLD0844B + DISPLAY 'EXPECTED ==> ' XPC-FLD0844B. + IF FLD0844E NOT EQUAL XPC-FLD0844E + DISPLAY 'FLD0844E ==> ' FLD0844E + DISPLAY 'EXPECTED ==> ' XPC-FLD0844E. + IF FLD0845B (1:) NOT EQUAL XPC-FLD0845B + DISPLAY 'FLD0845B ==> ' FLD0845B + DISPLAY 'EXPECTED ==> ' XPC-FLD0845B. + IF FLD0845E NOT EQUAL XPC-FLD0845E + DISPLAY 'FLD0845E ==> ' FLD0845E + DISPLAY 'EXPECTED ==> ' XPC-FLD0845E. + IF FLD0846B (1:) NOT EQUAL XPC-FLD0846B + DISPLAY 'FLD0846B ==> ' FLD0846B + DISPLAY 'EXPECTED ==> ' XPC-FLD0846B. + IF FLD0846E NOT EQUAL XPC-FLD0846E + DISPLAY 'FLD0846E ==> ' FLD0846E + DISPLAY 'EXPECTED ==> ' XPC-FLD0846E. + IF FLD0847B (1:) NOT EQUAL XPC-FLD0847B + DISPLAY 'FLD0847B ==> ' FLD0847B + DISPLAY 'EXPECTED ==> ' XPC-FLD0847B. + IF FLD0847E NOT EQUAL XPC-FLD0847E + DISPLAY 'FLD0847E ==> ' FLD0847E + DISPLAY 'EXPECTED ==> ' XPC-FLD0847E. + IF FLD0848B (1:) NOT EQUAL XPC-FLD0848B + DISPLAY 'FLD0848B ==> ' FLD0848B + DISPLAY 'EXPECTED ==> ' XPC-FLD0848B. + IF FLD0848E NOT EQUAL XPC-FLD0848E + DISPLAY 'FLD0848E ==> ' FLD0848E + DISPLAY 'EXPECTED ==> ' XPC-FLD0848E. + IF FLD0849B (1:) NOT EQUAL XPC-FLD0849B + DISPLAY 'FLD0849B ==> ' FLD0849B + DISPLAY 'EXPECTED ==> ' XPC-FLD0849B. + IF FLD0849E NOT EQUAL XPC-FLD0849E + DISPLAY 'FLD0849E ==> ' FLD0849E + DISPLAY 'EXPECTED ==> ' XPC-FLD0849E. + IF FLD0850B (1:) NOT EQUAL XPC-FLD0850B + DISPLAY 'FLD0850B ==> ' FLD0850B + DISPLAY 'EXPECTED ==> ' XPC-FLD0850B. + IF FLD0850E NOT EQUAL XPC-FLD0850E + DISPLAY 'FLD0850E ==> ' FLD0850E + DISPLAY 'EXPECTED ==> ' XPC-FLD0850E. + IF FLD0851B (1:) NOT EQUAL XPC-FLD0851B + DISPLAY 'FLD0851B ==> ' FLD0851B + DISPLAY 'EXPECTED ==> ' XPC-FLD0851B. + IF FLD0851E NOT EQUAL XPC-FLD0851E + DISPLAY 'FLD0851E ==> ' FLD0851E + DISPLAY 'EXPECTED ==> ' XPC-FLD0851E. + IF FLD0852B (1:) NOT EQUAL XPC-FLD0852B + DISPLAY 'FLD0852B ==> ' FLD0852B + DISPLAY 'EXPECTED ==> ' XPC-FLD0852B. + IF FLD0852E NOT EQUAL XPC-FLD0852E + DISPLAY 'FLD0852E ==> ' FLD0852E + DISPLAY 'EXPECTED ==> ' XPC-FLD0852E. + IF FLD0853B (1:) NOT EQUAL XPC-FLD0853B + DISPLAY 'FLD0853B ==> ' FLD0853B + DISPLAY 'EXPECTED ==> ' XPC-FLD0853B. + IF FLD0853E NOT EQUAL XPC-FLD0853E + DISPLAY 'FLD0853E ==> ' FLD0853E + DISPLAY 'EXPECTED ==> ' XPC-FLD0853E. + IF FLD0854B (1:) NOT EQUAL XPC-FLD0854B + DISPLAY 'FLD0854B ==> ' FLD0854B + DISPLAY 'EXPECTED ==> ' XPC-FLD0854B. + IF FLD0854E NOT EQUAL XPC-FLD0854E + DISPLAY 'FLD0854E ==> ' FLD0854E + DISPLAY 'EXPECTED ==> ' XPC-FLD0854E. + IF FLD0855B (1:) NOT EQUAL XPC-FLD0855B + DISPLAY 'FLD0855B ==> ' FLD0855B + DISPLAY 'EXPECTED ==> ' XPC-FLD0855B. + IF FLD0855E NOT EQUAL XPC-FLD0855E + DISPLAY 'FLD0855E ==> ' FLD0855E + DISPLAY 'EXPECTED ==> ' XPC-FLD0855E. + IF FLD0856B (1:) NOT EQUAL XPC-FLD0856B + DISPLAY 'FLD0856B ==> ' FLD0856B + DISPLAY 'EXPECTED ==> ' XPC-FLD0856B. + IF FLD0856E NOT EQUAL XPC-FLD0856E + DISPLAY 'FLD0856E ==> ' FLD0856E + DISPLAY 'EXPECTED ==> ' XPC-FLD0856E. + IF FLD0857B (1:) NOT EQUAL XPC-FLD0857B + DISPLAY 'FLD0857B ==> ' FLD0857B + DISPLAY 'EXPECTED ==> ' XPC-FLD0857B. + IF FLD0857E NOT EQUAL XPC-FLD0857E + DISPLAY 'FLD0857E ==> ' FLD0857E + DISPLAY 'EXPECTED ==> ' XPC-FLD0857E. + IF FLD0858B (1:) NOT EQUAL XPC-FLD0858B + DISPLAY 'FLD0858B ==> ' FLD0858B + DISPLAY 'EXPECTED ==> ' XPC-FLD0858B. + IF FLD0858E NOT EQUAL XPC-FLD0858E + DISPLAY 'FLD0858E ==> ' FLD0858E + DISPLAY 'EXPECTED ==> ' XPC-FLD0858E. + IF FLD0859B (1:) NOT EQUAL XPC-FLD0859B + DISPLAY 'FLD0859B ==> ' FLD0859B + DISPLAY 'EXPECTED ==> ' XPC-FLD0859B. + IF FLD0859E NOT EQUAL XPC-FLD0859E + DISPLAY 'FLD0859E ==> ' FLD0859E + DISPLAY 'EXPECTED ==> ' XPC-FLD0859E. + IF FLD0860B (1:) NOT EQUAL XPC-FLD0860B + DISPLAY 'FLD0860B ==> ' FLD0860B + DISPLAY 'EXPECTED ==> ' XPC-FLD0860B. + IF FLD0860E NOT EQUAL XPC-FLD0860E + DISPLAY 'FLD0860E ==> ' FLD0860E + DISPLAY 'EXPECTED ==> ' XPC-FLD0860E. + IF FLD0861B (1:) NOT EQUAL XPC-FLD0861B + DISPLAY 'FLD0861B ==> ' FLD0861B + DISPLAY 'EXPECTED ==> ' XPC-FLD0861B. + IF FLD0861E NOT EQUAL XPC-FLD0861E + DISPLAY 'FLD0861E ==> ' FLD0861E + DISPLAY 'EXPECTED ==> ' XPC-FLD0861E. + IF FLD0862B (1:) NOT EQUAL XPC-FLD0862B + DISPLAY 'FLD0862B ==> ' FLD0862B + DISPLAY 'EXPECTED ==> ' XPC-FLD0862B. + IF FLD0862E NOT EQUAL XPC-FLD0862E + DISPLAY 'FLD0862E ==> ' FLD0862E + DISPLAY 'EXPECTED ==> ' XPC-FLD0862E. + IF FLD0863B (1:) NOT EQUAL XPC-FLD0863B + DISPLAY 'FLD0863B ==> ' FLD0863B + DISPLAY 'EXPECTED ==> ' XPC-FLD0863B. + IF FLD0863E NOT EQUAL XPC-FLD0863E + DISPLAY 'FLD0863E ==> ' FLD0863E + DISPLAY 'EXPECTED ==> ' XPC-FLD0863E. + IF FLD0864B (1:) NOT EQUAL XPC-FLD0864B + DISPLAY 'FLD0864B ==> ' FLD0864B + DISPLAY 'EXPECTED ==> ' XPC-FLD0864B. + IF FLD0864E NOT EQUAL XPC-FLD0864E + DISPLAY 'FLD0864E ==> ' FLD0864E + DISPLAY 'EXPECTED ==> ' XPC-FLD0864E. + IF FLD0865B (1:) NOT EQUAL XPC-FLD0865B + DISPLAY 'FLD0865B ==> ' FLD0865B + DISPLAY 'EXPECTED ==> ' XPC-FLD0865B. + IF FLD0865E NOT EQUAL XPC-FLD0865E + DISPLAY 'FLD0865E ==> ' FLD0865E + DISPLAY 'EXPECTED ==> ' XPC-FLD0865E. + IF FLD0866B (1:) NOT EQUAL XPC-FLD0866B + DISPLAY 'FLD0866B ==> ' FLD0866B + DISPLAY 'EXPECTED ==> ' XPC-FLD0866B. + IF FLD0866E NOT EQUAL XPC-FLD0866E + DISPLAY 'FLD0866E ==> ' FLD0866E + DISPLAY 'EXPECTED ==> ' XPC-FLD0866E. + IF FLD0867B (1:) NOT EQUAL XPC-FLD0867B + DISPLAY 'FLD0867B ==> ' FLD0867B + DISPLAY 'EXPECTED ==> ' XPC-FLD0867B. + IF FLD0867E NOT EQUAL XPC-FLD0867E + DISPLAY 'FLD0867E ==> ' FLD0867E + DISPLAY 'EXPECTED ==> ' XPC-FLD0867E. + IF FLD0868B (1:) NOT EQUAL XPC-FLD0868B + DISPLAY 'FLD0868B ==> ' FLD0868B + DISPLAY 'EXPECTED ==> ' XPC-FLD0868B. + IF FLD0868E NOT EQUAL XPC-FLD0868E + DISPLAY 'FLD0868E ==> ' FLD0868E + DISPLAY 'EXPECTED ==> ' XPC-FLD0868E. + IF FLD0869B (1:) NOT EQUAL XPC-FLD0869B + DISPLAY 'FLD0869B ==> ' FLD0869B + DISPLAY 'EXPECTED ==> ' XPC-FLD0869B. + IF FLD0869E NOT EQUAL XPC-FLD0869E + DISPLAY 'FLD0869E ==> ' FLD0869E + DISPLAY 'EXPECTED ==> ' XPC-FLD0869E. + IF FLD0870B (1:) NOT EQUAL XPC-FLD0870B + DISPLAY 'FLD0870B ==> ' FLD0870B + DISPLAY 'EXPECTED ==> ' XPC-FLD0870B. + IF FLD0870E NOT EQUAL XPC-FLD0870E + DISPLAY 'FLD0870E ==> ' FLD0870E + DISPLAY 'EXPECTED ==> ' XPC-FLD0870E. + IF FLD0871B (1:) NOT EQUAL XPC-FLD0871B + DISPLAY 'FLD0871B ==> ' FLD0871B + DISPLAY 'EXPECTED ==> ' XPC-FLD0871B. + IF FLD0871E NOT EQUAL XPC-FLD0871E + DISPLAY 'FLD0871E ==> ' FLD0871E + DISPLAY 'EXPECTED ==> ' XPC-FLD0871E. + IF FLD0872B (1:) NOT EQUAL XPC-FLD0872B + DISPLAY 'FLD0872B ==> ' FLD0872B + DISPLAY 'EXPECTED ==> ' XPC-FLD0872B. + IF FLD0872E NOT EQUAL XPC-FLD0872E + DISPLAY 'FLD0872E ==> ' FLD0872E + DISPLAY 'EXPECTED ==> ' XPC-FLD0872E. + IF FLD0873B (1:) NOT EQUAL XPC-FLD0873B + DISPLAY 'FLD0873B ==> ' FLD0873B + DISPLAY 'EXPECTED ==> ' XPC-FLD0873B. + IF FLD0873E NOT EQUAL XPC-FLD0873E + DISPLAY 'FLD0873E ==> ' FLD0873E + DISPLAY 'EXPECTED ==> ' XPC-FLD0873E. + IF FLD0874B (1:) NOT EQUAL XPC-FLD0874B + DISPLAY 'FLD0874B ==> ' FLD0874B + DISPLAY 'EXPECTED ==> ' XPC-FLD0874B. + IF FLD0874E NOT EQUAL XPC-FLD0874E + DISPLAY 'FLD0874E ==> ' FLD0874E + DISPLAY 'EXPECTED ==> ' XPC-FLD0874E. + IF FLD0875B (1:) NOT EQUAL XPC-FLD0875B + DISPLAY 'FLD0875B ==> ' FLD0875B + DISPLAY 'EXPECTED ==> ' XPC-FLD0875B. + IF FLD0875E NOT EQUAL XPC-FLD0875E + DISPLAY 'FLD0875E ==> ' FLD0875E + DISPLAY 'EXPECTED ==> ' XPC-FLD0875E. + IF FLD0876B (1:) NOT EQUAL XPC-FLD0876B + DISPLAY 'FLD0876B ==> ' FLD0876B + DISPLAY 'EXPECTED ==> ' XPC-FLD0876B. + IF FLD0876E NOT EQUAL XPC-FLD0876E + DISPLAY 'FLD0876E ==> ' FLD0876E + DISPLAY 'EXPECTED ==> ' XPC-FLD0876E. + IF FLD0877B (1:) NOT EQUAL XPC-FLD0877B + DISPLAY 'FLD0877B ==> ' FLD0877B + DISPLAY 'EXPECTED ==> ' XPC-FLD0877B. + IF FLD0877E NOT EQUAL XPC-FLD0877E + DISPLAY 'FLD0877E ==> ' FLD0877E + DISPLAY 'EXPECTED ==> ' XPC-FLD0877E. + IF FLD0878B (1:) NOT EQUAL XPC-FLD0878B + DISPLAY 'FLD0878B ==> ' FLD0878B + DISPLAY 'EXPECTED ==> ' XPC-FLD0878B. + IF FLD0878E NOT EQUAL XPC-FLD0878E + DISPLAY 'FLD0878E ==> ' FLD0878E + DISPLAY 'EXPECTED ==> ' XPC-FLD0878E. + IF FLD0879B (1:) NOT EQUAL XPC-FLD0879B + DISPLAY 'FLD0879B ==> ' FLD0879B + DISPLAY 'EXPECTED ==> ' XPC-FLD0879B. + IF FLD0879E NOT EQUAL XPC-FLD0879E + DISPLAY 'FLD0879E ==> ' FLD0879E + DISPLAY 'EXPECTED ==> ' XPC-FLD0879E. + IF FLD0880B (1:) NOT EQUAL XPC-FLD0880B + DISPLAY 'FLD0880B ==> ' FLD0880B + DISPLAY 'EXPECTED ==> ' XPC-FLD0880B. + IF FLD0880E NOT EQUAL XPC-FLD0880E + DISPLAY 'FLD0880E ==> ' FLD0880E + DISPLAY 'EXPECTED ==> ' XPC-FLD0880E. + IF FLD0881B (1:) NOT EQUAL XPC-FLD0881B + DISPLAY 'FLD0881B ==> ' FLD0881B + DISPLAY 'EXPECTED ==> ' XPC-FLD0881B. + IF FLD0881E NOT EQUAL XPC-FLD0881E + DISPLAY 'FLD0881E ==> ' FLD0881E + DISPLAY 'EXPECTED ==> ' XPC-FLD0881E. + IF FLD0882B (1:) NOT EQUAL XPC-FLD0882B + DISPLAY 'FLD0882B ==> ' FLD0882B + DISPLAY 'EXPECTED ==> ' XPC-FLD0882B. + IF FLD0882E NOT EQUAL XPC-FLD0882E + DISPLAY 'FLD0882E ==> ' FLD0882E + DISPLAY 'EXPECTED ==> ' XPC-FLD0882E. + IF FLD0883B (1:) NOT EQUAL XPC-FLD0883B + DISPLAY 'FLD0883B ==> ' FLD0883B + DISPLAY 'EXPECTED ==> ' XPC-FLD0883B. + IF FLD0883E NOT EQUAL XPC-FLD0883E + DISPLAY 'FLD0883E ==> ' FLD0883E + DISPLAY 'EXPECTED ==> ' XPC-FLD0883E. + IF FLD0884B (1:) NOT EQUAL XPC-FLD0884B + DISPLAY 'FLD0884B ==> ' FLD0884B + DISPLAY 'EXPECTED ==> ' XPC-FLD0884B. + IF FLD0884E NOT EQUAL XPC-FLD0884E + DISPLAY 'FLD0884E ==> ' FLD0884E + DISPLAY 'EXPECTED ==> ' XPC-FLD0884E. + IF FLD0885B (1:) NOT EQUAL XPC-FLD0885B + DISPLAY 'FLD0885B ==> ' FLD0885B + DISPLAY 'EXPECTED ==> ' XPC-FLD0885B. + IF FLD0885E NOT EQUAL XPC-FLD0885E + DISPLAY 'FLD0885E ==> ' FLD0885E + DISPLAY 'EXPECTED ==> ' XPC-FLD0885E. + IF FLD0886B (1:) NOT EQUAL XPC-FLD0886B + DISPLAY 'FLD0886B ==> ' FLD0886B + DISPLAY 'EXPECTED ==> ' XPC-FLD0886B. + IF FLD0886E NOT EQUAL XPC-FLD0886E + DISPLAY 'FLD0886E ==> ' FLD0886E + DISPLAY 'EXPECTED ==> ' XPC-FLD0886E. + IF FLD0887B (1:) NOT EQUAL XPC-FLD0887B + DISPLAY 'FLD0887B ==> ' FLD0887B + DISPLAY 'EXPECTED ==> ' XPC-FLD0887B. + IF FLD0887E NOT EQUAL XPC-FLD0887E + DISPLAY 'FLD0887E ==> ' FLD0887E + DISPLAY 'EXPECTED ==> ' XPC-FLD0887E. + IF FLD0888B (1:) NOT EQUAL XPC-FLD0888B + DISPLAY 'FLD0888B ==> ' FLD0888B + DISPLAY 'EXPECTED ==> ' XPC-FLD0888B. + IF FLD0888E NOT EQUAL XPC-FLD0888E + DISPLAY 'FLD0888E ==> ' FLD0888E + DISPLAY 'EXPECTED ==> ' XPC-FLD0888E. + IF FLD0889B (1:) NOT EQUAL XPC-FLD0889B + DISPLAY 'FLD0889B ==> ' FLD0889B + DISPLAY 'EXPECTED ==> ' XPC-FLD0889B. + IF FLD0889E NOT EQUAL XPC-FLD0889E + DISPLAY 'FLD0889E ==> ' FLD0889E + DISPLAY 'EXPECTED ==> ' XPC-FLD0889E. + IF FLD0890B (1:) NOT EQUAL XPC-FLD0890B + DISPLAY 'FLD0890B ==> ' FLD0890B + DISPLAY 'EXPECTED ==> ' XPC-FLD0890B. + IF FLD0890E NOT EQUAL XPC-FLD0890E + DISPLAY 'FLD0890E ==> ' FLD0890E + DISPLAY 'EXPECTED ==> ' XPC-FLD0890E. + IF FLD0891B (1:) NOT EQUAL XPC-FLD0891B + DISPLAY 'FLD0891B ==> ' FLD0891B + DISPLAY 'EXPECTED ==> ' XPC-FLD0891B. + IF FLD0891E NOT EQUAL XPC-FLD0891E + DISPLAY 'FLD0891E ==> ' FLD0891E + DISPLAY 'EXPECTED ==> ' XPC-FLD0891E. + IF FLD0892B (1:) NOT EQUAL XPC-FLD0892B + DISPLAY 'FLD0892B ==> ' FLD0892B + DISPLAY 'EXPECTED ==> ' XPC-FLD0892B. + IF FLD0892E NOT EQUAL XPC-FLD0892E + DISPLAY 'FLD0892E ==> ' FLD0892E + DISPLAY 'EXPECTED ==> ' XPC-FLD0892E. + IF FLD0893B (1:) NOT EQUAL XPC-FLD0893B + DISPLAY 'FLD0893B ==> ' FLD0893B + DISPLAY 'EXPECTED ==> ' XPC-FLD0893B. + IF FLD0893E NOT EQUAL XPC-FLD0893E + DISPLAY 'FLD0893E ==> ' FLD0893E + DISPLAY 'EXPECTED ==> ' XPC-FLD0893E. + IF FLD0894B (1:) NOT EQUAL XPC-FLD0894B + DISPLAY 'FLD0894B ==> ' FLD0894B + DISPLAY 'EXPECTED ==> ' XPC-FLD0894B. + IF FLD0894E NOT EQUAL XPC-FLD0894E + DISPLAY 'FLD0894E ==> ' FLD0894E + DISPLAY 'EXPECTED ==> ' XPC-FLD0894E. + IF FLD0895B (1:) NOT EQUAL XPC-FLD0895B + DISPLAY 'FLD0895B ==> ' FLD0895B + DISPLAY 'EXPECTED ==> ' XPC-FLD0895B. + IF FLD0895E NOT EQUAL XPC-FLD0895E + DISPLAY 'FLD0895E ==> ' FLD0895E + DISPLAY 'EXPECTED ==> ' XPC-FLD0895E. + IF FLD0896B (1:) NOT EQUAL XPC-FLD0896B + DISPLAY 'FLD0896B ==> ' FLD0896B + DISPLAY 'EXPECTED ==> ' XPC-FLD0896B. + IF FLD0896E NOT EQUAL XPC-FLD0896E + DISPLAY 'FLD0896E ==> ' FLD0896E + DISPLAY 'EXPECTED ==> ' XPC-FLD0896E. + IF FLD0897B (1:) NOT EQUAL XPC-FLD0897B + DISPLAY 'FLD0897B ==> ' FLD0897B + DISPLAY 'EXPECTED ==> ' XPC-FLD0897B. + IF FLD0897E NOT EQUAL XPC-FLD0897E + DISPLAY 'FLD0897E ==> ' FLD0897E + DISPLAY 'EXPECTED ==> ' XPC-FLD0897E. + IF FLD0898B (1:) NOT EQUAL XPC-FLD0898B + DISPLAY 'FLD0898B ==> ' FLD0898B + DISPLAY 'EXPECTED ==> ' XPC-FLD0898B. + IF FLD0898E NOT EQUAL XPC-FLD0898E + DISPLAY 'FLD0898E ==> ' FLD0898E + DISPLAY 'EXPECTED ==> ' XPC-FLD0898E. + IF FLD0899B (1:) NOT EQUAL XPC-FLD0899B + DISPLAY 'FLD0899B ==> ' FLD0899B + DISPLAY 'EXPECTED ==> ' XPC-FLD0899B. + IF FLD0899E NOT EQUAL XPC-FLD0899E + DISPLAY 'FLD0899E ==> ' FLD0899E + DISPLAY 'EXPECTED ==> ' XPC-FLD0899E. + IF FLD0900B (1:) NOT EQUAL XPC-FLD0900B + DISPLAY 'FLD0900B ==> ' FLD0900B + DISPLAY 'EXPECTED ==> ' XPC-FLD0900B. + IF FLD0900E NOT EQUAL XPC-FLD0900E + DISPLAY 'FLD0900E ==> ' FLD0900E + DISPLAY 'EXPECTED ==> ' XPC-FLD0900E. + IF FLD0901B (1:) NOT EQUAL XPC-FLD0901B + DISPLAY 'FLD0901B ==> ' FLD0901B + DISPLAY 'EXPECTED ==> ' XPC-FLD0901B. + IF FLD0901E NOT EQUAL XPC-FLD0901E + DISPLAY 'FLD0901E ==> ' FLD0901E + DISPLAY 'EXPECTED ==> ' XPC-FLD0901E. + IF FLD0902B (1:) NOT EQUAL XPC-FLD0902B + DISPLAY 'FLD0902B ==> ' FLD0902B + DISPLAY 'EXPECTED ==> ' XPC-FLD0902B. + IF FLD0902E NOT EQUAL XPC-FLD0902E + DISPLAY 'FLD0902E ==> ' FLD0902E + DISPLAY 'EXPECTED ==> ' XPC-FLD0902E. + IF FLD0903B (1:) NOT EQUAL XPC-FLD0903B + DISPLAY 'FLD0903B ==> ' FLD0903B + DISPLAY 'EXPECTED ==> ' XPC-FLD0903B. + IF FLD0903E NOT EQUAL XPC-FLD0903E + DISPLAY 'FLD0903E ==> ' FLD0903E + DISPLAY 'EXPECTED ==> ' XPC-FLD0903E. + IF FLD0904B (1:) NOT EQUAL XPC-FLD0904B + DISPLAY 'FLD0904B ==> ' FLD0904B + DISPLAY 'EXPECTED ==> ' XPC-FLD0904B. + IF FLD0904E NOT EQUAL XPC-FLD0904E + DISPLAY 'FLD0904E ==> ' FLD0904E + DISPLAY 'EXPECTED ==> ' XPC-FLD0904E. + IF FLD0905B (1:) NOT EQUAL XPC-FLD0905B + DISPLAY 'FLD0905B ==> ' FLD0905B + DISPLAY 'EXPECTED ==> ' XPC-FLD0905B. + IF FLD0905E NOT EQUAL XPC-FLD0905E + DISPLAY 'FLD0905E ==> ' FLD0905E + DISPLAY 'EXPECTED ==> ' XPC-FLD0905E. + IF FLD0906B (1:) NOT EQUAL XPC-FLD0906B + DISPLAY 'FLD0906B ==> ' FLD0906B + DISPLAY 'EXPECTED ==> ' XPC-FLD0906B. + IF FLD0906E NOT EQUAL XPC-FLD0906E + DISPLAY 'FLD0906E ==> ' FLD0906E + DISPLAY 'EXPECTED ==> ' XPC-FLD0906E. + IF FLD0907B (1:) NOT EQUAL XPC-FLD0907B + DISPLAY 'FLD0907B ==> ' FLD0907B + DISPLAY 'EXPECTED ==> ' XPC-FLD0907B. + IF FLD0907E NOT EQUAL XPC-FLD0907E + DISPLAY 'FLD0907E ==> ' FLD0907E + DISPLAY 'EXPECTED ==> ' XPC-FLD0907E. + IF FLD0908B (1:) NOT EQUAL XPC-FLD0908B + DISPLAY 'FLD0908B ==> ' FLD0908B + DISPLAY 'EXPECTED ==> ' XPC-FLD0908B. + IF FLD0908E NOT EQUAL XPC-FLD0908E + DISPLAY 'FLD0908E ==> ' FLD0908E + DISPLAY 'EXPECTED ==> ' XPC-FLD0908E. + IF FLD0909B (1:) NOT EQUAL XPC-FLD0909B + DISPLAY 'FLD0909B ==> ' FLD0909B + DISPLAY 'EXPECTED ==> ' XPC-FLD0909B. + IF FLD0909E NOT EQUAL XPC-FLD0909E + DISPLAY 'FLD0909E ==> ' FLD0909E + DISPLAY 'EXPECTED ==> ' XPC-FLD0909E. + IF FLD0910B (1:) NOT EQUAL XPC-FLD0910B + DISPLAY 'FLD0910B ==> ' FLD0910B + DISPLAY 'EXPECTED ==> ' XPC-FLD0910B. + IF FLD0910E NOT EQUAL XPC-FLD0910E + DISPLAY 'FLD0910E ==> ' FLD0910E + DISPLAY 'EXPECTED ==> ' XPC-FLD0910E. + IF FLD0911B (1:) NOT EQUAL XPC-FLD0911B + DISPLAY 'FLD0911B ==> ' FLD0911B + DISPLAY 'EXPECTED ==> ' XPC-FLD0911B. + IF FLD0911E NOT EQUAL XPC-FLD0911E + DISPLAY 'FLD0911E ==> ' FLD0911E + DISPLAY 'EXPECTED ==> ' XPC-FLD0911E. + IF FLD0912B (1:) NOT EQUAL XPC-FLD0912B + DISPLAY 'FLD0912B ==> ' FLD0912B + DISPLAY 'EXPECTED ==> ' XPC-FLD0912B. + IF FLD0912E NOT EQUAL XPC-FLD0912E + DISPLAY 'FLD0912E ==> ' FLD0912E + DISPLAY 'EXPECTED ==> ' XPC-FLD0912E. + IF FLD0913B (1:) NOT EQUAL XPC-FLD0913B + DISPLAY 'FLD0913B ==> ' FLD0913B + DISPLAY 'EXPECTED ==> ' XPC-FLD0913B. + IF FLD0913E NOT EQUAL XPC-FLD0913E + DISPLAY 'FLD0913E ==> ' FLD0913E + DISPLAY 'EXPECTED ==> ' XPC-FLD0913E. + IF FLD0914B (1:) NOT EQUAL XPC-FLD0914B + DISPLAY 'FLD0914B ==> ' FLD0914B + DISPLAY 'EXPECTED ==> ' XPC-FLD0914B. + IF FLD0914E NOT EQUAL XPC-FLD0914E + DISPLAY 'FLD0914E ==> ' FLD0914E + DISPLAY 'EXPECTED ==> ' XPC-FLD0914E. + IF FLD0915B (1:) NOT EQUAL XPC-FLD0915B + DISPLAY 'FLD0915B ==> ' FLD0915B + DISPLAY 'EXPECTED ==> ' XPC-FLD0915B. + IF FLD0915E NOT EQUAL XPC-FLD0915E + DISPLAY 'FLD0915E ==> ' FLD0915E + DISPLAY 'EXPECTED ==> ' XPC-FLD0915E. + IF FLD0916B (1:) NOT EQUAL XPC-FLD0916B + DISPLAY 'FLD0916B ==> ' FLD0916B + DISPLAY 'EXPECTED ==> ' XPC-FLD0916B. + IF FLD0916E NOT EQUAL XPC-FLD0916E + DISPLAY 'FLD0916E ==> ' FLD0916E + DISPLAY 'EXPECTED ==> ' XPC-FLD0916E. + IF FLD0917B (1:) NOT EQUAL XPC-FLD0917B + DISPLAY 'FLD0917B ==> ' FLD0917B + DISPLAY 'EXPECTED ==> ' XPC-FLD0917B. + IF FLD0917E NOT EQUAL XPC-FLD0917E + DISPLAY 'FLD0917E ==> ' FLD0917E + DISPLAY 'EXPECTED ==> ' XPC-FLD0917E. + IF FLD0918B (1:) NOT EQUAL XPC-FLD0918B + DISPLAY 'FLD0918B ==> ' FLD0918B + DISPLAY 'EXPECTED ==> ' XPC-FLD0918B. + IF FLD0918E NOT EQUAL XPC-FLD0918E + DISPLAY 'FLD0918E ==> ' FLD0918E + DISPLAY 'EXPECTED ==> ' XPC-FLD0918E. + IF FLD0919B (1:) NOT EQUAL XPC-FLD0919B + DISPLAY 'FLD0919B ==> ' FLD0919B + DISPLAY 'EXPECTED ==> ' XPC-FLD0919B. + IF FLD0919E NOT EQUAL XPC-FLD0919E + DISPLAY 'FLD0919E ==> ' FLD0919E + DISPLAY 'EXPECTED ==> ' XPC-FLD0919E. + IF FLD0920B (1:) NOT EQUAL XPC-FLD0920B + DISPLAY 'FLD0920B ==> ' FLD0920B + DISPLAY 'EXPECTED ==> ' XPC-FLD0920B. + IF FLD0920E NOT EQUAL XPC-FLD0920E + DISPLAY 'FLD0920E ==> ' FLD0920E + DISPLAY 'EXPECTED ==> ' XPC-FLD0920E. + IF FLD0921B (1:) NOT EQUAL XPC-FLD0921B + DISPLAY 'FLD0921B ==> ' FLD0921B + DISPLAY 'EXPECTED ==> ' XPC-FLD0921B. + IF FLD0921E NOT EQUAL XPC-FLD0921E + DISPLAY 'FLD0921E ==> ' FLD0921E + DISPLAY 'EXPECTED ==> ' XPC-FLD0921E. + IF FLD0922B (1:) NOT EQUAL XPC-FLD0922B + DISPLAY 'FLD0922B ==> ' FLD0922B + DISPLAY 'EXPECTED ==> ' XPC-FLD0922B. + IF FLD0922E NOT EQUAL XPC-FLD0922E + DISPLAY 'FLD0922E ==> ' FLD0922E + DISPLAY 'EXPECTED ==> ' XPC-FLD0922E. + IF FLD0923B (1:) NOT EQUAL XPC-FLD0923B + DISPLAY 'FLD0923B ==> ' FLD0923B + DISPLAY 'EXPECTED ==> ' XPC-FLD0923B. + IF FLD0923E NOT EQUAL XPC-FLD0923E + DISPLAY 'FLD0923E ==> ' FLD0923E + DISPLAY 'EXPECTED ==> ' XPC-FLD0923E. + IF FLD0924B (1:) NOT EQUAL XPC-FLD0924B + DISPLAY 'FLD0924B ==> ' FLD0924B + DISPLAY 'EXPECTED ==> ' XPC-FLD0924B. + IF FLD0924E NOT EQUAL XPC-FLD0924E + DISPLAY 'FLD0924E ==> ' FLD0924E + DISPLAY 'EXPECTED ==> ' XPC-FLD0924E. + IF FLD0925B (1:) NOT EQUAL XPC-FLD0925B + DISPLAY 'FLD0925B ==> ' FLD0925B + DISPLAY 'EXPECTED ==> ' XPC-FLD0925B. + IF FLD0925E NOT EQUAL XPC-FLD0925E + DISPLAY 'FLD0925E ==> ' FLD0925E + DISPLAY 'EXPECTED ==> ' XPC-FLD0925E. + IF FLD0926B (1:) NOT EQUAL XPC-FLD0926B + DISPLAY 'FLD0926B ==> ' FLD0926B + DISPLAY 'EXPECTED ==> ' XPC-FLD0926B. + IF FLD0926E NOT EQUAL XPC-FLD0926E + DISPLAY 'FLD0926E ==> ' FLD0926E + DISPLAY 'EXPECTED ==> ' XPC-FLD0926E. + IF FLD0927B (1:) NOT EQUAL XPC-FLD0927B + DISPLAY 'FLD0927B ==> ' FLD0927B + DISPLAY 'EXPECTED ==> ' XPC-FLD0927B. + IF FLD0927E NOT EQUAL XPC-FLD0927E + DISPLAY 'FLD0927E ==> ' FLD0927E + DISPLAY 'EXPECTED ==> ' XPC-FLD0927E. + IF FLD0928B (1:) NOT EQUAL XPC-FLD0928B + DISPLAY 'FLD0928B ==> ' FLD0928B + DISPLAY 'EXPECTED ==> ' XPC-FLD0928B. + IF FLD0928E NOT EQUAL XPC-FLD0928E + DISPLAY 'FLD0928E ==> ' FLD0928E + DISPLAY 'EXPECTED ==> ' XPC-FLD0928E. + IF FLD0929B (1:) NOT EQUAL XPC-FLD0929B + DISPLAY 'FLD0929B ==> ' FLD0929B + DISPLAY 'EXPECTED ==> ' XPC-FLD0929B. + IF FLD0929E NOT EQUAL XPC-FLD0929E + DISPLAY 'FLD0929E ==> ' FLD0929E + DISPLAY 'EXPECTED ==> ' XPC-FLD0929E. + IF FLD0930B (1:) NOT EQUAL XPC-FLD0930B + DISPLAY 'FLD0930B ==> ' FLD0930B + DISPLAY 'EXPECTED ==> ' XPC-FLD0930B. + IF FLD0930E NOT EQUAL XPC-FLD0930E + DISPLAY 'FLD0930E ==> ' FLD0930E + DISPLAY 'EXPECTED ==> ' XPC-FLD0930E. + IF FLD0931B (1:) NOT EQUAL XPC-FLD0931B + DISPLAY 'FLD0931B ==> ' FLD0931B + DISPLAY 'EXPECTED ==> ' XPC-FLD0931B. + IF FLD0931E NOT EQUAL XPC-FLD0931E + DISPLAY 'FLD0931E ==> ' FLD0931E + DISPLAY 'EXPECTED ==> ' XPC-FLD0931E. + IF FLD0932B (1:) NOT EQUAL XPC-FLD0932B + DISPLAY 'FLD0932B ==> ' FLD0932B + DISPLAY 'EXPECTED ==> ' XPC-FLD0932B. + IF FLD0932E NOT EQUAL XPC-FLD0932E + DISPLAY 'FLD0932E ==> ' FLD0932E + DISPLAY 'EXPECTED ==> ' XPC-FLD0932E. + IF FLD0933B (1:) NOT EQUAL XPC-FLD0933B + DISPLAY 'FLD0933B ==> ' FLD0933B + DISPLAY 'EXPECTED ==> ' XPC-FLD0933B. + IF FLD0933E NOT EQUAL XPC-FLD0933E + DISPLAY 'FLD0933E ==> ' FLD0933E + DISPLAY 'EXPECTED ==> ' XPC-FLD0933E. + IF FLD0934B (1:) NOT EQUAL XPC-FLD0934B + DISPLAY 'FLD0934B ==> ' FLD0934B + DISPLAY 'EXPECTED ==> ' XPC-FLD0934B. + IF FLD0934E NOT EQUAL XPC-FLD0934E + DISPLAY 'FLD0934E ==> ' FLD0934E + DISPLAY 'EXPECTED ==> ' XPC-FLD0934E. + IF FLD0935B (1:) NOT EQUAL XPC-FLD0935B + DISPLAY 'FLD0935B ==> ' FLD0935B + DISPLAY 'EXPECTED ==> ' XPC-FLD0935B. + IF FLD0935E NOT EQUAL XPC-FLD0935E + DISPLAY 'FLD0935E ==> ' FLD0935E + DISPLAY 'EXPECTED ==> ' XPC-FLD0935E. + IF FLD0936B (1:) NOT EQUAL XPC-FLD0936B + DISPLAY 'FLD0936B ==> ' FLD0936B + DISPLAY 'EXPECTED ==> ' XPC-FLD0936B. + IF FLD0936E NOT EQUAL XPC-FLD0936E + DISPLAY 'FLD0936E ==> ' FLD0936E + DISPLAY 'EXPECTED ==> ' XPC-FLD0936E. + IF FLD0937B (1:) NOT EQUAL XPC-FLD0937B + DISPLAY 'FLD0937B ==> ' FLD0937B + DISPLAY 'EXPECTED ==> ' XPC-FLD0937B. + IF FLD0937E NOT EQUAL XPC-FLD0937E + DISPLAY 'FLD0937E ==> ' FLD0937E + DISPLAY 'EXPECTED ==> ' XPC-FLD0937E. + IF FLD0938B (1:) NOT EQUAL XPC-FLD0938B + DISPLAY 'FLD0938B ==> ' FLD0938B + DISPLAY 'EXPECTED ==> ' XPC-FLD0938B. + IF FLD0938E NOT EQUAL XPC-FLD0938E + DISPLAY 'FLD0938E ==> ' FLD0938E + DISPLAY 'EXPECTED ==> ' XPC-FLD0938E. + IF FLD0939B (1:) NOT EQUAL XPC-FLD0939B + DISPLAY 'FLD0939B ==> ' FLD0939B + DISPLAY 'EXPECTED ==> ' XPC-FLD0939B. + IF FLD0939E NOT EQUAL XPC-FLD0939E + DISPLAY 'FLD0939E ==> ' FLD0939E + DISPLAY 'EXPECTED ==> ' XPC-FLD0939E. + IF FLD0940B (1:) NOT EQUAL XPC-FLD0940B + DISPLAY 'FLD0940B ==> ' FLD0940B + DISPLAY 'EXPECTED ==> ' XPC-FLD0940B. + IF FLD0940E NOT EQUAL XPC-FLD0940E + DISPLAY 'FLD0940E ==> ' FLD0940E + DISPLAY 'EXPECTED ==> ' XPC-FLD0940E. + IF FLD0941B (1:) NOT EQUAL XPC-FLD0941B + DISPLAY 'FLD0941B ==> ' FLD0941B + DISPLAY 'EXPECTED ==> ' XPC-FLD0941B. + IF FLD0941E NOT EQUAL XPC-FLD0941E + DISPLAY 'FLD0941E ==> ' FLD0941E + DISPLAY 'EXPECTED ==> ' XPC-FLD0941E. + IF FLD0942B (1:) NOT EQUAL XPC-FLD0942B + DISPLAY 'FLD0942B ==> ' FLD0942B + DISPLAY 'EXPECTED ==> ' XPC-FLD0942B. + IF FLD0942E NOT EQUAL XPC-FLD0942E + DISPLAY 'FLD0942E ==> ' FLD0942E + DISPLAY 'EXPECTED ==> ' XPC-FLD0942E. + IF FLD0943B (1:) NOT EQUAL XPC-FLD0943B + DISPLAY 'FLD0943B ==> ' FLD0943B + DISPLAY 'EXPECTED ==> ' XPC-FLD0943B. + IF FLD0943E NOT EQUAL XPC-FLD0943E + DISPLAY 'FLD0943E ==> ' FLD0943E + DISPLAY 'EXPECTED ==> ' XPC-FLD0943E. + IF FLD0944B (1:) NOT EQUAL XPC-FLD0944B + DISPLAY 'FLD0944B ==> ' FLD0944B + DISPLAY 'EXPECTED ==> ' XPC-FLD0944B. + IF FLD0944E NOT EQUAL XPC-FLD0944E + DISPLAY 'FLD0944E ==> ' FLD0944E + DISPLAY 'EXPECTED ==> ' XPC-FLD0944E. + IF FLD0945B (1:) NOT EQUAL XPC-FLD0945B + DISPLAY 'FLD0945B ==> ' FLD0945B + DISPLAY 'EXPECTED ==> ' XPC-FLD0945B. + IF FLD0945E NOT EQUAL XPC-FLD0945E + DISPLAY 'FLD0945E ==> ' FLD0945E + DISPLAY 'EXPECTED ==> ' XPC-FLD0945E. + IF FLD0946B (1:) NOT EQUAL XPC-FLD0946B + DISPLAY 'FLD0946B ==> ' FLD0946B + DISPLAY 'EXPECTED ==> ' XPC-FLD0946B. + IF FLD0946E NOT EQUAL XPC-FLD0946E + DISPLAY 'FLD0946E ==> ' FLD0946E + DISPLAY 'EXPECTED ==> ' XPC-FLD0946E. + IF FLD0947B (1:) NOT EQUAL XPC-FLD0947B + DISPLAY 'FLD0947B ==> ' FLD0947B + DISPLAY 'EXPECTED ==> ' XPC-FLD0947B. + IF FLD0947E NOT EQUAL XPC-FLD0947E + DISPLAY 'FLD0947E ==> ' FLD0947E + DISPLAY 'EXPECTED ==> ' XPC-FLD0947E. + IF FLD0948B (1:) NOT EQUAL XPC-FLD0948B + DISPLAY 'FLD0948B ==> ' FLD0948B + DISPLAY 'EXPECTED ==> ' XPC-FLD0948B. + IF FLD0948E NOT EQUAL XPC-FLD0948E + DISPLAY 'FLD0948E ==> ' FLD0948E + DISPLAY 'EXPECTED ==> ' XPC-FLD0948E. + IF FLD0949B (1:) NOT EQUAL XPC-FLD0949B + DISPLAY 'FLD0949B ==> ' FLD0949B + DISPLAY 'EXPECTED ==> ' XPC-FLD0949B. + IF FLD0949E NOT EQUAL XPC-FLD0949E + DISPLAY 'FLD0949E ==> ' FLD0949E + DISPLAY 'EXPECTED ==> ' XPC-FLD0949E. + IF FLD0950B (1:) NOT EQUAL XPC-FLD0950B + DISPLAY 'FLD0950B ==> ' FLD0950B + DISPLAY 'EXPECTED ==> ' XPC-FLD0950B. + IF FLD0950E NOT EQUAL XPC-FLD0950E + DISPLAY 'FLD0950E ==> ' FLD0950E + DISPLAY 'EXPECTED ==> ' XPC-FLD0950E. + IF FLD0951B (1:) NOT EQUAL XPC-FLD0951B + DISPLAY 'FLD0951B ==> ' FLD0951B + DISPLAY 'EXPECTED ==> ' XPC-FLD0951B. + IF FLD0951E NOT EQUAL XPC-FLD0951E + DISPLAY 'FLD0951E ==> ' FLD0951E + DISPLAY 'EXPECTED ==> ' XPC-FLD0951E. + IF FLD0952B (1:) NOT EQUAL XPC-FLD0952B + DISPLAY 'FLD0952B ==> ' FLD0952B + DISPLAY 'EXPECTED ==> ' XPC-FLD0952B. + IF FLD0952E NOT EQUAL XPC-FLD0952E + DISPLAY 'FLD0952E ==> ' FLD0952E + DISPLAY 'EXPECTED ==> ' XPC-FLD0952E. + IF FLD0953B (1:) NOT EQUAL XPC-FLD0953B + DISPLAY 'FLD0953B ==> ' FLD0953B + DISPLAY 'EXPECTED ==> ' XPC-FLD0953B. + IF FLD0953E NOT EQUAL XPC-FLD0953E + DISPLAY 'FLD0953E ==> ' FLD0953E + DISPLAY 'EXPECTED ==> ' XPC-FLD0953E. + IF FLD0954B (1:) NOT EQUAL XPC-FLD0954B + DISPLAY 'FLD0954B ==> ' FLD0954B + DISPLAY 'EXPECTED ==> ' XPC-FLD0954B. + IF FLD0954E NOT EQUAL XPC-FLD0954E + DISPLAY 'FLD0954E ==> ' FLD0954E + DISPLAY 'EXPECTED ==> ' XPC-FLD0954E. + IF FLD0955B (1:) NOT EQUAL XPC-FLD0955B + DISPLAY 'FLD0955B ==> ' FLD0955B + DISPLAY 'EXPECTED ==> ' XPC-FLD0955B. + IF FLD0955E NOT EQUAL XPC-FLD0955E + DISPLAY 'FLD0955E ==> ' FLD0955E + DISPLAY 'EXPECTED ==> ' XPC-FLD0955E. + IF FLD0956B (1:) NOT EQUAL XPC-FLD0956B + DISPLAY 'FLD0956B ==> ' FLD0956B + DISPLAY 'EXPECTED ==> ' XPC-FLD0956B. + IF FLD0956E NOT EQUAL XPC-FLD0956E + DISPLAY 'FLD0956E ==> ' FLD0956E + DISPLAY 'EXPECTED ==> ' XPC-FLD0956E. + IF FLD0957B (1:) NOT EQUAL XPC-FLD0957B + DISPLAY 'FLD0957B ==> ' FLD0957B + DISPLAY 'EXPECTED ==> ' XPC-FLD0957B. + IF FLD0957E NOT EQUAL XPC-FLD0957E + DISPLAY 'FLD0957E ==> ' FLD0957E + DISPLAY 'EXPECTED ==> ' XPC-FLD0957E. + IF FLD0958B (1:) NOT EQUAL XPC-FLD0958B + DISPLAY 'FLD0958B ==> ' FLD0958B + DISPLAY 'EXPECTED ==> ' XPC-FLD0958B. + IF FLD0958E NOT EQUAL XPC-FLD0958E + DISPLAY 'FLD0958E ==> ' FLD0958E + DISPLAY 'EXPECTED ==> ' XPC-FLD0958E. + IF FLD0959B (1:) NOT EQUAL XPC-FLD0959B + DISPLAY 'FLD0959B ==> ' FLD0959B + DISPLAY 'EXPECTED ==> ' XPC-FLD0959B. + IF FLD0959E NOT EQUAL XPC-FLD0959E + DISPLAY 'FLD0959E ==> ' FLD0959E + DISPLAY 'EXPECTED ==> ' XPC-FLD0959E. + IF FLD0960B (1:) NOT EQUAL XPC-FLD0960B + DISPLAY 'FLD0960B ==> ' FLD0960B + DISPLAY 'EXPECTED ==> ' XPC-FLD0960B. + IF FLD0960E NOT EQUAL XPC-FLD0960E + DISPLAY 'FLD0960E ==> ' FLD0960E + DISPLAY 'EXPECTED ==> ' XPC-FLD0960E. + IF FLD0961B (1:) NOT EQUAL XPC-FLD0961B + DISPLAY 'FLD0961B ==> ' FLD0961B + DISPLAY 'EXPECTED ==> ' XPC-FLD0961B. + IF FLD0961E NOT EQUAL XPC-FLD0961E + DISPLAY 'FLD0961E ==> ' FLD0961E + DISPLAY 'EXPECTED ==> ' XPC-FLD0961E. + IF FLD0962B (1:) NOT EQUAL XPC-FLD0962B + DISPLAY 'FLD0962B ==> ' FLD0962B + DISPLAY 'EXPECTED ==> ' XPC-FLD0962B. + IF FLD0962E NOT EQUAL XPC-FLD0962E + DISPLAY 'FLD0962E ==> ' FLD0962E + DISPLAY 'EXPECTED ==> ' XPC-FLD0962E. + IF FLD0963B (1:) NOT EQUAL XPC-FLD0963B + DISPLAY 'FLD0963B ==> ' FLD0963B + DISPLAY 'EXPECTED ==> ' XPC-FLD0963B. + IF FLD0963E NOT EQUAL XPC-FLD0963E + DISPLAY 'FLD0963E ==> ' FLD0963E + DISPLAY 'EXPECTED ==> ' XPC-FLD0963E. + IF FLD0964B (1:) NOT EQUAL XPC-FLD0964B + DISPLAY 'FLD0964B ==> ' FLD0964B + DISPLAY 'EXPECTED ==> ' XPC-FLD0964B. + IF FLD0964E NOT EQUAL XPC-FLD0964E + DISPLAY 'FLD0964E ==> ' FLD0964E + DISPLAY 'EXPECTED ==> ' XPC-FLD0964E. + IF FLD0965B (1:) NOT EQUAL XPC-FLD0965B + DISPLAY 'FLD0965B ==> ' FLD0965B + DISPLAY 'EXPECTED ==> ' XPC-FLD0965B. + IF FLD0965E NOT EQUAL XPC-FLD0965E + DISPLAY 'FLD0965E ==> ' FLD0965E + DISPLAY 'EXPECTED ==> ' XPC-FLD0965E. + IF FLD0966B (1:) NOT EQUAL XPC-FLD0966B + DISPLAY 'FLD0966B ==> ' FLD0966B + DISPLAY 'EXPECTED ==> ' XPC-FLD0966B. + IF FLD0966E NOT EQUAL XPC-FLD0966E + DISPLAY 'FLD0966E ==> ' FLD0966E + DISPLAY 'EXPECTED ==> ' XPC-FLD0966E. + IF FLD0967B (1:) NOT EQUAL XPC-FLD0967B + DISPLAY 'FLD0967B ==> ' FLD0967B + DISPLAY 'EXPECTED ==> ' XPC-FLD0967B. + IF FLD0967E NOT EQUAL XPC-FLD0967E + DISPLAY 'FLD0967E ==> ' FLD0967E + DISPLAY 'EXPECTED ==> ' XPC-FLD0967E. + IF FLD0968B (1:) NOT EQUAL XPC-FLD0968B + DISPLAY 'FLD0968B ==> ' FLD0968B + DISPLAY 'EXPECTED ==> ' XPC-FLD0968B. + IF FLD0968E NOT EQUAL XPC-FLD0968E + DISPLAY 'FLD0968E ==> ' FLD0968E + DISPLAY 'EXPECTED ==> ' XPC-FLD0968E. + IF FLD0969B (1:) NOT EQUAL XPC-FLD0969B + DISPLAY 'FLD0969B ==> ' FLD0969B + DISPLAY 'EXPECTED ==> ' XPC-FLD0969B. + IF FLD0969E NOT EQUAL XPC-FLD0969E + DISPLAY 'FLD0969E ==> ' FLD0969E + DISPLAY 'EXPECTED ==> ' XPC-FLD0969E. + IF FLD0970B (1:) NOT EQUAL XPC-FLD0970B + DISPLAY 'FLD0970B ==> ' FLD0970B + DISPLAY 'EXPECTED ==> ' XPC-FLD0970B. + IF FLD0970E NOT EQUAL XPC-FLD0970E + DISPLAY 'FLD0970E ==> ' FLD0970E + DISPLAY 'EXPECTED ==> ' XPC-FLD0970E. + IF FLD0971B (1:) NOT EQUAL XPC-FLD0971B + DISPLAY 'FLD0971B ==> ' FLD0971B + DISPLAY 'EXPECTED ==> ' XPC-FLD0971B. + IF FLD0971E NOT EQUAL XPC-FLD0971E + DISPLAY 'FLD0971E ==> ' FLD0971E + DISPLAY 'EXPECTED ==> ' XPC-FLD0971E. + IF FLD0972B (1:) NOT EQUAL XPC-FLD0972B + DISPLAY 'FLD0972B ==> ' FLD0972B + DISPLAY 'EXPECTED ==> ' XPC-FLD0972B. + IF FLD0972E NOT EQUAL XPC-FLD0972E + DISPLAY 'FLD0972E ==> ' FLD0972E + DISPLAY 'EXPECTED ==> ' XPC-FLD0972E. + IF FLD0973B (1:) NOT EQUAL XPC-FLD0973B + DISPLAY 'FLD0973B ==> ' FLD0973B + DISPLAY 'EXPECTED ==> ' XPC-FLD0973B. + IF FLD0973E NOT EQUAL XPC-FLD0973E + DISPLAY 'FLD0973E ==> ' FLD0973E + DISPLAY 'EXPECTED ==> ' XPC-FLD0973E. + IF FLD0974B (1:) NOT EQUAL XPC-FLD0974B + DISPLAY 'FLD0974B ==> ' FLD0974B + DISPLAY 'EXPECTED ==> ' XPC-FLD0974B. + IF FLD0974E NOT EQUAL XPC-FLD0974E + DISPLAY 'FLD0974E ==> ' FLD0974E + DISPLAY 'EXPECTED ==> ' XPC-FLD0974E. + IF FLD0975B (1:) NOT EQUAL XPC-FLD0975B + DISPLAY 'FLD0975B ==> ' FLD0975B + DISPLAY 'EXPECTED ==> ' XPC-FLD0975B. + IF FLD0975E NOT EQUAL XPC-FLD0975E + DISPLAY 'FLD0975E ==> ' FLD0975E + DISPLAY 'EXPECTED ==> ' XPC-FLD0975E. + IF FLD0976B (1:) NOT EQUAL XPC-FLD0976B + DISPLAY 'FLD0976B ==> ' FLD0976B + DISPLAY 'EXPECTED ==> ' XPC-FLD0976B. + IF FLD0976E NOT EQUAL XPC-FLD0976E + DISPLAY 'FLD0976E ==> ' FLD0976E + DISPLAY 'EXPECTED ==> ' XPC-FLD0976E. + IF FLD0977B (1:) NOT EQUAL XPC-FLD0977B + DISPLAY 'FLD0977B ==> ' FLD0977B + DISPLAY 'EXPECTED ==> ' XPC-FLD0977B. + IF FLD0977E NOT EQUAL XPC-FLD0977E + DISPLAY 'FLD0977E ==> ' FLD0977E + DISPLAY 'EXPECTED ==> ' XPC-FLD0977E. + IF FLD0978B (1:) NOT EQUAL XPC-FLD0978B + DISPLAY 'FLD0978B ==> ' FLD0978B + DISPLAY 'EXPECTED ==> ' XPC-FLD0978B. + IF FLD0978E NOT EQUAL XPC-FLD0978E + DISPLAY 'FLD0978E ==> ' FLD0978E + DISPLAY 'EXPECTED ==> ' XPC-FLD0978E. + IF FLD0979B (1:) NOT EQUAL XPC-FLD0979B + DISPLAY 'FLD0979B ==> ' FLD0979B + DISPLAY 'EXPECTED ==> ' XPC-FLD0979B. + IF FLD0979E NOT EQUAL XPC-FLD0979E + DISPLAY 'FLD0979E ==> ' FLD0979E + DISPLAY 'EXPECTED ==> ' XPC-FLD0979E. + IF FLD0980B (1:) NOT EQUAL XPC-FLD0980B + DISPLAY 'FLD0980B ==> ' FLD0980B + DISPLAY 'EXPECTED ==> ' XPC-FLD0980B. + IF FLD0980E NOT EQUAL XPC-FLD0980E + DISPLAY 'FLD0980E ==> ' FLD0980E + DISPLAY 'EXPECTED ==> ' XPC-FLD0980E. + IF FLD0981B (1:) NOT EQUAL XPC-FLD0981B + DISPLAY 'FLD0981B ==> ' FLD0981B + DISPLAY 'EXPECTED ==> ' XPC-FLD0981B. + IF FLD0981E NOT EQUAL XPC-FLD0981E + DISPLAY 'FLD0981E ==> ' FLD0981E + DISPLAY 'EXPECTED ==> ' XPC-FLD0981E. + IF FLD0982B (1:) NOT EQUAL XPC-FLD0982B + DISPLAY 'FLD0982B ==> ' FLD0982B + DISPLAY 'EXPECTED ==> ' XPC-FLD0982B. + IF FLD0982E NOT EQUAL XPC-FLD0982E + DISPLAY 'FLD0982E ==> ' FLD0982E + DISPLAY 'EXPECTED ==> ' XPC-FLD0982E. + IF FLD0983B (1:) NOT EQUAL XPC-FLD0983B + DISPLAY 'FLD0983B ==> ' FLD0983B + DISPLAY 'EXPECTED ==> ' XPC-FLD0983B. + IF FLD0983E NOT EQUAL XPC-FLD0983E + DISPLAY 'FLD0983E ==> ' FLD0983E + DISPLAY 'EXPECTED ==> ' XPC-FLD0983E. + IF FLD0984B (1:) NOT EQUAL XPC-FLD0984B + DISPLAY 'FLD0984B ==> ' FLD0984B + DISPLAY 'EXPECTED ==> ' XPC-FLD0984B. + IF FLD0984E NOT EQUAL XPC-FLD0984E + DISPLAY 'FLD0984E ==> ' FLD0984E + DISPLAY 'EXPECTED ==> ' XPC-FLD0984E. + IF FLD0985B (1:) NOT EQUAL XPC-FLD0985B + DISPLAY 'FLD0985B ==> ' FLD0985B + DISPLAY 'EXPECTED ==> ' XPC-FLD0985B. + IF FLD0985E NOT EQUAL XPC-FLD0985E + DISPLAY 'FLD0985E ==> ' FLD0985E + DISPLAY 'EXPECTED ==> ' XPC-FLD0985E. + IF FLD0986B (1:) NOT EQUAL XPC-FLD0986B + DISPLAY 'FLD0986B ==> ' FLD0986B + DISPLAY 'EXPECTED ==> ' XPC-FLD0986B. + IF FLD0986E NOT EQUAL XPC-FLD0986E + DISPLAY 'FLD0986E ==> ' FLD0986E + DISPLAY 'EXPECTED ==> ' XPC-FLD0986E. + IF FLD0987B (1:) NOT EQUAL XPC-FLD0987B + DISPLAY 'FLD0987B ==> ' FLD0987B + DISPLAY 'EXPECTED ==> ' XPC-FLD0987B. + IF FLD0987E NOT EQUAL XPC-FLD0987E + DISPLAY 'FLD0987E ==> ' FLD0987E + DISPLAY 'EXPECTED ==> ' XPC-FLD0987E. + IF FLD0988B (1:) NOT EQUAL XPC-FLD0988B + DISPLAY 'FLD0988B ==> ' FLD0988B + DISPLAY 'EXPECTED ==> ' XPC-FLD0988B. + IF FLD0988E NOT EQUAL XPC-FLD0988E + DISPLAY 'FLD0988E ==> ' FLD0988E + DISPLAY 'EXPECTED ==> ' XPC-FLD0988E. + IF FLD0989B (1:) NOT EQUAL XPC-FLD0989B + DISPLAY 'FLD0989B ==> ' FLD0989B + DISPLAY 'EXPECTED ==> ' XPC-FLD0989B. + IF FLD0989E NOT EQUAL XPC-FLD0989E + DISPLAY 'FLD0989E ==> ' FLD0989E + DISPLAY 'EXPECTED ==> ' XPC-FLD0989E. + IF FLD0990B (1:) NOT EQUAL XPC-FLD0990B + DISPLAY 'FLD0990B ==> ' FLD0990B + DISPLAY 'EXPECTED ==> ' XPC-FLD0990B. + IF FLD0990E NOT EQUAL XPC-FLD0990E + DISPLAY 'FLD0990E ==> ' FLD0990E + DISPLAY 'EXPECTED ==> ' XPC-FLD0990E. + IF FLD0991B (1:) NOT EQUAL XPC-FLD0991B + DISPLAY 'FLD0991B ==> ' FLD0991B + DISPLAY 'EXPECTED ==> ' XPC-FLD0991B. + IF FLD0991E NOT EQUAL XPC-FLD0991E + DISPLAY 'FLD0991E ==> ' FLD0991E + DISPLAY 'EXPECTED ==> ' XPC-FLD0991E. + IF FLD0992B (1:) NOT EQUAL XPC-FLD0992B + DISPLAY 'FLD0992B ==> ' FLD0992B + DISPLAY 'EXPECTED ==> ' XPC-FLD0992B. + IF FLD0992E NOT EQUAL XPC-FLD0992E + DISPLAY 'FLD0992E ==> ' FLD0992E + DISPLAY 'EXPECTED ==> ' XPC-FLD0992E. + IF FLD0993B (1:) NOT EQUAL XPC-FLD0993B + DISPLAY 'FLD0993B ==> ' FLD0993B + DISPLAY 'EXPECTED ==> ' XPC-FLD0993B. + IF FLD0993E NOT EQUAL XPC-FLD0993E + DISPLAY 'FLD0993E ==> ' FLD0993E + DISPLAY 'EXPECTED ==> ' XPC-FLD0993E. + IF FLD0994B (1:) NOT EQUAL XPC-FLD0994B + DISPLAY 'FLD0994B ==> ' FLD0994B + DISPLAY 'EXPECTED ==> ' XPC-FLD0994B. + IF FLD0994E NOT EQUAL XPC-FLD0994E + DISPLAY 'FLD0994E ==> ' FLD0994E + DISPLAY 'EXPECTED ==> ' XPC-FLD0994E. + IF FLD0995B (1:) NOT EQUAL XPC-FLD0995B + DISPLAY 'FLD0995B ==> ' FLD0995B + DISPLAY 'EXPECTED ==> ' XPC-FLD0995B. + IF FLD0995E NOT EQUAL XPC-FLD0995E + DISPLAY 'FLD0995E ==> ' FLD0995E + DISPLAY 'EXPECTED ==> ' XPC-FLD0995E. + IF FLD0996B (1:) NOT EQUAL XPC-FLD0996B + DISPLAY 'FLD0996B ==> ' FLD0996B + DISPLAY 'EXPECTED ==> ' XPC-FLD0996B. + IF FLD0996E NOT EQUAL XPC-FLD0996E + DISPLAY 'FLD0996E ==> ' FLD0996E + DISPLAY 'EXPECTED ==> ' XPC-FLD0996E. + IF FLD0997B (1:) NOT EQUAL XPC-FLD0997B + DISPLAY 'FLD0997B ==> ' FLD0997B + DISPLAY 'EXPECTED ==> ' XPC-FLD0997B. + IF FLD0997E NOT EQUAL XPC-FLD0997E + DISPLAY 'FLD0997E ==> ' FLD0997E + DISPLAY 'EXPECTED ==> ' XPC-FLD0997E. + IF FLD0998B (1:) NOT EQUAL XPC-FLD0998B + DISPLAY 'FLD0998B ==> ' FLD0998B + DISPLAY 'EXPECTED ==> ' XPC-FLD0998B. + IF FLD0998E NOT EQUAL XPC-FLD0998E + DISPLAY 'FLD0998E ==> ' FLD0998E + DISPLAY 'EXPECTED ==> ' XPC-FLD0998E. + IF FLD0999B (1:) NOT EQUAL XPC-FLD0999B + DISPLAY 'FLD0999B ==> ' FLD0999B + DISPLAY 'EXPECTED ==> ' XPC-FLD0999B. + IF FLD0999E NOT EQUAL XPC-FLD0999E + DISPLAY 'FLD0999E ==> ' FLD0999E + DISPLAY 'EXPECTED ==> ' XPC-FLD0999E. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:16934: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "data_display.at:16934" +( $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/data_display.at:16934" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:16935: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_display.at:16935" +( $at_check_trace; $COBCRUN_DIRECT ./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/data_display.at:16935" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1283 +#AT_START_1284 +at_fn_group_banner 1284 'data_display.at:16940' \ + "DISPLAY: ADD and SUBTRACT, all ROUNDED MODEs" " " 5 +at_xfail=no +( + printf "%s\n" "1284. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was originally generated and contributed by Chuck Haatvedt. +# It tests a huge amount of ADD / SUBTRACT between DISPLAY (originally BCD) +# fields with different attributes (size, decimal places, sign) with different +# rounding options and checks for the expected value after the computation. +# This code is an adjusted duplicate of the test in data_packed.at +# and checking with cob_decimal (while the BCD uses its own optimized routine). + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTR. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0001A PIC 9(08)V9(19) + VALUE 72210483.5706116943150334464. + 77 FLD0001B PIC 9(01) + VALUE 0. + + 77 FLD0002A PIC 9(05)V9(26) + VALUE 83954.98773698940597753903603006. + 77 FLD0002B PIC 9(05)V9(27) + VALUE 85526.912891598327881581553810974. + + 77 FLD0003A PIC 9(01) + VALUE 0. + 77 FLD0003B PIC 9(10)V9(08) + VALUE 4976916625.40136914. + + 77 FLD0004A PIC S9(08)V9(03) + VALUE +31348416.669. + 77 FLD0004B PIC 9(05)V9(01) + VALUE 16799.5. + + 77 FLD0005A PIC S9(07)V9(01) + VALUE +2337334.8. + 77 FLD0005B PIC S9(09)V9(03) + VALUE +324331791.973. + + 77 FLD0006A PIC 9(04) + VALUE 1169. + 77 FLD0006B PIC 9(03)V9(31) + VALUE 912.5850054312464321171205483551602. + + 77 FLD0007A PIC S9(04) + VALUE +1123. + 77 FLD0007B PIC S9(08)V9(02) + VALUE -27032151.91. + + 77 FLD0008A PIC 9(01) + VALUE 0. + 77 FLD0008B PIC S9(03) + VALUE -091. + + 77 FLD0009A PIC 9(10)V9(07) + VALUE 4695987895.4491957. + 77 FLD0009B PIC 9(05)V9(28) + VALUE 87164.4396861416259625343627703841. + + 77 FLD0010A PIC 9(03)V9(32) + VALUE 932.59120224122482589734772773226723. + 77 FLD0010B PIC S9(09)V9(06) + VALUE +401314086.816856. + + 77 FLD0011A PIC 9(09)V9(04) + VALUE 356168291.4830. + 77 FLD0011B PIC 9(04)V9(29) + VALUE 8869.25340695890795927880390081554. + + 77 FLD0012A PIC 9(03) + VALUE 087. + 77 FLD0012B PIC 9(08)V9(19) + VALUE 71485769.2486604356929547066. + + 77 FLD0013A PIC 9(06)V9(25) + VALUE 829630.0004717120923913853403064. + 77 FLD0013B PIC 9(07)V9(02) + VALUE 2497013.60. + + 77 FLD0014A PIC 9(09)V9(13) + VALUE 592943121.2490873237541. + 77 FLD0014B PIC 9(06)V9(01) + VALUE 186764.7. + + 77 FLD0015A PIC 9(07)V9(23) + VALUE 7984732.71412134533164817185024. + 77 FLD0015B PIC 9(10)V9(08) + VALUE 4953047329.19498391. + + 77 FLD0016A PIC 9(05)V9(28) + VALUE 87275.9557853607148558694461826235. + 77 FLD0016B PIC S9(10)V9(06) + VALUE +4316165362.791636. + + 77 FLD0017A PIC 9(01) + VALUE 0. + 77 FLD0017B PIC 9(04)V9(30) + VALUE 8983.341087204116393039043941826093. + + 77 FLD0018A PIC 9(07)V9(21) + VALUE 7619026.805277494540646898713. + 77 FLD0018B PIC S9(01) + VALUE -0. + + 77 FLD0019A PIC S9(10)V9(08) + VALUE -4930528885.68236813. + 77 FLD0019B PIC S9(09)V9(06) + VALUE +402620216.542097. + + 77 FLD0020A PIC 9(09)V9(15) + VALUE 643887452.720044328735582. + 77 FLD0020B PIC 9(09)V9(11) + VALUE 552340679.26366126055. + + 77 FLD0021A PIC 9(01)V9(36) + VALUE 9.880441680787707126043528660375159233. + 77 FLD0021B PIC S9(01) + VALUE -0. + + 77 FLD0022A PIC 9(06)V9(24) + VALUE 810040.192546636172998830716096. + 77 FLD0022B PIC 9(07)V9(21) + VALUE 7610660.641468062204140210269. + + 77 FLD0023A PIC 9(02) + VALUE 06. + 77 FLD0023B PIC 9(02)V9(34) + VALUE 95.1865432391802879230624512274516746. + + 77 FLD0024A PIC 9(09)V9(03) + VALUE 329406009.124. + 77 FLD0024B PIC S9(09)V9(06) + VALUE +410668612.232476. + + 77 FLD0025A PIC S9(01) + VALUE +0. + 77 FLD0025B PIC 9(07)V9(02) + VALUE 2497488.27. + + 77 FLD0026A PIC 9(01) + VALUE 0. + 77 FLD0026B PIC S9(09)V9(05) + VALUE -383757196.20564. + + 77 FLD0027A PIC 9(09)V9(13) + VALUE 601026867.0937520818498. + 77 FLD0027B PIC 9(06)V9(25) + VALUE 815849.1045356750515082921992870. + + 77 FLD0028A PIC 9(04)V9(29) + VALUE 8794.72782911061568000832266989164. + 77 FLD0028B PIC S9(01) + VALUE +0. + + 77 FLD0029A PIC 9(05) + VALUE 13697. + 77 FLD0029B PIC 9(09)V9(17) + VALUE 684374480.18294422258378517. + + 77 FLD0030A PIC S9(01) + VALUE +0. + 77 FLD0030B PIC 9(08)V9(18) + VALUE 70264210.169553353857452293. + + 77 FLD0031A PIC 9(01) + VALUE 0. + 77 FLD0031B PIC 9(08)V9(18) + VALUE 70450280.588407820925311852. + + 77 FLD0032A PIC 9(10)V9(10) + VALUE 5269599769.4606222516. + 77 FLD0032B PIC S9(09)V9(03) + VALUE +322379197.669. + + 77 FLD0033A PIC 9(09)V9(15) + VALUE 641903038.069859710468278. + 77 FLD0033B PIC 9(09)V9(03) + VALUE 318353502.142. + + 77 FLD0034A PIC S9(02) + VALUE -05. + 77 FLD0034B PIC S9(07)V9(01) + VALUE +2126766.9. + + 77 FLD0035A PIC 9(06)V9(25) + VALUE 816285.5924199176049782522568420. + 77 FLD0035B PIC 9(07)V9(01) + VALUE 2276316.1. + + 77 FLD0036A PIC 9(01)V9(36) + VALUE 9.789384107274801127829277902492322027. + 77 FLD0036B PIC 9(05)V9(27) + VALUE 84790.535447228665422159110676147. + + 77 FLD0037A PIC 9(10)V9(11) + VALUE 5559560836.79804091701. + 77 FLD0037B PIC S9(05) + VALUE -15352. + + 77 FLD0038A PIC 9(02)V9(34) + VALUE 95.5897506417712539139586169767426326. + 77 FLD0038B PIC 9(06)V9(25) + VALUE 819342.2486726212872198971126636. + + 77 FLD0039A PIC 9(04)V9(29) + VALUE 8933.20399454893721014059337903745. + 77 FLD0039B PIC 9(06)V9(01) + VALUE 205344.3. + + 77 FLD0040A PIC S9(06) + VALUE -162227. + 77 FLD0040B PIC S9(03) + VALUE +101. + + 77 FLD0041A PIC 9(09)V9(17) + VALUE 687709210.19485042879892944. + 77 FLD0041B PIC 9(10)V9(09) + VALUE 5032246021.307608119. + + 77 FLD0042A PIC 9(07)V9(22) + VALUE 7680734.5400734650109342283030. + 77 FLD0042B PIC 9(10)V9(10) + VALUE 5398987461.4943655917. + + 77 FLD0043A PIC S9(08)V9(02) + VALUE -28038049.48. + 77 FLD0043B PIC 9(04)V9(30) + VALUE 9102.051349475740460448491830902639. + + 77 FLD0044A PIC 9(06)V9(01) + VALUE 206224.3. + 77 FLD0044B PIC 9(09)V9(04) + VALUE 359534215.7883. + + 77 FLD0045A PIC 9(08)V9(02) + VALUE 28592495.81. + 77 FLD0045B PIC 9(09)V9(05) + VALUE 377058873.76830. + + 77 FLD0046A PIC 9(01) + VALUE 0. + 77 FLD0046B PIC 9(05)V9(27) + VALUE 86000.025910646182847330010190489. + + 77 FLD0047A PIC 9(08)V9(02) + VALUE 26966592.97. + 77 FLD0047B PIC 9(10)V9(08) + VALUE 4982239515.90845814. + + 77 FLD0048A PIC 9(05)V9(26) + VALUE 83962.84254838164429202151950448. + 77 FLD0048B PIC S9(05)V9(01) + VALUE -17309.9. + + 77 FLD0049A PIC 9(09)V9(16) + VALUE 677621907.0336453320635428. + 77 FLD0049B PIC 9(01)V9(36) + VALUE 9.784571866912429305429554915463086217. + + 77 FLD0050A PIC 9(09)V9(03) + VALUE 329667670.988. + 77 FLD0050B PIC 9(09)V9(06) + VALUE 408790070.710566. + + 77 FLD0051A PIC 9(09)V9(15) + VALUE 643375703.689413991348544. + 77 FLD0051B PIC 9(04)V9(30) + VALUE 9064.871948640588206203005938732530. + + 77 FLD0052A PIC 9(09)V9(04) + VALUE 367200483.8576. + 77 FLD0052B PIC 9(09)V9(11) + VALUE 550990476.15163754265. + + 77 FLD0053A PIC 9(07)V9(01) + VALUE 2260324.6. + 77 FLD0053B PIC S9(09)V9(04) + VALUE -361176713.4701. + + 77 FLD0054A PIC S9(01) + VALUE +0. + 77 FLD0054B PIC 9(09)V9(03) + VALUE 319288758.232. + + 77 FLD0055A PIC 9(09)V9(14) + VALUE 622232417.66982828604426. + 77 FLD0055B PIC 9(08)V9(17) + VALUE 68254498.02012105715576240. + + 77 FLD0056A PIC 9(07)V9(01) + VALUE 2161993.9. + 77 FLD0056B PIC 9(08)V9(02) + VALUE 27806089.73. + + 77 FLD0057A PIC 9(03)V9(32) + VALUE 929.20878243011406638629523513372987. + 77 FLD0057B PIC S9(02) + VALUE -06. + + 77 FLD0058A PIC 9(02)V9(34) + VALUE 96.6574119281082611010447180888149887. + 77 FLD0058B PIC S9(09)V9(04) + VALUE +343623662.0368. + + 77 FLD0059A PIC 9(07)V9(02) + VALUE 2566438.61. + 77 FLD0059B PIC 9(09)V9(14) + VALUE 625762300.58564874525472. + + 77 FLD0060A PIC 9(01)V9(36) + VALUE 9.888752946983269120906356874911580234. + 77 FLD0060B PIC 9(06) + VALUE 159150. + + 77 FLD0061A PIC 9(03) + VALUE 095. + 77 FLD0061B PIC 9(06)V9(25) + VALUE 816564.2123096498172785118185856. + + 77 FLD0062A PIC 9(10)V9(11) + VALUE 5579259193.81647705819. + 77 FLD0062B PIC 9(09)V9(13) + VALUE 602304146.8914084317631. + + 77 FLD0063A PIC S9(07)V9(01) + VALUE +2106925.6. + 77 FLD0063B PIC 9(08)V9(19) + VALUE 73193550.7264897311507922950. + + 77 FLD0064A PIC 9(06)V9(25) + VALUE 828553.1635867423583263757791428. + 77 FLD0064B PIC S9(04) + VALUE +1113. + + 77 FLD0065A PIC 9(08)V9(02) + VALUE 26934154.73. + 77 FLD0065B PIC S9(04) + VALUE +1223. + + 77 FLD0066A PIC 9(01) + VALUE 0. + 77 FLD0066B PIC 9(05)V9(27) + VALUE 85085.260849998822774153950376785. + + 77 FLD0067A PIC S9(03) + VALUE -091. + 77 FLD0067B PIC S9(01) + VALUE +0. + + 77 FLD0068A PIC 9(06)V9(25) + VALUE 838055.6814082209537986045688739. + 77 FLD0068B PIC 9(01) + VALUE 0. + + 77 FLD0069A PIC 9(10)V9(08) + VALUE 4880885916.76487937. + 77 FLD0069B PIC 9(03) + VALUE 097. + + 77 FLD0070A PIC 9(08)V9(18) + VALUE 69654747.914044090606466852. + 77 FLD0070B PIC S9(06)V9(01) + VALUE -192591.5. + + 77 FLD0071A PIC 9(02) + VALUE 05. + 77 FLD0071B PIC 9(04) + VALUE 1269. + + 77 FLD0072A PIC 9(01)V9(36) + VALUE 9.925387953744267965916492357791867107. + 77 FLD0072B PIC 9(09)V9(15) + VALUE 655377323.717403204028641. + + 77 FLD0073A PIC 9(01)V9(36) + VALUE 9.812328554525302504174533169134519994. + 77 FLD0073B PIC 9(08)V9(18) + VALUE 70717230.890474991333860543. + + 77 FLD0074A PIC 9(03)V9(32) + VALUE 925.84903592679257400277492706663906. + 77 FLD0074B PIC 9(01)V9(36) + VALUE 9.839916331263631743553332853480242192. + + 77 FLD0075A PIC 9(10)V9(10) + VALUE 5446083738.8683014381. + 77 FLD0075B PIC S9(07)V9(01) + VALUE +2205661.8. + + 77 FLD0076A PIC S9(07)V9(02) + VALUE +2412584.18. + 77 FLD0076B PIC 9(02)V9(34) + VALUE 95.1877730461857529675739897356834262. + + 77 FLD0077A PIC 9(10)V9(08) + VALUE 4971042025.86989840. + 77 FLD0077B PIC 9(05)V9(28) + VALUE 87747.7884783979700245026833727024. + + 77 FLD0078A PIC 9(06)V9(01) + VALUE 186044.2. + 77 FLD0078B PIC 9(10)V9(10) + VALUE 5264094377.6727222580. + + 77 FLD0079A PIC 9(09)V9(15) + VALUE 638119223.314542294289708. + 77 FLD0079B PIC S9(03) + VALUE +101. + + 77 FLD0080A PIC 9(07)V9(23) + VALUE 7905587.67133311302011122734256. + 77 FLD0080B PIC S9(09)V9(04) + VALUE -363247849.5626. + + 77 FLD0081A PIC 9(01)V9(36) + VALUE 9.951308658902108250643436804239172488. + 77 FLD0081B PIC 9(09)V9(04) + VALUE 367206952.3371. + + 77 FLD0082A PIC S9(08)V9(02) + VALUE -26324419.10. + 77 FLD0082B PIC 9(07)V9(22) + VALUE 7666475.1738066827524420432382. + + 77 FLD0083A PIC 9(09)V9(14) + VALUE 631384121.39469823891602. + 77 FLD0083B PIC S9(07)V9(02) + VALUE -2518657.33. + + 77 FLD0084A PIC 9(04)V9(29) + VALUE 8913.08379718931953483718189090723. + 77 FLD0084B PIC 9(09)V9(06) + VALUE 405118244.918866. + + 77 FLD0085A PIC 9(05) + VALUE 15779. + 77 FLD0085B PIC 9(10)V9(06) + VALUE 4354227755.611629. + + 77 FLD0086A PIC 9(01)V9(36) + VALUE 9.766547774737049936177868403319735080. + 77 FLD0086B PIC 9(10)V9(11) + VALUE 5711670223.78104349833. + + 77 FLD0087A PIC 9(09)V9(14) + VALUE 617158605.01368802193411. + 77 FLD0087B PIC 9(04) + VALUE 1168. + + 77 FLD0088A PIC 9(10)V9(12) + VALUE 5809468198.000283800652. + 77 FLD0088B PIC 9(09)V9(03) + VALUE 327927843.481. + + 77 FLD0089A PIC 9(06)V9(24) + VALUE 802942.222446262787727278009697. + 77 FLD0089B PIC 9(03)V9(31) + VALUE 913.0556640200002682661306607769802. + + 77 FLD0090A PIC S9(08)V9(02) + VALUE -28271627.31. + 77 FLD0090B PIC S9(08)V9(03) + VALUE -29023436.992. + + 77 FLD0091A PIC 9(09)V9(07) + VALUE 438808038.0901770. + 77 FLD0091B PIC 9(08)V9(18) + VALUE 69809163.794725925811235356. + + 77 FLD0092A PIC S9(07)V9(01) + VALUE +2146587.0. + 77 FLD0092B PIC 9(06)V9(25) + VALUE 828676.9901534452031910404912196. + + 77 FLD0093A PIC 9(06)V9(25) + VALUE 831848.6927757260396276706160278. + 77 FLD0093B PIC 9(07)V9(23) + VALUE 7909193.25337388512409120266966. + + 77 FLD0094A PIC 9(07)V9(01) + VALUE 2260698.5. + 77 FLD0094B PIC 9(10)V9(10) + VALUE 5308926344.5354850645. + + 77 FLD0095A PIC 9(07)V9(22) + VALUE 7681159.7607563408818265315858. + 77 FLD0095B PIC 9(06)V9(25) + VALUE 835614.2190518044410296738533361. + + 77 FLD0096A PIC 9(01) + VALUE 0. + 77 FLD0096B PIC 9(05)V9(28) + VALUE 87505.3049076218392166026660561328. + + 77 FLD0097A PIC 9(03) + VALUE 085. + 77 FLD0097B PIC 9(07)V9(22) + VALUE 7663819.4132902548449948199049. + + 77 FLD0098A PIC 9(05)V9(28) + VALUE 87637.1310136299430659789777564583. + 77 FLD0098B PIC 9(08)V9(04) + VALUE 33500668.0379. + + 77 FLD0099A PIC S9(10)V9(08) + VALUE -4946809917.70565292. + 77 FLD0099B PIC S9(08)V9(03) + VALUE +30007106.715. + + 77 FLD0100A PIC 9(10)V9(09) + VALUE 5148281813.288457797. + 77 FLD0100B PIC 9(09)V9(14) + VALUE 609442213.66168171982735. + + 77 FLD0101A PIC S9(07)V9(02) + VALUE -2605358.58. + 77 FLD0101B PIC S9(07)V9(02) + VALUE -2515761.93. + + 77 FLD0102A PIC 9(05) + VALUE 13880. + 77 FLD0102B PIC 9(09)V9(14) + VALUE 626009568.32775289662151. + + 77 FLD0103A PIC 9(03)V9(32) + VALUE 929.51599988912647631877916865050792. + 77 FLD0103B PIC 9(01) + VALUE 0. + + 77 FLD0104A PIC 9(07)V9(01) + VALUE 2254306.3. + 77 FLD0104B PIC S9(10)V9(08) + VALUE -4810300752.02174334. + + 77 FLD0105A PIC S9(08)V9(03) + VALUE -29081388.428. + 77 FLD0105B PIC 9(08)V9(02) + VALUE 27558698.77. + + 77 FLD0106A PIC S9(02) + VALUE -07. + 77 FLD0106B PIC S9(08)V9(02) + VALUE -26362185.29. + + 77 FLD0107A PIC 9(09)V9(16) + VALUE 677462443.7557797973497031. + 77 FLD0107B PIC 9(08)V9(19) + VALUE 71705910.5997380985542122289. + + 77 FLD0108A PIC 9(09)V9(14) + VALUE 610210882.31341436003418. + 77 FLD0108B PIC S9(08)V9(02) + VALUE -28421053.19. + + 77 FLD0109A PIC S9(04) + VALUE +1136. + 77 FLD0109B PIC 9(04)V9(30) + VALUE 9020.720262660837374113498299266211. + + 77 FLD0110A PIC 9(07)V9(23) + VALUE 7940109.55673497886841971649118. + 77 FLD0110B PIC 9(08)V9(18) + VALUE 69721135.284383173313926818. + + 77 FLD0111A PIC 9(09)V9(03) + VALUE 326472185.831. + 77 FLD0111B PIC 9(10)V9(09) + VALUE 5255901748.964217912. + + 77 FLD0112A PIC 9(08)V9(19) + VALUE 71238052.4624002697819946661. + 77 FLD0112B PIC S9(08)V9(02) + VALUE -27133920.74. + + 77 FLD0113A PIC 9(04)V9(30) + VALUE 9092.566324157485002643852567416615. + 77 FLD0113B PIC 9(04) + VALUE 1277. + + 77 FLD0114A PIC 9(09)V9(07) + VALUE 437805064.1539988. + 77 FLD0114B PIC 9(05)V9(01) + VALUE 17667.3. + + 77 FLD0115A PIC 9(02)V9(34) + VALUE 96.2362934933669089687668929400388151. + 77 FLD0115B PIC S9(08)V9(03) + VALUE +30236682.408. + + 77 FLD0116A PIC 9(07)V9(22) + VALUE 7646463.4359510952332783517704. + 77 FLD0116B PIC 9(01) + VALUE 0. + + 77 FLD0117A PIC 9(09)V9(14) + VALUE 617509561.34001855346582. + 77 FLD0117B PIC 9(05) + VALUE 13612. + + 77 FLD0118A PIC 9(10)V9(10) + VALUE 5408402726.5490597358. + 77 FLD0118B PIC S9(03) + VALUE -080. + + 77 FLD0119A PIC S9(08)V9(03) + VALUE +30078875.458. + 77 FLD0119B PIC 9(07)V9(02) + VALUE 2460449.05. + + 77 FLD0120A PIC 9(06)V9(25) + VALUE 830160.1137616416714593015058198. + 77 FLD0120B PIC S9(02) + VALUE -07. + + 77 FLD0121A PIC S9(07)V9(01) + VALUE +2338292.2. + 77 FLD0121B PIC S9(09)V9(03) + VALUE +320991974.822. + + 77 FLD0122A PIC S9(06)V9(01) + VALUE -184951.8. + 77 FLD0122B PIC 9(08)V9(02) + VALUE 26752619.72. + + 77 FLD0123A PIC S9(02) + VALUE -05. + 77 FLD0123B PIC 9(07)V9(21) + VALUE 7502027.502690824523057244732. + + 77 FLD0124A PIC 9(01) + VALUE 0. + 77 FLD0124B PIC S9(10)V9(06) + VALUE +4223876720.963152. + + 77 FLD0125A PIC 9(04)V9(29) + VALUE 8800.31826789913984576685379579430. + 77 FLD0125B PIC 9(09)V9(15) + VALUE 637787216.045794358443288. + + 77 FLD0126A PIC 9(06)V9(24) + VALUE 807990.071015203703552742808824. + 77 FLD0126B PIC 9(07)V9(01) + VALUE 2285688.0. + + 77 FLD0127A PIC 9(04)V9(30) + VALUE 8981.860178820127993404298649693373. + 77 FLD0127B PIC 9(05)V9(28) + VALUE 87878.0390073648609572387613297905. + + 77 FLD0128A PIC 9(10)V9(06) + VALUE 4298489587.591516. + 77 FLD0128B PIC 9(08)V9(02) + VALUE 26904320.50. + + 77 FLD0129A PIC S9(08)V9(04) + VALUE +33460508.1048. + 77 FLD0129B PIC 9(09)V9(14) + VALUE 629564859.51748508700376. + + 77 FLD0130A PIC 9(01) + VALUE 0. + 77 FLD0130B PIC 9(08)V9(03) + VALUE 30500681.275. + + 77 FLD0131A PIC 9(08)V9(02) + VALUE 26916210.05. + 77 FLD0131B PIC 9(08)V9(18) + VALUE 70626515.642831921848454612. + + 77 FLD0132A PIC 9(04) + VALUE 1270. + 77 FLD0132B PIC 9(07)V9(01) + VALUE 2163498.7. + + 77 FLD0133A PIC 9(01)V9(36) + VALUE 9.890353542063604619372085835493635386. + 77 FLD0133B PIC S9(07)V9(02) + VALUE -2528421.98. + + 77 FLD0134A PIC 9(08)V9(18) + VALUE 70385499.741438917187252855. + 77 FLD0134B PIC 9(09)V9(16) + VALUE 673960062.4739148226893803. + + 77 FLD0135A PIC 9(10)V9(07) + VALUE 4678335500.0128495. + 77 FLD0135B PIC 9(07)V9(02) + VALUE 2561321.97. + + 77 FLD0136A PIC S9(05) + VALUE -15169. + 77 FLD0136B PIC 9(08)V9(19) + VALUE 72091249.9695820607747975827. + + 77 FLD0137A PIC S9(08)V9(02) + VALUE -27190319.39. + 77 FLD0137B PIC 9(03)V9(32) + VALUE 921.23024961283406231160597599227912. + + 77 FLD0138A PIC S9(10)V9(08) + VALUE -4824223828.94490853. + 77 FLD0138B PIC 9(04)V9(30) + VALUE 8976.142294415691003095503219810780. + + 77 FLD0139A PIC 9(09)V9(03) + VALUE 319644653.394. + 77 FLD0139B PIC 9(06)V9(25) + VALUE 818318.3537620841718762676464393. + + 77 FLD0140A PIC S9(01) + VALUE +0. + 77 FLD0140B PIC 9(03)V9(31) + VALUE 913.4502802484925076953459210926666. + + 77 FLD0141A PIC 9(09)V9(14) + VALUE 612266512.11346116987499. + 77 FLD0141B PIC 9(06)V9(01) + VALUE 198046.5. + + 77 FLD0142A PIC 9(09)V9(04) + VALUE 356201246.7531. + 77 FLD0142B PIC S9(04) + VALUE +1134. + + 77 FLD0143A PIC S9(07)V9(02) + VALUE -2608987.15. + 77 FLD0143B PIC 9(06)V9(01) + VALUE 205887.8. + + 77 FLD0144A PIC 9(10)V9(11) + VALUE 5664625691.64754570216. + 77 FLD0144B PIC 9(07)V9(01) + VALUE 2170292.3. + + 77 FLD0145A PIC 9(09)V9(13) + VALUE 592809780.4295365813587. + 77 FLD0145B PIC 9(09)V9(06) + VALUE 416669902.306984. + + 77 FLD0146A PIC S9(03) + VALUE -091. + 77 FLD0146B PIC 9(09)V9(13) + VALUE 592675280.7490164309811. + + 77 FLD0147A PIC 9(03) + VALUE 085. + 77 FLD0147B PIC 9(10)V9(05) + VALUE 3974420340.21838. + + 77 FLD0148A PIC 9(04) + VALUE 1189. + 77 FLD0148B PIC 9(08)V9(04) + VALUE 33583306.9980. + + 77 FLD0149A PIC 9(05)V9(27) + VALUE 86469.811002464236349140946913394. + 77 FLD0149B PIC S9(02) + VALUE -05. + + 77 FLD0150A PIC S9(02) + VALUE -06. + 77 FLD0150B PIC 9(01)V9(36) + VALUE 9.779789481524289174174668914929497987. + + 77 FLD0151A PIC 9(09)V9(13) + VALUE 602633749.4884196344102. + 77 FLD0151B PIC 9(07)V9(22) + VALUE 7715228.5011189425389943608024. + + 77 FLD0152A PIC S9(08)V9(02) + VALUE -28005400.65. + 77 FLD0152B PIC 9(02)V9(34) + VALUE 96.9689035330467796747200281970435753. + + 77 FLD0153A PIC 9(08)V9(18) + VALUE 69246387.672994647033419823. + 77 FLD0153B PIC 9(07)V9(22) + VALUE 7700147.9845998110906890588012. + + 77 FLD0154A PIC 9(09)V9(14) + VALUE 618531644.61004783714059. + 77 FLD0154B PIC 9(10)V9(07) + VALUE 4667533939.9326892. + + 77 FLD0155A PIC 9(10)V9(12) + VALUE 5816028861.286740569980. + 77 FLD0155B PIC 9(03)V9(31) + VALUE 920.9824083062539967770021576143335. + + 77 FLD0156A PIC 9(02)V9(34) + VALUE 95.3830714078202746009083057288080453. + 77 FLD0156B PIC 9(04)V9(30) + VALUE 9080.971133779824899789900882751680. + + 77 FLD0157A PIC 9(09)V9(16) + VALUE 659745695.0483697735165833. + 77 FLD0157B PIC 9(10)V9(06) + VALUE 4359875032.276696. + + 77 FLD0158A PIC S9(09)V9(06) + VALUE +412656981.234114. + 77 FLD0158B PIC 9(09)V9(14) + VALUE 611832243.66474420197192. + + 77 FLD0159A PIC 9(01) + VALUE 0. + 77 FLD0159B PIC 9(09)V9(15) + VALUE 643529357.674236912600918. + + 77 FLD0160A PIC 9(08)V9(20) + VALUE 74656107.83998073429756914265. + 77 FLD0160B PIC 9(06)V9(01) + VALUE 207077.8. + + 77 FLD0161A PIC 9(07)V9(22) + VALUE 7887170.9741627593626134284932. + 77 FLD0161B PIC 9(08)V9(19) + VALUE 71702582.3615881408024108623. + + 77 FLD0162A PIC S9(02) + VALUE -07. + 77 FLD0162B PIC 9(10)V9(11) + VALUE 5668143857.58160899086. + + 77 FLD0163A PIC 9(09)V9(14) + VALUE 618392824.19829444403802. + 77 FLD0163B PIC 9(09)V9(15) + VALUE 650815786.826470232817598. + + 77 FLD0164A PIC S9(06)V9(01) + VALUE +204076.7. + 77 FLD0164B PIC 9(04) + VALUE 1076. + + 77 FLD0165A PIC 9(09)V9(14) + VALUE 610409164.63927785695631. + 77 FLD0165B PIC 9(04) + VALUE 1267. + + 77 FLD0166A PIC 9(07)V9(02) + VALUE 2460589.98. + 77 FLD0166B PIC 9(05)V9(01) + VALUE 17630.0. + + 77 FLD0167A PIC S9(09)V9(03) + VALUE +323253458.962. + 77 FLD0167B PIC 9(06)V9(25) + VALUE 838285.1322478405142746282763255. + + 77 FLD0168A PIC S9(04) + VALUE +1200. + 77 FLD0168B PIC S9(10)V9(06) + VALUE +4326937205.661665. + + 77 FLD0169A PIC 9(06)V9(25) + VALUE 834885.7368063762329768451309064. + 77 FLD0169B PIC 9(08)V9(18) + VALUE 70699865.109667991980302304. + + 77 FLD0170A PIC 9(08)V9(19) + VALUE 72325482.4666709539293663056. + 77 FLD0170B PIC 9(01)V9(36) + VALUE 9.863493423765207213094186045054811984. + + 77 FLD0171A PIC 9(09)V9(16) + VALUE 675345293.4675296948086042. + 77 FLD0171B PIC 9(10)V9(06) + VALUE 4258478422.558273. + + 77 FLD0172A PIC 9(02)V9(34) + VALUE 96.0216523360032936373897882731398567. + 77 FLD0172B PIC 9(04)V9(30) + VALUE 8999.798406174591702821885519369971. + + 77 FLD0173A PIC S9(09)V9(06) + VALUE +412472914.336663. + 77 FLD0173B PIC 9(10)V9(08) + VALUE 4786981213.45750904. + + 77 FLD0174A PIC S9(04) + VALUE +1244. + 77 FLD0174B PIC 9(10)V9(09) + VALUE 5152586737.087611057. + + 77 FLD0175A PIC S9(05) + VALUE +13456. + 77 FLD0175B PIC S9(02) + VALUE -05. + + 77 FLD0176A PIC 9(07)V9(23) + VALUE 7902178.74582138546379894705751. + 77 FLD0176B PIC 9(08)V9(03) + VALUE 29797398.003. + + 77 FLD0177A PIC 9(07)V9(21) + VALUE 7618839.577049143496623173632. + 77 FLD0177B PIC 9(07)V9(02) + VALUE 2373414.07. + + 77 FLD0178A PIC 9(09)V9(04) + VALUE 355502105.3348. + 77 FLD0178B PIC S9(08)V9(03) + VALUE +31397739.222. + + 77 FLD0179A PIC 9(09)V9(05) + VALUE 388560564.63472. + 77 FLD0179B PIC 9(03) + VALUE 099. + + 77 FLD0180A PIC 9(05)V9(27) + VALUE 85946.157652659294079455776227405. + 77 FLD0180B PIC 9(10)V9(10) + VALUE 5435189439.3573940700. + + 77 FLD0181A PIC 9(06)V9(01) + VALUE 188908.8. + 77 FLD0181B PIC S9(10)V9(08) + VALUE -4740924741.33910868. + + 77 FLD0182A PIC 9(10)V9(13) + VALUE 6061401860.3468300394609. + 77 FLD0182B PIC 9(09)V9(15) + VALUE 643493508.008180281620980. + + 77 FLD0183A PIC 9(07)V9(23) + VALUE 7910108.10526126539876656806882. + 77 FLD0183B PIC S9(02) + VALUE -05. + + 77 FLD0184A PIC 9(09)V9(15) + VALUE 635945742.812533687526865. + 77 FLD0184B PIC S9(07)V9(01) + VALUE +2343773.6. + + 77 FLD0185A PIC 9(05) + VALUE 15666. + 77 FLD0185B PIC 9(08)V9(20) + VALUE 73935660.38753716096465495866. + + 77 FLD0186A PIC 9(02) + VALUE 07. + 77 FLD0186B PIC 9(05)V9(26) + VALUE 84084.08947119312415452441200613. + + 77 FLD0187A PIC 9(09)V9(13) + VALUE 604672028.7423602568921. + 77 FLD0187B PIC 9(10)V9(12) + VALUE 5893278013.192120301511. + + 77 FLD0188A PIC 9(08)V9(17) + VALUE 68008236.87569536035724127. + 77 FLD0188B PIC 9(07)V9(21) + VALUE 7537078.198448752264226868646. + + 77 FLD0189A PIC 9(10)V9(09) + VALUE 5115071016.238050827. + 77 FLD0189B PIC 9(10)V9(11) + VALUE 5668524677.20726727051. + + 77 FLD0190A PIC 9(07)V9(02) + VALUE 2382137.54. + 77 FLD0190B PIC 9(09)V9(14) + VALUE 627148648.94273569806415. + + 77 FLD0191A PIC 9(05) + VALUE 13720. + 77 FLD0191B PIC 9(06)V9(24) + VALUE 803717.168989411478996487403492. + + 77 FLD0192A PIC 9(01)V9(36) + VALUE 9.894259454195439840162862310535274446. + 77 FLD0192B PIC 9(09)V9(04) + VALUE 358034239.3955. + + 77 FLD0193A PIC 9(10)V9(06) + VALUE 4252943677.090519. + 77 FLD0193B PIC 9(09)V9(14) + VALUE 612048644.17243076690766. + + 77 FLD0194A PIC 9(09)V9(06) + VALUE 417168379.939779. + 77 FLD0194B PIC 9(09)V9(15) + VALUE 634454032.998696626499679. + + 77 FLD0195A PIC 9(08)V9(02) + VALUE 26645846.45. + 77 FLD0195B PIC 9(05) + VALUE 14921. + + 77 FLD0196A PIC 9(01) + VALUE 0. + 77 FLD0196B PIC S9(05)V9(01) + VALUE -18000.7. + + 77 FLD0197A PIC 9(01)V9(36) + VALUE 9.847788375924405590566834689525421708. + 77 FLD0197B PIC 9(02) + VALUE 05. + + 77 FLD0198A PIC 9(09)V9(13) + VALUE 593293108.5591157671643. + 77 FLD0198B PIC S9(05) + VALUE +14072. + + 77 FLD0199A PIC 9(07)V9(02) + VALUE 2483287.24. + 77 FLD0199B PIC 9(07)V9(23) + VALUE 7969040.17410605347571106449322. + + 77 FLD0200A PIC S9(10)V9(08) + VALUE -4935972790.60619176. + 77 FLD0200B PIC 9(10)V9(07) + VALUE 4582475224.7206340. + + 77 FLD0201A PIC 9(04) + VALUE 1282. + 77 FLD0201B PIC 9(07)V9(23) + VALUE 7926313.90444417882612526682351. + + 77 FLD0202A PIC S9(09)V9(04) + VALUE -360603443.7503. + 77 FLD0202B PIC 9(03)V9(32) + VALUE 935.68197555010013122256395945441909. + + 77 FLD0203A PIC 9(09)V9(14) + VALUE 628607663.38264040253847. + 77 FLD0203B PIC 9(03)V9(31) + VALUE 920.1886012491730104656539879215415. + + 77 FLD0204A PIC 9(01)V9(35) + VALUE 9.73054030732718233664968465745914727. + 77 FLD0204B PIC 9(07)V9(01) + VALUE 2363275.3. + + 77 FLD0205A PIC 9(09)V9(15) + VALUE 648926914.508991536933990. + 77 FLD0205B PIC 9(09)V9(15) + VALUE 639814213.238647178094709. + + 77 FLD0206A PIC 9(06)V9(01) + VALUE 186967.7. + 77 FLD0206B PIC 9(08)V9(18) + VALUE 70826356.466434425840361654. + + 77 FLD0207A PIC 9(05)V9(26) + VALUE 83944.39242287422553445708217623. + 77 FLD0207B PIC 9(07)V9(21) + VALUE 7607846.993308088334728722657. + + 77 FLD0208A PIC 9(02)V9(34) + VALUE 96.7940040016311842308027735271025449. + 77 FLD0208B PIC 9(07)V9(01) + VALUE 2151595.4. + + 77 FLD0209A PIC 9(03)V9(32) + VALUE 926.61149050802726900855077474261634. + 77 FLD0209B PIC 9(07)V9(23) + VALUE 7951784.48263920700789242346218. + + 77 FLD0210A PIC 9(08)V9(19) + VALUE 72323528.1456575562764044207. + 77 FLD0210B PIC 9(01) + VALUE 0. + + 77 FLD0211A PIC 9(01) + VALUE 0. + 77 FLD0211B PIC S9(09)V9(07) + VALUE +442113770.7554604. + + 77 FLD0212A PIC 9(10)V9(08) + VALUE 4892032792.55731038. + 77 FLD0212B PIC S9(09)V9(05) + VALUE -372935567.70682. + + 77 FLD0213A PIC S9(03) + VALUE -082. + 77 FLD0213B PIC 9(07)V9(21) + VALUE 7525721.770631302875997903356. + + 77 FLD0214A PIC 9(01) + VALUE 0. + 77 FLD0214B PIC 9(09)V9(16) + VALUE 666893270.4655321508369070. + + 77 FLD0215A PIC 9(03)V9(32) + VALUE 926.34033699271633999217101518297567. + 77 FLD0215B PIC S9(05)V9(01) + VALUE -18226.5. + + 77 FLD0216A PIC S9(08)V9(02) + VALUE -28095374.87. + 77 FLD0216B PIC 9(08)V9(02) + VALUE 28541793.87. + + 77 FLD0217A PIC 9(08)V9(20) + VALUE 74562962.48658396130792880285. + 77 FLD0217B PIC S9(09)V9(07) + VALUE +444563659.0422049. + + 77 FLD0218A PIC S9(05)V9(01) + VALUE -18094.6. + 77 FLD0218B PIC 9(01)V9(36) + VALUE 9.867255193327033602201936446363106369. + + 77 FLD0219A PIC 9(09)V9(12) + VALUE 578788992.127507229135. + 77 FLD0219B PIC 9(10)V9(10) + VALUE 5297903516.0907261836. + + 77 FLD0220A PIC 9(09)V9(12) + VALUE 573343525.907533679841. + 77 FLD0220B PIC S9(05) + VALUE +14161. + + 77 FLD0221A PIC 9(01) + VALUE 0. + 77 FLD0221B PIC 9(04)V9(29) + VALUE 8789.10367794605407176788958167890. + + 77 FLD0222A PIC 9(09)V9(14) + VALUE 628182805.25174396977661. + 77 FLD0222B PIC S9(05) + VALUE -15228. + + 77 FLD0223A PIC 9(01) + VALUE 0. + 77 FLD0223B PIC 9(08)V9(18) + VALUE 69950927.082806102497158917. + + 77 FLD0224A PIC 9(06)V9(25) + VALUE 838187.2267509891116787912324070. + 77 FLD0224B PIC S9(09)V9(05) + VALUE -382169497.04991. + + 77 FLD0225A PIC 9(05) + VALUE 13797. + 77 FLD0225B PIC 9(09)V9(12) + VALUE 572598612.808938978169. + + 77 FLD0226A PIC 9(05) + VALUE 14900. + 77 FLD0226B PIC S9(07)V9(01) + VALUE +2129995.4. + + 77 FLD0227A PIC 9(09)V9(14) + VALUE 629583055.15940859997670. + 77 FLD0227B PIC 9(04)V9(30) + VALUE 8983.577034983017961522477889957372. + + 77 FLD0228A PIC S9(07)V9(01) + VALUE +2225916.3. + 77 FLD0228B PIC 9(01)V9(36) + VALUE 9.739690596877397243957830141880549490. + + 77 FLD0229A PIC 9(01)V9(36) + VALUE 9.870473603260505601753038718015886843. + 77 FLD0229B PIC 9(08)V9(20) + VALUE 73838029.76208535540081356884. + + 77 FLD0230A PIC S9(06)V9(01) + VALUE +201492.2. + 77 FLD0230B PIC S9(02) + VALUE -06. + + 77 FLD0231A PIC 9(05)V9(28) + VALUE 87781.6812716511907233041256404248. + 77 FLD0231B PIC S9(08)V9(02) + VALUE -27182116.43. + + 77 FLD0232A PIC 9(09)V9(04) + VALUE 356308264.5328. + 77 FLD0232B PIC 9(06)V9(25) + VALUE 833280.3014261945806495646138500. + + 77 FLD0233A PIC 9(07)V9(21) + VALUE 7552156.809035388551620826547. + 77 FLD0233B PIC 9(08)V9(04) + VALUE 33739768.3403. + + 77 FLD0234A PIC 9(08)V9(04) + VALUE 33831052.6754. + 77 FLD0234B PIC 9(09)V9(13) + VALUE 593899144.9424572133253. + + 77 FLD0235A PIC S9(05) + VALUE +14123. + 77 FLD0235B PIC S9(10)V9(08) + VALUE -4808329310.19295639. + + 77 FLD0236A PIC 9(04)V9(29) + VALUE 8818.23528289915170574886360554955. + 77 FLD0236B PIC 9(08)V9(18) + VALUE 70480160.116860446350983693. + + 77 FLD0237A PIC 9(08)V9(02) + VALUE 28742037.59. + 77 FLD0237B PIC 9(04)V9(29) + VALUE 8850.90488581330880890618573175743. + + 77 FLD0238A PIC 9(09)V9(15) + VALUE 634521096.430120334908053. + 77 FLD0238B PIC 9(06)V9(01) + VALUE 198396.3. + + 77 FLD0239A PIC 9(09)V9(16) + VALUE 678585779.2924817610824561. + 77 FLD0239B PIC 9(09)V9(14) + VALUE 614739880.97122655993587. + + 77 FLD0240A PIC 9(10)V9(06) + VALUE 4289853576.446766. + 77 FLD0240B PIC 9(06)V9(25) + VALUE 833165.4817075836438888813972880. + + 77 FLD0241A PIC S9(05) + VALUE +14407. + 77 FLD0241B PIC 9(09)V9(14) + VALUE 608742950.23205993171444. + + 77 FLD0242A PIC 9(10)V9(12) + VALUE 5860383854.989427154791. + 77 FLD0242B PIC S9(06)V9(01) + VALUE +201770.8. + + 77 FLD0243A PIC 9(02)V9(34) + VALUE 97.0409660969254295181940506154205650. + 77 FLD0243B PIC 9(05)V9(28) + VALUE 86928.4847432245544318618613033322. + + 77 FLD0244A PIC S9(01) + VALUE +0. + 77 FLD0244B PIC 9(09)V9(13) + VALUE 596454149.7067354924865. + + 77 FLD0245A PIC S9(09)V9(05) + VALUE -371716886.14542. + 77 FLD0245B PIC 9(09)V9(15) + VALUE 636050719.355519267317333. + + 77 FLD0246A PIC 9(05)V9(28) + VALUE 87216.9313623637143528810611314838. + 77 FLD0246B PIC 9(06)V9(01) + VALUE 208199.5. + + 77 FLD0247A PIC 9(06)V9(25) + VALUE 834494.8214770686600871840710169. + 77 FLD0247B PIC 9(08)V9(19) + VALUE 73372232.8570783122181353519. + + 77 FLD0248A PIC 9(04)V9(29) + VALUE 8885.56418584546814365410227765096. + 77 FLD0248B PIC 9(10)V9(11) + VALUE 5683594830.11341870550. + + 77 FLD0249A PIC 9(09)V9(16) + VALUE 678470839.5950102000071524. + 77 FLD0249B PIC 9(09)V9(16) + VALUE 673175418.3146980707874718. + + 77 FLD0250A PIC 9(09)V9(15) + VALUE 643468324.926731005675151. + 77 FLD0250B PIC 9(04)V9(30) + VALUE 9057.675398841628089385835664870683. + + 77 FLD0251A PIC S9(09)V9(06) + VALUE +402548910.007195. + 77 FLD0251B PIC 9(06)V9(25) + VALUE 830149.1080513825338016431487631. + + 77 FLD0252A PIC S9(05)V9(01) + VALUE -18339.3. + 77 FLD0252B PIC S9(07)V9(01) + VALUE +2343087.3. + + 77 FLD0253A PIC 9(06)V9(25) + VALUE 822593.8518184680026124055984837. + 77 FLD0253B PIC 9(07)V9(01) + VALUE 2159897.7. + + 77 FLD0254A PIC 9(10)V9(10) + VALUE 5401895692.3872574193. + 77 FLD0254B PIC S9(07)V9(02) + VALUE +2405256.16. + + 77 FLD0255A PIC 9(02)V9(34) + VALUE 94.8299297085154591080424779647728428. + 77 FLD0255B PIC 9(10)V9(10) + VALUE 5408143412.7739858030. + + 77 FLD0256A PIC S9(09)V9(08) + VALUE -473179644.06591722. + 77 FLD0256B PIC 9(04)V9(30) + VALUE 9107.434804383051085707734273455571. + + 77 FLD0257A PIC 9(09)V9(12) + VALUE 577029491.737192756772. + 77 FLD0257B PIC S9(03) + VALUE -084. + + 77 FLD0258A PIC 9(10)V9(12) + VALUE 5908893351.960881057394. + 77 FLD0258B PIC 9(05)V9(27) + VALUE 84978.202175808337237583600654033. + + 77 FLD0259A PIC 9(03)V9(32) + VALUE 937.55337057593879368511124994256533. + 77 FLD0259B PIC S9(09)V9(05) + VALUE -374669242.27931. + + 77 FLD0260A PIC 9(05)V9(27) + VALUE 86648.984966754782899300835197209. + 77 FLD0260B PIC 9(09)V9(13) + VALUE 601823310.0433563187436. + + 77 FLD0261A PIC S9(09)V9(05) + VALUE -374213925.47904. + 77 FLD0261B PIC 9(09)V9(05) + VALUE 379885544.06227. + + 77 FLD0262A PIC S9(05)V9(01) + VALUE -17015.9. + 77 FLD0262B PIC 9(09)V9(17) + VALUE 687559565.36759821329241049. + + 77 FLD0263A PIC 9(05)V9(26) + VALUE 84046.29767805690265802809335582. + 77 FLD0263B PIC S9(02) + VALUE -06. + + 77 FLD0264A PIC 9(03)V9(32) + VALUE 935.78568596491340514376133796758949. + 77 FLD0264B PIC 9(05)V9(01) + VALUE 17620.4. + + 77 FLD0265A PIC S9(09)V9(05) + VALUE -380334582.15301. + 77 FLD0265B PIC 9(01)V9(36) + VALUE 9.854231270822284560750858872779645025. + + 77 FLD0266A PIC 9(05)V9(27) + VALUE 84707.693570856212872399737534578. + 77 FLD0266B PIC 9(02)V9(34) + VALUE 96.1883348354436562566149859776487573. + + 77 FLD0267A PIC 9(03) + VALUE 087. + 77 FLD0267B PIC S9(07)V9(01) + VALUE +2348814.4. + + 77 FLD0268A PIC S9(01) + VALUE -0. + 77 FLD0268B PIC 9(06)V9(25) + VALUE 821150.0957830146774085733341053. + + 77 FLD0269A PIC 9(08)V9(18) + VALUE 69955495.182247551255727557. + 77 FLD0269B PIC 9(01) + VALUE 0. + + 77 FLD0270A PIC 9(08)V9(18) + VALUE 69584936.933990082508216801. + 77 FLD0270B PIC S9(04) + VALUE +1200. + + 77 FLD0271A PIC 9(10)V9(07) + VALUE 4478155927.4435323. + 77 FLD0271B PIC 9(07)V9(02) + VALUE 2371664.59. + + 77 FLD0272A PIC S9(09)V9(06) + VALUE +411514667.070764. + 77 FLD0272B PIC S9(10)V9(08) + VALUE -4748492295.95657285. + + 77 FLD0273A PIC 9(10)V9(07) + VALUE 4698099460.5024867. + 77 FLD0273B PIC S9(10)V9(06) + VALUE +4338009792.593093. + + 77 FLD0274A PIC 9(07)V9(01) + VALUE 2190249.4. + 77 FLD0274B PIC 9(10)V9(10) + VALUE 5271665070.2586675958. + + 77 FLD0275A PIC 9(04) + VALUE 1157. + 77 FLD0275B PIC S9(07)V9(02) + VALUE +2422980.94. + + 77 FLD0276A PIC 9(04)V9(30) + VALUE 9021.044697283423507983002309629227. + 77 FLD0276B PIC 9(02)V9(33) + VALUE 94.591784695476577304873444518307223. + + 77 FLD0277A PIC 9(01)V9(36) + VALUE 9.749582162084949876756923003995325416. + 77 FLD0277B PIC 9(10)V9(08) + VALUE 4992154586.01645512. + + 77 FLD0278A PIC 9(10)V9(06) + VALUE 4251062706.993476. + 77 FLD0278B PIC 9(03)V9(31) + VALUE 914.7657257947739983805490737722720. + + 77 FLD0279A PIC S9(08)V9(02) + VALUE -27159201.10. + 77 FLD0279B PIC 9(03)V9(32) + VALUE 921.08160397424898579998853165307082. + + 77 FLD0280A PIC 9(07)V9(02) + VALUE 2571968.92. + 77 FLD0280B PIC 9(08)V9(19) + VALUE 71229222.1254675839148262639. + + 77 FLD0281A PIC S9(09)V9(04) + VALUE +342861689.3811. + 77 FLD0281B PIC 9(10)V9(07) + VALUE 4662459797.7205073. + + 77 FLD0282A PIC S9(10)V9(07) + VALUE -4600147325.4430291. + 77 FLD0282B PIC 9(07)V9(22) + VALUE 7889304.3658446049271049105300. + + 77 FLD0283A PIC 9(01) + VALUE 0. + 77 FLD0283B PIC S9(05)V9(01) + VALUE -18273.9. + + 77 FLD0284A PIC 9(09)V9(17) + VALUE 689733171.20512533939802324. + 77 FLD0284B PIC 9(01) + VALUE 0. + + 77 FLD0285A PIC 9(03)V9(32) + VALUE 928.78828230193799520009179104818031. + 77 FLD0285B PIC 9(08)V9(20) + VALUE 73692142.62351649891158444916. + + 77 FLD0286A PIC 9(08)V9(18) + VALUE 70426964.322731444578806758. + 77 FLD0286B PIC 9(07)V9(01) + VALUE 2181620.7. + + 77 FLD0287A PIC S9(07)V9(02) + VALUE -2521413.84. + 77 FLD0287B PIC 9(06) + VALUE 158585. + + 77 FLD0288A PIC 9(09)V9(17) + VALUE 688074525.02240640246355951. + 77 FLD0288B PIC 9(04)V9(29) + VALUE 8936.92752615119712089608583482913. + + 77 FLD0289A PIC S9(03) + VALUE -092. + 77 FLD0289B PIC 9(10)V9(11) + VALUE 5676330984.14293657540. + + 77 FLD0290A PIC S9(09)V9(05) + VALUE -382951207.35442. + 77 FLD0290B PIC S9(03) + VALUE -094. + + 77 FLD0291A PIC 9(01)V9(36) + VALUE 9.859384124391753490002088256005663424. + 77 FLD0291B PIC 9(06)V9(25) + VALUE 830008.1335268413296191170047677. + + 77 FLD0292A PIC S9(08)V9(03) + VALUE +31020519.916. + 77 FLD0292B PIC 9(01) + VALUE 0. + + 77 FLD0293A PIC S9(03) + VALUE -093. + 77 FLD0293B PIC 9(08)V9(03) + VALUE 30744484.924. + + 77 FLD0294A PIC S9(09)V9(06) + VALUE +412445339.504106. + 77 FLD0294B PIC 9(01) + VALUE 0. + + 77 FLD0295A PIC S9(07)V9(02) + VALUE -2502548.06. + 77 FLD0295B PIC S9(07)V9(01) + VALUE +2138373.7. + + 77 FLD0296A PIC S9(06) + VALUE -160918. + 77 FLD0296B PIC 9(09)V9(12) + VALUE 574303107.736577889141. + + 77 FLD0297A PIC 9(08)V9(03) + VALUE 30843552.269. + 77 FLD0297B PIC 9(10)V9(09) + VALUE 5180156945.333709295. + + 77 FLD0298A PIC S9(10)V9(08) + VALUE -4831587379.88150510. + 77 FLD0298B PIC 9(01)V9(36) + VALUE 9.983859909908295859892746193509083241. + + 77 FLD0299A PIC 9(10)V9(13) + VALUE 6064872573.5835784522720. + 77 FLD0299B PIC 9(09)V9(16) + VALUE 669818284.8844781434038964. + + 77 FLD0300A PIC 9(08)V9(20) + VALUE 73956142.30661028409841151187. + 77 FLD0300B PIC 9(09)V9(14) + VALUE 624082886.12038953502292. + + 77 FLD0301A PIC S9(10)V9(07) + VALUE -4524568495.0704084. + 77 FLD0301B PIC S9(01) + VALUE +0. + + 77 FLD0302A PIC 9(02)V9(34) + VALUE 94.9764690231816866017311440373305231. + 77 FLD0302B PIC 9(10)V9(06) + VALUE 4291773437.216153. + + 77 FLD0303A PIC 9(01)V9(36) + VALUE 9.998247249142951931233369577967096120. + 77 FLD0303B PIC 9(01) + VALUE 0. + + 77 FLD0304A PIC S9(03) + VALUE -083. + 77 FLD0304B PIC 9(10)V9(11) + VALUE 5565734306.84127234968. + + 77 FLD0305A PIC 9(09)V9(03) + VALUE 328435884.788. + 77 FLD0305B PIC S9(01) + VALUE +0. + + 77 FLD0306A PIC S9(03) + VALUE -083. + 77 FLD0306B PIC S9(10)V9(08) + VALUE -4936418970.17687181. + + 77 FLD0307A PIC 9(10)V9(10) + VALUE 5430567751.9659767416. + 77 FLD0307B PIC 9(03)V9(32) + VALUE 928.08547489686554765597747973515652. + + 77 FLD0308A PIC 9(09)V9(05) + VALUE 377189267.62120. + 77 FLD0308B PIC 9(02)V9(34) + VALUE 96.4274365663057242414879510761238634. + + 77 FLD0309A PIC 9(09)V9(03) + VALUE 325461096.612. + 77 FLD0309B PIC S9(03) + VALUE -093. + + 77 FLD0310A PIC 9(09)V9(05) + VALUE 377541451.37210. + 77 FLD0310B PIC 9(09)V9(06) + VALUE 416709099.760976. + + 77 FLD0311A PIC S9(02) + VALUE -06. + 77 FLD0311B PIC 9(01)V9(36) + VALUE 9.931117203050255914931199185957666486. + + 77 FLD0312A PIC S9(10)V9(07) + VALUE -4631183834.9707568. + 77 FLD0312B PIC 9(01) + VALUE 0. + + 77 FLD0313A PIC 9(05)V9(27) + VALUE 86493.365621715367907995641871821. + 77 FLD0313B PIC 9(09)V9(05) + VALUE 375066571.23058. + + 77 FLD0314A PIC 9(03) + VALUE 088. + 77 FLD0314B PIC 9(08)V9(18) + VALUE 69720866.107690404600560896. + + 77 FLD0315A PIC 9(07)V9(23) + VALUE 7933336.74589681625555215305212. + 77 FLD0315B PIC 9(09)V9(17) + VALUE 688307785.43204196306959374. + + 77 FLD0316A PIC 9(06)V9(01) + VALUE 195827.4. + 77 FLD0316B PIC 9(10)V9(11) + VALUE 5611864585.06384822086. + + 77 FLD0317A PIC 9(10)V9(08) + VALUE 4983225307.65216153. + 77 FLD0317B PIC S9(09)V9(03) + VALUE +331361572.492. + + 77 FLD0318A PIC 9(08)V9(02) + VALUE 26926374.69. + 77 FLD0318B PIC 9(04)V9(29) + VALUE 8825.34717446214034275442372745601. + + 77 FLD0319A PIC 9(08)V9(18) + VALUE 69931441.978879860243978328. + 77 FLD0319B PIC 9(09)V9(15) + VALUE 650439668.121860714578019. + + 77 FLD0320A PIC 9(08)V9(19) + VALUE 71973495.8824565840274090078. + 77 FLD0320B PIC 9(10)V9(11) + VALUE 5542215777.53993832615. + + 77 FLD0321A PIC 9(10)V9(09) + VALUE 5005504874.853489161. + 77 FLD0321B PIC 9(09)V9(16) + VALUE 660163921.0521921263818967. + + 77 FLD0322A PIC S9(09)V9(07) + VALUE +442005310.2249054. + 77 FLD0322B PIC 9(09)V9(14) + VALUE 617916374.92097983841432. + + 77 FLD0323A PIC S9(05) + VALUE -15097. + 77 FLD0323B PIC 9(01)V9(35) + VALUE 9.73366140153258840861383305309573188. + + 77 FLD0324A PIC 9(10)V9(11) + VALUE 5601604504.75820970162. + 77 FLD0324B PIC 9(10)V9(10) + VALUE 5319146871.9734047443. + + 77 FLD0325A PIC 9(04) + VALUE 1169. + 77 FLD0325B PIC 9(08)V9(19) + VALUE 72332591.2353324218528882738. + + 77 FLD0326A PIC S9(08)V9(03) + VALUE +31312044.720. + 77 FLD0326B PIC S9(02) + VALUE -05. + + 77 FLD0327A PIC S9(03) + VALUE -090. + 77 FLD0327B PIC S9(07)V9(01) + VALUE +2122536.7. + + 77 FLD0328A PIC 9(08)V9(19) + VALUE 71147504.7716873310044150002. + 77 FLD0328B PIC S9(09)V9(05) + VALUE -393175029.86891. + + 77 FLD0329A PIC S9(01) + VALUE +0. + 77 FLD0329B PIC 9(02)V9(34) + VALUE 95.2096907591406971249625712516717612. + + 77 FLD0330A PIC 9(09)V9(07) + VALUE 445280746.1581723. + 77 FLD0330B PIC 9(07)V9(23) + VALUE 7955244.25555017788980194382020. + + 77 FLD0331A PIC S9(07)V9(01) + VALUE +2232816.8. + 77 FLD0331B PIC 9(08)V9(02) + VALUE 27670053.03. + + 77 FLD0332A PIC 9(05)V9(27) + VALUE 86562.988696340348315771962006692. + 77 FLD0332B PIC 9(09)V9(04) + VALUE 355930982.9079. + + 77 FLD0333A PIC 9(02)V9(34) + VALUE 95.6494138775326296908474432711955159. + 77 FLD0333B PIC S9(07)V9(02) + VALUE +2431333.31. + + 77 FLD0334A PIC 9(08)V9(03) + VALUE 28999492.466. + 77 FLD0334B PIC 9(09)V9(03) + VALUE 326043905.981. + + 77 FLD0335A PIC S9(08)V9(03) + VALUE +30334218.791. + 77 FLD0335B PIC 9(10)V9(09) + VALUE 5075855226.668805064. + + 77 FLD0336A PIC 9(05)V9(27) + VALUE 85800.255545984371874368434873758. + 77 FLD0336B PIC S9(08)V9(03) + VALUE -29245898.644. + + 77 FLD0337A PIC 9(08)V9(19) + VALUE 72003996.5448931451597047725. + 77 FLD0337B PIC 9(08)V9(19) + VALUE 71409231.4076567258318561925. + + 77 FLD0338A PIC S9(01) + VALUE -0. + 77 FLD0338B PIC 9(10)V9(10) + VALUE 5304768900.0456310637. + + 77 FLD0339A PIC S9(06) + VALUE -160552. + 77 FLD0339B PIC 9(09)V9(13) + VALUE 594533435.7259434154840. + + 77 FLD0340A PIC 9(10)V9(09) + VALUE 5028381651.473269320. + 77 FLD0340B PIC S9(09)V9(04) + VALUE -361499697.6055. + + 77 FLD0341A PIC 9(10)V9(11) + VALUE 5676316159.01010966318. + 77 FLD0341B PIC 9(09)V9(12) + VALUE 572076310.146404809486. + + 77 FLD0342A PIC S9(07)V9(01) + VALUE +2347143.0. + 77 FLD0342B PIC S9(10)V9(07) + VALUE -4530575977.8135124. + + 77 FLD0343A PIC 9(08)V9(19) + VALUE 72866356.1504289902792663724. + 77 FLD0343B PIC 9(06)V9(01) + VALUE 195736.6. + + 77 FLD0344A PIC 9(09)V9(07) + VALUE 439744878.9947105. + 77 FLD0344B PIC 9(04)V9(29) + VALUE 8815.39565612843856179381418769480. + + 77 FLD0345A PIC 9(01) + VALUE 0. + 77 FLD0345B PIC 9(09)V9(06) + VALUE 405441574.894889. + + 77 FLD0346A PIC 9(07)V9(22) + VALUE 7807860.0333687642187641131386. + 77 FLD0346B PIC 9(09)V9(16) + VALUE 674345587.8778652490268541. + + 77 FLD0347A PIC 9(08)V9(18) + VALUE 70165985.253748408556617732. + 77 FLD0347B PIC 9(06) + VALUE 158396. + + 77 FLD0348A PIC 9(08)V9(04) + VALUE 33778742.7133. + 77 FLD0348B PIC 9(09)V9(12) + VALUE 575387126.330844100863. + + 77 FLD0349A PIC 9(10)V9(09) + VALUE 5122785066.779668161. + 77 FLD0349B PIC 9(03)V9(32) + VALUE 924.84903066843715535583214659709483. + + 77 FLD0350A PIC 9(02) + VALUE 07. + 77 FLD0350B PIC 9(06)V9(25) + VALUE 826494.1389960360762501068165875. + + 77 FLD0351A PIC 9(05)V9(27) + VALUE 84942.576912519174303639601930626. + 77 FLD0351B PIC 9(10)V9(10) + VALUE 5388327188.5283523516. + + 77 FLD0352A PIC 9(03)V9(32) + VALUE 937.88592938035042489985926295048557. + 77 FLD0352B PIC 9(06)V9(01) + VALUE 195629.8. + + 77 FLD0353A PIC S9(07)V9(02) + VALUE -2544588.73. + 77 FLD0353B PIC 9(02)V9(33) + VALUE 94.340663054368900652946194895775988. + + 77 FLD0354A PIC 9(07)V9(01) + VALUE 2152460.4. + 77 FLD0354B PIC S9(08)V9(03) + VALUE -29015200.342. + + 77 FLD0355A PIC 9(06)V9(01) + VALUE 208715.4. + 77 FLD0355B PIC S9(05) + VALUE -15428. + + 77 FLD0356A PIC S9(09)V9(05) + VALUE -391398983.37050. + 77 FLD0356B PIC 9(05)V9(27) + VALUE 84690.187478976841628508509529638. + + 77 FLD0357A PIC 9(10)V9(10) + VALUE 5323345989.0667944591. + 77 FLD0357B PIC 9(03) + VALUE 079. + + 77 FLD0358A PIC 9(08)V9(03) + VALUE 29848403.943. + 77 FLD0358B PIC 9(09)V9(17) + VALUE 688595894.53938552239264936. + + 77 FLD0359A PIC 9(07)V9(22) + VALUE 7654789.5985185210321333215688. + 77 FLD0359B PIC 9(01)V9(36) + VALUE 9.927521413787718795873615817981772124. + + 77 FLD0360A PIC S9(09)V9(06) + VALUE +400277612.276280. + 77 FLD0360B PIC 9(08)V9(02) + VALUE 26666225.04. + + 77 FLD0361A PIC 9(06)V9(25) + VALUE 823089.8044061112361902132761315. + 77 FLD0361B PIC 9(05)V9(27) + VALUE 84762.044237681810621154454565839. + + 77 FLD0362A PIC S9(01) + VALUE -0. + 77 FLD0362B PIC 9(04)V9(30) + VALUE 8970.899599407193836242413453874178. + + 77 FLD0363A PIC 9(09)V9(04) + VALUE 358575926.2078. + 77 FLD0363B PIC 9(04)V9(30) + VALUE 9034.927431796696550847514117776881. + + 77 FLD0364A PIC S9(04) + VALUE +1234. + 77 FLD0364B PIC 9(06)V9(25) + VALUE 830028.0009277749559970516202156. + + 77 FLD0365A PIC 9(09)V9(11) + VALUE 551967009.62472056151. + 77 FLD0365B PIC 9(09)V9(16) + VALUE 658782379.9892106313436102. + + 77 FLD0366A PIC 9(06)V9(25) + VALUE 822414.3642778768414913770357088. + 77 FLD0366B PIC 9(06)V9(25) + VALUE 838180.2974044693099742175945721. + + 77 FLD0367A PIC 9(09)V9(13) + VALUE 595975436.9256639039420. + 77 FLD0367B PIC S9(06)V9(01) + VALUE -191378.3. + + 77 FLD0368A PIC 9(05) + VALUE 15663. + 77 FLD0368B PIC 9(01) + VALUE 0. + + 77 FLD0369A PIC 9(01) + VALUE 0. + 77 FLD0369B PIC S9(08)V9(03) + VALUE +31224128.387. + + 77 FLD0370A PIC 9(01) + VALUE 0. + 77 FLD0370B PIC S9(01) + VALUE -0. + + 77 FLD0371A PIC S9(01) + VALUE +0. + 77 FLD0371B PIC S9(03) + VALUE -082. + + 77 FLD0372A PIC 9(10)V9(09) + VALUE 5067586024.551302692. + 77 FLD0372B PIC 9(10)V9(09) + VALUE 5017586497.117959565. + + 77 FLD0373A PIC 9(09)V9(16) + VALUE 660730415.8912360447786227. + 77 FLD0373B PIC S9(09)V9(04) + VALUE -352559577.5040. + + 77 FLD0374A PIC 9(01) + VALUE 0. + 77 FLD0374B PIC 9(08)V9(19) + VALUE 71126449.7973442155753787119. + + 77 FLD0375A PIC 9(07)V9(22) + VALUE 7816763.9605777072819847717255. + 77 FLD0375B PIC 9(01) + VALUE 0. + + 77 FLD0376A PIC 9(05)V9(27) + VALUE 84980.958923270843996533585595898. + 77 FLD0376B PIC 9(10)V9(09) + VALUE 5240094598.000759607. + + 77 FLD0377A PIC 9(02)V9(34) + VALUE 96.7759547981370871205797357106348499. + 77 FLD0377B PIC 9(07)V9(22) + VALUE 7813622.4062247550126159012506. + + 77 FLD0378A PIC S9(01) + VALUE -0. + 77 FLD0378B PIC S9(06) + VALUE -163135. + + 77 FLD0379A PIC 9(10)V9(10) + VALUE 5351160784.1302399890. + 77 FLD0379B PIC 9(01) + VALUE 0. + + 77 FLD0380A PIC 9(09)V9(03) + VALUE 318886259.138. + 77 FLD0380B PIC S9(01) + VALUE +0. + + 77 FLD0381A PIC 9(10)V9(09) + VALUE 5188977124.912377281. + 77 FLD0381B PIC 9(03) + VALUE 096. + + 77 FLD0382A PIC 9(10)V9(10) + VALUE 5469463185.9002762475. + 77 FLD0382B PIC 9(04) + VALUE 1276. + + 77 FLD0383A PIC 9(04)V9(29) + VALUE 8846.28028341020278269013488170458. + 77 FLD0383B PIC 9(06)V9(24) + VALUE 801588.906111812216082057602761. + + 77 FLD0384A PIC S9(07)V9(02) + VALUE +2410021.83. + 77 FLD0384B PIC 9(01) + VALUE 0. + + 77 FLD0385A PIC 9(09)V9(14) + VALUE 616198826.41569234671408. + 77 FLD0385B PIC 9(04)V9(29) + VALUE 8914.93363280043138452413131744833. + + 77 FLD0386A PIC 9(10)V9(11) + VALUE 5671006446.22052230126. + 77 FLD0386B PIC 9(07)V9(21) + VALUE 7538453.430795608589676248811. + + 77 FLD0387A PIC 9(08)V9(03) + VALUE 30516405.931. + 77 FLD0387B PIC 9(09)V9(16) + VALUE 660134959.6835575095354897. + + 77 FLD0388A PIC 9(10)V9(11) + VALUE 5691303425.20841603359. + 77 FLD0388B PIC 9(03) + VALUE 099. + + 77 FLD0389A PIC S9(10)V9(06) + VALUE +4300560615.719126. + 77 FLD0389B PIC 9(10)V9(12) + VALUE 5882065365.633618592156. + + 77 FLD0390A PIC S9(02) + VALUE -07. + 77 FLD0390B PIC 9(03) + VALUE 095. + + 77 FLD0391A PIC S9(08)V9(03) + VALUE +30066642.536. + 77 FLD0391B PIC S9(08)V9(02) + VALUE -26329271.26. + + 77 FLD0392A PIC 9(02)V9(34) + VALUE 95.7627258628673261320329856971511617. + 77 FLD0392B PIC 9(10)V9(07) + VALUE 4682510725.0510572. + + 77 FLD0393A PIC 9(02) + VALUE 05. + 77 FLD0393B PIC 9(04)V9(30) + VALUE 9067.420163680885991652758093550801. + + 77 FLD0394A PIC 9(05)V9(01) + VALUE 16807.8. + 77 FLD0394B PIC S9(10)V9(08) + VALUE -4746288002.63585892. + + 77 FLD0395A PIC 9(10)V9(09) + VALUE 5206691882.901124390. + 77 FLD0395B PIC S9(01) + VALUE +0. + + 77 FLD0396A PIC 9(09)V9(06) + VALUE 419939827.280791. + 77 FLD0396B PIC 9(09)V9(07) + VALUE 446487444.5871826. + + 77 FLD0397A PIC 9(05)V9(27) + VALUE 85569.982924983467587054519754019. + 77 FLD0397B PIC S9(02) + VALUE -07. + + 77 FLD0398A PIC 9(05)V9(26) + VALUE 84110.85692078776876456913669244. + 77 FLD0398B PIC S9(08)V9(02) + VALUE -28358417.67. + + 77 FLD0399A PIC 9(05)V9(27) + VALUE 86215.377080746946614198122915695. + 77 FLD0399B PIC 9(07)V9(02) + VALUE 2481207.70. + + 77 FLD0400A PIC 9(10)V9(08) + VALUE 4880703034.67910082. + 77 FLD0400B PIC 9(06)V9(25) + VALUE 835199.6491942943467989834971376. + + 77 FLD0401A PIC 9(08)V9(03) + VALUE 30757829.425. + 77 FLD0401B PIC 9(01) + VALUE 0. + + 77 FLD0402A PIC 9(04)V9(29) + VALUE 8843.41306989221531686951038864208. + 77 FLD0402B PIC 9(08)V9(18) + VALUE 69652895.633901057426129455. + + 77 FLD0403A PIC 9(10)V9(10) + VALUE 5351391185.2119278034. + 77 FLD0403B PIC 9(03)V9(32) + VALUE 939.96913575689089448417234962107613. + + 77 FLD0404A PIC S9(10)V9(08) + VALUE -4810592903.51378177. + 77 FLD0404B PIC 9(09)V9(16) + VALUE 670850774.7441430080215241. + + 77 FLD0405A PIC S9(09)V9(04) + VALUE -360620744.0007. + 77 FLD0405B PIC S9(05) + VALUE +14133. + + 77 FLD0406A PIC S9(07)V9(02) + VALUE -2503018.94. + 77 FLD0406B PIC 9(07)V9(23) + VALUE 7996063.91391730064732712435215. + + 77 FLD0407A PIC 9(09)V9(13) + VALUE 592634898.8738083800598. + 77 FLD0407B PIC 9(01)V9(36) + VALUE 9.879241102928391082826919955550692975. + + 77 FLD0408A PIC 9(09)V9(07) + VALUE 438100099.1119252. + 77 FLD0408B PIC 9(08)V9(02) + VALUE 28626783.20. + + 77 FLD0409A PIC 9(08)V9(02) + VALUE 28575188.65. + 77 FLD0409B PIC 9(09)V9(12) + VALUE 576691261.515216657684. + + 77 FLD0410A PIC 9(09)V9(14) + VALUE 615937928.60877261130525. + 77 FLD0410B PIC 9(01)V9(36) + VALUE 9.822719722312858170454319406417198479. + + 77 FLD0411A PIC 9(09)V9(17) + VALUE 688573322.26995748847286904. + 77 FLD0411B PIC 9(07)V9(22) + VALUE 7775778.4281136710369253250973. + + 77 FLD0412A PIC 9(09)V9(12) + VALUE 572677017.522024045526. + 77 FLD0412B PIC S9(01) + VALUE +0. + + 77 FLD0413A PIC 9(06)V9(25) + VALUE 828822.6462986850728853482905833. + 77 FLD0413B PIC S9(01) + VALUE +0. + + 77 FLD0414A PIC 9(05)V9(27) + VALUE 84413.303017262042438062508153961. + 77 FLD0414B PIC S9(05) + VALUE -15377. + + 77 FLD0415A PIC 9(09)V9(15) + VALUE 650722988.227690701812377. + 77 FLD0415B PIC 9(03)V9(31) + VALUE 919.0351051613949717733476063585840. + + 77 FLD0416A PIC 9(09)V9(16) + VALUE 675584038.8269652718733482. + 77 FLD0416B PIC S9(01) + VALUE +0. + + 77 FLD0417A PIC 9(03)V9(32) + VALUE 942.59186417160190085695603556814603. + 77 FLD0417B PIC 9(04)V9(29) + VALUE 8943.54109346381376255408213182818. + + 77 FLD0418A PIC 9(01) + VALUE 0. + 77 FLD0418B PIC 9(01) + VALUE 0. + + 77 FLD0419A PIC 9(09)V9(06) + VALUE 415695619.544491. + 77 FLD0419B PIC 9(10)V9(10) + VALUE 5349169017.3884820502. + + 77 FLD0420A PIC 9(08)V9(02) + VALUE 26881191.37. + 77 FLD0420B PIC 9(04)V9(30) + VALUE 9092.387304867948216724471421912312. + + 77 FLD0421A PIC 9(08)V9(19) + VALUE 71124707.9077118260492795798. + 77 FLD0421B PIC S9(06)V9(01) + VALUE +210383.3. + + 77 FLD0422A PIC 9(08)V9(18) + VALUE 69276472.004700051510184266. + 77 FLD0422B PIC 9(02)V9(34) + VALUE 96.7464238557165900900258748151827603. + + 77 FLD0423A PIC 9(09)V9(13) + VALUE 595417774.2919815052857. + 77 FLD0423B PIC 9(09)V9(17) + VALUE 689527286.14626146441679566. + + 77 FLD0424A PIC 9(09)V9(11) + VALUE 551151541.59885582085. + 77 FLD0424B PIC 9(08)V9(19) + VALUE 72724692.5117367437607640567. + + 77 FLD0425A PIC S9(10)V9(08) + VALUE -4741628720.81754727. + 77 FLD0425B PIC 9(10)V9(12) + VALUE 5846836543.074439562772. + + 77 FLD0426A PIC 9(10)V9(11) + VALUE 5601456695.80725313885. + 77 FLD0426B PIC 9(10)V9(11) + VALUE 5581868249.31393821280. + + 77 FLD0427A PIC 9(09)V9(04) + VALUE 365284621.5641. + 77 FLD0427B PIC 9(07)V9(22) + VALUE 7792109.4871910845380824639505. + + 77 FLD0428A PIC 9(05)V9(27) + VALUE 85913.234918316627730661139139556. + 77 FLD0428B PIC 9(01)V9(36) + VALUE 9.753152813075189886404814387788064777. + + 77 FLD0429A PIC 9(07)V9(22) + VALUE 7833347.6062909002113343603923. + 77 FLD0429B PIC 9(09)V9(06) + VALUE 415311789.274485. + + 77 FLD0430A PIC 9(08)V9(03) + VALUE 30820998.502. + 77 FLD0430B PIC 9(09)V9(04) + VALUE 345613119.3468. + + 77 FLD0431A PIC S9(01) + VALUE +0. + 77 FLD0431B PIC 9(03)V9(31) + VALUE 920.3928254587173674039490833820309. + + 77 FLD0432A PIC 9(10)V9(11) + VALUE 5612307034.00538710745. + 77 FLD0432B PIC S9(06) + VALUE -161655. + + 77 FLD0433A PIC 9(08)V9(19) + VALUE 72012955.8244768763763943297. + 77 FLD0433B PIC 9(06)V9(01) + VALUE 206502.1. + + 77 FLD0434A PIC S9(10)V9(07) + VALUE -4547054675.3415619. + 77 FLD0434B PIC 9(03)V9(32) + VALUE 931.50114075800283242045907172723673. + + 77 FLD0435A PIC 9(03) + VALUE 087. + 77 FLD0435B PIC 9(10)V9(12) + VALUE 5848414344.863717140299. + + 77 FLD0436A PIC S9(01) + VALUE +0. + 77 FLD0436B PIC 9(06)V9(25) + VALUE 830719.5843004202551185244374210. + + 77 FLD0437A PIC 9(09)V9(15) + VALUE 632897272.198471361193128. + 77 FLD0437B PIC 9(09)V9(15) + VALUE 644015379.475938010145341. + + 77 FLD0438A PIC 9(09)V9(16) + VALUE 664694021.6365745390802999. + 77 FLD0438B PIC 9(05)V9(28) + VALUE 87427.7230957161255453513604152249. + + 77 FLD0439A PIC 9(10)V9(08) + VALUE 4961134805.43429519. + 77 FLD0439B PIC 9(10)V9(11) + VALUE 5610850764.78219813012. + + 77 FLD0440A PIC 9(04)V9(29) + VALUE 8899.07507055040514210020319296745. + 77 FLD0440B PIC 9(10)V9(07) + VALUE 4554701137.8932739. + + 77 FLD0441A PIC 9(08)V9(19) + VALUE 71126905.4406556744396539215. + 77 FLD0441B PIC S9(10)V9(06) + VALUE +4339238601.837461. + + 77 FLD0442A PIC 9(05)V9(01) + VALUE 16995.1. + 77 FLD0442B PIC 9(03)V9(31) + VALUE 915.7753741786495149668212434335146. + + 77 FLD0443A PIC S9(10)V9(08) + VALUE -4744984255.46487689. + 77 FLD0443B PIC 9(09)V9(14) + VALUE 620915031.52970173307068. + + 77 FLD0444A PIC 9(02)V9(33) + VALUE 94.673816662087151296844922399031929. + 77 FLD0444B PIC 9(10)V9(09) + VALUE 5047752845.189990011. + + 77 FLD0445A PIC 9(10)V9(10) + VALUE 5416554544.5299512206. + 77 FLD0445B PIC S9(10)V9(07) + VALUE -4623541965.4562581. + + 77 FLD0446A PIC 9(10)V9(09) + VALUE 5044897846.697211640. + 77 FLD0446B PIC 9(09)V9(16) + VALUE 665206327.4939082893055797. + + 77 FLD0447A PIC 9(02) + VALUE 06. + 77 FLD0447B PIC 9(08)V9(02) + VALUE 27717300.69. + + 77 FLD0448A PIC 9(06)V9(01) + VALUE 186565.4. + 77 FLD0448B PIC 9(10)V9(10) + VALUE 5373290497.5367845601. + + 77 FLD0449A PIC S9(09)V9(05) + VALUE -384988094.18704. + 77 FLD0449B PIC S9(08)V9(04) + VALUE +34016016.2924. + + 77 FLD0450A PIC 9(09)V9(14) + VALUE 625578375.50228334588808. + 77 FLD0450B PIC 9(09)V9(13) + VALUE 597300618.6146695428718. + + 77 FLD0451A PIC 9(01) + VALUE 0. + 77 FLD0451B PIC S9(07)V9(02) + VALUE -2517390.40. + + 77 FLD0452A PIC 9(08)V9(02) + VALUE 26826484.18. + 77 FLD0452B PIC 9(10)V9(11) + VALUE 5576443525.30127562772. + + 77 FLD0453A PIC 9(10)V9(10) + VALUE 5383526546.5392911909. + 77 FLD0453B PIC 9(02)V9(34) + VALUE 96.7573296701221163829131910461001098. + + 77 FLD0454A PIC S9(03) + VALUE -090. + 77 FLD0454B PIC S9(01) + VALUE -0. + + 77 FLD0455A PIC S9(01) + VALUE -0. + 77 FLD0455B PIC 9(05)V9(27) + VALUE 85105.998788168291113720442808698. + + 77 FLD0456A PIC S9(03) + VALUE -093. + 77 FLD0456B PIC 9(05) + VALUE 15509. + + 77 FLD0457A PIC 9(04)V9(30) + VALUE 9063.641671624598217249513254500925. + 77 FLD0457B PIC 9(01) + VALUE 0. + + 77 FLD0458A PIC 9(02) + VALUE 06. + 77 FLD0458B PIC 9(09)V9(03) + VALUE 319507540.378. + + 77 FLD0459A PIC 9(06)V9(01) + VALUE 198479.9. + 77 FLD0459B PIC 9(10)V9(11) + VALUE 5635468078.16151518188. + + 77 FLD0460A PIC 9(01) + VALUE 0. + 77 FLD0460B PIC 9(07)V9(22) + VALUE 7834589.5335320658858790920930. + + 77 FLD0461A PIC S9(01) + VALUE +0. + 77 FLD0461B PIC S9(07)V9(01) + VALUE +2146839.2. + + 77 FLD0462A PIC 9(08)V9(02) + VALUE 26776595.69. + 77 FLD0462B PIC 9(02)V9(34) + VALUE 95.2391194548525610308331579290097579. + + 77 FLD0463A PIC 9(05)V9(27) + VALUE 85490.666934027292889197724434779. + 77 FLD0463B PIC 9(09)V9(06) + VALUE 407249114.981761. + + 77 FLD0464A PIC 9(10)V9(07) + VALUE 4587031190.3834293. + 77 FLD0464B PIC 9(08)V9(19) + VALUE 71857481.5704608793609509120. + + 77 FLD0465A PIC 9(10)V9(12) + VALUE 5816563985.597106301028. + 77 FLD0465B PIC 9(06)V9(25) + VALUE 837937.1800695708527584315561398. + + 77 FLD0466A PIC 9(09)V9(15) + VALUE 654381306.333900236715805. + 77 FLD0466B PIC 9(05) + VALUE 14616. + + 77 FLD0467A PIC S9(07)V9(01) + VALUE +2343287.0. + 77 FLD0467B PIC 9(04)V9(29) + VALUE 8929.74677715112297171629052172647. + + 77 FLD0468A PIC S9(10)V9(06) + VALUE +4344132145.767680. + 77 FLD0468B PIC 9(08)V9(03) + VALUE 29592230.696. + + 77 FLD0469A PIC 9(08)V9(18) + VALUE 70961503.876956555370014712. + 77 FLD0469B PIC 9(10)V9(09) + VALUE 5200119971.346918168. + + 77 FLD0470A PIC 9(03)V9(31) + VALUE 913.6810028966669827710234130790922. + 77 FLD0470B PIC S9(09)V9(05) + VALUE -383130523.18889. + + 77 FLD0471A PIC S9(07)V9(02) + VALUE -2507103.69. + 77 FLD0471B PIC 9(01) + VALUE 0. + + 77 FLD0472A PIC 9(10)V9(09) + VALUE 5103990869.050332168. + 77 FLD0472B PIC 9(06)V9(26) + VALUE 843393.74409143441635450244575622. + + 77 FLD0473A PIC 9(08)V9(20) + VALUE 74367162.06805468187823748849. + 77 FLD0473B PIC 9(08)V9(18) + VALUE 70143773.259305752798553612. + + 77 FLD0474A PIC 9(08)V9(19) + VALUE 72625744.5118117406224200749. + 77 FLD0474B PIC S9(05) + VALUE +13295. + + 77 FLD0475A PIC 9(10)V9(07) + VALUE 4588724634.2999971. + 77 FLD0475B PIC S9(09)V9(06) + VALUE +420010897.357724. + + 77 FLD0476A PIC 9(08)V9(02) + VALUE 28869933.49. + 77 FLD0476B PIC 9(06)V9(01) + VALUE 197306.5. + + 77 FLD0477A PIC 9(08)V9(20) + VALUE 74492482.99155191155307420558. + 77 FLD0477B PIC S9(09)V9(05) + VALUE -380644102.28203. + + 77 FLD0478A PIC 9(08)V9(19) + VALUE 72616162.5751895356550846827. + 77 FLD0478B PIC 9(09)V9(04) + VALUE 345871637.9604. + + 77 FLD0479A PIC S9(09)V9(06) + VALUE +413502052.896697. + 77 FLD0479B PIC 9(06)V9(25) + VALUE 820524.8465168897276100778981344. + + 77 FLD0480A PIC S9(06)V9(01) + VALUE +203017.8. + 77 FLD0480B PIC 9(08)V9(20) + VALUE 74798417.21657910502685240317. + + 77 FLD0481A PIC 9(05) + VALUE 15658. + 77 FLD0481B PIC 9(01)V9(36) + VALUE 9.907459007614364265847939350351225584. + + 77 FLD0482A PIC 9(08)V9(18) + VALUE 70905037.950447225014727337. + 77 FLD0482B PIC S9(10)V9(08) + VALUE -4922020906.16106868. + + 77 FLD0483A PIC 9(03) + VALUE 079. + 77 FLD0483B PIC S9(09)V9(03) + VALUE +323420049.144. + + 77 FLD0484A PIC S9(01) + VALUE +0. + 77 FLD0484B PIC 9(09)V9(12) + VALUE 577123861.473882282524. + + 77 FLD0485A PIC 9(07)V9(02) + VALUE 2567572.97. + 77 FLD0485B PIC 9(05)V9(01) + VALUE 16688.0. + + 77 FLD0486A PIC 9(05) + VALUE 13937. + 77 FLD0486B PIC 9(10)V9(07) + VALUE 4583814690.4965959. + + 77 FLD0487A PIC 9(06)V9(01) + VALUE 209384.2. + 77 FLD0487B PIC 9(08)V9(18) + VALUE 70207035.549040885946681100. + + 77 FLD0488A PIC S9(10)V9(07) + VALUE -4519198906.7966076. + 77 FLD0488B PIC 9(09)V9(16) + VALUE 669660091.3134611587906874. + + 77 FLD0489A PIC S9(05)V9(01) + VALUE -17360.6. + 77 FLD0489B PIC 9(01)V9(36) + VALUE 9.950567826331271348294649214949458837. + + 77 FLD0490A PIC 9(10)V9(10) + VALUE 5352566580.2623056954. + 77 FLD0490B PIC 9(08)V9(02) + VALUE 28596817.06. + + 77 FLD0491A PIC 9(03)V9(31) + VALUE 918.2459205467069507378141679510008. + 77 FLD0491B PIC 9(09)V9(16) + VALUE 661285516.5476814178759923. + + 77 FLD0492A PIC 9(06)V9(25) + VALUE 819266.4570447540928199714471702. + 77 FLD0492B PIC S9(09)V9(04) + VALUE +343135449.1145. + + 77 FLD0493A PIC S9(05)V9(01) + VALUE -18038.5. + 77 FLD0493B PIC 9(06)V9(24) + VALUE 808734.959278862186593528349476. + + 77 FLD0494A PIC 9(05)V9(28) + VALUE 87574.5417791477964719604187848744. + 77 FLD0494B PIC 9(10)V9(09) + VALUE 5133082903.157394349. + + 77 FLD0495A PIC S9(02) + VALUE -05. + 77 FLD0495B PIC 9(09)V9(15) + VALUE 646882578.915106698502768. + + 77 FLD0496A PIC 9(06)V9(25) + VALUE 816763.6415427422802437718019064. + 77 FLD0496B PIC S9(04) + VALUE +1240. + + 77 FLD0497A PIC 9(06)V9(25) + VALUE 836230.6435874340415637107071233. + 77 FLD0497B PIC 9(09)V9(16) + VALUE 665491997.9684780217965567. + + 77 FLD0498A PIC 9(10)V9(08) + VALUE 4792455293.49441590. + 77 FLD0498B PIC 9(06)V9(01) + VALUE 189449.4. + + 77 FLD0499A PIC 9(02) + VALUE 05. + 77 FLD0499B PIC 9(09)V9(15) + VALUE 634131211.402607308791345. + + * RESULTS-AREA + 78 XPC-FLD0001B + VALUE '4'. + 78 XPC-FLD0002B + VALUE '01571925154608921904042517780914'. + 78 XPC-FLD0003B + VALUE '497691662540136914'. + 78 XPC-FLD0004B + VALUE '316172'. + 78 XPC-FLD0005B + VALUE '326669126773'. + 78 XPC-FLD0006B + VALUE '2564149945687535678828794516448398'. + 78 XPC-FLD0007B + VALUE '270310289q'. + 78 XPC-FLD0008B + VALUE '09q'. + 78 XPC-FLD0009B + VALUE '750598888818416259625343627703841'. + 78 XPC-FLD0010B + VALUE '401313154225654'. + 78 XPC-FLD0011B + VALUE '716073640695890795927880390081554'. + 78 XPC-FLD0012B + VALUE '714856822486604356929547066'. + 78 XPC-FLD0013B + VALUE '249701360'. + 78 XPC-FLD0014B + VALUE '7563565'. + 78 XPC-FLD0015B + VALUE '496103206190910525'. + 78 XPC-FLD0016B + VALUE '4316078086835850'. + 78 XPC-FLD0017B + VALUE '8983341087204116393039043941826093'. + 78 XPC-FLD0018B + VALUE 'w'. + 78 XPC-FLD0019B + VALUE '52790866914027q'. + 78 XPC-FLD0020B + VALUE '09154677345638306819'. + 78 XPC-FLD0021B + VALUE 'p'. + 78 XPC-FLD0022B + VALUE '6800620448921426031141379553'. + 78 XPC-FLD0023B + VALUE '011865432391802879230624512274516746'. + 78 XPC-FLD0024B + VALUE '081262603108476'. + 78 XPC-FLD0025B + VALUE '249748827'. + 78 XPC-FLD0026B + VALUE '3837571962056t'. + 78 XPC-FLD0027B + VALUE '8427161982877569013082921992870'. + 78 XPC-FLD0028B + VALUE 'u'. + 78 XPC-FLD0029B + VALUE '68438817718294422258378517'. + 78 XPC-FLD0030B + VALUE '70264210169553353857452293'. + 78 XPC-FLD0031B + VALUE '70450280588407820925311852'. + 78 XPC-FLD0032B + VALUE '94722057179q'. + 78 XPC-FLD0033B + VALUE '960256540212'. + 78 XPC-FLD0034B + VALUE '21267719'. + 78 XPC-FLD0035B + VALUE '30926017'. + 78 XPC-FLD0036B + VALUE '84780746063121390621031281398245'. + 78 XPC-FLD0037B + VALUE '1535r'. + 78 XPC-FLD0038B + VALUE '8192466589219795159659831540467'. + 78 XPC-FLD0039B + VALUE '2142775'. + 78 XPC-FLD0040B + VALUE '328'. + 78 XPC-FLD0041B + VALUE '5719955231502458548'. + 78 XPC-FLD0042B + VALUE '53913067269542921267'. + 78 XPC-FLD0043B + VALUE '8947428650524259539551508169097361'. + 78 XPC-FLD0044B + VALUE '3593279914883'. + 78 XPC-FLD0045B + VALUE '40565136957830'. + 78 XPC-FLD0046B + VALUE '86000025910646182847330010190489'. + 78 XPC-FLD0047B + VALUE '500920610887845814'. + 78 XPC-FLD0048B + VALUE '01272w'. + 78 XPC-FLD0049B + VALUE '6818217198975972105429554915463086217'. + 78 XPC-FLD0050B + VALUE '079122399722566'. + 78 XPC-FLD0051B + VALUE '4768561362631936750203005938732530'. + 78 XPC-FLD0052B + VALUE '18378999229403754265'. + 78 XPC-FLD0053B + VALUE '358916388870q'. + 78 XPC-FLD0054B + VALUE '319288758232'. + 78 XPC-FLD0055B + VALUE '9048691568994934320002240'. + 78 XPC-FLD0056B + VALUE '2564409583'. + 78 XPC-FLD0057B + VALUE '24'. + 78 XPC-FLD0058B + VALUE '3436235653794'. + 78 XPC-FLD0059B + VALUE '62832873919564874525472'. + 78 XPC-FLD0060B + VALUE '159140'. + 78 XPC-FLD0061B + VALUE '8166592123096498172785118185856'. + 78 XPC-FLD0062B + VALUE '9769550469250686264269'. + 78 XPC-FLD0063B + VALUE '753004763264897311507922950'. + 78 XPC-FLD0064B + VALUE '744p'. + 78 XPC-FLD0065B + VALUE '5378'. + 78 XPC-FLD0066B + VALUE '85085260849998822774153950376785'. + 78 XPC-FLD0067B + VALUE 'q'. + 78 XPC-FLD0068B + VALUE '6'. + 78 XPC-FLD0069B + VALUE '097'. + 78 XPC-FLD0070B + VALUE '847339t'. + 78 XPC-FLD0071B + VALUE '1274'. + 78 XPC-FLD0072B + VALUE '655377313792015250284373'. + 78 XPC-FLD0073B + VALUE '70717240702803545859163048'. + 78 XPC-FLD0074B + VALUE '6009119595528942259221594213158817808'. + 78 XPC-FLD0075B + VALUE '82894007'. + 78 XPC-FLD0076B + VALUE '889922269538142470324260102643165738'. + 78 XPC-FLD0077B + VALUE '297736583767979700245026833727024'. + 78 XPC-FLD0078B + VALUE '52639083334727222580'. + 78 XPC-FLD0079B + VALUE '324'. + 78 XPC-FLD0080B + VALUE '371153437233y'. + 78 XPC-FLD0081B + VALUE '3672069622885'. + 78 XPC-FLD0082B + VALUE '39908942738066827524420432382'. + 78 XPC-FLD0083B + VALUE '886546406'. + 78 XPC-FLD0084B + VALUE '405109331835069'. + 78 XPC-FLD0085B + VALUE '4354243534611629'. + 78 XPC-FLD0086B + VALUE '571167021401449572360'. + 78 XPC-FLD0087B + VALUE '9773'. + 78 XPC-FLD0088B + VALUE '481540354519'. + 78 XPC-FLD0089B + VALUE '8552781102827879955441403577769802'. + 78 XPC-FLD0090B + VALUE '0075180968r'. + 78 XPC-FLD0091B + VALUE '08617201884902925811235356'. + 78 XPC-FLD0092B + VALUE '3179100098465547968089595087804'. + 78 XPC-FLD0093B + VALUE '790919325337388512409120266966'. + 78 XPC-FLD0094B + VALUE '53066656460354850645'. + 78 XPC-FLD0095B + VALUE '5167739798081453228562054391361'. + 78 XPC-FLD0096B + VALUE '875053049076218392166026660561328'. + 78 XPC-FLD0097B + VALUE '76639044132902548449948199049'. + 78 XPC-FLD0098B + VALUE '334130309069'. + 78 XPC-FLD0099B + VALUE '1680281099q'. + 78 XPC-FLD0100B + VALUE '53883959962677607717265'. + 78 XPC-FLD0101B + VALUE '51211205q'. + 78 XPC-FLD0102B + VALUE '62599568832775289662151'. + 78 XPC-FLD0103B + VALUE '9'. + 78 XPC-FLD0104B + VALUE '48125550583217433t'. + 78 XPC-FLD0105B + VALUE '0152268966'. + 78 XPC-FLD0106B + VALUE '263621782y'. + 78 XPC-FLD0107B + VALUE '491683543555178959039153289'. + 78 XPC-FLD0108B + VALUE '386319355p'. + 78 XPC-FLD0109B + VALUE '0156720262660837374113498299266211'. + 78 XPC-FLD0110B + VALUE '61781025727648194445507102'. + 78 XPC-FLD0111B + VALUE '5582373934795217912'. + 78 XPC-FLD0112B + VALUE '983719732p'. + 78 XPC-FLD0113B + VALUE '0370'. + 78 XPC-FLD0114B + VALUE '873969'. + 78 XPC-FLD0115B + VALUE '30236778644'. + 78 XPC-FLD0116B + VALUE '3'. + 78 XPC-FLD0117B + VALUE '13612'. + 78 XPC-FLD0118B + VALUE '80v'. + 78 XPC-FLD0119B + VALUE '253932450'. + 78 XPC-FLD0120B + VALUE '6w'. + 78 XPC-FLD0121B + VALUE '323330267022'. + 78 XPC-FLD0122B + VALUE '2693757152'. + 78 XPC-FLD0123B + VALUE '7502022502690824523057244732'. + 78 XPC-FLD0124B + VALUE '4223876720963152'. + 78 XPC-FLD0125B + VALUE '637787216045794358443288'. + 78 XPC-FLD0126B + VALUE '14776980'. + 78 XPC-FLD0127B + VALUE '968598991861849889506430599794838'. + 78 XPC-FLD0128B + VALUE '7158526709'. + 78 XPC-FLD0129B + VALUE '66302536762228508700376'. + 78 XPC-FLD0130B + VALUE '30500681275'. + 78 XPC-FLD0131B + VALUE '97542725692831921848454612'. + 78 XPC-FLD0132B + VALUE '21622287'. + 78 XPC-FLD0133B + VALUE '25284219x'. + 78 XPC-FLD0134B + VALUE '6035745627324759055021275'. + 78 XPC-FLD0135B + VALUE '089682198'. + 78 XPC-FLD0136B + VALUE '721064189695820607747975827'. + 78 XPC-FLD0137B + VALUE '39815975038716593768839402400772088'. + 78 XPC-FLD0138B + VALUE '2805087202945691003095503219810780'. + 78 XPC-FLD0139B + VALUE '4629717477620841718762676464393'. + 78 XPC-FLD0140B + VALUE '9134502802484925076953459210926666'. + 78 XPC-FLD0141B + VALUE '1980465'. + 78 XPC-FLD0142B + VALUE '011r'. + 78 XPC-FLD0143B + VALUE '4030994'. + 78 XPC-FLD0144B + VALUE '24553993'. + 78 XPC-FLD0145B + VALUE '009479682736521'. + 78 XPC-FLD0146B + VALUE '5926753717490164309811'. + 78 XPC-FLD0147B + VALUE '397442042521838'. + 78 XPC-FLD0148B + VALUE '335821179980'. + 78 XPC-FLD0149B + VALUE '0u'. + 78 XPC-FLD0150B + VALUE '5779789481524289174174668914929497987'. + 78 XPC-FLD0151B + VALUE '03489779895385769491943608024'. + 78 XPC-FLD0152B + VALUE '976189035330467796747200281970435753'. + 78 XPC-FLD0153B + VALUE '69465356575944581241088818012'. + 78 XPC-FLD0154B + VALUE '40490022953226414'. + 78 XPC-FLD0155B + VALUE '7822691488762339967770021576143335'. + 78 XPC-FLD0156B + VALUE '8985588062372004625188992577022872'. + 78 XPC-FLD0157B + VALUE '4359875032276696'. + 78 XPC-FLD0158B + VALUE '19917526243063020197192'. + 78 XPC-FLD0159B + VALUE '643529357674236912600918'. + 78 XPC-FLD0160B + VALUE '4490300'. + 78 XPC-FLD0161B + VALUE '795897533357509001650242908'. + 78 XPC-FLD0162B + VALUE '566814386458160899086'. + 78 XPC-FLD0163B + VALUE '269208611024764676855618'. + 78 XPC-FLD0164B + VALUE '3001'. + 78 XPC-FLD0165B + VALUE '1267'. + 78 XPC-FLD0166B + VALUE '429599'. + 78 XPC-FLD0167B + VALUE '0917440942478405142746282763255'. + 78 XPC-FLD0168B + VALUE '4326936005661665'. + 78 XPC-FLD0169B + VALUE '71534750846474368213279150'. + 78 XPC-FLD0170B + VALUE '2603177530164159092505813954945188016'. + 78 XPC-FLD0171B + VALUE '4933823716025803'. + 78 XPC-FLD0172B + VALUE '8903776753838588409184495731096831'. + 78 XPC-FLD0173B + VALUE '519945412779417204'. + 78 XPC-FLD0174B + VALUE '5152585493087611057'. + 78 XPC-FLD0175B + VALUE '51'. + 78 XPC-FLD0176B + VALUE '21895219257'. + 78 XPC-FLD0177B + VALUE '999225365'. + 78 XPC-FLD0178B + VALUE '2410436611s'. + 78 XPC-FLD0179B + VALUE '664'. + 78 XPC-FLD0180B + VALUE '54351034931997414107'. + 78 XPC-FLD0181B + VALUE '47407358325391086x'. + 78 XPC-FLD0182B + VALUE '417908352338649757839920'. + 78 XPC-FLD0183B + VALUE '03'. + 78 XPC-FLD0184B + VALUE '3601969r'. + 78 XPC-FLD0185B + VALUE '7395132638753716096465495866'. + 78 XPC-FLD0186B + VALUE '8407708947119312415452441200613'. + 78 XPC-FLD0187B + VALUE '6497950041934480558403'. + 78 XPC-FLD0188B + VALUE '0471158677246608093014401354'. + 78 XPC-FLD0189B + VALUE '078359569344531809751'. + 78 XPC-FLD0190B + VALUE '62476651140273569806415'. + 78 XPC-FLD0191B + VALUE '817437168989411478996487403492'. + 78 XPC-FLD0192B + VALUE '3580342295012'. + 78 XPC-FLD0193B + VALUE '86499232126294976690766'. + 78 XPC-FLD0194B + VALUE '217285653058917626499679'. + 78 XPC-FLD0195B + VALUE '60767'. + 78 XPC-FLD0196B + VALUE '18000w'. + 78 XPC-FLD0197B + VALUE '05'. + 78 XPC-FLD0198B + VALUE '7903v'. + 78 XPC-FLD0199B + VALUE '045232741410605347571106449322'. + 78 XPC-FLD0200B + VALUE '95184480153268257'. + 78 XPC-FLD0201B + VALUE '792759590444417882612526682351'. + 78 XPC-FLD0202B + VALUE '37943227555010013122256395945441909'. + 78 XPC-FLD0203B + VALUE '5835712416517114804656539879215415'. + 78 XPC-FLD0204B + VALUE '23632656'. + 78 XPC-FLD0205B + VALUE '288741127747638715028699'. + 78 XPC-FLD0206B + VALUE '70639388766434425840361654'. + 78 XPC-FLD0207B + VALUE '7691791385730962560263179739'. + 78 XPC-FLD0208B + VALUE '21514986'. + 78 XPC-FLD0209B + VALUE '795271109412971503516143201296'. + 78 XPC-FLD0210B + VALUE '8'. + 78 XPC-FLD0211B + VALUE '4421137707554604'. + 78 XPC-FLD0212B + VALUE '2649683602641s'. + 78 XPC-FLD0213B + VALUE '7525639770631302875997903356'. + 78 XPC-FLD0214B + VALUE '6668932704655321508369070'. + 78 XPC-FLD0215B + VALUE '17300r'. + 78 XPC-FLD0216B + VALUE '5663716874'. + 78 XPC-FLD0217B + VALUE '5191266215287889'. + 78 XPC-FLD0218B + VALUE '4467255193327033602201936446363106369'. + 78 XPC-FLD0219B + VALUE '58766925082182334127'. + 78 XPC-FLD0220B + VALUE '2936u'. + 78 XPC-FLD0221B + VALUE '878910367794605407176788958167890'. + 78 XPC-FLD0222B + VALUE '9803s'. + 78 XPC-FLD0223B + VALUE '69950927082806102497158917'. + 78 XPC-FLD0224B + VALUE '3830076842766v'. + 78 XPC-FLD0225B + VALUE '572612409808938978169'. + 78 XPC-FLD0226B + VALUE '21150954'. + 78 XPC-FLD0227B + VALUE '2038736443582994661522477889957372'. + 78 XPC-FLD0228B + VALUE '6560309403122602756042169858119450510'. + 78 XPC-FLD0229B + VALUE '7383802976208535540081356884'. + 78 XPC-FLD0230B + VALUE '9x'. + 78 XPC-FLD0231B + VALUE '270943347u'. + 78 XPC-FLD0232B + VALUE '4749842313738054193504353861500'. + 78 XPC-FLD0233B + VALUE '412919251494'. + 78 XPC-FLD0234B + VALUE '5600680922670572133253'. + 78 XPC-FLD0235B + VALUE '48083151871929563y'. + 78 XPC-FLD0236B + VALUE '70471341881577547199277944'. + 78 XPC-FLD0237B + VALUE '088849488581330880890618573175743'. + 78 XPC-FLD0238B + VALUE '3227001'. + 78 XPC-FLD0239B + VALUE '29332566026370832101832'. + 78 XPC-FLD0240B + VALUE '0204109650584163561111186027120'. + 78 XPC-FLD0241B + VALUE '60875735723205993171444'. + 78 XPC-FLD0242B + VALUE '182084r'. + 78 XPC-FLD0243B + VALUE '870255257093214798613800553539476'. + 78 XPC-FLD0244B + VALUE '5964541497067354924865'. + 78 XPC-FLD0245B + VALUE '264333833210099267317333'. + 78 XPC-FLD0246B + VALUE '1209826'. + 78 XPC-FLD0247B + VALUE '742067276785553808782225359'. + 78 XPC-FLD0248B + VALUE '568358594454923286003'. + 78 XPC-FLD0249B + VALUE '3516462579097082707946242'. + 78 XPC-FLD0250B + VALUE '9267251332164047061614164335129317'. + 78 XPC-FLD0251B + VALUE '3790591152463825338016431487631'. + 78 XPC-FLD0252B + VALUE '23614266'. + 78 XPC-FLD0253B + VALUE '21598977'. + 78 XPC-FLD0254B + VALUE '94904362r'. + 78 XPC-FLD0255B + VALUE '54081435076039155115'. + 78 XPC-FLD0256B + VALUE '8751500721603051085707734273455571'. + 78 XPC-FLD0257B + VALUE '408'. + 78 XPC-FLD0258B + VALUE '08373758705249056762416399345967'. + 78 XPC-FLD0259B + VALUE '3746683047259t'. + 78 XPC-FLD0260B + VALUE '6017366610583895639607'. + 78 XPC-FLD0261B + VALUE '00567161858323'. + 78 XPC-FLD0262B + VALUE '68757658126759821329241049'. + 78 XPC-FLD0263B + VALUE '40'. + 78 XPC-FLD0264B + VALUE '166846'. + 78 XPC-FLD0265B + VALUE '2298778729177715439249141127220354975'. + 78 XPC-FLD0266B + VALUE '115052360207692161431225486003512427'. + 78 XPC-FLD0267B + VALUE '23489014'. + 78 XPC-FLD0268B + VALUE '8211500957830146774085733341053'. + 78 XPC-FLD0269B + VALUE '0'. + 78 XPC-FLD0270B + VALUE '373v'. + 78 XPC-FLD0271B + VALUE '052759203'. + 78 XPC-FLD0272B + VALUE '51600069630273368u'. + 78 XPC-FLD0273B + VALUE '9036109253095580'. + 78 XPC-FLD0274B + VALUE '52694748208586675958'. + 78 XPC-FLD0275B + VALUE '242413794'. + 78 XPC-FLD0276B + VALUE '26452912587946930678128865110919777'. + 78 XPC-FLD0277B + VALUE '499215458601645512'. + 78 XPC-FLD0278B + VALUE '7922277502052260016194509262277280'. + 78 XPC-FLD0279B + VALUE '28001839602575101420001146834692918'. + 78 XPC-FLD0280B + VALUE '686572532054675839148262639'. + 78 XPC-FLD0281B + VALUE '50053214871016073'. + 78 XPC-FLD0282B + VALUE '80366298088737049271049105300'. + 78 XPC-FLD0283B + VALUE '18273y'. + 78 XPC-FLD0284B + VALUE '1'. + 78 XPC-FLD0285B + VALUE '7369214262351649891158444916'. + 78 XPC-FLD0286B + VALUE '82453436'. + 78 XPC-FLD0287B + VALUE '362829'. + 78 XPC-FLD0288B + VALUE '558809488025126643861391416517087'. + 78 XPC-FLD0289B + VALUE '567633089214293657540'. + 78 XPC-FLD0290B + VALUE '113'. + 78 XPC-FLD0291B + VALUE '8300179929109657213726070068560'. + 78 XPC-FLD0292B + VALUE '0'. + 78 XPC-FLD0293B + VALUE '30744391924'. + 78 XPC-FLD0294B + VALUE '9'. + 78 XPC-FLD0295B + VALUE '0364174t'. + 78 XPC-FLD0296B + VALUE '574464025736577889141'. + 78 XPC-FLD0297B + VALUE '5211000497602709295'. + 78 XPC-FLD0298B + VALUE '9865365009908295859892746193509083241'. + 78 XPC-FLD0299B + VALUE '7346908584680565956758964'. + 78 XPC-FLD0300B + VALUE '55012674381377925092451'. + 78 XPC-FLD0301B + VALUE '0'. + 78 XPC-FLD0302B + VALUE '4291773342239684'. + 78 XPC-FLD0303B + VALUE '9'. + 78 XPC-FLD0304B + VALUE '556573438984127234968'. + 78 XPC-FLD0305B + VALUE '5'. + 78 XPC-FLD0306B + VALUE '49364188871768718q'. + 78 XPC-FLD0307B + VALUE '68005145163846554765597747973515652'. + 78 XPC-FLD0308B + VALUE '711937634336942757585120489238761366'. + 78 XPC-FLD0309B + VALUE '09s'. + 78 XPC-FLD0310B + VALUE '039167648388876'. + 78 XPC-FLD0311B + VALUE '3931117203050255914931199185957666486'. + 78 XPC-FLD0312B + VALUE '4'. + 78 XPC-FLD0313B + VALUE '37515306459621'. + 78 XPC-FLD0314B + VALUE '69720778107690404600560896'. + 78 XPC-FLD0315B + VALUE '69624112217793877932514589'. + 78 XPC-FLD0316B + VALUE '561166875766384822086'. + 78 XPC-FLD0317B + VALUE '331361572492'. + 78 XPC-FLD0318B + VALUE '754934282553785965724557627254399'. + 78 XPC-FLD0319B + VALUE '720371110100740574821997'. + 78 XPC-FLD0320B + VALUE '547024228165748174212'. + 78 XPC-FLD0321B + VALUE '6656687959056812873818967'. + 78 XPC-FLD0322B + VALUE '17591106469607443841432'. + 78 XPC-FLD0323B + VALUE '726633859846741159138616694690426812'. + 78 XPC-FLD0324B + VALUE '02824576327848049573'. + 78 XPC-FLD0325B + VALUE '723337602353324218528882738'. + 78 XPC-FLD0326B + VALUE '4y'. + 78 XPC-FLD0327B + VALUE '21224467'. + 78 XPC-FLD0328B + VALUE '4643225346405y'. + 78 XPC-FLD0329B + VALUE '952096907591406971249625712516717612'. + 78 XPC-FLD0330B + VALUE '732550190262212211019805617980'. + 78 XPC-FLD0331B + VALUE '2990286983'. + 78 XPC-FLD0332B + VALUE '3558444199192'. + 78 XPC-FLD0333B + VALUE '243133331'. + 78 XPC-FLD0334B + VALUE '297044413515'. + 78 XPC-FLD0335B + VALUE '5106189445459805064'. + 78 XPC-FLD0336B + VALUE '2933169889y'. + 78 XPC-FLD0337B + VALUE '434132279525498709915609650'. + 78 XPC-FLD0338B + VALUE '53047689000456310637'. + 78 XPC-FLD0339B + VALUE '5943728837259434154840'. + 78 XPC-FLD0340B + VALUE '389881349078x'. + 78 XPC-FLD0341B + VALUE '248392469156514472666'. + 78 XPC-FLD0342B + VALUE '4532923120813512t'. + 78 XPC-FLD0343B + VALUE '0620927'. + 78 XPC-FLD0344B + VALUE '606359905437156143820618581230520'. + 78 XPC-FLD0345B + VALUE '405441574894889'. + 78 XPC-FLD0346B + VALUE '6665377278444964848080900'. + 78 XPC-FLD0347B + VALUE '324381'. + 78 XPC-FLD0348B + VALUE '541608383617544100863'. + 78 XPC-FLD0349B + VALUE '99162869882943715535583214659709483'. + 78 XPC-FLD0350B + VALUE '8264871389960360762501068165875'. + 78 XPC-FLD0351B + VALUE '53884121311052648707'. + 78 XPC-FLD0352B + VALUE '1946919'. + 78 XPC-FLD0353B + VALUE '94389336945631099347053805104224012'. + 78 XPC-FLD0354B + VALUE '3116766074r'. + 78 XPC-FLD0355B + VALUE '93287'. + 78 XPC-FLD0356B + VALUE '83673557978976841628508509529638'. + 78 XPC-FLD0357B + VALUE '079'. + 78 XPC-FLD0358B + VALUE '65874749059638552239264936'. + 78 XPC-FLD0359B + VALUE '9526039934819852117442415817981772124'. + 78 XPC-FLD0360B + VALUE '7361138723'. + 78 XPC-FLD0361B + VALUE '07851848643793046811367730697339'. + 78 XPC-FLD0362B + VALUE '8970899599407193836242413453874178'. + 78 XPC-FLD0363B + VALUE '4961135231796696550847514117776881'. + 78 XPC-FLD0364B + VALUE '8287940009277749559970516202156'. + 78 XPC-FLD0365B + VALUE '2107493896139311928536102'. + 78 XPC-FLD0366B + VALUE '0157659331265924684828405588633'. + 78 XPC-FLD0367B + VALUE '7840586'. + 78 XPC-FLD0368B + VALUE '3'. + 78 XPC-FLD0369B + VALUE '31224128387'. + 78 XPC-FLD0370B + VALUE '0'. + 78 XPC-FLD0371B + VALUE '08r'. + 78 XPC-FLD0372B + VALUE '0049999527433343127'. + 78 XPC-FLD0373B + VALUE '352559577504p'. + 78 XPC-FLD0374B + VALUE '711264497973442155753787119'. + 78 XPC-FLD0375B + VALUE '3'. + 78 XPC-FLD0376B + VALUE '5240009617041836336'. + 78 XPC-FLD0377B + VALUE '78137191821795531497030218304'. + 78 XPC-FLD0378B + VALUE '16313u'. + 78 XPC-FLD0379B + VALUE '4'. + 78 XPC-FLD0380B + VALUE 'y'. + 78 XPC-FLD0381B + VALUE '096'. + 78 XPC-FLD0382B + VALUE '1909'. + 78 XPC-FLD0383B + VALUE '810435186395222418864747737642'. + 78 XPC-FLD0384B + VALUE '1'. + 78 XPC-FLD0385B + VALUE '774134932514714546452413131744833'. + 78 XPC-FLD0386B + VALUE '3467992789726692670323751189'. + 78 XPC-FLD0387B + VALUE '6906513656145575095354897'. + 78 XPC-FLD0388B + VALUE '326'. + 78 XPC-FLD0389B + VALUE '0182625981352744592156'. + 78 XPC-FLD0390B + VALUE '102'. + 78 XPC-FLD0391B + VALUE '0373737127'. + 78 XPC-FLD0392B + VALUE '46825106292883313'. + 78 XPC-FLD0393B + VALUE '9072420163680885991652758093550801'. + 78 XPC-FLD0394B + VALUE '47463048104358589r'. + 78 XPC-FLD0395B + VALUE '3'. + 78 XPC-FLD0396B + VALUE '0265476173063916'. + 78 XPC-FLD0397B + VALUE '0w'. + 78 XPC-FLD0398B + VALUE '284425285r'. + 78 XPC-FLD0399B + VALUE '256742307'. + 78 XPC-FLD0400B + VALUE '8678350299065256532010165028624'. + 78 XPC-FLD0401B + VALUE '0'. + 78 XPC-FLD0402B + VALUE '69644052220831165210812585'. + 78 XPC-FLD0403B + VALUE '12518106356029089448417234962107613'. + 78 XPC-FLD0404B + VALUE '4814436782579247780215241'. + 78 XPC-FLD0405B + VALUE '14133'. + 78 XPC-FLD0406B + VALUE '049908285391730064732712435215'. + 78 XPC-FLD0407B + VALUE '8753049482988191082826919955550692975'. + 78 XPC-FLD0408B + VALUE '0947331591'. + 78 XPC-FLD0409B + VALUE '605266450165216657684'. + 78 XPC-FLD0410B + VALUE '8786052888992391829545680593582801521'. + 78 XPC-FLD0411B + VALUE '63491006980711595097943650973'. + 78 XPC-FLD0412B + VALUE 'x'. + 78 XPC-FLD0413B + VALUE '0'. + 78 XPC-FLD0414B + VALUE '9979p'. + 78 XPC-FLD0415B + VALUE '9072627958632073487733476063585840'. + 78 XPC-FLD0416B + VALUE 'x'. + 78 XPC-FLD0417B + VALUE '988613295763541566341103816739633'. + 78 XPC-FLD0418B + VALUE '0'. + 78 XPC-FLD0419B + VALUE '57648646369329730502'. + 78 XPC-FLD0420B + VALUE '2098982695132051783275528578087688'. + 78 XPC-FLD0421B + VALUE '2103833'. + 78 XPC-FLD0422B + VALUE '752582761957935941759741251848172397'. + 78 XPC-FLD0423B + VALUE '28494506043824296970249566'. + 78 XPC-FLD0424B + VALUE '784268490871190770892359433'. + 78 XPC-FLD0425B + VALUE '1105207822256892292772'. + 78 XPC-FLD0426B + VALUE '001958844649331492605'. + 78 XPC-FLD0427B + VALUE '30767310512910845380824639505'. + 78 XPC-FLD0428B + VALUE '3481765503552540774734325168211935223'. + 78 XPC-FLD0429B + VALUE '415311789274485'. + 78 XPC-FLD0430B + VALUE '3147921208448'. + 78 XPC-FLD0431B + VALUE '9203928254587173674039490833820309'. + 78 XPC-FLD0432B + VALUE '46868y'. + 78 XPC-FLD0433B + VALUE '2194580'. + 78 XPC-FLD0434B + VALUE '60684270265800283242045907172723673'. + 78 XPC-FLD0435B + VALUE '5848414431863717140299'. + 78 XPC-FLD0436B + VALUE '8307195843004202551185244374210'. + 78 XPC-FLD0437B + VALUE '276912651674409371338469'. + 78 XPC-FLD0438B + VALUE '065939134788229547545486395847751'. + 78 XPC-FLD0439B + VALUE '057198557021649332012'. + 78 XPC-FLD0440B + VALUE '45546922388182033'. + 78 XPC-FLD0441B + VALUE '4410365507278117'. + 78 XPC-FLD0442B + VALUE '0793246258213504850331787565664854'. + 78 XPC-FLD0443B + VALUE '12406922393517515692932'. + 78 XPC-FLD0444B + VALUE '5047752750516173349'. + 78 XPC-FLD0445B + VALUE '4623541965456258q'. + 78 XPC-FLD0446B + VALUE '3796915192033033506944203'. + 78 XPC-FLD0447B + VALUE '2771730669'. + 78 XPC-FLD0448B + VALUE '53731039321367845601'. + 78 XPC-FLD0449B + VALUE '50972077894w'. + 78 XPC-FLD0450B + VALUE '0282777568876138030163'. + 78 XPC-FLD0451B + VALUE '25173904p'. + 78 XPC-FLD0452B + VALUE '554961704112127562772'. + 78 XPC-FLD0453B + VALUE '432966208610221163829131910461001098'. + 78 XPC-FLD0454B + VALUE '0'. + 78 XPC-FLD0455B + VALUE '85105998788168291113720442808698'. + 78 XPC-FLD0456B + VALUE '15602'. + 78 XPC-FLD0457B + VALUE '4'. + 78 XPC-FLD0458B + VALUE '319507534378'. + 78 XPC-FLD0459B + VALUE '563566655806151518188'. + 78 XPC-FLD0460B + VALUE '78345895335320658858790920930'. + 78 XPC-FLD0461B + VALUE '21468392'. + 78 XPC-FLD0462B + VALUE '004508805451474389691668420709902421'. + 78 XPC-FLD0463B + VALUE '407334605648695'. + 78 XPC-FLD0464B + VALUE '151737088129684206390490880'. + 78 XPC-FLD0465B + VALUE '4019227771758718807584315561398'. + 78 XPC-FLD0466B + VALUE '66690'. + 78 XPC-FLD0467B + VALUE '221674677715112297171629052172647'. + 78 XPC-FLD0468B + VALUE '14539915072'. + 78 XPC-FLD0469B + VALUE '5200119971346918168'. + 78 XPC-FLD0470B + VALUE '3831314368698y'. + 78 XPC-FLD0471B + VALUE '4'. + 78 XPC-FLD0472B + VALUE '14747530624073358364549755424378'. + 78 XPC-FLD0473B + VALUE '44510935327360434676791101'. + 78 XPC-FLD0474B + VALUE '1245p'. + 78 XPC-FLD0475B + VALUE '008735531657721'. + 78 XPC-FLD0476B + VALUE '6726270'. + 78 XPC-FLD0477B + VALUE '3806441022820s'. + 78 XPC-FLD0478B + VALUE '2732554753853'. + 78 XPC-FLD0479B + VALUE '3225777432138897276100778981344'. + 78 XPC-FLD0480B + VALUE '7459539941657910502685240317'. + 78 XPC-FLD0481B + VALUE '7907459007614364265847939350351225584'. + 78 XPC-FLD0482B + VALUE '49929259441115159q'. + 78 XPC-FLD0483B + VALUE '323420128144'. + 78 XPC-FLD0484B + VALUE '577123861473882282524'. + 78 XPC-FLD0485B + VALUE '166880'. + 78 XPC-FLD0486B + VALUE '45838007534965959'. + 78 XPC-FLD0487B + VALUE '70416419749040885946681100'. + 78 XPC-FLD0488B + VALUE '1888589981100687587906874'. + 78 XPC-FLD0489B + VALUE '0649432173668728651705350785050541163'. + 78 XPC-FLD0490B + VALUE '2396976320'. + 78 XPC-FLD0491B + VALUE '6612864347936019645829430'. + 78 XPC-FLD0492B + VALUE '3423161826575'. + 78 XPC-FLD0493B + VALUE '790696459278862186593528349476'. + 78 XPC-FLD0494B + VALUE '5132995328615615202'. + 78 XPC-FLD0495B + VALUE '646882573915106698502768'. + 78 XPC-FLD0496B + VALUE '552s'. + 78 XPC-FLD0497B + VALUE '6663282286120654558381205'. + 78 XPC-FLD0498B + VALUE '2658441'. + 78 XPC-FLD0499B + VALUE '634131216402607308791345'. + + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + ADD FLD0001A TO FLD0001B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0002A FROM FLD0002B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0003A TO FLD0003B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0004A FROM FLD0004B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0005A TO FLD0005B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0006A FROM FLD0006B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0007A TO FLD0007B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0008A FROM FLD0008B + ROUNDED MODE IS TRUNCATION . + ADD FLD0009A TO FLD0009B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0010A FROM FLD0010B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0011A TO FLD0011B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0012A FROM FLD0012B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0013A TO FLD0013B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0014A FROM FLD0014B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0015A TO FLD0015B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0016A FROM FLD0016B + ROUNDED MODE IS TRUNCATION . + ADD FLD0017A TO FLD0017B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0018A FROM FLD0018B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0019A TO FLD0019B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0020A FROM FLD0020B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0021A TO FLD0021B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0022A FROM FLD0022B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0023A TO FLD0023B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0024A FROM FLD0024B + ROUNDED MODE IS TRUNCATION . + ADD FLD0025A TO FLD0025B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0026A FROM FLD0026B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0027A TO FLD0027B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0028A FROM FLD0028B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0029A TO FLD0029B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0030A FROM FLD0030B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0031A TO FLD0031B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0032A FROM FLD0032B + ROUNDED MODE IS TRUNCATION . + ADD FLD0033A TO FLD0033B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0034A FROM FLD0034B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0035A TO FLD0035B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0036A FROM FLD0036B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0037A TO FLD0037B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0038A FROM FLD0038B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0039A TO FLD0039B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0040A FROM FLD0040B + ROUNDED MODE IS TRUNCATION . + ADD FLD0041A TO FLD0041B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0042A FROM FLD0042B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0043A TO FLD0043B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0044A FROM FLD0044B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0045A TO FLD0045B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0046A FROM FLD0046B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0047A TO FLD0047B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0048A FROM FLD0048B + ROUNDED MODE IS TRUNCATION . + ADD FLD0049A TO FLD0049B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0050A FROM FLD0050B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0051A TO FLD0051B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0052A FROM FLD0052B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0053A TO FLD0053B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0054A FROM FLD0054B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0055A TO FLD0055B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0056A FROM FLD0056B + ROUNDED MODE IS TRUNCATION . + ADD FLD0057A TO FLD0057B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0058A FROM FLD0058B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0059A TO FLD0059B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0060A FROM FLD0060B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0061A TO FLD0061B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0062A FROM FLD0062B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0063A TO FLD0063B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0064A FROM FLD0064B + ROUNDED MODE IS TRUNCATION . + ADD FLD0065A TO FLD0065B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0066A FROM FLD0066B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0067A TO FLD0067B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0068A FROM FLD0068B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0069A TO FLD0069B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0070A FROM FLD0070B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0071A TO FLD0071B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0072A FROM FLD0072B + ROUNDED MODE IS TRUNCATION . + ADD FLD0073A TO FLD0073B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0074A FROM FLD0074B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0075A TO FLD0075B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0076A FROM FLD0076B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0077A TO FLD0077B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0078A FROM FLD0078B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0079A TO FLD0079B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0080A FROM FLD0080B + ROUNDED MODE IS TRUNCATION . + ADD FLD0081A TO FLD0081B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0082A FROM FLD0082B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0083A TO FLD0083B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0084A FROM FLD0084B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0085A TO FLD0085B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0086A FROM FLD0086B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0087A TO FLD0087B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0088A FROM FLD0088B + ROUNDED MODE IS TRUNCATION . + ADD FLD0089A TO FLD0089B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0090A FROM FLD0090B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0091A TO FLD0091B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0092A FROM FLD0092B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0093A TO FLD0093B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0094A FROM FLD0094B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0095A TO FLD0095B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0096A FROM FLD0096B + ROUNDED MODE IS TRUNCATION . + ADD FLD0097A TO FLD0097B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0098A FROM FLD0098B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0099A TO FLD0099B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0100A FROM FLD0100B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0101A TO FLD0101B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0102A FROM FLD0102B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0103A TO FLD0103B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0104A FROM FLD0104B + ROUNDED MODE IS TRUNCATION . + ADD FLD0105A TO FLD0105B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0106A FROM FLD0106B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0107A TO FLD0107B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0108A FROM FLD0108B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0109A TO FLD0109B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0110A FROM FLD0110B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0111A TO FLD0111B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0112A FROM FLD0112B + ROUNDED MODE IS TRUNCATION . + ADD FLD0113A TO FLD0113B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0114A FROM FLD0114B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0115A TO FLD0115B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0116A FROM FLD0116B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0117A TO FLD0117B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0118A FROM FLD0118B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0119A TO FLD0119B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0120A FROM FLD0120B + ROUNDED MODE IS TRUNCATION . + ADD FLD0121A TO FLD0121B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0122A FROM FLD0122B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0123A TO FLD0123B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0124A FROM FLD0124B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0125A TO FLD0125B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0126A FROM FLD0126B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0127A TO FLD0127B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0128A FROM FLD0128B + ROUNDED MODE IS TRUNCATION . + ADD FLD0129A TO FLD0129B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0130A FROM FLD0130B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0131A TO FLD0131B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0132A FROM FLD0132B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0133A TO FLD0133B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0134A FROM FLD0134B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0135A TO FLD0135B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0136A FROM FLD0136B + ROUNDED MODE IS TRUNCATION . + ADD FLD0137A TO FLD0137B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0138A FROM FLD0138B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0139A TO FLD0139B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0140A FROM FLD0140B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0141A TO FLD0141B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0142A FROM FLD0142B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0143A TO FLD0143B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0144A FROM FLD0144B + ROUNDED MODE IS TRUNCATION . + ADD FLD0145A TO FLD0145B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0146A FROM FLD0146B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0147A TO FLD0147B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0148A FROM FLD0148B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0149A TO FLD0149B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0150A FROM FLD0150B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0151A TO FLD0151B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0152A FROM FLD0152B + ROUNDED MODE IS TRUNCATION . + ADD FLD0153A TO FLD0153B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0154A FROM FLD0154B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0155A TO FLD0155B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0156A FROM FLD0156B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0157A TO FLD0157B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0158A FROM FLD0158B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0159A TO FLD0159B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0160A FROM FLD0160B + ROUNDED MODE IS TRUNCATION . + ADD FLD0161A TO FLD0161B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0162A FROM FLD0162B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0163A TO FLD0163B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0164A FROM FLD0164B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0165A TO FLD0165B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0166A FROM FLD0166B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0167A TO FLD0167B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0168A FROM FLD0168B + ROUNDED MODE IS TRUNCATION . + ADD FLD0169A TO FLD0169B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0170A FROM FLD0170B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0171A TO FLD0171B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0172A FROM FLD0172B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0173A TO FLD0173B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0174A FROM FLD0174B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0175A TO FLD0175B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0176A FROM FLD0176B + ROUNDED MODE IS TRUNCATION . + ADD FLD0177A TO FLD0177B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0178A FROM FLD0178B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0179A TO FLD0179B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0180A FROM FLD0180B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0181A TO FLD0181B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0182A FROM FLD0182B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0183A TO FLD0183B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0184A FROM FLD0184B + ROUNDED MODE IS TRUNCATION . + ADD FLD0185A TO FLD0185B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0186A FROM FLD0186B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0187A TO FLD0187B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0188A FROM FLD0188B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0189A TO FLD0189B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0190A FROM FLD0190B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0191A TO FLD0191B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0192A FROM FLD0192B + ROUNDED MODE IS TRUNCATION . + ADD FLD0193A TO FLD0193B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0194A FROM FLD0194B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0195A TO FLD0195B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0196A FROM FLD0196B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0197A TO FLD0197B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0198A FROM FLD0198B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0199A TO FLD0199B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0200A FROM FLD0200B + ROUNDED MODE IS TRUNCATION . + ADD FLD0201A TO FLD0201B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0202A FROM FLD0202B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0203A TO FLD0203B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0204A FROM FLD0204B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0205A TO FLD0205B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0206A FROM FLD0206B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0207A TO FLD0207B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0208A FROM FLD0208B + ROUNDED MODE IS TRUNCATION . + ADD FLD0209A TO FLD0209B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0210A FROM FLD0210B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0211A TO FLD0211B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0212A FROM FLD0212B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0213A TO FLD0213B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0214A FROM FLD0214B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0215A TO FLD0215B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0216A FROM FLD0216B + ROUNDED MODE IS TRUNCATION . + ADD FLD0217A TO FLD0217B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0218A FROM FLD0218B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0219A TO FLD0219B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0220A FROM FLD0220B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0221A TO FLD0221B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0222A FROM FLD0222B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0223A TO FLD0223B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0224A FROM FLD0224B + ROUNDED MODE IS TRUNCATION . + ADD FLD0225A TO FLD0225B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0226A FROM FLD0226B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0227A TO FLD0227B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0228A FROM FLD0228B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0229A TO FLD0229B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0230A FROM FLD0230B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0231A TO FLD0231B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0232A FROM FLD0232B + ROUNDED MODE IS TRUNCATION . + ADD FLD0233A TO FLD0233B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0234A FROM FLD0234B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0235A TO FLD0235B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0236A FROM FLD0236B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0237A TO FLD0237B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0238A FROM FLD0238B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0239A TO FLD0239B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0240A FROM FLD0240B + ROUNDED MODE IS TRUNCATION . + ADD FLD0241A TO FLD0241B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0242A FROM FLD0242B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0243A TO FLD0243B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0244A FROM FLD0244B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0245A TO FLD0245B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0246A FROM FLD0246B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0247A TO FLD0247B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0248A FROM FLD0248B + ROUNDED MODE IS TRUNCATION . + ADD FLD0249A TO FLD0249B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0250A FROM FLD0250B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0251A TO FLD0251B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0252A FROM FLD0252B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0253A TO FLD0253B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0254A FROM FLD0254B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0255A TO FLD0255B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0256A FROM FLD0256B + ROUNDED MODE IS TRUNCATION . + ADD FLD0257A TO FLD0257B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0258A FROM FLD0258B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0259A TO FLD0259B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0260A FROM FLD0260B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0261A TO FLD0261B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0262A FROM FLD0262B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0263A TO FLD0263B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0264A FROM FLD0264B + ROUNDED MODE IS TRUNCATION . + ADD FLD0265A TO FLD0265B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0266A FROM FLD0266B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0267A TO FLD0267B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0268A FROM FLD0268B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0269A TO FLD0269B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0270A FROM FLD0270B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0271A TO FLD0271B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0272A FROM FLD0272B + ROUNDED MODE IS TRUNCATION . + ADD FLD0273A TO FLD0273B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0274A FROM FLD0274B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0275A TO FLD0275B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0276A FROM FLD0276B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0277A TO FLD0277B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0278A FROM FLD0278B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0279A TO FLD0279B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0280A FROM FLD0280B + ROUNDED MODE IS TRUNCATION . + ADD FLD0281A TO FLD0281B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0282A FROM FLD0282B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0283A TO FLD0283B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0284A FROM FLD0284B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0285A TO FLD0285B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0286A FROM FLD0286B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0287A TO FLD0287B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0288A FROM FLD0288B + ROUNDED MODE IS TRUNCATION . + ADD FLD0289A TO FLD0289B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0290A FROM FLD0290B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0291A TO FLD0291B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0292A FROM FLD0292B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0293A TO FLD0293B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0294A FROM FLD0294B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0295A TO FLD0295B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0296A FROM FLD0296B + ROUNDED MODE IS TRUNCATION . + ADD FLD0297A TO FLD0297B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0298A FROM FLD0298B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0299A TO FLD0299B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0300A FROM FLD0300B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0301A TO FLD0301B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0302A FROM FLD0302B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0303A TO FLD0303B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0304A FROM FLD0304B + ROUNDED MODE IS TRUNCATION . + ADD FLD0305A TO FLD0305B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0306A FROM FLD0306B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0307A TO FLD0307B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0308A FROM FLD0308B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0309A TO FLD0309B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0310A FROM FLD0310B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0311A TO FLD0311B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0312A FROM FLD0312B + ROUNDED MODE IS TRUNCATION . + ADD FLD0313A TO FLD0313B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0314A FROM FLD0314B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0315A TO FLD0315B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0316A FROM FLD0316B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0317A TO FLD0317B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0318A FROM FLD0318B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0319A TO FLD0319B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0320A FROM FLD0320B + ROUNDED MODE IS TRUNCATION . + ADD FLD0321A TO FLD0321B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0322A FROM FLD0322B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0323A TO FLD0323B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0324A FROM FLD0324B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0325A TO FLD0325B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0326A FROM FLD0326B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0327A TO FLD0327B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0328A FROM FLD0328B + ROUNDED MODE IS TRUNCATION . + ADD FLD0329A TO FLD0329B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0330A FROM FLD0330B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0331A TO FLD0331B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0332A FROM FLD0332B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0333A TO FLD0333B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0334A FROM FLD0334B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0335A TO FLD0335B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0336A FROM FLD0336B + ROUNDED MODE IS TRUNCATION . + ADD FLD0337A TO FLD0337B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0338A FROM FLD0338B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0339A TO FLD0339B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0340A FROM FLD0340B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0341A TO FLD0341B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0342A FROM FLD0342B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0343A TO FLD0343B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0344A FROM FLD0344B + ROUNDED MODE IS TRUNCATION . + ADD FLD0345A TO FLD0345B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0346A FROM FLD0346B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0347A TO FLD0347B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0348A FROM FLD0348B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0349A TO FLD0349B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0350A FROM FLD0350B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0351A TO FLD0351B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0352A FROM FLD0352B + ROUNDED MODE IS TRUNCATION . + ADD FLD0353A TO FLD0353B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0354A FROM FLD0354B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0355A TO FLD0355B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0356A FROM FLD0356B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0357A TO FLD0357B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0358A FROM FLD0358B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0359A TO FLD0359B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0360A FROM FLD0360B + ROUNDED MODE IS TRUNCATION . + ADD FLD0361A TO FLD0361B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0362A FROM FLD0362B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0363A TO FLD0363B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0364A FROM FLD0364B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0365A TO FLD0365B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0366A FROM FLD0366B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0367A TO FLD0367B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0368A FROM FLD0368B + ROUNDED MODE IS TRUNCATION . + ADD FLD0369A TO FLD0369B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0370A FROM FLD0370B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0371A TO FLD0371B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0372A FROM FLD0372B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0373A TO FLD0373B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0374A FROM FLD0374B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0375A TO FLD0375B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0376A FROM FLD0376B + ROUNDED MODE IS TRUNCATION . + ADD FLD0377A TO FLD0377B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0378A FROM FLD0378B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0379A TO FLD0379B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0380A FROM FLD0380B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0381A TO FLD0381B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0382A FROM FLD0382B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0383A TO FLD0383B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0384A FROM FLD0384B + ROUNDED MODE IS TRUNCATION . + ADD FLD0385A TO FLD0385B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0386A FROM FLD0386B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0387A TO FLD0387B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0388A FROM FLD0388B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0389A TO FLD0389B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0390A FROM FLD0390B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0391A TO FLD0391B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0392A FROM FLD0392B + ROUNDED MODE IS TRUNCATION . + ADD FLD0393A TO FLD0393B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0394A FROM FLD0394B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0395A TO FLD0395B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0396A FROM FLD0396B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0397A TO FLD0397B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0398A FROM FLD0398B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0399A TO FLD0399B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0400A FROM FLD0400B + ROUNDED MODE IS TRUNCATION . + ADD FLD0401A TO FLD0401B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0402A FROM FLD0402B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0403A TO FLD0403B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0404A FROM FLD0404B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0405A TO FLD0405B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0406A FROM FLD0406B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0407A TO FLD0407B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0408A FROM FLD0408B + ROUNDED MODE IS TRUNCATION . + ADD FLD0409A TO FLD0409B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0410A FROM FLD0410B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0411A TO FLD0411B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0412A FROM FLD0412B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0413A TO FLD0413B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0414A FROM FLD0414B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0415A TO FLD0415B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0416A FROM FLD0416B + ROUNDED MODE IS TRUNCATION . + ADD FLD0417A TO FLD0417B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0418A FROM FLD0418B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0419A TO FLD0419B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0420A FROM FLD0420B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0421A TO FLD0421B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0422A FROM FLD0422B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0423A TO FLD0423B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0424A FROM FLD0424B + ROUNDED MODE IS TRUNCATION . + ADD FLD0425A TO FLD0425B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0426A FROM FLD0426B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0427A TO FLD0427B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0428A FROM FLD0428B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0429A TO FLD0429B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0430A FROM FLD0430B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0431A TO FLD0431B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0432A FROM FLD0432B + ROUNDED MODE IS TRUNCATION . + ADD FLD0433A TO FLD0433B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0434A FROM FLD0434B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0435A TO FLD0435B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0436A FROM FLD0436B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0437A TO FLD0437B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0438A FROM FLD0438B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0439A TO FLD0439B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0440A FROM FLD0440B + ROUNDED MODE IS TRUNCATION . + ADD FLD0441A TO FLD0441B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0442A FROM FLD0442B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0443A TO FLD0443B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0444A FROM FLD0444B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0445A TO FLD0445B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0446A FROM FLD0446B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0447A TO FLD0447B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0448A FROM FLD0448B + ROUNDED MODE IS TRUNCATION . + ADD FLD0449A TO FLD0449B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0450A FROM FLD0450B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0451A TO FLD0451B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0452A FROM FLD0452B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0453A TO FLD0453B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0454A FROM FLD0454B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0455A TO FLD0455B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0456A FROM FLD0456B + ROUNDED MODE IS TRUNCATION . + ADD FLD0457A TO FLD0457B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0458A FROM FLD0458B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0459A TO FLD0459B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0460A FROM FLD0460B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0461A TO FLD0461B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0462A FROM FLD0462B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0463A TO FLD0463B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0464A FROM FLD0464B + ROUNDED MODE IS TRUNCATION . + ADD FLD0465A TO FLD0465B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0466A FROM FLD0466B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0467A TO FLD0467B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0468A FROM FLD0468B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0469A TO FLD0469B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0470A FROM FLD0470B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0471A TO FLD0471B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0472A FROM FLD0472B + ROUNDED MODE IS TRUNCATION . + ADD FLD0473A TO FLD0473B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0474A FROM FLD0474B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0475A TO FLD0475B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0476A FROM FLD0476B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0477A TO FLD0477B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0478A FROM FLD0478B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0479A TO FLD0479B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0480A FROM FLD0480B + ROUNDED MODE IS TRUNCATION . + ADD FLD0481A TO FLD0481B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0482A FROM FLD0482B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0483A TO FLD0483B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0484A FROM FLD0484B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0485A TO FLD0485B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0486A FROM FLD0486B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0487A TO FLD0487B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0488A FROM FLD0488B + ROUNDED MODE IS TRUNCATION . + ADD FLD0489A TO FLD0489B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0490A FROM FLD0490B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0491A TO FLD0491B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0492A FROM FLD0492B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0493A TO FLD0493B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0494A FROM FLD0494B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0495A TO FLD0495B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0496A FROM FLD0496B + ROUNDED MODE IS TRUNCATION . + ADD FLD0497A TO FLD0497B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0498A FROM FLD0498B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0499A TO FLD0499B + ROUNDED MODE IS NEAREST-EVEN . + + *4000-COMPARE. + + IF FLD0001B (1:) NOT EQUAL XPC-FLD0001B + DISPLAY 'FLD0001B ==> ' FLD0001B + DISPLAY 'EXPECTED ==> ' XPC-FLD0001B. + IF FLD0002B (1:) NOT EQUAL XPC-FLD0002B + DISPLAY 'FLD0002B ==> ' FLD0002B + DISPLAY 'EXPECTED ==> ' XPC-FLD0002B. + IF FLD0003B (1:) NOT EQUAL XPC-FLD0003B + DISPLAY 'FLD0003B ==> ' FLD0003B + DISPLAY 'EXPECTED ==> ' XPC-FLD0003B. + IF FLD0004B (1:) NOT EQUAL XPC-FLD0004B + DISPLAY 'FLD0004B ==> ' FLD0004B + DISPLAY 'EXPECTED ==> ' XPC-FLD0004B. + IF FLD0005B (1:) NOT EQUAL XPC-FLD0005B + DISPLAY 'FLD0005B ==> ' FLD0005B + DISPLAY 'EXPECTED ==> ' XPC-FLD0005B. + IF FLD0006B (1:) NOT EQUAL XPC-FLD0006B + DISPLAY 'FLD0006B ==> ' FLD0006B + DISPLAY 'EXPECTED ==> ' XPC-FLD0006B. + IF FLD0007B (1:) NOT EQUAL XPC-FLD0007B + DISPLAY 'FLD0007B ==> ' FLD0007B + DISPLAY 'EXPECTED ==> ' XPC-FLD0007B. + IF FLD0008B (1:) NOT EQUAL XPC-FLD0008B + DISPLAY 'FLD0008B ==> ' FLD0008B + DISPLAY 'EXPECTED ==> ' XPC-FLD0008B. + IF FLD0009B (1:) NOT EQUAL XPC-FLD0009B + DISPLAY 'FLD0009B ==> ' FLD0009B + DISPLAY 'EXPECTED ==> ' XPC-FLD0009B. + IF FLD0010B (1:) NOT EQUAL XPC-FLD0010B + DISPLAY 'FLD0010B ==> ' FLD0010B + DISPLAY 'EXPECTED ==> ' XPC-FLD0010B. + IF FLD0011B (1:) NOT EQUAL XPC-FLD0011B + DISPLAY 'FLD0011B ==> ' FLD0011B + DISPLAY 'EXPECTED ==> ' XPC-FLD0011B. + IF FLD0012B (1:) NOT EQUAL XPC-FLD0012B + DISPLAY 'FLD0012B ==> ' FLD0012B + DISPLAY 'EXPECTED ==> ' XPC-FLD0012B. + IF FLD0013B (1:) NOT EQUAL XPC-FLD0013B + DISPLAY 'FLD0013B ==> ' FLD0013B + DISPLAY 'EXPECTED ==> ' XPC-FLD0013B. + IF FLD0014B (1:) NOT EQUAL XPC-FLD0014B + DISPLAY 'FLD0014B ==> ' FLD0014B + DISPLAY 'EXPECTED ==> ' XPC-FLD0014B. + IF FLD0015B (1:) NOT EQUAL XPC-FLD0015B + DISPLAY 'FLD0015B ==> ' FLD0015B + DISPLAY 'EXPECTED ==> ' XPC-FLD0015B. + IF FLD0016B (1:) NOT EQUAL XPC-FLD0016B + DISPLAY 'FLD0016B ==> ' FLD0016B + DISPLAY 'EXPECTED ==> ' XPC-FLD0016B. + IF FLD0017B (1:) NOT EQUAL XPC-FLD0017B + DISPLAY 'FLD0017B ==> ' FLD0017B + DISPLAY 'EXPECTED ==> ' XPC-FLD0017B. + IF FLD0018B (1:) NOT EQUAL XPC-FLD0018B + DISPLAY 'FLD0018B ==> ' FLD0018B + DISPLAY 'EXPECTED ==> ' XPC-FLD0018B. + IF FLD0019B (1:) NOT EQUAL XPC-FLD0019B + DISPLAY 'FLD0019B ==> ' FLD0019B + DISPLAY 'EXPECTED ==> ' XPC-FLD0019B. + IF FLD0020B (1:) NOT EQUAL XPC-FLD0020B + DISPLAY 'FLD0020B ==> ' FLD0020B + DISPLAY 'EXPECTED ==> ' XPC-FLD0020B. + IF FLD0021B (1:) NOT EQUAL XPC-FLD0021B + DISPLAY 'FLD0021B ==> ' FLD0021B + DISPLAY 'EXPECTED ==> ' XPC-FLD0021B. + IF FLD0022B (1:) NOT EQUAL XPC-FLD0022B + DISPLAY 'FLD0022B ==> ' FLD0022B + DISPLAY 'EXPECTED ==> ' XPC-FLD0022B. + IF FLD0023B (1:) NOT EQUAL XPC-FLD0023B + DISPLAY 'FLD0023B ==> ' FLD0023B + DISPLAY 'EXPECTED ==> ' XPC-FLD0023B. + IF FLD0024B (1:) NOT EQUAL XPC-FLD0024B + DISPLAY 'FLD0024B ==> ' FLD0024B + DISPLAY 'EXPECTED ==> ' XPC-FLD0024B. + IF FLD0025B (1:) NOT EQUAL XPC-FLD0025B + DISPLAY 'FLD0025B ==> ' FLD0025B + DISPLAY 'EXPECTED ==> ' XPC-FLD0025B. + IF FLD0026B (1:) NOT EQUAL XPC-FLD0026B + DISPLAY 'FLD0026B ==> ' FLD0026B + DISPLAY 'EXPECTED ==> ' XPC-FLD0026B. + IF FLD0027B (1:) NOT EQUAL XPC-FLD0027B + DISPLAY 'FLD0027B ==> ' FLD0027B + DISPLAY 'EXPECTED ==> ' XPC-FLD0027B. + IF FLD0028B (1:) NOT EQUAL XPC-FLD0028B + DISPLAY 'FLD0028B ==> ' FLD0028B + DISPLAY 'EXPECTED ==> ' XPC-FLD0028B. + IF FLD0029B (1:) NOT EQUAL XPC-FLD0029B + DISPLAY 'FLD0029B ==> ' FLD0029B + DISPLAY 'EXPECTED ==> ' XPC-FLD0029B. + IF FLD0030B (1:) NOT EQUAL XPC-FLD0030B + DISPLAY 'FLD0030B ==> ' FLD0030B + DISPLAY 'EXPECTED ==> ' XPC-FLD0030B. + IF FLD0031B (1:) NOT EQUAL XPC-FLD0031B + DISPLAY 'FLD0031B ==> ' FLD0031B + DISPLAY 'EXPECTED ==> ' XPC-FLD0031B. + IF FLD0032B (1:) NOT EQUAL XPC-FLD0032B + DISPLAY 'FLD0032B ==> ' FLD0032B + DISPLAY 'EXPECTED ==> ' XPC-FLD0032B. + IF FLD0033B (1:) NOT EQUAL XPC-FLD0033B + DISPLAY 'FLD0033B ==> ' FLD0033B + DISPLAY 'EXPECTED ==> ' XPC-FLD0033B. + IF FLD0034B (1:) NOT EQUAL XPC-FLD0034B + DISPLAY 'FLD0034B ==> ' FLD0034B + DISPLAY 'EXPECTED ==> ' XPC-FLD0034B. + IF FLD0035B (1:) NOT EQUAL XPC-FLD0035B + DISPLAY 'FLD0035B ==> ' FLD0035B + DISPLAY 'EXPECTED ==> ' XPC-FLD0035B. + IF FLD0036B (1:) NOT EQUAL XPC-FLD0036B + DISPLAY 'FLD0036B ==> ' FLD0036B + DISPLAY 'EXPECTED ==> ' XPC-FLD0036B. + IF FLD0037B (1:) NOT EQUAL XPC-FLD0037B + DISPLAY 'FLD0037B ==> ' FLD0037B + DISPLAY 'EXPECTED ==> ' XPC-FLD0037B. + IF FLD0038B (1:) NOT EQUAL XPC-FLD0038B + DISPLAY 'FLD0038B ==> ' FLD0038B + DISPLAY 'EXPECTED ==> ' XPC-FLD0038B. + IF FLD0039B (1:) NOT EQUAL XPC-FLD0039B + DISPLAY 'FLD0039B ==> ' FLD0039B + DISPLAY 'EXPECTED ==> ' XPC-FLD0039B. + IF FLD0040B (1:) NOT EQUAL XPC-FLD0040B + DISPLAY 'FLD0040B ==> ' FLD0040B + DISPLAY 'EXPECTED ==> ' XPC-FLD0040B. + IF FLD0041B (1:) NOT EQUAL XPC-FLD0041B + DISPLAY 'FLD0041B ==> ' FLD0041B + DISPLAY 'EXPECTED ==> ' XPC-FLD0041B. + IF FLD0042B (1:) NOT EQUAL XPC-FLD0042B + DISPLAY 'FLD0042B ==> ' FLD0042B + DISPLAY 'EXPECTED ==> ' XPC-FLD0042B. + IF FLD0043B (1:) NOT EQUAL XPC-FLD0043B + DISPLAY 'FLD0043B ==> ' FLD0043B + DISPLAY 'EXPECTED ==> ' XPC-FLD0043B. + IF FLD0044B (1:) NOT EQUAL XPC-FLD0044B + DISPLAY 'FLD0044B ==> ' FLD0044B + DISPLAY 'EXPECTED ==> ' XPC-FLD0044B. + IF FLD0045B (1:) NOT EQUAL XPC-FLD0045B + DISPLAY 'FLD0045B ==> ' FLD0045B + DISPLAY 'EXPECTED ==> ' XPC-FLD0045B. + IF FLD0046B (1:) NOT EQUAL XPC-FLD0046B + DISPLAY 'FLD0046B ==> ' FLD0046B + DISPLAY 'EXPECTED ==> ' XPC-FLD0046B. + IF FLD0047B (1:) NOT EQUAL XPC-FLD0047B + DISPLAY 'FLD0047B ==> ' FLD0047B + DISPLAY 'EXPECTED ==> ' XPC-FLD0047B. + IF FLD0048B (1:) NOT EQUAL XPC-FLD0048B + DISPLAY 'FLD0048B ==> ' FLD0048B + DISPLAY 'EXPECTED ==> ' XPC-FLD0048B. + IF FLD0049B (1:) NOT EQUAL XPC-FLD0049B + DISPLAY 'FLD0049B ==> ' FLD0049B + DISPLAY 'EXPECTED ==> ' XPC-FLD0049B. + IF FLD0050B (1:) NOT EQUAL XPC-FLD0050B + DISPLAY 'FLD0050B ==> ' FLD0050B + DISPLAY 'EXPECTED ==> ' XPC-FLD0050B. + IF FLD0051B (1:) NOT EQUAL XPC-FLD0051B + DISPLAY 'FLD0051B ==> ' FLD0051B + DISPLAY 'EXPECTED ==> ' XPC-FLD0051B. + IF FLD0052B (1:) NOT EQUAL XPC-FLD0052B + DISPLAY 'FLD0052B ==> ' FLD0052B + DISPLAY 'EXPECTED ==> ' XPC-FLD0052B. + IF FLD0053B (1:) NOT EQUAL XPC-FLD0053B + DISPLAY 'FLD0053B ==> ' FLD0053B + DISPLAY 'EXPECTED ==> ' XPC-FLD0053B. + IF FLD0054B (1:) NOT EQUAL XPC-FLD0054B + DISPLAY 'FLD0054B ==> ' FLD0054B + DISPLAY 'EXPECTED ==> ' XPC-FLD0054B. + IF FLD0055B (1:) NOT EQUAL XPC-FLD0055B + DISPLAY 'FLD0055B ==> ' FLD0055B + DISPLAY 'EXPECTED ==> ' XPC-FLD0055B. + IF FLD0056B (1:) NOT EQUAL XPC-FLD0056B + DISPLAY 'FLD0056B ==> ' FLD0056B + DISPLAY 'EXPECTED ==> ' XPC-FLD0056B. + IF FLD0057B (1:) NOT EQUAL XPC-FLD0057B + DISPLAY 'FLD0057B ==> ' FLD0057B + DISPLAY 'EXPECTED ==> ' XPC-FLD0057B. + IF FLD0058B (1:) NOT EQUAL XPC-FLD0058B + DISPLAY 'FLD0058B ==> ' FLD0058B + DISPLAY 'EXPECTED ==> ' XPC-FLD0058B. + IF FLD0059B (1:) NOT EQUAL XPC-FLD0059B + DISPLAY 'FLD0059B ==> ' FLD0059B + DISPLAY 'EXPECTED ==> ' XPC-FLD0059B. + IF FLD0060B (1:) NOT EQUAL XPC-FLD0060B + DISPLAY 'FLD0060B ==> ' FLD0060B + DISPLAY 'EXPECTED ==> ' XPC-FLD0060B. + IF FLD0061B (1:) NOT EQUAL XPC-FLD0061B + DISPLAY 'FLD0061B ==> ' FLD0061B + DISPLAY 'EXPECTED ==> ' XPC-FLD0061B. + IF FLD0062B (1:) NOT EQUAL XPC-FLD0062B + DISPLAY 'FLD0062B ==> ' FLD0062B + DISPLAY 'EXPECTED ==> ' XPC-FLD0062B. + IF FLD0063B (1:) NOT EQUAL XPC-FLD0063B + DISPLAY 'FLD0063B ==> ' FLD0063B + DISPLAY 'EXPECTED ==> ' XPC-FLD0063B. + IF FLD0064B (1:) NOT EQUAL XPC-FLD0064B + DISPLAY 'FLD0064B ==> ' FLD0064B + DISPLAY 'EXPECTED ==> ' XPC-FLD0064B. + IF FLD0065B (1:) NOT EQUAL XPC-FLD0065B + DISPLAY 'FLD0065B ==> ' FLD0065B + DISPLAY 'EXPECTED ==> ' XPC-FLD0065B. + IF FLD0066B (1:) NOT EQUAL XPC-FLD0066B + DISPLAY 'FLD0066B ==> ' FLD0066B + DISPLAY 'EXPECTED ==> ' XPC-FLD0066B. + IF FLD0067B (1:) NOT EQUAL XPC-FLD0067B + DISPLAY 'FLD0067B ==> ' FLD0067B + DISPLAY 'EXPECTED ==> ' XPC-FLD0067B. + IF FLD0068B (1:) NOT EQUAL XPC-FLD0068B + DISPLAY 'FLD0068B ==> ' FLD0068B + DISPLAY 'EXPECTED ==> ' XPC-FLD0068B. + IF FLD0069B (1:) NOT EQUAL XPC-FLD0069B + DISPLAY 'FLD0069B ==> ' FLD0069B + DISPLAY 'EXPECTED ==> ' XPC-FLD0069B. + IF FLD0070B (1:) NOT EQUAL XPC-FLD0070B + DISPLAY 'FLD0070B ==> ' FLD0070B + DISPLAY 'EXPECTED ==> ' XPC-FLD0070B. + IF FLD0071B (1:) NOT EQUAL XPC-FLD0071B + DISPLAY 'FLD0071B ==> ' FLD0071B + DISPLAY 'EXPECTED ==> ' XPC-FLD0071B. + IF FLD0072B (1:) NOT EQUAL XPC-FLD0072B + DISPLAY 'FLD0072B ==> ' FLD0072B + DISPLAY 'EXPECTED ==> ' XPC-FLD0072B. + IF FLD0073B (1:) NOT EQUAL XPC-FLD0073B + DISPLAY 'FLD0073B ==> ' FLD0073B + DISPLAY 'EXPECTED ==> ' XPC-FLD0073B. + IF FLD0074B (1:) NOT EQUAL XPC-FLD0074B + DISPLAY 'FLD0074B ==> ' FLD0074B + DISPLAY 'EXPECTED ==> ' XPC-FLD0074B. + IF FLD0075B (1:) NOT EQUAL XPC-FLD0075B + DISPLAY 'FLD0075B ==> ' FLD0075B + DISPLAY 'EXPECTED ==> ' XPC-FLD0075B. + IF FLD0076B (1:) NOT EQUAL XPC-FLD0076B + DISPLAY 'FLD0076B ==> ' FLD0076B + DISPLAY 'EXPECTED ==> ' XPC-FLD0076B. + IF FLD0077B (1:) NOT EQUAL XPC-FLD0077B + DISPLAY 'FLD0077B ==> ' FLD0077B + DISPLAY 'EXPECTED ==> ' XPC-FLD0077B. + IF FLD0078B (1:) NOT EQUAL XPC-FLD0078B + DISPLAY 'FLD0078B ==> ' FLD0078B + DISPLAY 'EXPECTED ==> ' XPC-FLD0078B. + IF FLD0079B (1:) NOT EQUAL XPC-FLD0079B + DISPLAY 'FLD0079B ==> ' FLD0079B + DISPLAY 'EXPECTED ==> ' XPC-FLD0079B. + IF FLD0080B (1:) NOT EQUAL XPC-FLD0080B + DISPLAY 'FLD0080B ==> ' FLD0080B + DISPLAY 'EXPECTED ==> ' XPC-FLD0080B. + IF FLD0081B (1:) NOT EQUAL XPC-FLD0081B + DISPLAY 'FLD0081B ==> ' FLD0081B + DISPLAY 'EXPECTED ==> ' XPC-FLD0081B. + IF FLD0082B (1:) NOT EQUAL XPC-FLD0082B + DISPLAY 'FLD0082B ==> ' FLD0082B + DISPLAY 'EXPECTED ==> ' XPC-FLD0082B. + IF FLD0083B (1:) NOT EQUAL XPC-FLD0083B + DISPLAY 'FLD0083B ==> ' FLD0083B + DISPLAY 'EXPECTED ==> ' XPC-FLD0083B. + IF FLD0084B (1:) NOT EQUAL XPC-FLD0084B + DISPLAY 'FLD0084B ==> ' FLD0084B + DISPLAY 'EXPECTED ==> ' XPC-FLD0084B. + IF FLD0085B (1:) NOT EQUAL XPC-FLD0085B + DISPLAY 'FLD0085B ==> ' FLD0085B + DISPLAY 'EXPECTED ==> ' XPC-FLD0085B. + IF FLD0086B (1:) NOT EQUAL XPC-FLD0086B + DISPLAY 'FLD0086B ==> ' FLD0086B + DISPLAY 'EXPECTED ==> ' XPC-FLD0086B. + IF FLD0087B (1:) NOT EQUAL XPC-FLD0087B + DISPLAY 'FLD0087B ==> ' FLD0087B + DISPLAY 'EXPECTED ==> ' XPC-FLD0087B. + IF FLD0088B (1:) NOT EQUAL XPC-FLD0088B + DISPLAY 'FLD0088B ==> ' FLD0088B + DISPLAY 'EXPECTED ==> ' XPC-FLD0088B. + IF FLD0089B (1:) NOT EQUAL XPC-FLD0089B + DISPLAY 'FLD0089B ==> ' FLD0089B + DISPLAY 'EXPECTED ==> ' XPC-FLD0089B. + IF FLD0090B (1:) NOT EQUAL XPC-FLD0090B + DISPLAY 'FLD0090B ==> ' FLD0090B + DISPLAY 'EXPECTED ==> ' XPC-FLD0090B. + IF FLD0091B (1:) NOT EQUAL XPC-FLD0091B + DISPLAY 'FLD0091B ==> ' FLD0091B + DISPLAY 'EXPECTED ==> ' XPC-FLD0091B. + IF FLD0092B (1:) NOT EQUAL XPC-FLD0092B + DISPLAY 'FLD0092B ==> ' FLD0092B + DISPLAY 'EXPECTED ==> ' XPC-FLD0092B. + IF FLD0093B (1:) NOT EQUAL XPC-FLD0093B + DISPLAY 'FLD0093B ==> ' FLD0093B + DISPLAY 'EXPECTED ==> ' XPC-FLD0093B. + IF FLD0094B (1:) NOT EQUAL XPC-FLD0094B + DISPLAY 'FLD0094B ==> ' FLD0094B + DISPLAY 'EXPECTED ==> ' XPC-FLD0094B. + IF FLD0095B (1:) NOT EQUAL XPC-FLD0095B + DISPLAY 'FLD0095B ==> ' FLD0095B + DISPLAY 'EXPECTED ==> ' XPC-FLD0095B. + IF FLD0096B (1:) NOT EQUAL XPC-FLD0096B + DISPLAY 'FLD0096B ==> ' FLD0096B + DISPLAY 'EXPECTED ==> ' XPC-FLD0096B. + IF FLD0097B (1:) NOT EQUAL XPC-FLD0097B + DISPLAY 'FLD0097B ==> ' FLD0097B + DISPLAY 'EXPECTED ==> ' XPC-FLD0097B. + IF FLD0098B (1:) NOT EQUAL XPC-FLD0098B + DISPLAY 'FLD0098B ==> ' FLD0098B + DISPLAY 'EXPECTED ==> ' XPC-FLD0098B. + IF FLD0099B (1:) NOT EQUAL XPC-FLD0099B + DISPLAY 'FLD0099B ==> ' FLD0099B + DISPLAY 'EXPECTED ==> ' XPC-FLD0099B. + IF FLD0100B (1:) NOT EQUAL XPC-FLD0100B + DISPLAY 'FLD0100B ==> ' FLD0100B + DISPLAY 'EXPECTED ==> ' XPC-FLD0100B. + IF FLD0101B (1:) NOT EQUAL XPC-FLD0101B + DISPLAY 'FLD0101B ==> ' FLD0101B + DISPLAY 'EXPECTED ==> ' XPC-FLD0101B. + IF FLD0102B (1:) NOT EQUAL XPC-FLD0102B + DISPLAY 'FLD0102B ==> ' FLD0102B + DISPLAY 'EXPECTED ==> ' XPC-FLD0102B. + IF FLD0103B (1:) NOT EQUAL XPC-FLD0103B + DISPLAY 'FLD0103B ==> ' FLD0103B + DISPLAY 'EXPECTED ==> ' XPC-FLD0103B. + IF FLD0104B (1:) NOT EQUAL XPC-FLD0104B + DISPLAY 'FLD0104B ==> ' FLD0104B + DISPLAY 'EXPECTED ==> ' XPC-FLD0104B. + IF FLD0105B (1:) NOT EQUAL XPC-FLD0105B + DISPLAY 'FLD0105B ==> ' FLD0105B + DISPLAY 'EXPECTED ==> ' XPC-FLD0105B. + IF FLD0106B (1:) NOT EQUAL XPC-FLD0106B + DISPLAY 'FLD0106B ==> ' FLD0106B + DISPLAY 'EXPECTED ==> ' XPC-FLD0106B. + IF FLD0107B (1:) NOT EQUAL XPC-FLD0107B + DISPLAY 'FLD0107B ==> ' FLD0107B + DISPLAY 'EXPECTED ==> ' XPC-FLD0107B. + IF FLD0108B (1:) NOT EQUAL XPC-FLD0108B + DISPLAY 'FLD0108B ==> ' FLD0108B + DISPLAY 'EXPECTED ==> ' XPC-FLD0108B. + IF FLD0109B (1:) NOT EQUAL XPC-FLD0109B + DISPLAY 'FLD0109B ==> ' FLD0109B + DISPLAY 'EXPECTED ==> ' XPC-FLD0109B. + IF FLD0110B (1:) NOT EQUAL XPC-FLD0110B + DISPLAY 'FLD0110B ==> ' FLD0110B + DISPLAY 'EXPECTED ==> ' XPC-FLD0110B. + IF FLD0111B (1:) NOT EQUAL XPC-FLD0111B + DISPLAY 'FLD0111B ==> ' FLD0111B + DISPLAY 'EXPECTED ==> ' XPC-FLD0111B. + IF FLD0112B (1:) NOT EQUAL XPC-FLD0112B + DISPLAY 'FLD0112B ==> ' FLD0112B + DISPLAY 'EXPECTED ==> ' XPC-FLD0112B. + IF FLD0113B (1:) NOT EQUAL XPC-FLD0113B + DISPLAY 'FLD0113B ==> ' FLD0113B + DISPLAY 'EXPECTED ==> ' XPC-FLD0113B. + IF FLD0114B (1:) NOT EQUAL XPC-FLD0114B + DISPLAY 'FLD0114B ==> ' FLD0114B + DISPLAY 'EXPECTED ==> ' XPC-FLD0114B. + IF FLD0115B (1:) NOT EQUAL XPC-FLD0115B + DISPLAY 'FLD0115B ==> ' FLD0115B + DISPLAY 'EXPECTED ==> ' XPC-FLD0115B. + IF FLD0116B (1:) NOT EQUAL XPC-FLD0116B + DISPLAY 'FLD0116B ==> ' FLD0116B + DISPLAY 'EXPECTED ==> ' XPC-FLD0116B. + IF FLD0117B (1:) NOT EQUAL XPC-FLD0117B + DISPLAY 'FLD0117B ==> ' FLD0117B + DISPLAY 'EXPECTED ==> ' XPC-FLD0117B. + IF FLD0118B (1:) NOT EQUAL XPC-FLD0118B + DISPLAY 'FLD0118B ==> ' FLD0118B + DISPLAY 'EXPECTED ==> ' XPC-FLD0118B. + IF FLD0119B (1:) NOT EQUAL XPC-FLD0119B + DISPLAY 'FLD0119B ==> ' FLD0119B + DISPLAY 'EXPECTED ==> ' XPC-FLD0119B. + IF FLD0120B (1:) NOT EQUAL XPC-FLD0120B + DISPLAY 'FLD0120B ==> ' FLD0120B + DISPLAY 'EXPECTED ==> ' XPC-FLD0120B. + IF FLD0121B (1:) NOT EQUAL XPC-FLD0121B + DISPLAY 'FLD0121B ==> ' FLD0121B + DISPLAY 'EXPECTED ==> ' XPC-FLD0121B. + IF FLD0122B (1:) NOT EQUAL XPC-FLD0122B + DISPLAY 'FLD0122B ==> ' FLD0122B + DISPLAY 'EXPECTED ==> ' XPC-FLD0122B. + IF FLD0123B (1:) NOT EQUAL XPC-FLD0123B + DISPLAY 'FLD0123B ==> ' FLD0123B + DISPLAY 'EXPECTED ==> ' XPC-FLD0123B. + IF FLD0124B (1:) NOT EQUAL XPC-FLD0124B + DISPLAY 'FLD0124B ==> ' FLD0124B + DISPLAY 'EXPECTED ==> ' XPC-FLD0124B. + IF FLD0125B (1:) NOT EQUAL XPC-FLD0125B + DISPLAY 'FLD0125B ==> ' FLD0125B + DISPLAY 'EXPECTED ==> ' XPC-FLD0125B. + IF FLD0126B (1:) NOT EQUAL XPC-FLD0126B + DISPLAY 'FLD0126B ==> ' FLD0126B + DISPLAY 'EXPECTED ==> ' XPC-FLD0126B. + IF FLD0127B (1:) NOT EQUAL XPC-FLD0127B + DISPLAY 'FLD0127B ==> ' FLD0127B + DISPLAY 'EXPECTED ==> ' XPC-FLD0127B. + IF FLD0128B (1:) NOT EQUAL XPC-FLD0128B + DISPLAY 'FLD0128B ==> ' FLD0128B + DISPLAY 'EXPECTED ==> ' XPC-FLD0128B. + IF FLD0129B (1:) NOT EQUAL XPC-FLD0129B + DISPLAY 'FLD0129B ==> ' FLD0129B + DISPLAY 'EXPECTED ==> ' XPC-FLD0129B. + IF FLD0130B (1:) NOT EQUAL XPC-FLD0130B + DISPLAY 'FLD0130B ==> ' FLD0130B + DISPLAY 'EXPECTED ==> ' XPC-FLD0130B. + IF FLD0131B (1:) NOT EQUAL XPC-FLD0131B + DISPLAY 'FLD0131B ==> ' FLD0131B + DISPLAY 'EXPECTED ==> ' XPC-FLD0131B. + IF FLD0132B (1:) NOT EQUAL XPC-FLD0132B + DISPLAY 'FLD0132B ==> ' FLD0132B + DISPLAY 'EXPECTED ==> ' XPC-FLD0132B. + IF FLD0133B (1:) NOT EQUAL XPC-FLD0133B + DISPLAY 'FLD0133B ==> ' FLD0133B + DISPLAY 'EXPECTED ==> ' XPC-FLD0133B. + IF FLD0134B (1:) NOT EQUAL XPC-FLD0134B + DISPLAY 'FLD0134B ==> ' FLD0134B + DISPLAY 'EXPECTED ==> ' XPC-FLD0134B. + IF FLD0135B (1:) NOT EQUAL XPC-FLD0135B + DISPLAY 'FLD0135B ==> ' FLD0135B + DISPLAY 'EXPECTED ==> ' XPC-FLD0135B. + IF FLD0136B (1:) NOT EQUAL XPC-FLD0136B + DISPLAY 'FLD0136B ==> ' FLD0136B + DISPLAY 'EXPECTED ==> ' XPC-FLD0136B. + IF FLD0137B (1:) NOT EQUAL XPC-FLD0137B + DISPLAY 'FLD0137B ==> ' FLD0137B + DISPLAY 'EXPECTED ==> ' XPC-FLD0137B. + IF FLD0138B (1:) NOT EQUAL XPC-FLD0138B + DISPLAY 'FLD0138B ==> ' FLD0138B + DISPLAY 'EXPECTED ==> ' XPC-FLD0138B. + IF FLD0139B (1:) NOT EQUAL XPC-FLD0139B + DISPLAY 'FLD0139B ==> ' FLD0139B + DISPLAY 'EXPECTED ==> ' XPC-FLD0139B. + IF FLD0140B (1:) NOT EQUAL XPC-FLD0140B + DISPLAY 'FLD0140B ==> ' FLD0140B + DISPLAY 'EXPECTED ==> ' XPC-FLD0140B. + IF FLD0141B (1:) NOT EQUAL XPC-FLD0141B + DISPLAY 'FLD0141B ==> ' FLD0141B + DISPLAY 'EXPECTED ==> ' XPC-FLD0141B. + IF FLD0142B (1:) NOT EQUAL XPC-FLD0142B + DISPLAY 'FLD0142B ==> ' FLD0142B + DISPLAY 'EXPECTED ==> ' XPC-FLD0142B. + IF FLD0143B (1:) NOT EQUAL XPC-FLD0143B + DISPLAY 'FLD0143B ==> ' FLD0143B + DISPLAY 'EXPECTED ==> ' XPC-FLD0143B. + IF FLD0144B (1:) NOT EQUAL XPC-FLD0144B + DISPLAY 'FLD0144B ==> ' FLD0144B + DISPLAY 'EXPECTED ==> ' XPC-FLD0144B. + IF FLD0145B (1:) NOT EQUAL XPC-FLD0145B + DISPLAY 'FLD0145B ==> ' FLD0145B + DISPLAY 'EXPECTED ==> ' XPC-FLD0145B. + IF FLD0146B (1:) NOT EQUAL XPC-FLD0146B + DISPLAY 'FLD0146B ==> ' FLD0146B + DISPLAY 'EXPECTED ==> ' XPC-FLD0146B. + IF FLD0147B (1:) NOT EQUAL XPC-FLD0147B + DISPLAY 'FLD0147B ==> ' FLD0147B + DISPLAY 'EXPECTED ==> ' XPC-FLD0147B. + IF FLD0148B (1:) NOT EQUAL XPC-FLD0148B + DISPLAY 'FLD0148B ==> ' FLD0148B + DISPLAY 'EXPECTED ==> ' XPC-FLD0148B. + IF FLD0149B (1:) NOT EQUAL XPC-FLD0149B + DISPLAY 'FLD0149B ==> ' FLD0149B + DISPLAY 'EXPECTED ==> ' XPC-FLD0149B. + IF FLD0150B (1:) NOT EQUAL XPC-FLD0150B + DISPLAY 'FLD0150B ==> ' FLD0150B + DISPLAY 'EXPECTED ==> ' XPC-FLD0150B. + IF FLD0151B (1:) NOT EQUAL XPC-FLD0151B + DISPLAY 'FLD0151B ==> ' FLD0151B + DISPLAY 'EXPECTED ==> ' XPC-FLD0151B. + IF FLD0152B (1:) NOT EQUAL XPC-FLD0152B + DISPLAY 'FLD0152B ==> ' FLD0152B + DISPLAY 'EXPECTED ==> ' XPC-FLD0152B. + IF FLD0153B (1:) NOT EQUAL XPC-FLD0153B + DISPLAY 'FLD0153B ==> ' FLD0153B + DISPLAY 'EXPECTED ==> ' XPC-FLD0153B. + IF FLD0154B (1:) NOT EQUAL XPC-FLD0154B + DISPLAY 'FLD0154B ==> ' FLD0154B + DISPLAY 'EXPECTED ==> ' XPC-FLD0154B. + IF FLD0155B (1:) NOT EQUAL XPC-FLD0155B + DISPLAY 'FLD0155B ==> ' FLD0155B + DISPLAY 'EXPECTED ==> ' XPC-FLD0155B. + IF FLD0156B (1:) NOT EQUAL XPC-FLD0156B + DISPLAY 'FLD0156B ==> ' FLD0156B + DISPLAY 'EXPECTED ==> ' XPC-FLD0156B. + IF FLD0157B (1:) NOT EQUAL XPC-FLD0157B + DISPLAY 'FLD0157B ==> ' FLD0157B + DISPLAY 'EXPECTED ==> ' XPC-FLD0157B. + IF FLD0158B (1:) NOT EQUAL XPC-FLD0158B + DISPLAY 'FLD0158B ==> ' FLD0158B + DISPLAY 'EXPECTED ==> ' XPC-FLD0158B. + IF FLD0159B (1:) NOT EQUAL XPC-FLD0159B + DISPLAY 'FLD0159B ==> ' FLD0159B + DISPLAY 'EXPECTED ==> ' XPC-FLD0159B. + IF FLD0160B (1:) NOT EQUAL XPC-FLD0160B + DISPLAY 'FLD0160B ==> ' FLD0160B + DISPLAY 'EXPECTED ==> ' XPC-FLD0160B. + IF FLD0161B (1:) NOT EQUAL XPC-FLD0161B + DISPLAY 'FLD0161B ==> ' FLD0161B + DISPLAY 'EXPECTED ==> ' XPC-FLD0161B. + IF FLD0162B (1:) NOT EQUAL XPC-FLD0162B + DISPLAY 'FLD0162B ==> ' FLD0162B + DISPLAY 'EXPECTED ==> ' XPC-FLD0162B. + IF FLD0163B (1:) NOT EQUAL XPC-FLD0163B + DISPLAY 'FLD0163B ==> ' FLD0163B + DISPLAY 'EXPECTED ==> ' XPC-FLD0163B. + IF FLD0164B (1:) NOT EQUAL XPC-FLD0164B + DISPLAY 'FLD0164B ==> ' FLD0164B + DISPLAY 'EXPECTED ==> ' XPC-FLD0164B. + IF FLD0165B (1:) NOT EQUAL XPC-FLD0165B + DISPLAY 'FLD0165B ==> ' FLD0165B + DISPLAY 'EXPECTED ==> ' XPC-FLD0165B. + IF FLD0166B (1:) NOT EQUAL XPC-FLD0166B + DISPLAY 'FLD0166B ==> ' FLD0166B + DISPLAY 'EXPECTED ==> ' XPC-FLD0166B. + IF FLD0167B (1:) NOT EQUAL XPC-FLD0167B + DISPLAY 'FLD0167B ==> ' FLD0167B + DISPLAY 'EXPECTED ==> ' XPC-FLD0167B. + IF FLD0168B (1:) NOT EQUAL XPC-FLD0168B + DISPLAY 'FLD0168B ==> ' FLD0168B + DISPLAY 'EXPECTED ==> ' XPC-FLD0168B. + IF FLD0169B (1:) NOT EQUAL XPC-FLD0169B + DISPLAY 'FLD0169B ==> ' FLD0169B + DISPLAY 'EXPECTED ==> ' XPC-FLD0169B. + IF FLD0170B (1:) NOT EQUAL XPC-FLD0170B + DISPLAY 'FLD0170B ==> ' FLD0170B + DISPLAY 'EXPECTED ==> ' XPC-FLD0170B. + IF FLD0171B (1:) NOT EQUAL XPC-FLD0171B + DISPLAY 'FLD0171B ==> ' FLD0171B + DISPLAY 'EXPECTED ==> ' XPC-FLD0171B. + IF FLD0172B (1:) NOT EQUAL XPC-FLD0172B + DISPLAY 'FLD0172B ==> ' FLD0172B + DISPLAY 'EXPECTED ==> ' XPC-FLD0172B. + IF FLD0173B (1:) NOT EQUAL XPC-FLD0173B + DISPLAY 'FLD0173B ==> ' FLD0173B + DISPLAY 'EXPECTED ==> ' XPC-FLD0173B. + IF FLD0174B (1:) NOT EQUAL XPC-FLD0174B + DISPLAY 'FLD0174B ==> ' FLD0174B + DISPLAY 'EXPECTED ==> ' XPC-FLD0174B. + IF FLD0175B (1:) NOT EQUAL XPC-FLD0175B + DISPLAY 'FLD0175B ==> ' FLD0175B + DISPLAY 'EXPECTED ==> ' XPC-FLD0175B. + IF FLD0176B (1:) NOT EQUAL XPC-FLD0176B + DISPLAY 'FLD0176B ==> ' FLD0176B + DISPLAY 'EXPECTED ==> ' XPC-FLD0176B. + IF FLD0177B (1:) NOT EQUAL XPC-FLD0177B + DISPLAY 'FLD0177B ==> ' FLD0177B + DISPLAY 'EXPECTED ==> ' XPC-FLD0177B. + IF FLD0178B (1:) NOT EQUAL XPC-FLD0178B + DISPLAY 'FLD0178B ==> ' FLD0178B + DISPLAY 'EXPECTED ==> ' XPC-FLD0178B. + IF FLD0179B (1:) NOT EQUAL XPC-FLD0179B + DISPLAY 'FLD0179B ==> ' FLD0179B + DISPLAY 'EXPECTED ==> ' XPC-FLD0179B. + IF FLD0180B (1:) NOT EQUAL XPC-FLD0180B + DISPLAY 'FLD0180B ==> ' FLD0180B + DISPLAY 'EXPECTED ==> ' XPC-FLD0180B. + IF FLD0181B (1:) NOT EQUAL XPC-FLD0181B + DISPLAY 'FLD0181B ==> ' FLD0181B + DISPLAY 'EXPECTED ==> ' XPC-FLD0181B. + IF FLD0182B (1:) NOT EQUAL XPC-FLD0182B + DISPLAY 'FLD0182B ==> ' FLD0182B + DISPLAY 'EXPECTED ==> ' XPC-FLD0182B. + IF FLD0183B (1:) NOT EQUAL XPC-FLD0183B + DISPLAY 'FLD0183B ==> ' FLD0183B + DISPLAY 'EXPECTED ==> ' XPC-FLD0183B. + IF FLD0184B (1:) NOT EQUAL XPC-FLD0184B + DISPLAY 'FLD0184B ==> ' FLD0184B + DISPLAY 'EXPECTED ==> ' XPC-FLD0184B. + IF FLD0185B (1:) NOT EQUAL XPC-FLD0185B + DISPLAY 'FLD0185B ==> ' FLD0185B + DISPLAY 'EXPECTED ==> ' XPC-FLD0185B. + IF FLD0186B (1:) NOT EQUAL XPC-FLD0186B + DISPLAY 'FLD0186B ==> ' FLD0186B + DISPLAY 'EXPECTED ==> ' XPC-FLD0186B. + IF FLD0187B (1:) NOT EQUAL XPC-FLD0187B + DISPLAY 'FLD0187B ==> ' FLD0187B + DISPLAY 'EXPECTED ==> ' XPC-FLD0187B. + IF FLD0188B (1:) NOT EQUAL XPC-FLD0188B + DISPLAY 'FLD0188B ==> ' FLD0188B + DISPLAY 'EXPECTED ==> ' XPC-FLD0188B. + IF FLD0189B (1:) NOT EQUAL XPC-FLD0189B + DISPLAY 'FLD0189B ==> ' FLD0189B + DISPLAY 'EXPECTED ==> ' XPC-FLD0189B. + IF FLD0190B (1:) NOT EQUAL XPC-FLD0190B + DISPLAY 'FLD0190B ==> ' FLD0190B + DISPLAY 'EXPECTED ==> ' XPC-FLD0190B. + IF FLD0191B (1:) NOT EQUAL XPC-FLD0191B + DISPLAY 'FLD0191B ==> ' FLD0191B + DISPLAY 'EXPECTED ==> ' XPC-FLD0191B. + IF FLD0192B (1:) NOT EQUAL XPC-FLD0192B + DISPLAY 'FLD0192B ==> ' FLD0192B + DISPLAY 'EXPECTED ==> ' XPC-FLD0192B. + IF FLD0193B (1:) NOT EQUAL XPC-FLD0193B + DISPLAY 'FLD0193B ==> ' FLD0193B + DISPLAY 'EXPECTED ==> ' XPC-FLD0193B. + IF FLD0194B (1:) NOT EQUAL XPC-FLD0194B + DISPLAY 'FLD0194B ==> ' FLD0194B + DISPLAY 'EXPECTED ==> ' XPC-FLD0194B. + IF FLD0195B (1:) NOT EQUAL XPC-FLD0195B + DISPLAY 'FLD0195B ==> ' FLD0195B + DISPLAY 'EXPECTED ==> ' XPC-FLD0195B. + IF FLD0196B (1:) NOT EQUAL XPC-FLD0196B + DISPLAY 'FLD0196B ==> ' FLD0196B + DISPLAY 'EXPECTED ==> ' XPC-FLD0196B. + IF FLD0197B (1:) NOT EQUAL XPC-FLD0197B + DISPLAY 'FLD0197B ==> ' FLD0197B + DISPLAY 'EXPECTED ==> ' XPC-FLD0197B. + IF FLD0198B (1:) NOT EQUAL XPC-FLD0198B + DISPLAY 'FLD0198B ==> ' FLD0198B + DISPLAY 'EXPECTED ==> ' XPC-FLD0198B. + IF FLD0199B (1:) NOT EQUAL XPC-FLD0199B + DISPLAY 'FLD0199B ==> ' FLD0199B + DISPLAY 'EXPECTED ==> ' XPC-FLD0199B. + IF FLD0200B (1:) NOT EQUAL XPC-FLD0200B + DISPLAY 'FLD0200B ==> ' FLD0200B + DISPLAY 'EXPECTED ==> ' XPC-FLD0200B. + IF FLD0201B (1:) NOT EQUAL XPC-FLD0201B + DISPLAY 'FLD0201B ==> ' FLD0201B + DISPLAY 'EXPECTED ==> ' XPC-FLD0201B. + IF FLD0202B (1:) NOT EQUAL XPC-FLD0202B + DISPLAY 'FLD0202B ==> ' FLD0202B + DISPLAY 'EXPECTED ==> ' XPC-FLD0202B. + IF FLD0203B (1:) NOT EQUAL XPC-FLD0203B + DISPLAY 'FLD0203B ==> ' FLD0203B + DISPLAY 'EXPECTED ==> ' XPC-FLD0203B. + IF FLD0204B (1:) NOT EQUAL XPC-FLD0204B + DISPLAY 'FLD0204B ==> ' FLD0204B + DISPLAY 'EXPECTED ==> ' XPC-FLD0204B. + IF FLD0205B (1:) NOT EQUAL XPC-FLD0205B + DISPLAY 'FLD0205B ==> ' FLD0205B + DISPLAY 'EXPECTED ==> ' XPC-FLD0205B. + IF FLD0206B (1:) NOT EQUAL XPC-FLD0206B + DISPLAY 'FLD0206B ==> ' FLD0206B + DISPLAY 'EXPECTED ==> ' XPC-FLD0206B. + IF FLD0207B (1:) NOT EQUAL XPC-FLD0207B + DISPLAY 'FLD0207B ==> ' FLD0207B + DISPLAY 'EXPECTED ==> ' XPC-FLD0207B. + IF FLD0208B (1:) NOT EQUAL XPC-FLD0208B + DISPLAY 'FLD0208B ==> ' FLD0208B + DISPLAY 'EXPECTED ==> ' XPC-FLD0208B. + IF FLD0209B (1:) NOT EQUAL XPC-FLD0209B + DISPLAY 'FLD0209B ==> ' FLD0209B + DISPLAY 'EXPECTED ==> ' XPC-FLD0209B. + IF FLD0210B (1:) NOT EQUAL XPC-FLD0210B + DISPLAY 'FLD0210B ==> ' FLD0210B + DISPLAY 'EXPECTED ==> ' XPC-FLD0210B. + IF FLD0211B (1:) NOT EQUAL XPC-FLD0211B + DISPLAY 'FLD0211B ==> ' FLD0211B + DISPLAY 'EXPECTED ==> ' XPC-FLD0211B. + IF FLD0212B (1:) NOT EQUAL XPC-FLD0212B + DISPLAY 'FLD0212B ==> ' FLD0212B + DISPLAY 'EXPECTED ==> ' XPC-FLD0212B. + IF FLD0213B (1:) NOT EQUAL XPC-FLD0213B + DISPLAY 'FLD0213B ==> ' FLD0213B + DISPLAY 'EXPECTED ==> ' XPC-FLD0213B. + IF FLD0214B (1:) NOT EQUAL XPC-FLD0214B + DISPLAY 'FLD0214B ==> ' FLD0214B + DISPLAY 'EXPECTED ==> ' XPC-FLD0214B. + IF FLD0215B (1:) NOT EQUAL XPC-FLD0215B + DISPLAY 'FLD0215B ==> ' FLD0215B + DISPLAY 'EXPECTED ==> ' XPC-FLD0215B. + IF FLD0216B (1:) NOT EQUAL XPC-FLD0216B + DISPLAY 'FLD0216B ==> ' FLD0216B + DISPLAY 'EXPECTED ==> ' XPC-FLD0216B. + IF FLD0217B (1:) NOT EQUAL XPC-FLD0217B + DISPLAY 'FLD0217B ==> ' FLD0217B + DISPLAY 'EXPECTED ==> ' XPC-FLD0217B. + IF FLD0218B (1:) NOT EQUAL XPC-FLD0218B + DISPLAY 'FLD0218B ==> ' FLD0218B + DISPLAY 'EXPECTED ==> ' XPC-FLD0218B. + IF FLD0219B (1:) NOT EQUAL XPC-FLD0219B + DISPLAY 'FLD0219B ==> ' FLD0219B + DISPLAY 'EXPECTED ==> ' XPC-FLD0219B. + IF FLD0220B (1:) NOT EQUAL XPC-FLD0220B + DISPLAY 'FLD0220B ==> ' FLD0220B + DISPLAY 'EXPECTED ==> ' XPC-FLD0220B. + IF FLD0221B (1:) NOT EQUAL XPC-FLD0221B + DISPLAY 'FLD0221B ==> ' FLD0221B + DISPLAY 'EXPECTED ==> ' XPC-FLD0221B. + IF FLD0222B (1:) NOT EQUAL XPC-FLD0222B + DISPLAY 'FLD0222B ==> ' FLD0222B + DISPLAY 'EXPECTED ==> ' XPC-FLD0222B. + IF FLD0223B (1:) NOT EQUAL XPC-FLD0223B + DISPLAY 'FLD0223B ==> ' FLD0223B + DISPLAY 'EXPECTED ==> ' XPC-FLD0223B. + IF FLD0224B (1:) NOT EQUAL XPC-FLD0224B + DISPLAY 'FLD0224B ==> ' FLD0224B + DISPLAY 'EXPECTED ==> ' XPC-FLD0224B. + IF FLD0225B (1:) NOT EQUAL XPC-FLD0225B + DISPLAY 'FLD0225B ==> ' FLD0225B + DISPLAY 'EXPECTED ==> ' XPC-FLD0225B. + IF FLD0226B (1:) NOT EQUAL XPC-FLD0226B + DISPLAY 'FLD0226B ==> ' FLD0226B + DISPLAY 'EXPECTED ==> ' XPC-FLD0226B. + IF FLD0227B (1:) NOT EQUAL XPC-FLD0227B + DISPLAY 'FLD0227B ==> ' FLD0227B + DISPLAY 'EXPECTED ==> ' XPC-FLD0227B. + IF FLD0228B (1:) NOT EQUAL XPC-FLD0228B + DISPLAY 'FLD0228B ==> ' FLD0228B + DISPLAY 'EXPECTED ==> ' XPC-FLD0228B. + IF FLD0229B (1:) NOT EQUAL XPC-FLD0229B + DISPLAY 'FLD0229B ==> ' FLD0229B + DISPLAY 'EXPECTED ==> ' XPC-FLD0229B. + IF FLD0230B (1:) NOT EQUAL XPC-FLD0230B + DISPLAY 'FLD0230B ==> ' FLD0230B + DISPLAY 'EXPECTED ==> ' XPC-FLD0230B. + IF FLD0231B (1:) NOT EQUAL XPC-FLD0231B + DISPLAY 'FLD0231B ==> ' FLD0231B + DISPLAY 'EXPECTED ==> ' XPC-FLD0231B. + IF FLD0232B (1:) NOT EQUAL XPC-FLD0232B + DISPLAY 'FLD0232B ==> ' FLD0232B + DISPLAY 'EXPECTED ==> ' XPC-FLD0232B. + IF FLD0233B (1:) NOT EQUAL XPC-FLD0233B + DISPLAY 'FLD0233B ==> ' FLD0233B + DISPLAY 'EXPECTED ==> ' XPC-FLD0233B. + IF FLD0234B (1:) NOT EQUAL XPC-FLD0234B + DISPLAY 'FLD0234B ==> ' FLD0234B + DISPLAY 'EXPECTED ==> ' XPC-FLD0234B. + IF FLD0235B (1:) NOT EQUAL XPC-FLD0235B + DISPLAY 'FLD0235B ==> ' FLD0235B + DISPLAY 'EXPECTED ==> ' XPC-FLD0235B. + IF FLD0236B (1:) NOT EQUAL XPC-FLD0236B + DISPLAY 'FLD0236B ==> ' FLD0236B + DISPLAY 'EXPECTED ==> ' XPC-FLD0236B. + IF FLD0237B (1:) NOT EQUAL XPC-FLD0237B + DISPLAY 'FLD0237B ==> ' FLD0237B + DISPLAY 'EXPECTED ==> ' XPC-FLD0237B. + IF FLD0238B (1:) NOT EQUAL XPC-FLD0238B + DISPLAY 'FLD0238B ==> ' FLD0238B + DISPLAY 'EXPECTED ==> ' XPC-FLD0238B. + IF FLD0239B (1:) NOT EQUAL XPC-FLD0239B + DISPLAY 'FLD0239B ==> ' FLD0239B + DISPLAY 'EXPECTED ==> ' XPC-FLD0239B. + IF FLD0240B (1:) NOT EQUAL XPC-FLD0240B + DISPLAY 'FLD0240B ==> ' FLD0240B + DISPLAY 'EXPECTED ==> ' XPC-FLD0240B. + IF FLD0241B (1:) NOT EQUAL XPC-FLD0241B + DISPLAY 'FLD0241B ==> ' FLD0241B + DISPLAY 'EXPECTED ==> ' XPC-FLD0241B. + IF FLD0242B (1:) NOT EQUAL XPC-FLD0242B + DISPLAY 'FLD0242B ==> ' FLD0242B + DISPLAY 'EXPECTED ==> ' XPC-FLD0242B. + IF FLD0243B (1:) NOT EQUAL XPC-FLD0243B + DISPLAY 'FLD0243B ==> ' FLD0243B + DISPLAY 'EXPECTED ==> ' XPC-FLD0243B. + IF FLD0244B (1:) NOT EQUAL XPC-FLD0244B + DISPLAY 'FLD0244B ==> ' FLD0244B + DISPLAY 'EXPECTED ==> ' XPC-FLD0244B. + IF FLD0245B (1:) NOT EQUAL XPC-FLD0245B + DISPLAY 'FLD0245B ==> ' FLD0245B + DISPLAY 'EXPECTED ==> ' XPC-FLD0245B. + IF FLD0246B (1:) NOT EQUAL XPC-FLD0246B + DISPLAY 'FLD0246B ==> ' FLD0246B + DISPLAY 'EXPECTED ==> ' XPC-FLD0246B. + IF FLD0247B (1:) NOT EQUAL XPC-FLD0247B + DISPLAY 'FLD0247B ==> ' FLD0247B + DISPLAY 'EXPECTED ==> ' XPC-FLD0247B. + IF FLD0248B (1:) NOT EQUAL XPC-FLD0248B + DISPLAY 'FLD0248B ==> ' FLD0248B + DISPLAY 'EXPECTED ==> ' XPC-FLD0248B. + IF FLD0249B (1:) NOT EQUAL XPC-FLD0249B + DISPLAY 'FLD0249B ==> ' FLD0249B + DISPLAY 'EXPECTED ==> ' XPC-FLD0249B. + IF FLD0250B (1:) NOT EQUAL XPC-FLD0250B + DISPLAY 'FLD0250B ==> ' FLD0250B + DISPLAY 'EXPECTED ==> ' XPC-FLD0250B. + IF FLD0251B (1:) NOT EQUAL XPC-FLD0251B + DISPLAY 'FLD0251B ==> ' FLD0251B + DISPLAY 'EXPECTED ==> ' XPC-FLD0251B. + IF FLD0252B (1:) NOT EQUAL XPC-FLD0252B + DISPLAY 'FLD0252B ==> ' FLD0252B + DISPLAY 'EXPECTED ==> ' XPC-FLD0252B. + IF FLD0253B (1:) NOT EQUAL XPC-FLD0253B + DISPLAY 'FLD0253B ==> ' FLD0253B + DISPLAY 'EXPECTED ==> ' XPC-FLD0253B. + IF FLD0254B (1:) NOT EQUAL XPC-FLD0254B + DISPLAY 'FLD0254B ==> ' FLD0254B + DISPLAY 'EXPECTED ==> ' XPC-FLD0254B. + IF FLD0255B (1:) NOT EQUAL XPC-FLD0255B + DISPLAY 'FLD0255B ==> ' FLD0255B + DISPLAY 'EXPECTED ==> ' XPC-FLD0255B. + IF FLD0256B (1:) NOT EQUAL XPC-FLD0256B + DISPLAY 'FLD0256B ==> ' FLD0256B + DISPLAY 'EXPECTED ==> ' XPC-FLD0256B. + IF FLD0257B (1:) NOT EQUAL XPC-FLD0257B + DISPLAY 'FLD0257B ==> ' FLD0257B + DISPLAY 'EXPECTED ==> ' XPC-FLD0257B. + IF FLD0258B (1:) NOT EQUAL XPC-FLD0258B + DISPLAY 'FLD0258B ==> ' FLD0258B + DISPLAY 'EXPECTED ==> ' XPC-FLD0258B. + IF FLD0259B (1:) NOT EQUAL XPC-FLD0259B + DISPLAY 'FLD0259B ==> ' FLD0259B + DISPLAY 'EXPECTED ==> ' XPC-FLD0259B. + IF FLD0260B (1:) NOT EQUAL XPC-FLD0260B + DISPLAY 'FLD0260B ==> ' FLD0260B + DISPLAY 'EXPECTED ==> ' XPC-FLD0260B. + IF FLD0261B (1:) NOT EQUAL XPC-FLD0261B + DISPLAY 'FLD0261B ==> ' FLD0261B + DISPLAY 'EXPECTED ==> ' XPC-FLD0261B. + IF FLD0262B (1:) NOT EQUAL XPC-FLD0262B + DISPLAY 'FLD0262B ==> ' FLD0262B + DISPLAY 'EXPECTED ==> ' XPC-FLD0262B. + IF FLD0263B (1:) NOT EQUAL XPC-FLD0263B + DISPLAY 'FLD0263B ==> ' FLD0263B + DISPLAY 'EXPECTED ==> ' XPC-FLD0263B. + IF FLD0264B (1:) NOT EQUAL XPC-FLD0264B + DISPLAY 'FLD0264B ==> ' FLD0264B + DISPLAY 'EXPECTED ==> ' XPC-FLD0264B. + IF FLD0265B (1:) NOT EQUAL XPC-FLD0265B + DISPLAY 'FLD0265B ==> ' FLD0265B + DISPLAY 'EXPECTED ==> ' XPC-FLD0265B. + IF FLD0266B (1:) NOT EQUAL XPC-FLD0266B + DISPLAY 'FLD0266B ==> ' FLD0266B + DISPLAY 'EXPECTED ==> ' XPC-FLD0266B. + IF FLD0267B (1:) NOT EQUAL XPC-FLD0267B + DISPLAY 'FLD0267B ==> ' FLD0267B + DISPLAY 'EXPECTED ==> ' XPC-FLD0267B. + IF FLD0268B (1:) NOT EQUAL XPC-FLD0268B + DISPLAY 'FLD0268B ==> ' FLD0268B + DISPLAY 'EXPECTED ==> ' XPC-FLD0268B. + IF FLD0269B (1:) NOT EQUAL XPC-FLD0269B + DISPLAY 'FLD0269B ==> ' FLD0269B + DISPLAY 'EXPECTED ==> ' XPC-FLD0269B. + IF FLD0270B (1:) NOT EQUAL XPC-FLD0270B + DISPLAY 'FLD0270B ==> ' FLD0270B + DISPLAY 'EXPECTED ==> ' XPC-FLD0270B. + IF FLD0271B (1:) NOT EQUAL XPC-FLD0271B + DISPLAY 'FLD0271B ==> ' FLD0271B + DISPLAY 'EXPECTED ==> ' XPC-FLD0271B. + IF FLD0272B (1:) NOT EQUAL XPC-FLD0272B + DISPLAY 'FLD0272B ==> ' FLD0272B + DISPLAY 'EXPECTED ==> ' XPC-FLD0272B. + IF FLD0273B (1:) NOT EQUAL XPC-FLD0273B + DISPLAY 'FLD0273B ==> ' FLD0273B + DISPLAY 'EXPECTED ==> ' XPC-FLD0273B. + IF FLD0274B (1:) NOT EQUAL XPC-FLD0274B + DISPLAY 'FLD0274B ==> ' FLD0274B + DISPLAY 'EXPECTED ==> ' XPC-FLD0274B. + IF FLD0275B (1:) NOT EQUAL XPC-FLD0275B + DISPLAY 'FLD0275B ==> ' FLD0275B + DISPLAY 'EXPECTED ==> ' XPC-FLD0275B. + IF FLD0276B (1:) NOT EQUAL XPC-FLD0276B + DISPLAY 'FLD0276B ==> ' FLD0276B + DISPLAY 'EXPECTED ==> ' XPC-FLD0276B. + IF FLD0277B (1:) NOT EQUAL XPC-FLD0277B + DISPLAY 'FLD0277B ==> ' FLD0277B + DISPLAY 'EXPECTED ==> ' XPC-FLD0277B. + IF FLD0278B (1:) NOT EQUAL XPC-FLD0278B + DISPLAY 'FLD0278B ==> ' FLD0278B + DISPLAY 'EXPECTED ==> ' XPC-FLD0278B. + IF FLD0279B (1:) NOT EQUAL XPC-FLD0279B + DISPLAY 'FLD0279B ==> ' FLD0279B + DISPLAY 'EXPECTED ==> ' XPC-FLD0279B. + IF FLD0280B (1:) NOT EQUAL XPC-FLD0280B + DISPLAY 'FLD0280B ==> ' FLD0280B + DISPLAY 'EXPECTED ==> ' XPC-FLD0280B. + IF FLD0281B (1:) NOT EQUAL XPC-FLD0281B + DISPLAY 'FLD0281B ==> ' FLD0281B + DISPLAY 'EXPECTED ==> ' XPC-FLD0281B. + IF FLD0282B (1:) NOT EQUAL XPC-FLD0282B + DISPLAY 'FLD0282B ==> ' FLD0282B + DISPLAY 'EXPECTED ==> ' XPC-FLD0282B. + IF FLD0283B (1:) NOT EQUAL XPC-FLD0283B + DISPLAY 'FLD0283B ==> ' FLD0283B + DISPLAY 'EXPECTED ==> ' XPC-FLD0283B. + IF FLD0284B (1:) NOT EQUAL XPC-FLD0284B + DISPLAY 'FLD0284B ==> ' FLD0284B + DISPLAY 'EXPECTED ==> ' XPC-FLD0284B. + IF FLD0285B (1:) NOT EQUAL XPC-FLD0285B + DISPLAY 'FLD0285B ==> ' FLD0285B + DISPLAY 'EXPECTED ==> ' XPC-FLD0285B. + IF FLD0286B (1:) NOT EQUAL XPC-FLD0286B + DISPLAY 'FLD0286B ==> ' FLD0286B + DISPLAY 'EXPECTED ==> ' XPC-FLD0286B. + IF FLD0287B (1:) NOT EQUAL XPC-FLD0287B + DISPLAY 'FLD0287B ==> ' FLD0287B + DISPLAY 'EXPECTED ==> ' XPC-FLD0287B. + IF FLD0288B (1:) NOT EQUAL XPC-FLD0288B + DISPLAY 'FLD0288B ==> ' FLD0288B + DISPLAY 'EXPECTED ==> ' XPC-FLD0288B. + IF FLD0289B (1:) NOT EQUAL XPC-FLD0289B + DISPLAY 'FLD0289B ==> ' FLD0289B + DISPLAY 'EXPECTED ==> ' XPC-FLD0289B. + IF FLD0290B (1:) NOT EQUAL XPC-FLD0290B + DISPLAY 'FLD0290B ==> ' FLD0290B + DISPLAY 'EXPECTED ==> ' XPC-FLD0290B. + IF FLD0291B (1:) NOT EQUAL XPC-FLD0291B + DISPLAY 'FLD0291B ==> ' FLD0291B + DISPLAY 'EXPECTED ==> ' XPC-FLD0291B. + IF FLD0292B (1:) NOT EQUAL XPC-FLD0292B + DISPLAY 'FLD0292B ==> ' FLD0292B + DISPLAY 'EXPECTED ==> ' XPC-FLD0292B. + IF FLD0293B (1:) NOT EQUAL XPC-FLD0293B + DISPLAY 'FLD0293B ==> ' FLD0293B + DISPLAY 'EXPECTED ==> ' XPC-FLD0293B. + IF FLD0294B (1:) NOT EQUAL XPC-FLD0294B + DISPLAY 'FLD0294B ==> ' FLD0294B + DISPLAY 'EXPECTED ==> ' XPC-FLD0294B. + IF FLD0295B (1:) NOT EQUAL XPC-FLD0295B + DISPLAY 'FLD0295B ==> ' FLD0295B + DISPLAY 'EXPECTED ==> ' XPC-FLD0295B. + IF FLD0296B (1:) NOT EQUAL XPC-FLD0296B + DISPLAY 'FLD0296B ==> ' FLD0296B + DISPLAY 'EXPECTED ==> ' XPC-FLD0296B. + IF FLD0297B (1:) NOT EQUAL XPC-FLD0297B + DISPLAY 'FLD0297B ==> ' FLD0297B + DISPLAY 'EXPECTED ==> ' XPC-FLD0297B. + IF FLD0298B (1:) NOT EQUAL XPC-FLD0298B + DISPLAY 'FLD0298B ==> ' FLD0298B + DISPLAY 'EXPECTED ==> ' XPC-FLD0298B. + IF FLD0299B (1:) NOT EQUAL XPC-FLD0299B + DISPLAY 'FLD0299B ==> ' FLD0299B + DISPLAY 'EXPECTED ==> ' XPC-FLD0299B. + IF FLD0300B (1:) NOT EQUAL XPC-FLD0300B + DISPLAY 'FLD0300B ==> ' FLD0300B + DISPLAY 'EXPECTED ==> ' XPC-FLD0300B. + IF FLD0301B (1:) NOT EQUAL XPC-FLD0301B + DISPLAY 'FLD0301B ==> ' FLD0301B + DISPLAY 'EXPECTED ==> ' XPC-FLD0301B. + IF FLD0302B (1:) NOT EQUAL XPC-FLD0302B + DISPLAY 'FLD0302B ==> ' FLD0302B + DISPLAY 'EXPECTED ==> ' XPC-FLD0302B. + IF FLD0303B (1:) NOT EQUAL XPC-FLD0303B + DISPLAY 'FLD0303B ==> ' FLD0303B + DISPLAY 'EXPECTED ==> ' XPC-FLD0303B. + IF FLD0304B (1:) NOT EQUAL XPC-FLD0304B + DISPLAY 'FLD0304B ==> ' FLD0304B + DISPLAY 'EXPECTED ==> ' XPC-FLD0304B. + IF FLD0305B (1:) NOT EQUAL XPC-FLD0305B + DISPLAY 'FLD0305B ==> ' FLD0305B + DISPLAY 'EXPECTED ==> ' XPC-FLD0305B. + IF FLD0306B (1:) NOT EQUAL XPC-FLD0306B + DISPLAY 'FLD0306B ==> ' FLD0306B + DISPLAY 'EXPECTED ==> ' XPC-FLD0306B. + IF FLD0307B (1:) NOT EQUAL XPC-FLD0307B + DISPLAY 'FLD0307B ==> ' FLD0307B + DISPLAY 'EXPECTED ==> ' XPC-FLD0307B. + IF FLD0308B (1:) NOT EQUAL XPC-FLD0308B + DISPLAY 'FLD0308B ==> ' FLD0308B + DISPLAY 'EXPECTED ==> ' XPC-FLD0308B. + IF FLD0309B (1:) NOT EQUAL XPC-FLD0309B + DISPLAY 'FLD0309B ==> ' FLD0309B + DISPLAY 'EXPECTED ==> ' XPC-FLD0309B. + IF FLD0310B (1:) NOT EQUAL XPC-FLD0310B + DISPLAY 'FLD0310B ==> ' FLD0310B + DISPLAY 'EXPECTED ==> ' XPC-FLD0310B. + IF FLD0311B (1:) NOT EQUAL XPC-FLD0311B + DISPLAY 'FLD0311B ==> ' FLD0311B + DISPLAY 'EXPECTED ==> ' XPC-FLD0311B. + IF FLD0312B (1:) NOT EQUAL XPC-FLD0312B + DISPLAY 'FLD0312B ==> ' FLD0312B + DISPLAY 'EXPECTED ==> ' XPC-FLD0312B. + IF FLD0313B (1:) NOT EQUAL XPC-FLD0313B + DISPLAY 'FLD0313B ==> ' FLD0313B + DISPLAY 'EXPECTED ==> ' XPC-FLD0313B. + IF FLD0314B (1:) NOT EQUAL XPC-FLD0314B + DISPLAY 'FLD0314B ==> ' FLD0314B + DISPLAY 'EXPECTED ==> ' XPC-FLD0314B. + IF FLD0315B (1:) NOT EQUAL XPC-FLD0315B + DISPLAY 'FLD0315B ==> ' FLD0315B + DISPLAY 'EXPECTED ==> ' XPC-FLD0315B. + IF FLD0316B (1:) NOT EQUAL XPC-FLD0316B + DISPLAY 'FLD0316B ==> ' FLD0316B + DISPLAY 'EXPECTED ==> ' XPC-FLD0316B. + IF FLD0317B (1:) NOT EQUAL XPC-FLD0317B + DISPLAY 'FLD0317B ==> ' FLD0317B + DISPLAY 'EXPECTED ==> ' XPC-FLD0317B. + IF FLD0318B (1:) NOT EQUAL XPC-FLD0318B + DISPLAY 'FLD0318B ==> ' FLD0318B + DISPLAY 'EXPECTED ==> ' XPC-FLD0318B. + IF FLD0319B (1:) NOT EQUAL XPC-FLD0319B + DISPLAY 'FLD0319B ==> ' FLD0319B + DISPLAY 'EXPECTED ==> ' XPC-FLD0319B. + IF FLD0320B (1:) NOT EQUAL XPC-FLD0320B + DISPLAY 'FLD0320B ==> ' FLD0320B + DISPLAY 'EXPECTED ==> ' XPC-FLD0320B. + IF FLD0321B (1:) NOT EQUAL XPC-FLD0321B + DISPLAY 'FLD0321B ==> ' FLD0321B + DISPLAY 'EXPECTED ==> ' XPC-FLD0321B. + IF FLD0322B (1:) NOT EQUAL XPC-FLD0322B + DISPLAY 'FLD0322B ==> ' FLD0322B + DISPLAY 'EXPECTED ==> ' XPC-FLD0322B. + IF FLD0323B (1:) NOT EQUAL XPC-FLD0323B + DISPLAY 'FLD0323B ==> ' FLD0323B + DISPLAY 'EXPECTED ==> ' XPC-FLD0323B. + IF FLD0324B (1:) NOT EQUAL XPC-FLD0324B + DISPLAY 'FLD0324B ==> ' FLD0324B + DISPLAY 'EXPECTED ==> ' XPC-FLD0324B. + IF FLD0325B (1:) NOT EQUAL XPC-FLD0325B + DISPLAY 'FLD0325B ==> ' FLD0325B + DISPLAY 'EXPECTED ==> ' XPC-FLD0325B. + IF FLD0326B (1:) NOT EQUAL XPC-FLD0326B + DISPLAY 'FLD0326B ==> ' FLD0326B + DISPLAY 'EXPECTED ==> ' XPC-FLD0326B. + IF FLD0327B (1:) NOT EQUAL XPC-FLD0327B + DISPLAY 'FLD0327B ==> ' FLD0327B + DISPLAY 'EXPECTED ==> ' XPC-FLD0327B. + IF FLD0328B (1:) NOT EQUAL XPC-FLD0328B + DISPLAY 'FLD0328B ==> ' FLD0328B + DISPLAY 'EXPECTED ==> ' XPC-FLD0328B. + IF FLD0329B (1:) NOT EQUAL XPC-FLD0329B + DISPLAY 'FLD0329B ==> ' FLD0329B + DISPLAY 'EXPECTED ==> ' XPC-FLD0329B. + IF FLD0330B (1:) NOT EQUAL XPC-FLD0330B + DISPLAY 'FLD0330B ==> ' FLD0330B + DISPLAY 'EXPECTED ==> ' XPC-FLD0330B. + IF FLD0331B (1:) NOT EQUAL XPC-FLD0331B + DISPLAY 'FLD0331B ==> ' FLD0331B + DISPLAY 'EXPECTED ==> ' XPC-FLD0331B. + IF FLD0332B (1:) NOT EQUAL XPC-FLD0332B + DISPLAY 'FLD0332B ==> ' FLD0332B + DISPLAY 'EXPECTED ==> ' XPC-FLD0332B. + IF FLD0333B (1:) NOT EQUAL XPC-FLD0333B + DISPLAY 'FLD0333B ==> ' FLD0333B + DISPLAY 'EXPECTED ==> ' XPC-FLD0333B. + IF FLD0334B (1:) NOT EQUAL XPC-FLD0334B + DISPLAY 'FLD0334B ==> ' FLD0334B + DISPLAY 'EXPECTED ==> ' XPC-FLD0334B. + IF FLD0335B (1:) NOT EQUAL XPC-FLD0335B + DISPLAY 'FLD0335B ==> ' FLD0335B + DISPLAY 'EXPECTED ==> ' XPC-FLD0335B. + IF FLD0336B (1:) NOT EQUAL XPC-FLD0336B + DISPLAY 'FLD0336B ==> ' FLD0336B + DISPLAY 'EXPECTED ==> ' XPC-FLD0336B. + IF FLD0337B (1:) NOT EQUAL XPC-FLD0337B + DISPLAY 'FLD0337B ==> ' FLD0337B + DISPLAY 'EXPECTED ==> ' XPC-FLD0337B. + IF FLD0338B (1:) NOT EQUAL XPC-FLD0338B + DISPLAY 'FLD0338B ==> ' FLD0338B + DISPLAY 'EXPECTED ==> ' XPC-FLD0338B. + IF FLD0339B (1:) NOT EQUAL XPC-FLD0339B + DISPLAY 'FLD0339B ==> ' FLD0339B + DISPLAY 'EXPECTED ==> ' XPC-FLD0339B. + IF FLD0340B (1:) NOT EQUAL XPC-FLD0340B + DISPLAY 'FLD0340B ==> ' FLD0340B + DISPLAY 'EXPECTED ==> ' XPC-FLD0340B. + IF FLD0341B (1:) NOT EQUAL XPC-FLD0341B + DISPLAY 'FLD0341B ==> ' FLD0341B + DISPLAY 'EXPECTED ==> ' XPC-FLD0341B. + IF FLD0342B (1:) NOT EQUAL XPC-FLD0342B + DISPLAY 'FLD0342B ==> ' FLD0342B + DISPLAY 'EXPECTED ==> ' XPC-FLD0342B. + IF FLD0343B (1:) NOT EQUAL XPC-FLD0343B + DISPLAY 'FLD0343B ==> ' FLD0343B + DISPLAY 'EXPECTED ==> ' XPC-FLD0343B. + IF FLD0344B (1:) NOT EQUAL XPC-FLD0344B + DISPLAY 'FLD0344B ==> ' FLD0344B + DISPLAY 'EXPECTED ==> ' XPC-FLD0344B. + IF FLD0345B (1:) NOT EQUAL XPC-FLD0345B + DISPLAY 'FLD0345B ==> ' FLD0345B + DISPLAY 'EXPECTED ==> ' XPC-FLD0345B. + IF FLD0346B (1:) NOT EQUAL XPC-FLD0346B + DISPLAY 'FLD0346B ==> ' FLD0346B + DISPLAY 'EXPECTED ==> ' XPC-FLD0346B. + IF FLD0347B (1:) NOT EQUAL XPC-FLD0347B + DISPLAY 'FLD0347B ==> ' FLD0347B + DISPLAY 'EXPECTED ==> ' XPC-FLD0347B. + IF FLD0348B (1:) NOT EQUAL XPC-FLD0348B + DISPLAY 'FLD0348B ==> ' FLD0348B + DISPLAY 'EXPECTED ==> ' XPC-FLD0348B. + IF FLD0349B (1:) NOT EQUAL XPC-FLD0349B + DISPLAY 'FLD0349B ==> ' FLD0349B + DISPLAY 'EXPECTED ==> ' XPC-FLD0349B. + IF FLD0350B (1:) NOT EQUAL XPC-FLD0350B + DISPLAY 'FLD0350B ==> ' FLD0350B + DISPLAY 'EXPECTED ==> ' XPC-FLD0350B. + IF FLD0351B (1:) NOT EQUAL XPC-FLD0351B + DISPLAY 'FLD0351B ==> ' FLD0351B + DISPLAY 'EXPECTED ==> ' XPC-FLD0351B. + IF FLD0352B (1:) NOT EQUAL XPC-FLD0352B + DISPLAY 'FLD0352B ==> ' FLD0352B + DISPLAY 'EXPECTED ==> ' XPC-FLD0352B. + IF FLD0353B (1:) NOT EQUAL XPC-FLD0353B + DISPLAY 'FLD0353B ==> ' FLD0353B + DISPLAY 'EXPECTED ==> ' XPC-FLD0353B. + IF FLD0354B (1:) NOT EQUAL XPC-FLD0354B + DISPLAY 'FLD0354B ==> ' FLD0354B + DISPLAY 'EXPECTED ==> ' XPC-FLD0354B. + IF FLD0355B (1:) NOT EQUAL XPC-FLD0355B + DISPLAY 'FLD0355B ==> ' FLD0355B + DISPLAY 'EXPECTED ==> ' XPC-FLD0355B. + IF FLD0356B (1:) NOT EQUAL XPC-FLD0356B + DISPLAY 'FLD0356B ==> ' FLD0356B + DISPLAY 'EXPECTED ==> ' XPC-FLD0356B. + IF FLD0357B (1:) NOT EQUAL XPC-FLD0357B + DISPLAY 'FLD0357B ==> ' FLD0357B + DISPLAY 'EXPECTED ==> ' XPC-FLD0357B. + IF FLD0358B (1:) NOT EQUAL XPC-FLD0358B + DISPLAY 'FLD0358B ==> ' FLD0358B + DISPLAY 'EXPECTED ==> ' XPC-FLD0358B. + IF FLD0359B (1:) NOT EQUAL XPC-FLD0359B + DISPLAY 'FLD0359B ==> ' FLD0359B + DISPLAY 'EXPECTED ==> ' XPC-FLD0359B. + IF FLD0360B (1:) NOT EQUAL XPC-FLD0360B + DISPLAY 'FLD0360B ==> ' FLD0360B + DISPLAY 'EXPECTED ==> ' XPC-FLD0360B. + IF FLD0361B (1:) NOT EQUAL XPC-FLD0361B + DISPLAY 'FLD0361B ==> ' FLD0361B + DISPLAY 'EXPECTED ==> ' XPC-FLD0361B. + IF FLD0362B (1:) NOT EQUAL XPC-FLD0362B + DISPLAY 'FLD0362B ==> ' FLD0362B + DISPLAY 'EXPECTED ==> ' XPC-FLD0362B. + IF FLD0363B (1:) NOT EQUAL XPC-FLD0363B + DISPLAY 'FLD0363B ==> ' FLD0363B + DISPLAY 'EXPECTED ==> ' XPC-FLD0363B. + IF FLD0364B (1:) NOT EQUAL XPC-FLD0364B + DISPLAY 'FLD0364B ==> ' FLD0364B + DISPLAY 'EXPECTED ==> ' XPC-FLD0364B. + IF FLD0365B (1:) NOT EQUAL XPC-FLD0365B + DISPLAY 'FLD0365B ==> ' FLD0365B + DISPLAY 'EXPECTED ==> ' XPC-FLD0365B. + IF FLD0366B (1:) NOT EQUAL XPC-FLD0366B + DISPLAY 'FLD0366B ==> ' FLD0366B + DISPLAY 'EXPECTED ==> ' XPC-FLD0366B. + IF FLD0367B (1:) NOT EQUAL XPC-FLD0367B + DISPLAY 'FLD0367B ==> ' FLD0367B + DISPLAY 'EXPECTED ==> ' XPC-FLD0367B. + IF FLD0368B (1:) NOT EQUAL XPC-FLD0368B + DISPLAY 'FLD0368B ==> ' FLD0368B + DISPLAY 'EXPECTED ==> ' XPC-FLD0368B. + IF FLD0369B (1:) NOT EQUAL XPC-FLD0369B + DISPLAY 'FLD0369B ==> ' FLD0369B + DISPLAY 'EXPECTED ==> ' XPC-FLD0369B. + IF FLD0370B (1:) NOT EQUAL XPC-FLD0370B + DISPLAY 'FLD0370B ==> ' FLD0370B + DISPLAY 'EXPECTED ==> ' XPC-FLD0370B. + IF FLD0371B (1:) NOT EQUAL XPC-FLD0371B + DISPLAY 'FLD0371B ==> ' FLD0371B + DISPLAY 'EXPECTED ==> ' XPC-FLD0371B. + IF FLD0372B (1:) NOT EQUAL XPC-FLD0372B + DISPLAY 'FLD0372B ==> ' FLD0372B + DISPLAY 'EXPECTED ==> ' XPC-FLD0372B. + IF FLD0373B (1:) NOT EQUAL XPC-FLD0373B + DISPLAY 'FLD0373B ==> ' FLD0373B + DISPLAY 'EXPECTED ==> ' XPC-FLD0373B. + IF FLD0374B (1:) NOT EQUAL XPC-FLD0374B + DISPLAY 'FLD0374B ==> ' FLD0374B + DISPLAY 'EXPECTED ==> ' XPC-FLD0374B. + IF FLD0375B (1:) NOT EQUAL XPC-FLD0375B + DISPLAY 'FLD0375B ==> ' FLD0375B + DISPLAY 'EXPECTED ==> ' XPC-FLD0375B. + IF FLD0376B (1:) NOT EQUAL XPC-FLD0376B + DISPLAY 'FLD0376B ==> ' FLD0376B + DISPLAY 'EXPECTED ==> ' XPC-FLD0376B. + IF FLD0377B (1:) NOT EQUAL XPC-FLD0377B + DISPLAY 'FLD0377B ==> ' FLD0377B + DISPLAY 'EXPECTED ==> ' XPC-FLD0377B. + IF FLD0378B (1:) NOT EQUAL XPC-FLD0378B + DISPLAY 'FLD0378B ==> ' FLD0378B + DISPLAY 'EXPECTED ==> ' XPC-FLD0378B. + IF FLD0379B (1:) NOT EQUAL XPC-FLD0379B + DISPLAY 'FLD0379B ==> ' FLD0379B + DISPLAY 'EXPECTED ==> ' XPC-FLD0379B. + IF FLD0380B (1:) NOT EQUAL XPC-FLD0380B + DISPLAY 'FLD0380B ==> ' FLD0380B + DISPLAY 'EXPECTED ==> ' XPC-FLD0380B. + IF FLD0381B (1:) NOT EQUAL XPC-FLD0381B + DISPLAY 'FLD0381B ==> ' FLD0381B + DISPLAY 'EXPECTED ==> ' XPC-FLD0381B. + IF FLD0382B (1:) NOT EQUAL XPC-FLD0382B + DISPLAY 'FLD0382B ==> ' FLD0382B + DISPLAY 'EXPECTED ==> ' XPC-FLD0382B. + IF FLD0383B (1:) NOT EQUAL XPC-FLD0383B + DISPLAY 'FLD0383B ==> ' FLD0383B + DISPLAY 'EXPECTED ==> ' XPC-FLD0383B. + IF FLD0384B (1:) NOT EQUAL XPC-FLD0384B + DISPLAY 'FLD0384B ==> ' FLD0384B + DISPLAY 'EXPECTED ==> ' XPC-FLD0384B. + IF FLD0385B (1:) NOT EQUAL XPC-FLD0385B + DISPLAY 'FLD0385B ==> ' FLD0385B + DISPLAY 'EXPECTED ==> ' XPC-FLD0385B. + IF FLD0386B (1:) NOT EQUAL XPC-FLD0386B + DISPLAY 'FLD0386B ==> ' FLD0386B + DISPLAY 'EXPECTED ==> ' XPC-FLD0386B. + IF FLD0387B (1:) NOT EQUAL XPC-FLD0387B + DISPLAY 'FLD0387B ==> ' FLD0387B + DISPLAY 'EXPECTED ==> ' XPC-FLD0387B. + IF FLD0388B (1:) NOT EQUAL XPC-FLD0388B + DISPLAY 'FLD0388B ==> ' FLD0388B + DISPLAY 'EXPECTED ==> ' XPC-FLD0388B. + IF FLD0389B (1:) NOT EQUAL XPC-FLD0389B + DISPLAY 'FLD0389B ==> ' FLD0389B + DISPLAY 'EXPECTED ==> ' XPC-FLD0389B. + IF FLD0390B (1:) NOT EQUAL XPC-FLD0390B + DISPLAY 'FLD0390B ==> ' FLD0390B + DISPLAY 'EXPECTED ==> ' XPC-FLD0390B. + IF FLD0391B (1:) NOT EQUAL XPC-FLD0391B + DISPLAY 'FLD0391B ==> ' FLD0391B + DISPLAY 'EXPECTED ==> ' XPC-FLD0391B. + IF FLD0392B (1:) NOT EQUAL XPC-FLD0392B + DISPLAY 'FLD0392B ==> ' FLD0392B + DISPLAY 'EXPECTED ==> ' XPC-FLD0392B. + IF FLD0393B (1:) NOT EQUAL XPC-FLD0393B + DISPLAY 'FLD0393B ==> ' FLD0393B + DISPLAY 'EXPECTED ==> ' XPC-FLD0393B. + IF FLD0394B (1:) NOT EQUAL XPC-FLD0394B + DISPLAY 'FLD0394B ==> ' FLD0394B + DISPLAY 'EXPECTED ==> ' XPC-FLD0394B. + IF FLD0395B (1:) NOT EQUAL XPC-FLD0395B + DISPLAY 'FLD0395B ==> ' FLD0395B + DISPLAY 'EXPECTED ==> ' XPC-FLD0395B. + IF FLD0396B (1:) NOT EQUAL XPC-FLD0396B + DISPLAY 'FLD0396B ==> ' FLD0396B + DISPLAY 'EXPECTED ==> ' XPC-FLD0396B. + IF FLD0397B (1:) NOT EQUAL XPC-FLD0397B + DISPLAY 'FLD0397B ==> ' FLD0397B + DISPLAY 'EXPECTED ==> ' XPC-FLD0397B. + IF FLD0398B (1:) NOT EQUAL XPC-FLD0398B + DISPLAY 'FLD0398B ==> ' FLD0398B + DISPLAY 'EXPECTED ==> ' XPC-FLD0398B. + IF FLD0399B (1:) NOT EQUAL XPC-FLD0399B + DISPLAY 'FLD0399B ==> ' FLD0399B + DISPLAY 'EXPECTED ==> ' XPC-FLD0399B. + IF FLD0400B (1:) NOT EQUAL XPC-FLD0400B + DISPLAY 'FLD0400B ==> ' FLD0400B + DISPLAY 'EXPECTED ==> ' XPC-FLD0400B. + IF FLD0401B (1:) NOT EQUAL XPC-FLD0401B + DISPLAY 'FLD0401B ==> ' FLD0401B + DISPLAY 'EXPECTED ==> ' XPC-FLD0401B. + IF FLD0402B (1:) NOT EQUAL XPC-FLD0402B + DISPLAY 'FLD0402B ==> ' FLD0402B + DISPLAY 'EXPECTED ==> ' XPC-FLD0402B. + IF FLD0403B (1:) NOT EQUAL XPC-FLD0403B + DISPLAY 'FLD0403B ==> ' FLD0403B + DISPLAY 'EXPECTED ==> ' XPC-FLD0403B. + IF FLD0404B (1:) NOT EQUAL XPC-FLD0404B + DISPLAY 'FLD0404B ==> ' FLD0404B + DISPLAY 'EXPECTED ==> ' XPC-FLD0404B. + IF FLD0405B (1:) NOT EQUAL XPC-FLD0405B + DISPLAY 'FLD0405B ==> ' FLD0405B + DISPLAY 'EXPECTED ==> ' XPC-FLD0405B. + IF FLD0406B (1:) NOT EQUAL XPC-FLD0406B + DISPLAY 'FLD0406B ==> ' FLD0406B + DISPLAY 'EXPECTED ==> ' XPC-FLD0406B. + IF FLD0407B (1:) NOT EQUAL XPC-FLD0407B + DISPLAY 'FLD0407B ==> ' FLD0407B + DISPLAY 'EXPECTED ==> ' XPC-FLD0407B. + IF FLD0408B (1:) NOT EQUAL XPC-FLD0408B + DISPLAY 'FLD0408B ==> ' FLD0408B + DISPLAY 'EXPECTED ==> ' XPC-FLD0408B. + IF FLD0409B (1:) NOT EQUAL XPC-FLD0409B + DISPLAY 'FLD0409B ==> ' FLD0409B + DISPLAY 'EXPECTED ==> ' XPC-FLD0409B. + IF FLD0410B (1:) NOT EQUAL XPC-FLD0410B + DISPLAY 'FLD0410B ==> ' FLD0410B + DISPLAY 'EXPECTED ==> ' XPC-FLD0410B. + IF FLD0411B (1:) NOT EQUAL XPC-FLD0411B + DISPLAY 'FLD0411B ==> ' FLD0411B + DISPLAY 'EXPECTED ==> ' XPC-FLD0411B. + IF FLD0412B (1:) NOT EQUAL XPC-FLD0412B + DISPLAY 'FLD0412B ==> ' FLD0412B + DISPLAY 'EXPECTED ==> ' XPC-FLD0412B. + IF FLD0413B (1:) NOT EQUAL XPC-FLD0413B + DISPLAY 'FLD0413B ==> ' FLD0413B + DISPLAY 'EXPECTED ==> ' XPC-FLD0413B. + IF FLD0414B (1:) NOT EQUAL XPC-FLD0414B + DISPLAY 'FLD0414B ==> ' FLD0414B + DISPLAY 'EXPECTED ==> ' XPC-FLD0414B. + IF FLD0415B (1:) NOT EQUAL XPC-FLD0415B + DISPLAY 'FLD0415B ==> ' FLD0415B + DISPLAY 'EXPECTED ==> ' XPC-FLD0415B. + IF FLD0416B (1:) NOT EQUAL XPC-FLD0416B + DISPLAY 'FLD0416B ==> ' FLD0416B + DISPLAY 'EXPECTED ==> ' XPC-FLD0416B. + IF FLD0417B (1:) NOT EQUAL XPC-FLD0417B + DISPLAY 'FLD0417B ==> ' FLD0417B + DISPLAY 'EXPECTED ==> ' XPC-FLD0417B. + IF FLD0418B (1:) NOT EQUAL XPC-FLD0418B + DISPLAY 'FLD0418B ==> ' FLD0418B + DISPLAY 'EXPECTED ==> ' XPC-FLD0418B. + IF FLD0419B (1:) NOT EQUAL XPC-FLD0419B + DISPLAY 'FLD0419B ==> ' FLD0419B + DISPLAY 'EXPECTED ==> ' XPC-FLD0419B. + IF FLD0420B (1:) NOT EQUAL XPC-FLD0420B + DISPLAY 'FLD0420B ==> ' FLD0420B + DISPLAY 'EXPECTED ==> ' XPC-FLD0420B. + IF FLD0421B (1:) NOT EQUAL XPC-FLD0421B + DISPLAY 'FLD0421B ==> ' FLD0421B + DISPLAY 'EXPECTED ==> ' XPC-FLD0421B. + IF FLD0422B (1:) NOT EQUAL XPC-FLD0422B + DISPLAY 'FLD0422B ==> ' FLD0422B + DISPLAY 'EXPECTED ==> ' XPC-FLD0422B. + IF FLD0423B (1:) NOT EQUAL XPC-FLD0423B + DISPLAY 'FLD0423B ==> ' FLD0423B + DISPLAY 'EXPECTED ==> ' XPC-FLD0423B. + IF FLD0424B (1:) NOT EQUAL XPC-FLD0424B + DISPLAY 'FLD0424B ==> ' FLD0424B + DISPLAY 'EXPECTED ==> ' XPC-FLD0424B. + IF FLD0425B (1:) NOT EQUAL XPC-FLD0425B + DISPLAY 'FLD0425B ==> ' FLD0425B + DISPLAY 'EXPECTED ==> ' XPC-FLD0425B. + IF FLD0426B (1:) NOT EQUAL XPC-FLD0426B + DISPLAY 'FLD0426B ==> ' FLD0426B + DISPLAY 'EXPECTED ==> ' XPC-FLD0426B. + IF FLD0427B (1:) NOT EQUAL XPC-FLD0427B + DISPLAY 'FLD0427B ==> ' FLD0427B + DISPLAY 'EXPECTED ==> ' XPC-FLD0427B. + IF FLD0428B (1:) NOT EQUAL XPC-FLD0428B + DISPLAY 'FLD0428B ==> ' FLD0428B + DISPLAY 'EXPECTED ==> ' XPC-FLD0428B. + IF FLD0429B (1:) NOT EQUAL XPC-FLD0429B + DISPLAY 'FLD0429B ==> ' FLD0429B + DISPLAY 'EXPECTED ==> ' XPC-FLD0429B. + IF FLD0430B (1:) NOT EQUAL XPC-FLD0430B + DISPLAY 'FLD0430B ==> ' FLD0430B + DISPLAY 'EXPECTED ==> ' XPC-FLD0430B. + IF FLD0431B (1:) NOT EQUAL XPC-FLD0431B + DISPLAY 'FLD0431B ==> ' FLD0431B + DISPLAY 'EXPECTED ==> ' XPC-FLD0431B. + IF FLD0432B (1:) NOT EQUAL XPC-FLD0432B + DISPLAY 'FLD0432B ==> ' FLD0432B + DISPLAY 'EXPECTED ==> ' XPC-FLD0432B. + IF FLD0433B (1:) NOT EQUAL XPC-FLD0433B + DISPLAY 'FLD0433B ==> ' FLD0433B + DISPLAY 'EXPECTED ==> ' XPC-FLD0433B. + IF FLD0434B (1:) NOT EQUAL XPC-FLD0434B + DISPLAY 'FLD0434B ==> ' FLD0434B + DISPLAY 'EXPECTED ==> ' XPC-FLD0434B. + IF FLD0435B (1:) NOT EQUAL XPC-FLD0435B + DISPLAY 'FLD0435B ==> ' FLD0435B + DISPLAY 'EXPECTED ==> ' XPC-FLD0435B. + IF FLD0436B (1:) NOT EQUAL XPC-FLD0436B + DISPLAY 'FLD0436B ==> ' FLD0436B + DISPLAY 'EXPECTED ==> ' XPC-FLD0436B. + IF FLD0437B (1:) NOT EQUAL XPC-FLD0437B + DISPLAY 'FLD0437B ==> ' FLD0437B + DISPLAY 'EXPECTED ==> ' XPC-FLD0437B. + IF FLD0438B (1:) NOT EQUAL XPC-FLD0438B + DISPLAY 'FLD0438B ==> ' FLD0438B + DISPLAY 'EXPECTED ==> ' XPC-FLD0438B. + IF FLD0439B (1:) NOT EQUAL XPC-FLD0439B + DISPLAY 'FLD0439B ==> ' FLD0439B + DISPLAY 'EXPECTED ==> ' XPC-FLD0439B. + IF FLD0440B (1:) NOT EQUAL XPC-FLD0440B + DISPLAY 'FLD0440B ==> ' FLD0440B + DISPLAY 'EXPECTED ==> ' XPC-FLD0440B. + IF FLD0441B (1:) NOT EQUAL XPC-FLD0441B + DISPLAY 'FLD0441B ==> ' FLD0441B + DISPLAY 'EXPECTED ==> ' XPC-FLD0441B. + IF FLD0442B (1:) NOT EQUAL XPC-FLD0442B + DISPLAY 'FLD0442B ==> ' FLD0442B + DISPLAY 'EXPECTED ==> ' XPC-FLD0442B. + IF FLD0443B (1:) NOT EQUAL XPC-FLD0443B + DISPLAY 'FLD0443B ==> ' FLD0443B + DISPLAY 'EXPECTED ==> ' XPC-FLD0443B. + IF FLD0444B (1:) NOT EQUAL XPC-FLD0444B + DISPLAY 'FLD0444B ==> ' FLD0444B + DISPLAY 'EXPECTED ==> ' XPC-FLD0444B. + IF FLD0445B (1:) NOT EQUAL XPC-FLD0445B + DISPLAY 'FLD0445B ==> ' FLD0445B + DISPLAY 'EXPECTED ==> ' XPC-FLD0445B. + IF FLD0446B (1:) NOT EQUAL XPC-FLD0446B + DISPLAY 'FLD0446B ==> ' FLD0446B + DISPLAY 'EXPECTED ==> ' XPC-FLD0446B. + IF FLD0447B (1:) NOT EQUAL XPC-FLD0447B + DISPLAY 'FLD0447B ==> ' FLD0447B + DISPLAY 'EXPECTED ==> ' XPC-FLD0447B. + IF FLD0448B (1:) NOT EQUAL XPC-FLD0448B + DISPLAY 'FLD0448B ==> ' FLD0448B + DISPLAY 'EXPECTED ==> ' XPC-FLD0448B. + IF FLD0449B (1:) NOT EQUAL XPC-FLD0449B + DISPLAY 'FLD0449B ==> ' FLD0449B + DISPLAY 'EXPECTED ==> ' XPC-FLD0449B. + IF FLD0450B (1:) NOT EQUAL XPC-FLD0450B + DISPLAY 'FLD0450B ==> ' FLD0450B + DISPLAY 'EXPECTED ==> ' XPC-FLD0450B. + IF FLD0451B (1:) NOT EQUAL XPC-FLD0451B + DISPLAY 'FLD0451B ==> ' FLD0451B + DISPLAY 'EXPECTED ==> ' XPC-FLD0451B. + IF FLD0452B (1:) NOT EQUAL XPC-FLD0452B + DISPLAY 'FLD0452B ==> ' FLD0452B + DISPLAY 'EXPECTED ==> ' XPC-FLD0452B. + IF FLD0453B (1:) NOT EQUAL XPC-FLD0453B + DISPLAY 'FLD0453B ==> ' FLD0453B + DISPLAY 'EXPECTED ==> ' XPC-FLD0453B. + IF FLD0454B (1:) NOT EQUAL XPC-FLD0454B + DISPLAY 'FLD0454B ==> ' FLD0454B + DISPLAY 'EXPECTED ==> ' XPC-FLD0454B. + IF FLD0455B (1:) NOT EQUAL XPC-FLD0455B + DISPLAY 'FLD0455B ==> ' FLD0455B + DISPLAY 'EXPECTED ==> ' XPC-FLD0455B. + IF FLD0456B (1:) NOT EQUAL XPC-FLD0456B + DISPLAY 'FLD0456B ==> ' FLD0456B + DISPLAY 'EXPECTED ==> ' XPC-FLD0456B. + IF FLD0457B (1:) NOT EQUAL XPC-FLD0457B + DISPLAY 'FLD0457B ==> ' FLD0457B + DISPLAY 'EXPECTED ==> ' XPC-FLD0457B. + IF FLD0458B (1:) NOT EQUAL XPC-FLD0458B + DISPLAY 'FLD0458B ==> ' FLD0458B + DISPLAY 'EXPECTED ==> ' XPC-FLD0458B. + IF FLD0459B (1:) NOT EQUAL XPC-FLD0459B + DISPLAY 'FLD0459B ==> ' FLD0459B + DISPLAY 'EXPECTED ==> ' XPC-FLD0459B. + IF FLD0460B (1:) NOT EQUAL XPC-FLD0460B + DISPLAY 'FLD0460B ==> ' FLD0460B + DISPLAY 'EXPECTED ==> ' XPC-FLD0460B. + IF FLD0461B (1:) NOT EQUAL XPC-FLD0461B + DISPLAY 'FLD0461B ==> ' FLD0461B + DISPLAY 'EXPECTED ==> ' XPC-FLD0461B. + IF FLD0462B (1:) NOT EQUAL XPC-FLD0462B + DISPLAY 'FLD0462B ==> ' FLD0462B + DISPLAY 'EXPECTED ==> ' XPC-FLD0462B. + IF FLD0463B (1:) NOT EQUAL XPC-FLD0463B + DISPLAY 'FLD0463B ==> ' FLD0463B + DISPLAY 'EXPECTED ==> ' XPC-FLD0463B. + IF FLD0464B (1:) NOT EQUAL XPC-FLD0464B + DISPLAY 'FLD0464B ==> ' FLD0464B + DISPLAY 'EXPECTED ==> ' XPC-FLD0464B. + IF FLD0465B (1:) NOT EQUAL XPC-FLD0465B + DISPLAY 'FLD0465B ==> ' FLD0465B + DISPLAY 'EXPECTED ==> ' XPC-FLD0465B. + IF FLD0466B (1:) NOT EQUAL XPC-FLD0466B + DISPLAY 'FLD0466B ==> ' FLD0466B + DISPLAY 'EXPECTED ==> ' XPC-FLD0466B. + IF FLD0467B (1:) NOT EQUAL XPC-FLD0467B + DISPLAY 'FLD0467B ==> ' FLD0467B + DISPLAY 'EXPECTED ==> ' XPC-FLD0467B. + IF FLD0468B (1:) NOT EQUAL XPC-FLD0468B + DISPLAY 'FLD0468B ==> ' FLD0468B + DISPLAY 'EXPECTED ==> ' XPC-FLD0468B. + IF FLD0469B (1:) NOT EQUAL XPC-FLD0469B + DISPLAY 'FLD0469B ==> ' FLD0469B + DISPLAY 'EXPECTED ==> ' XPC-FLD0469B. + IF FLD0470B (1:) NOT EQUAL XPC-FLD0470B + DISPLAY 'FLD0470B ==> ' FLD0470B + DISPLAY 'EXPECTED ==> ' XPC-FLD0470B. + IF FLD0471B (1:) NOT EQUAL XPC-FLD0471B + DISPLAY 'FLD0471B ==> ' FLD0471B + DISPLAY 'EXPECTED ==> ' XPC-FLD0471B. + IF FLD0472B (1:) NOT EQUAL XPC-FLD0472B + DISPLAY 'FLD0472B ==> ' FLD0472B + DISPLAY 'EXPECTED ==> ' XPC-FLD0472B. + IF FLD0473B (1:) NOT EQUAL XPC-FLD0473B + DISPLAY 'FLD0473B ==> ' FLD0473B + DISPLAY 'EXPECTED ==> ' XPC-FLD0473B. + IF FLD0474B (1:) NOT EQUAL XPC-FLD0474B + DISPLAY 'FLD0474B ==> ' FLD0474B + DISPLAY 'EXPECTED ==> ' XPC-FLD0474B. + IF FLD0475B (1:) NOT EQUAL XPC-FLD0475B + DISPLAY 'FLD0475B ==> ' FLD0475B + DISPLAY 'EXPECTED ==> ' XPC-FLD0475B. + IF FLD0476B (1:) NOT EQUAL XPC-FLD0476B + DISPLAY 'FLD0476B ==> ' FLD0476B + DISPLAY 'EXPECTED ==> ' XPC-FLD0476B. + IF FLD0477B (1:) NOT EQUAL XPC-FLD0477B + DISPLAY 'FLD0477B ==> ' FLD0477B + DISPLAY 'EXPECTED ==> ' XPC-FLD0477B. + IF FLD0478B (1:) NOT EQUAL XPC-FLD0478B + DISPLAY 'FLD0478B ==> ' FLD0478B + DISPLAY 'EXPECTED ==> ' XPC-FLD0478B. + IF FLD0479B (1:) NOT EQUAL XPC-FLD0479B + DISPLAY 'FLD0479B ==> ' FLD0479B + DISPLAY 'EXPECTED ==> ' XPC-FLD0479B. + IF FLD0480B (1:) NOT EQUAL XPC-FLD0480B + DISPLAY 'FLD0480B ==> ' FLD0480B + DISPLAY 'EXPECTED ==> ' XPC-FLD0480B. + IF FLD0481B (1:) NOT EQUAL XPC-FLD0481B + DISPLAY 'FLD0481B ==> ' FLD0481B + DISPLAY 'EXPECTED ==> ' XPC-FLD0481B. + IF FLD0482B (1:) NOT EQUAL XPC-FLD0482B + DISPLAY 'FLD0482B ==> ' FLD0482B + DISPLAY 'EXPECTED ==> ' XPC-FLD0482B. + IF FLD0483B (1:) NOT EQUAL XPC-FLD0483B + DISPLAY 'FLD0483B ==> ' FLD0483B + DISPLAY 'EXPECTED ==> ' XPC-FLD0483B. + IF FLD0484B (1:) NOT EQUAL XPC-FLD0484B + DISPLAY 'FLD0484B ==> ' FLD0484B + DISPLAY 'EXPECTED ==> ' XPC-FLD0484B. + IF FLD0485B (1:) NOT EQUAL XPC-FLD0485B + DISPLAY 'FLD0485B ==> ' FLD0485B + DISPLAY 'EXPECTED ==> ' XPC-FLD0485B. + IF FLD0486B (1:) NOT EQUAL XPC-FLD0486B + DISPLAY 'FLD0486B ==> ' FLD0486B + DISPLAY 'EXPECTED ==> ' XPC-FLD0486B. + IF FLD0487B (1:) NOT EQUAL XPC-FLD0487B + DISPLAY 'FLD0487B ==> ' FLD0487B + DISPLAY 'EXPECTED ==> ' XPC-FLD0487B. + IF FLD0488B (1:) NOT EQUAL XPC-FLD0488B + DISPLAY 'FLD0488B ==> ' FLD0488B + DISPLAY 'EXPECTED ==> ' XPC-FLD0488B. + IF FLD0489B (1:) NOT EQUAL XPC-FLD0489B + DISPLAY 'FLD0489B ==> ' FLD0489B + DISPLAY 'EXPECTED ==> ' XPC-FLD0489B. + IF FLD0490B (1:) NOT EQUAL XPC-FLD0490B + DISPLAY 'FLD0490B ==> ' FLD0490B + DISPLAY 'EXPECTED ==> ' XPC-FLD0490B. + IF FLD0491B (1:) NOT EQUAL XPC-FLD0491B + DISPLAY 'FLD0491B ==> ' FLD0491B + DISPLAY 'EXPECTED ==> ' XPC-FLD0491B. + IF FLD0492B (1:) NOT EQUAL XPC-FLD0492B + DISPLAY 'FLD0492B ==> ' FLD0492B + DISPLAY 'EXPECTED ==> ' XPC-FLD0492B. + IF FLD0493B (1:) NOT EQUAL XPC-FLD0493B + DISPLAY 'FLD0493B ==> ' FLD0493B + DISPLAY 'EXPECTED ==> ' XPC-FLD0493B. + IF FLD0494B (1:) NOT EQUAL XPC-FLD0494B + DISPLAY 'FLD0494B ==> ' FLD0494B + DISPLAY 'EXPECTED ==> ' XPC-FLD0494B. + IF FLD0495B (1:) NOT EQUAL XPC-FLD0495B + DISPLAY 'FLD0495B ==> ' FLD0495B + DISPLAY 'EXPECTED ==> ' XPC-FLD0495B. + IF FLD0496B (1:) NOT EQUAL XPC-FLD0496B + DISPLAY 'FLD0496B ==> ' FLD0496B + DISPLAY 'EXPECTED ==> ' XPC-FLD0496B. + IF FLD0497B (1:) NOT EQUAL XPC-FLD0497B + DISPLAY 'FLD0497B ==> ' FLD0497B + DISPLAY 'EXPECTED ==> ' XPC-FLD0497B. + IF FLD0498B (1:) NOT EQUAL XPC-FLD0498B + DISPLAY 'FLD0498B ==> ' FLD0498B + DISPLAY 'EXPECTED ==> ' XPC-FLD0498B. + IF FLD0499B (1:) NOT EQUAL XPC-FLD0499B + DISPLAY 'FLD0499B ==> ' FLD0499B + DISPLAY 'EXPECTED ==> ' XPC-FLD0499B. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:22976: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:22976" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:22976" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:22977: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_display.at:22977" +( $at_check_trace; $COBCRUN_DIRECT ./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_display.at:22977" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTR2. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0500A PIC S9(10)V9(08) + VALUE -4830218621.81680639. + 77 FLD0500B PIC 9(03) + VALUE 087. + + 77 FLD0501A PIC 9(09)V9(15) + VALUE 652910855.370784748430423. + 77 FLD0501B PIC 9(09)V9(14) + VALUE 628093348.73677369337485. + + 77 FLD0502A PIC 9(03) + VALUE 079. + 77 FLD0502B PIC 9(07)V9(22) + VALUE 7893241.6286150020034995122841. + + 77 FLD0503A PIC 9(10)V9(11) + VALUE 5662523582.77427925159. + 77 FLD0503B PIC 9(04)V9(29) + VALUE 8834.70722999726620905391882843105. + + 77 FLD0504A PIC S9(08)V9(02) + VALUE -28360864.01. + 77 FLD0504B PIC 9(10)V9(09) + VALUE 5000570062.577901486. + + 77 FLD0505A PIC 9(04)V9(30) + VALUE 9110.332843503369248949752545740921. + 77 FLD0505B PIC 9(10)V9(10) + VALUE 5407979633.7587637822. + + 77 FLD0506A PIC 9(10)V9(11) + VALUE 5546838940.35467472960. + 77 FLD0506B PIC S9(07)V9(01) + VALUE +2340559.3. + + 77 FLD0507A PIC 9(08)V9(18) + VALUE 70736506.262277043521891073. + 77 FLD0507B PIC 9(10)V9(09) + VALUE 5205430142.820132166. + + 77 FLD0508A PIC 9(09)V9(16) + VALUE 658855971.9467786957025623. + 77 FLD0508B PIC S9(09)V9(07) + VALUE +444447149.8618901. + + 77 FLD0509A PIC S9(01) + VALUE +0. + 77 FLD0509B PIC 9(10)V9(08) + VALUE 4889373386.26299289. + + 77 FLD0510A PIC 9(04) + VALUE 1295. + 77 FLD0510B PIC S9(03) + VALUE -092. + + 77 FLD0511A PIC 9(06)V9(25) + VALUE 815863.7850571600624860479911149. + 77 FLD0511B PIC 9(10)V9(09) + VALUE 5256921146.480894035. + + 77 FLD0512A PIC 9(05) + VALUE 13945. + 77 FLD0512B PIC 9(01)V9(36) + VALUE 9.908282031313487836499120930966455489. + + 77 FLD0513A PIC 9(09)V9(15) + VALUE 653773832.246937192103075. + 77 FLD0513B PIC 9(08)V9(20) + VALUE 74124087.47450585089211472222. + + 77 FLD0514A PIC 9(08)V9(18) + VALUE 70109343.593910689040882289. + 77 FLD0514B PIC 9(09)V9(04) + VALUE 348891343.2762. + + 77 FLD0515A PIC 9(09)V9(16) + VALUE 658210435.7548693718271692. + 77 FLD0515B PIC 9(03)V9(32) + VALUE 941.14524908048735607479784448514692. + + 77 FLD0516A PIC 9(01)V9(36) + VALUE 9.884403805479323734672902901365887373. + 77 FLD0516B PIC 9(01) + VALUE 0. + + 77 FLD0517A PIC 9(10)V9(07) + VALUE 4497620438.0577999. + 77 FLD0517B PIC S9(10)V9(08) + VALUE -4811021778.48490686. + + 77 FLD0518A PIC 9(09)V9(16) + VALUE 664556684.1155496895510168. + 77 FLD0518B PIC S9(02) + VALUE -05. + + 77 FLD0519A PIC 9(09)V9(14) + VALUE 630097608.79846921088898. + 77 FLD0519B PIC 9(08)V9(17) + VALUE 68412596.06583623975595287. + + 77 FLD0520A PIC 9(04)V9(30) + VALUE 9052.329380117529744609328190563246. + 77 FLD0520B PIC 9(09)V9(14) + VALUE 610604586.65389061305717. + + 77 FLD0521A PIC 9(05) + VALUE 13956. + 77 FLD0521B PIC S9(05) + VALUE +14099. + + 77 FLD0522A PIC S9(01) + VALUE +0. + 77 FLD0522B PIC S9(09)V9(04) + VALUE -351067614.4076. + + 77 FLD0523A PIC 9(08)V9(18) + VALUE 70807149.512639711019801325. + 77 FLD0523B PIC S9(08)V9(02) + VALUE -28004002.44. + + 77 FLD0524A PIC S9(06)V9(01) + VALUE +201515.3. + 77 FLD0524B PIC 9(10)V9(09) + VALUE 5046210377.505329081. + + 77 FLD0525A PIC S9(01) + VALUE -0. + 77 FLD0525B PIC 9(04)V9(29) + VALUE 8873.36156634660588871099662355845. + + 77 FLD0526A PIC 9(07)V9(22) + VALUE 7812896.0072540409864672028561. + 77 FLD0526B PIC 9(07)V9(02) + VALUE 2461308.93. + + 77 FLD0527A PIC 9(10)V9(12) + VALUE 5853770318.384275972434. + 77 FLD0527B PIC 9(10)V9(09) + VALUE 5140096263.891610339. + + 77 FLD0528A PIC 9(10)V9(08) + VALUE 4856797949.89136714. + 77 FLD0528B PIC S9(04) + VALUE +1207. + + 77 FLD0529A PIC 9(10)V9(10) + VALUE 5298570971.4885653731. + 77 FLD0529B PIC S9(10)V9(07) + VALUE -4613280273.7797717. + + 77 FLD0530A PIC 9(05)V9(28) + VALUE 87536.5484141958027919372398173436. + 77 FLD0530B PIC S9(02) + VALUE -06. + + 77 FLD0531A PIC 9(09)V9(03) + VALUE 317487049.751. + 77 FLD0531B PIC S9(07)V9(01) + VALUE +2322772.2. + + 77 FLD0532A PIC 9(09)V9(15) + VALUE 653250626.044252880042506. + 77 FLD0532B PIC S9(01) + VALUE +0. + + 77 FLD0533A PIC 9(07)V9(02) + VALUE 2559928.55. + 77 FLD0533B PIC 9(03) + VALUE 086. + + 77 FLD0534A PIC 9(09)V9(06) + VALUE 408226706.354108. + 77 FLD0534B PIC 9(10)V9(09) + VALUE 5204512753.981520578. + + 77 FLD0535A PIC 9(10)V9(11) + VALUE 5556101599.27967472981. + 77 FLD0535B PIC 9(05)V9(27) + VALUE 85335.564071638048133650045201648. + + 77 FLD0536A PIC S9(08)V9(03) + VALUE -29061270.882. + 77 FLD0536B PIC S9(01) + VALUE -0. + + 77 FLD0537A PIC 9(08)V9(03) + VALUE 29943354.242. + 77 FLD0537B PIC 9(04) + VALUE 1199. + + 77 FLD0538A PIC 9(03)V9(32) + VALUE 922.29859860523566439383102988358587. + 77 FLD0538B PIC 9(04)V9(29) + VALUE 8861.76614320458799767266100388951. + + 77 FLD0539A PIC 9(05)V9(27) + VALUE 85666.721070025741990860979058197. + 77 FLD0539B PIC 9(05)V9(27) + VALUE 84375.338828007329095015620623598. + + 77 FLD0540A PIC S9(04) + VALUE +1227. + 77 FLD0540B PIC 9(01) + VALUE 0. + + 77 FLD0541A PIC 9(09)V9(05) + VALUE 387240740.80744. + 77 FLD0541B PIC 9(07)V9(22) + VALUE 7676023.3773886621388982121061. + + 77 FLD0542A PIC 9(06)V9(25) + VALUE 831706.5789473143677668076634290. + 77 FLD0542B PIC 9(10)V9(11) + VALUE 5532908670.51828949563. + + 77 FLD0543A PIC 9(06)V9(01) + VALUE 188772.9. + 77 FLD0543B PIC 9(07)V9(02) + VALUE 2581387.79. + + 77 FLD0544A PIC 9(10)V9(09) + VALUE 5241766194.366106468. + 77 FLD0544B PIC 9(08)V9(02) + VALUE 27953166.13. + + 77 FLD0545A PIC 9(09)V9(14) + VALUE 622229285.46684597161942. + 77 FLD0545B PIC 9(08)V9(19) + VALUE 72256359.1476747091313370674. + + 77 FLD0546A PIC 9(06)V9(25) + VALUE 820358.8689269564193651262939965. + 77 FLD0546B PIC 9(09)V9(14) + VALUE 610779194.05314462508727. + + 77 FLD0547A PIC 9(06)V9(25) + VALUE 821925.7242001770658035297856258. + 77 FLD0547B PIC S9(09)V9(04) + VALUE -360691511.9302. + + 77 FLD0548A PIC 9(07)V9(23) + VALUE 7955385.78445739497091437897324. + 77 FLD0548B PIC 9(09)V9(17) + VALUE 689149957.90453892343663255. + + 77 FLD0549A PIC 9(07)V9(01) + VALUE 2367856.7. + 77 FLD0549B PIC 9(09)V9(06) + VALUE 415548355.051954. + + 77 FLD0550A PIC 9(09)V9(15) + VALUE 656651700.520587522369453. + 77 FLD0550B PIC 9(02) + VALUE 06. + + 77 FLD0551A PIC 9(07)V9(02) + VALUE 2589973.73. + 77 FLD0551B PIC 9(09)V9(15) + VALUE 652529070.867454263904505. + + 77 FLD0552A PIC 9(10)V9(07) + VALUE 4579590761.6898545. + 77 FLD0552B PIC 9(05) + VALUE 14745. + + 77 FLD0553A PIC S9(01) + VALUE +0. + 77 FLD0553B PIC S9(09)V9(04) + VALUE -360871096.9090. + + 77 FLD0554A PIC 9(07)V9(02) + VALUE 2568219.15. + 77 FLD0554B PIC 9(03)V9(32) + VALUE 932.99236247731820448336748086148872. + + 77 FLD0555A PIC 9(09)V9(05) + VALUE 388184875.66560. + 77 FLD0555B PIC 9(10)V9(09) + VALUE 5217501857.988002811. + + 77 FLD0556A PIC 9(04)V9(30) + VALUE 8983.209260005348140154524116951506. + 77 FLD0556B PIC 9(10)V9(11) + VALUE 5685562200.43860527368. + + 77 FLD0557A PIC 9(09)V9(15) + VALUE 650877011.601572519339242. + 77 FLD0557B PIC S9(05) + VALUE +13329. + + 77 FLD0558A PIC 9(09)V9(13) + VALUE 595830550.3266489999703. + 77 FLD0558B PIC 9(06)V9(01) + VALUE 209604.9. + + 77 FLD0559A PIC 9(10)V9(09) + VALUE 5242032248.235551916. + 77 FLD0559B PIC 9(07)V9(22) + VALUE 7882034.1791675385678672682843. + + 77 FLD0560A PIC S9(09)V9(06) + VALUE +403640603.914505. + 77 FLD0560B PIC 9(09)V9(07) + VALUE 438743115.5223073. + + 77 FLD0561A PIC 9(05) + VALUE 14931. + 77 FLD0561B PIC 9(01) + VALUE 0. + + 77 FLD0562A PIC S9(01) + VALUE -0. + 77 FLD0562B PIC 9(02)V9(34) + VALUE 95.8208334412512741096179524902254343. + + 77 FLD0563A PIC 9(10)V9(09) + VALUE 5040974749.501065943. + 77 FLD0563B PIC S9(08)V9(03) + VALUE +31252590.212. + + 77 FLD0564A PIC 9(09)V9(16) + VALUE 666123633.8391588462926051. + 77 FLD0564B PIC 9(03)V9(32) + VALUE 925.73034981753798966508384182816371. + + 77 FLD0565A PIC 9(04)V9(30) + VALUE 8999.472704059103822515908177592791. + 77 FLD0565B PIC 9(06)V9(01) + VALUE 209088.7. + + 77 FLD0566A PIC 9(10)V9(10) + VALUE 5451645287.6426646501. + 77 FLD0566B PIC 9(09)V9(03) + VALUE 317445075.017. + + 77 FLD0567A PIC S9(07)V9(02) + VALUE -2621767.34. + 77 FLD0567B PIC 9(04)V9(29) + VALUE 8789.70351596639054569948257267242. + + 77 FLD0568A PIC S9(08)V9(02) + VALUE -28119737.76. + 77 FLD0568B PIC 9(09)V9(14) + VALUE 616894259.97583058336459. + + 77 FLD0569A PIC 9(10)V9(10) + VALUE 5301098669.5201622875. + 77 FLD0569B PIC S9(09)V9(06) + VALUE +421009403.834593. + + 77 FLD0570A PIC 9(05) + VALUE 13775. + 77 FLD0570B PIC 9(08)V9(19) + VALUE 72019797.5322646066764775696. + + 77 FLD0571A PIC 9(10)V9(08) + VALUE 4995844884.12155025. + 77 FLD0571B PIC 9(09)V9(16) + VALUE 666328034.4715885039619251. + + 77 FLD0572A PIC 9(06)V9(01) + VALUE 199648.9. + 77 FLD0572B PIC S9(06) + VALUE -163410. + + 77 FLD0573A PIC 9(10)V9(11) + VALUE 5579051586.61930800079. + 77 FLD0573B PIC 9(01)V9(36) + VALUE 9.908582147727897915245875992695800960. + + 77 FLD0574A PIC 9(10)V9(09) + VALUE 5021035726.447702352. + 77 FLD0574B PIC S9(01) + VALUE +0. + + 77 FLD0575A PIC 9(02)V9(34) + VALUE 96.0495649054037059499933093320578336. + 77 FLD0575B PIC S9(01) + VALUE +0. + + 77 FLD0576A PIC 9(09)V9(11) + VALUE 551289746.02273483895. + 77 FLD0576B PIC 9(10)V9(10) + VALUE 5275129807.0789420791. + + 77 FLD0577A PIC S9(10)V9(06) + VALUE +4245433083.607936. + 77 FLD0577B PIC 9(02)V9(34) + VALUE 96.8922152301445405164770363626303151. + + 77 FLD0578A PIC S9(07)V9(02) + VALUE +2444375.29. + 77 FLD0578B PIC 9(05)V9(01) + VALUE 16994.3. + + 77 FLD0579A PIC 9(09)V9(17) + VALUE 688719854.55414208576740975. + 77 FLD0579B PIC 9(10)V9(09) + VALUE 5219660742.233359629. + + 77 FLD0580A PIC S9(08)V9(04) + VALUE +33455460.0291. + 77 FLD0580B PIC 9(02)V9(34) + VALUE 95.3840741032953354228141051862621679. + + 77 FLD0581A PIC S9(08)V9(02) + VALUE -28271118.43. + 77 FLD0581B PIC 9(09)V9(15) + VALUE 638334092.073881143036828. + + 77 FLD0582A PIC 9(02)V9(34) + VALUE 95.0957041455027018983514608407858759. + 77 FLD0582B PIC 9(09)V9(14) + VALUE 628562844.11633944753106. + + 77 FLD0583A PIC 9(04)V9(30) + VALUE 9004.015213488590907431330379040446. + 77 FLD0583B PIC S9(01) + VALUE +0. + + 77 FLD0584A PIC S9(01) + VALUE +0. + 77 FLD0584B PIC 9(02)V9(34) + VALUE 95.5867594557756605766485336062032729. + + 77 FLD0585A PIC S9(10)V9(06) + VALUE +4326355872.600766. + 77 FLD0585B PIC 9(03)V9(32) + VALUE 926.67442032915370297985191427869722. + + 77 FLD0586A PIC 9(05)V9(27) + VALUE 85722.001340062370378092282408033. + 77 FLD0586B PIC 9(07)V9(22) + VALUE 7865140.9974229868904416207442. + + 77 FLD0587A PIC S9(09)V9(05) + VALUE -381433349.51035. + 77 FLD0587B PIC S9(04) + VALUE +1221. + + 77 FLD0588A PIC 9(10)V9(09) + VALUE 5181115773.570048599. + 77 FLD0588B PIC 9(04)V9(30) + VALUE 9002.074772136551272794235956098418. + + 77 FLD0589A PIC S9(09)V9(06) + VALUE +401102073.275349. + 77 FLD0589B PIC S9(04) + VALUE +1219. + + 77 FLD0590A PIC 9(08)V9(18) + VALUE 70309799.830174168899787900. + 77 FLD0590B PIC S9(06)V9(01) + VALUE +203587.9. + + 77 FLD0591A PIC 9(09)V9(12) + VALUE 576933255.371857245386. + 77 FLD0591B PIC 9(10)V9(09) + VALUE 5123728162.782491546. + + 77 FLD0592A PIC 9(09)V9(15) + VALUE 644514829.253344467829833. + 77 FLD0592B PIC S9(08)V9(03) + VALUE -29392268.940. + + 77 FLD0593A PIC 9(08)V9(19) + VALUE 72063942.4137167527995018190. + 77 FLD0593B PIC S9(02) + VALUE -05. + + 77 FLD0594A PIC S9(08)V9(02) + VALUE -27405154.91. + 77 FLD0594B PIC 9(07)V9(22) + VALUE 7738893.5043103479483050932685. + + 77 FLD0595A PIC 9(08)V9(18) + VALUE 70489201.749069052560514592. + 77 FLD0595B PIC 9(06)V9(25) + VALUE 830535.6563477365172687427730124. + + 77 FLD0596A PIC 9(04)V9(30) + VALUE 9050.358418523600789740157779306173. + 77 FLD0596B PIC 9(09)V9(15) + VALUE 657865013.656926733709440. + + 77 FLD0597A PIC S9(10)V9(07) + VALUE -4611492066.1642122. + 77 FLD0597B PIC 9(06)V9(25) + VALUE 816255.9991782142310157155407068. + + 77 FLD0598A PIC 9(10)V9(12) + VALUE 5888650589.753158248740. + 77 FLD0598B PIC S9(09)V9(06) + VALUE +420172956.568651. + + 77 FLD0599A PIC 9(05)V9(27) + VALUE 85689.140306102984379066356268594. + 77 FLD0599B PIC 9(01) + VALUE 0. + + 77 FLD0600A PIC S9(09)V9(06) + VALUE +401694362.049109. + 77 FLD0600B PIC 9(06)V9(24) + VALUE 804504.375985138686644404515391. + + 77 FLD0601A PIC 9(01)V9(36) + VALUE 9.763793413809590537866256454435642808. + 77 FLD0601B PIC 9(08)V9(03) + VALUE 29749803.347. + + 77 FLD0602A PIC 9(09)V9(17) + VALUE 685435627.00727922454291274. + 77 FLD0602B PIC 9(07)V9(02) + VALUE 2399467.62. + + 77 FLD0603A PIC 9(09)V9(16) + VALUE 679265807.5584466770280300. + 77 FLD0603B PIC S9(05)V9(01) + VALUE -17089.6. + + 77 FLD0604A PIC 9(08)V9(19) + VALUE 72862711.3591577502127449861. + 77 FLD0604B PIC 9(10)V9(11) + VALUE 5587264166.34705347341. + + 77 FLD0605A PIC 9(04) + VALUE 1194. + 77 FLD0605B PIC 9(10)V9(06) + VALUE 4256956703.307752. + + 77 FLD0606A PIC 9(07)V9(23) + VALUE 7955557.56926823565144957228767. + 77 FLD0606B PIC S9(08)V9(04) + VALUE +33373395.9174. + + 77 FLD0607A PIC 9(10)V9(08) + VALUE 4950511846.00309279. + 77 FLD0607B PIC 9(05) + VALUE 13935. + + 77 FLD0608A PIC 9(09)V9(03) + VALUE 328182518.441. + 77 FLD0608B PIC 9(02)V9(34) + VALUE 95.9183130416232931914066739409463480. + + 77 FLD0609A PIC 9(08)V9(04) + VALUE 33948712.4475. + 77 FLD0609B PIC 9(10)V9(07) + VALUE 4478674210.4372267. + + 77 FLD0610A PIC 9(06)V9(24) + VALUE 807988.537497822956190418608457. + 77 FLD0610B PIC 9(08)V9(02) + VALUE 28672541.25. + + 77 FLD0611A PIC 9(07)V9(22) + VALUE 7747853.4043620861382350994972. + 77 FLD0611B PIC 9(01) + VALUE 0. + + 77 FLD0612A PIC 9(10)V9(11) + VALUE 5644161799.14422944108. + 77 FLD0612B PIC 9(07)V9(22) + VALUE 7874462.2890006543691754359315. + + 77 FLD0613A PIC 9(05) + VALUE 15551. + 77 FLD0613B PIC S9(07)V9(01) + VALUE +2249276.6. + + 77 FLD0614A PIC 9(10)V9(09) + VALUE 5201647014.630440546. + 77 FLD0614B PIC 9(09)V9(13) + VALUE 596348860.2168276475623. + + 77 FLD0615A PIC S9(03) + VALUE +101. + 77 FLD0615B PIC S9(07)V9(01) + VALUE +2334095.1. + + 77 FLD0616A PIC 9(07)V9(22) + VALUE 7639230.3574527464782306651613. + 77 FLD0616B PIC 9(02) + VALUE 07. + + 77 FLD0617A PIC S9(01) + VALUE -0. + 77 FLD0617B PIC 9(01) + VALUE 0. + + 77 FLD0618A PIC 9(01)V9(36) + VALUE 9.817148549708982763206677191192284226. + 77 FLD0618B PIC 9(03) + VALUE 089. + + 77 FLD0619A PIC 9(06)V9(24) + VALUE 801850.998363624500875346257089. + 77 FLD0619B PIC 9(10)V9(10) + VALUE 5342180526.7555677598. + + 77 FLD0620A PIC 9(08)V9(19) + VALUE 71717267.3810957062023874186. + 77 FLD0620B PIC 9(09)V9(15) + VALUE 655677089.730182127702562. + + 77 FLD0621A PIC 9(04)V9(30) + VALUE 9035.013690395441443570234696380794. + 77 FLD0621B PIC 9(08)V9(19) + VALUE 73424367.1686218957184166811. + + 77 FLD0622A PIC 9(09)V9(13) + VALUE 592420192.5737704321761. + 77 FLD0622B PIC S9(09)V9(04) + VALUE -361821982.1111. + + 77 FLD0623A PIC S9(03) + VALUE +104. + 77 FLD0623B PIC 9(09)V9(15) + VALUE 641616818.896418195095066. + + 77 FLD0624A PIC S9(06) + VALUE -162056. + 77 FLD0624B PIC 9(10)V9(06) + VALUE 4356343039.582531. + + 77 FLD0625A PIC 9(04) + VALUE 1296. + 77 FLD0625B PIC 9(07)V9(22) + VALUE 7829547.5769811728739000500354. + + 77 FLD0626A PIC 9(04)V9(29) + VALUE 8839.60373056715265072114107169909. + 77 FLD0626B PIC S9(09)V9(05) + VALUE -374265939.71690. + + 77 FLD0627A PIC 9(04) + VALUE 1093. + 77 FLD0627B PIC S9(07)V9(01) + VALUE +2323895.2. + + 77 FLD0628A PIC 9(01)V9(36) + VALUE 9.943034041886028573387079632084351032. + 77 FLD0628B PIC 9(08)V9(03) + VALUE 29681737.673. + + 77 FLD0629A PIC 9(03)V9(32) + VALUE 925.54391942612090904418664649710990. + 77 FLD0629B PIC 9(05)V9(28) + VALUE 87091.5644969416202769707524566911. + + 77 FLD0630A PIC S9(09)V9(06) + VALUE +400669561.119235. + 77 FLD0630B PIC 9(09)V9(12) + VALUE 575188656.368988304734. + + 77 FLD0631A PIC 9(09)V9(15) + VALUE 644864894.904831453814608. + 77 FLD0631B PIC 9(05)V9(01) + VALUE 17568.5. + + 77 FLD0632A PIC 9(08)V9(18) + VALUE 69998401.036213298009869276. + 77 FLD0632B PIC 9(10)V9(09) + VALUE 5082278856.741135886. + + 77 FLD0633A PIC 9(08)V9(19) + VALUE 72186800.0789349095747127194. + 77 FLD0633B PIC S9(09)V9(03) + VALUE +332989951.149. + + 77 FLD0634A PIC S9(10)V9(06) + VALUE +4236607402.255205. + 77 FLD0634B PIC 9(07)V9(23) + VALUE 7926419.75404680843020344127580. + + 77 FLD0635A PIC S9(06)V9(01) + VALUE -190863.2. + 77 FLD0635B PIC 9(10)V9(11) + VALUE 5580856572.20784292498. + + 77 FLD0636A PIC S9(07)V9(01) + VALUE +2326055.8. + 77 FLD0636B PIC 9(05) + VALUE 15706. + + 77 FLD0637A PIC 9(08)V9(19) + VALUE 73470187.3111827330475875896. + 77 FLD0637B PIC 9(10)V9(10) + VALUE 5305678545.6603405837. + + 77 FLD0638A PIC 9(07)V9(22) + VALUE 7752451.2041246673721417437263. + 77 FLD0638B PIC 9(06)V9(25) + VALUE 822351.5027967045476486873667454. + + 77 FLD0639A PIC S9(09)V9(03) + VALUE +320313574.327. + 77 FLD0639B PIC 9(01)V9(36) + VALUE 9.751092072024196699686626743641681969. + + 77 FLD0640A PIC 9(04)V9(29) + VALUE 8818.61493829378950692898797569796. + 77 FLD0640B PIC 9(03)V9(32) + VALUE 921.50555740058603948483550993842072. + + 77 FLD0641A PIC 9(07)V9(22) + VALUE 7672056.2697199168322725881807. + 77 FLD0641B PIC 9(08)V9(19) + VALUE 72539277.3386829170512157816. + + 77 FLD0642A PIC 9(08)V9(18) + VALUE 70806494.663622721041917884. + 77 FLD0642B PIC 9(09)V9(13) + VALUE 592898946.8504934912118. + + 77 FLD0643A PIC 9(07)V9(01) + VALUE 2194714.9. + 77 FLD0643B PIC 9(08)V9(02) + VALUE 26711153.59. + + 77 FLD0644A PIC 9(02) + VALUE 07. + 77 FLD0644B PIC 9(03)V9(32) + VALUE 936.97460492260109532480782945640385. + + 77 FLD0645A PIC 9(03)V9(31) + VALUE 913.1000502995376688630813077907077. + 77 FLD0645B PIC 9(07)V9(02) + VALUE 2467302.34. + + 77 FLD0646A PIC 9(07)V9(21) + VALUE 7520596.805608434909373727350. + 77 FLD0646B PIC 9(09)V9(13) + VALUE 595843790.0187590896550. + + 77 FLD0647A PIC S9(02) + VALUE -07. + 77 FLD0647B PIC 9(09)V9(16) + VALUE 659893156.1456289340839020. + + 77 FLD0648A PIC S9(04) + VALUE +1149. + 77 FLD0648B PIC 9(09)V9(15) + VALUE 634287010.942461315643470. + + 77 FLD0649A PIC 9(07)V9(23) + VALUE 7912687.10466688007798552462190. + 77 FLD0649B PIC 9(10)V9(09) + VALUE 5026519944.429308495. + + 77 FLD0650A PIC 9(01)V9(36) + VALUE 9.878734262172308433491707546636462211. + 77 FLD0650B PIC 9(09)V9(16) + VALUE 671574601.9768447094833163. + + 77 FLD0651A PIC 9(08)V9(18) + VALUE 69993795.648145529231243244. + 77 FLD0651B PIC S9(09)V9(05) + VALUE -390933259.39761. + + 77 FLD0652A PIC 9(05)V9(01) + VALUE 16676.6. + 77 FLD0652B PIC S9(07)V9(01) + VALUE +2109381.3. + + 77 FLD0653A PIC 9(09)V9(14) + VALUE 620233215.83922497168828. + 77 FLD0653B PIC 9(06) + VALUE 165087. + + 77 FLD0654A PIC 9(09)V9(15) + VALUE 639337130.284049814932245. + 77 FLD0654B PIC 9(08)V9(02) + VALUE 27813223.51. + + 77 FLD0655A PIC 9(06)V9(25) + VALUE 818013.3890362937254536745967925. + 77 FLD0655B PIC 9(09)V9(13) + VALUE 594166317.4495728227952. + + 77 FLD0656A PIC S9(06)V9(01) + VALUE +200859.7. + 77 FLD0656B PIC 9(09)V9(15) + VALUE 650208537.267117914204561. + + 77 FLD0657A PIC 9(03)V9(32) + VALUE 936.17194619070143168926279031438753. + 77 FLD0657B PIC 9(08)V9(18) + VALUE 70468283.988380520099781278. + + 77 FLD0658A PIC 9(08)V9(18) + VALUE 70069365.832955088357891781. + 77 FLD0658B PIC 9(10)V9(10) + VALUE 5438086690.5335789596. + + 77 FLD0659A PIC 9(04)V9(30) + VALUE 9044.337793801533464943531726021319. + 77 FLD0659B PIC 9(08)V9(19) + VALUE 71946522.3294514011342926096. + + 77 FLD0660A PIC 9(10)V9(09) + VALUE 5240012407.843260833. + 77 FLD0660B PIC S9(05) + VALUE -15464. + + 77 FLD0661A PIC 9(02)V9(34) + VALUE 96.5581569624071600621562083688331767. + 77 FLD0661B PIC 9(10)V9(11) + VALUE 5705409453.15247127744. + + 77 FLD0662A PIC S9(07)V9(01) + VALUE +2131985.0. + 77 FLD0662B PIC 9(09)V9(16) + VALUE 669960203.6476681732324323. + + 77 FLD0663A PIC 9(05) + VALUE 15788. + 77 FLD0663B PIC 9(04)V9(29) + VALUE 8894.69232052811142885673234559362. + + 77 FLD0664A PIC S9(05) + VALUE +14371. + 77 FLD0664B PIC S9(09)V9(07) + VALUE +440580330.5288489. + + 77 FLD0665A PIC 9(07)V9(02) + VALUE 2455875.37. + 77 FLD0665B PIC 9(09)V9(16) + VALUE 674160289.5706166886924393. + + 77 FLD0666A PIC 9(05)V9(27) + VALUE 86015.549175288641414738322055200. + 77 FLD0666B PIC 9(02) + VALUE 05. + + 77 FLD0667A PIC 9(02)V9(33) + VALUE 94.482499794694274619644147605868056. + 77 FLD0667B PIC 9(09)V9(15) + VALUE 632143875.790169951223163. + + 77 FLD0668A PIC 9(03)V9(32) + VALUE 935.15331845029669999291854765033349. + 77 FLD0668B PIC 9(10)V9(09) + VALUE 5144629393.825745911. + + 77 FLD0669A PIC 9(01)V9(36) + VALUE 9.937328225295053441001869032334070652. + 77 FLD0669B PIC 9(10)V9(05) + VALUE 3959366397.86081. + + 77 FLD0670A PIC 9(07)V9(02) + VALUE 2567113.54. + 77 FLD0670B PIC 9(02)V9(34) + VALUE 97.1019073438902258210703166696475818. + + 77 FLD0671A PIC 9(09)V9(03) + VALUE 326622169.718. + 77 FLD0671B PIC 9(06)V9(01) + VALUE 186874.6. + + 77 FLD0672A PIC 9(10)V9(07) + VALUE 4564917934.3294549. + 77 FLD0672B PIC 9(09)V9(15) + VALUE 637002039.815689924395769. + + 77 FLD0673A PIC 9(10)V9(06) + VALUE 4285002333.462958. + 77 FLD0673B PIC 9(07)V9(02) + VALUE 2489778.77. + + 77 FLD0674A PIC 9(10)V9(10) + VALUE 5491650640.0821929467. + 77 FLD0674B PIC 9(06)V9(25) + VALUE 828061.3110769976525915581078152. + + 77 FLD0675A PIC 9(05)V9(27) + VALUE 84609.285471017914304070473008323. + 77 FLD0675B PIC 9(10)V9(09) + VALUE 5083540664.870341840. + + 77 FLD0676A PIC 9(03) + VALUE 096. + 77 FLD0676B PIC 9(02)V9(34) + VALUE 96.4664170342459437179627457226160913. + + 77 FLD0677A PIC S9(07)V9(01) + VALUE +2248183.1. + 77 FLD0677B PIC 9(04)V9(29) + VALUE 8903.66445455624266891447859961772. + + 77 FLD0678A PIC S9(03) + VALUE -092. + 77 FLD0678B PIC 9(05)V9(27) + VALUE 85887.366357613359468814451247453. + + 77 FLD0679A PIC S9(03) + VALUE -080. + 77 FLD0679B PIC 9(10)V9(07) + VALUE 4490278235.6612852. + + 77 FLD0680A PIC S9(08)V9(02) + VALUE -28119381.66. + 77 FLD0680B PIC 9(10)V9(11) + VALUE 5617591008.16083600804. + + 77 FLD0681A PIC 9(08)V9(17) + VALUE 68244115.95644890304868113. + 77 FLD0681B PIC 9(06)V9(25) + VALUE 821371.7547801553386932482681004. + + 77 FLD0682A PIC S9(10)V9(08) + VALUE -4949729784.45772315. + 77 FLD0682B PIC 9(06)V9(25) + VALUE 831097.0812489861803129542749957. + + 77 FLD0683A PIC 9(05)V9(28) + VALUE 86894.3068817851549390240961656672. + 77 FLD0683B PIC 9(10)V9(12) + VALUE 5829735573.963021888488. + + 77 FLD0684A PIC 9(10)V9(13) + VALUE 6059233373.6406744915115. + 77 FLD0684B PIC 9(09)V9(07) + VALUE 438339473.7646870. + + 77 FLD0685A PIC S9(07)V9(02) + VALUE -2545714.99. + 77 FLD0685B PIC 9(07)V9(23) + VALUE 7915567.03876752143500539204978. + + 77 FLD0686A PIC 9(09)V9(14) + VALUE 621044693.11257093355749. + 77 FLD0686B PIC 9(09)V9(13) + VALUE 602970496.8531952591348. + + 77 FLD0687A PIC S9(09)V9(05) + VALUE -394005874.76898. + 77 FLD0687B PIC 9(10)V9(08) + VALUE 4960980508.03440715. + + 77 FLD0688A PIC 9(03)V9(32) + VALUE 932.26844955554755145499257196206599. + 77 FLD0688B PIC 9(04) + VALUE 1064. + + 77 FLD0689A PIC 9(10)V9(07) + VALUE 4559306991.4341932. + 77 FLD0689B PIC S9(08)V9(04) + VALUE +34024840.8710. + + 77 FLD0690A PIC 9(01)V9(36) + VALUE 9.793660005922469879990899244148749858. + 77 FLD0690B PIC S9(08)V9(02) + VALUE -28078949.75. + + 77 FLD0691A PIC 9(09)V9(07) + VALUE 439500550.5938089. + 77 FLD0691B PIC S9(10)V9(06) + VALUE +4308484639.535531. + + 77 FLD0692A PIC 9(09)V9(04) + VALUE 358382577.7464. + 77 FLD0692B PIC 9(09)V9(15) + VALUE 636450165.553045121846764. + + 77 FLD0693A PIC S9(07)V9(01) + VALUE +2127399.6. + 77 FLD0693B PIC S9(01) + VALUE -0. + + 77 FLD0694A PIC 9(09)V9(05) + VALUE 378019656.01658. + 77 FLD0694B PIC 9(01) + VALUE 0. + + 77 FLD0695A PIC S9(09)V9(04) + VALUE -354304867.1111. + 77 FLD0695B PIC 9(09)V9(15) + VALUE 639721730.127885357397587. + + 77 FLD0696A PIC 9(04)V9(30) + VALUE 9067.945209731629319094281527213752. + 77 FLD0696B PIC 9(09)V9(03) + VALUE 318871778.848. + + 77 FLD0697A PIC S9(09)V9(06) + VALUE +414586353.841170. + 77 FLD0697B PIC 9(10)V9(09) + VALUE 5161837194.897523906. + + 77 FLD0698A PIC 9(08)V9(18) + VALUE 69447533.832122987362822641. + 77 FLD0698B PIC S9(03) + VALUE -080. + + 77 FLD0699A PIC 9(09)V9(13) + VALUE 597064952.5204202445749. + 77 FLD0699B PIC 9(09)V9(14) + VALUE 630288401.27729701681147. + + 77 FLD0700A PIC 9(06)V9(25) + VALUE 820234.3139012789885455845251271. + 77 FLD0700B PIC S9(01) + VALUE -0. + + 77 FLD0701A PIC 9(06)V9(24) + VALUE 809485.363390515577641792788199. + 77 FLD0701B PIC 9(02)V9(34) + VALUE 97.0800419877562270620785511709982529. + + 77 FLD0702A PIC 9(04)V9(30) + VALUE 9021.848589518318695112952809722628. + 77 FLD0702B PIC 9(07)V9(01) + VALUE 2351439.7. + + 77 FLD0703A PIC S9(04) + VALUE +1126. + 77 FLD0703B PIC 9(08)V9(04) + VALUE 33525578.1235. + + 77 FLD0704A PIC 9(10)V9(07) + VALUE 4696322933.5995404. + 77 FLD0704B PIC 9(09)V9(14) + VALUE 611168884.71092423174013. + + 77 FLD0705A PIC 9(10)V9(10) + VALUE 5381864238.0664638569. + 77 FLD0705B PIC 9(10)V9(07) + VALUE 4699950479.7278301. + + 77 FLD0706A PIC 9(07)V9(22) + VALUE 7815442.4104873465584120140192. + 77 FLD0706B PIC S9(05)V9(01) + VALUE -17297.4. + + 77 FLD0707A PIC 9(01) + VALUE 0. + 77 FLD0707B PIC 9(10)V9(09) + VALUE 5129442198.407349051. + + 77 FLD0708A PIC 9(02)V9(34) + VALUE 95.1225570140109555339336111501324921. + 77 FLD0708B PIC 9(08)V9(04) + VALUE 33834894.3169. + + 77 FLD0709A PIC S9(04) + VALUE +1124. + 77 FLD0709B PIC 9(09)V9(05) + VALUE 379344826.68404. + + 77 FLD0710A PIC 9(01)V9(36) + VALUE 9.946833086486408515014545628218911588. + 77 FLD0710B PIC S9(09)V9(03) + VALUE +322996298.459. + + 77 FLD0711A PIC 9(09)V9(16) + VALUE 677754067.1912668512888444. + 77 FLD0711B PIC 9(02) + VALUE 06. + + 77 FLD0712A PIC 9(09)V9(14) + VALUE 610433230.32745544498567. + 77 FLD0712B PIC S9(10)V9(08) + VALUE -4947392148.88603839. + + 77 FLD0713A PIC S9(08)V9(03) + VALUE -29280564.557. + 77 FLD0713B PIC 9(07)V9(01) + VALUE 2168463.7. + + 77 FLD0714A PIC 9(10)V9(07) + VALUE 4593980567.3719869. + 77 FLD0714B PIC 9(09)V9(04) + VALUE 347385951.5252. + + 77 FLD0715A PIC 9(09)V9(06) + VALUE 406643755.503527. + 77 FLD0715B PIC 9(10)V9(10) + VALUE 5480282475.3098877685. + + 77 FLD0716A PIC S9(08)V9(03) + VALUE -29497495.128. + 77 FLD0716B PIC 9(03)V9(31) + VALUE 914.3056916239737930141018296126276. + + 77 FLD0717A PIC 9(05)V9(28) + VALUE 86936.9843469434133709228262887336. + 77 FLD0717B PIC 9(07)V9(21) + VALUE 7570171.861371541854879296806. + + 77 FLD0718A PIC 9(06) + VALUE 158746. + 77 FLD0718B PIC 9(10)V9(06) + VALUE 4283417063.648062. + + 77 FLD0719A PIC 9(01) + VALUE 0. + 77 FLD0719B PIC 9(07)V9(02) + VALUE 2390904.61. + + 77 FLD0720A PIC 9(03) + VALUE 087. + 77 FLD0720B PIC S9(09)V9(06) + VALUE +404886316.426392. + + 77 FLD0721A PIC S9(09)V9(03) + VALUE +332294869.962. + 77 FLD0721B PIC 9(07)V9(01) + VALUE 2285954.3. + + 77 FLD0722A PIC S9(05)V9(01) + VALUE -17094.9. + 77 FLD0722B PIC 9(07)V9(21) + VALUE 7607809.920924922808538326535. + + 77 FLD0723A PIC 9(05)V9(28) + VALUE 87349.0901765646254872876852459739. + 77 FLD0723B PIC 9(02) + VALUE 07. + + 77 FLD0724A PIC 9(09)V9(03) + VALUE 317474559.928. + 77 FLD0724B PIC 9(10)V9(09) + VALUE 5251486411.115240393. + + 77 FLD0725A PIC 9(03)V9(31) + VALUE 915.1169879467740964074096154945436. + 77 FLD0725B PIC S9(09)V9(07) + VALUE +444412819.1361023. + + 77 FLD0726A PIC 9(05) + VALUE 14771. + 77 FLD0726B PIC S9(09)V9(06) + VALUE +401835639.675800. + + 77 FLD0727A PIC 9(10)V9(10) + VALUE 5412169008.2113094177. + 77 FLD0727B PIC 9(09)V9(16) + VALUE 677439277.9021225496904889. + + 77 FLD0728A PIC 9(09)V9(07) + VALUE 439411444.5456123. + 77 FLD0728B PIC S9(09)V9(05) + VALUE -371357711.97684. + + 77 FLD0729A PIC 9(02)V9(33) + VALUE 94.514768998125520127473464526701718. + 77 FLD0729B PIC 9(07)V9(23) + VALUE 7959700.26538914909863819957536. + + 77 FLD0730A PIC 9(06)V9(25) + VALUE 822685.8594490329412707296796725. + 77 FLD0730B PIC 9(09)V9(14) + VALUE 630270988.23946403616247. + + 77 FLD0731A PIC 9(10)V9(12) + VALUE 5808279049.356201984011. + 77 FLD0731B PIC 9(09)V9(13) + VALUE 600372700.6085320949679. + + 77 FLD0732A PIC 9(03)V9(31) + VALUE 915.5080332184045710519626481982413. + 77 FLD0732B PIC S9(04) + VALUE +1229. + + 77 FLD0733A PIC 9(09)V9(03) + VALUE 328019305.824. + 77 FLD0733B PIC 9(09)V9(15) + VALUE 637621846.224700750127567. + + 77 FLD0734A PIC S9(06) + VALUE -164821. + 77 FLD0734B PIC 9(02) + VALUE 05. + + 77 FLD0735A PIC S9(06)V9(01) + VALUE -190229.8. + 77 FLD0735B PIC 9(09)V9(15) + VALUE 641899075.827484955070190. + + 77 FLD0736A PIC 9(10)V9(09) + VALUE 5128678158.202983894. + 77 FLD0736B PIC 9(07)V9(23) + VALUE 7952260.56216242538354777025233. + + 77 FLD0737A PIC S9(07)V9(02) + VALUE -2601084.10. + 77 FLD0737B PIC S9(07)V9(02) + VALUE -2623355.12. + + 77 FLD0738A PIC 9(10)V9(09) + VALUE 5071467647.954436275. + 77 FLD0738B PIC 9(02)V9(34) + VALUE 96.7470462418068333221299326396547257. + + 77 FLD0739A PIC S9(09)V9(03) + VALUE +324797211.447. + 77 FLD0739B PIC S9(10)V9(08) + VALUE -4916417996.38161292. + + 77 FLD0740A PIC S9(08)V9(03) + VALUE +30394739.303. + 77 FLD0740B PIC 9(05)V9(28) + VALUE 87461.9397808273024708114462555386. + + 77 FLD0741A PIC S9(09)V9(03) + VALUE +322386723.831. + 77 FLD0741B PIC S9(09)V9(03) + VALUE +321782512.880. + + 77 FLD0742A PIC 9(09)V9(06) + VALUE 419367234.713135. + 77 FLD0742B PIC S9(08)V9(03) + VALUE +30468212.851. + + 77 FLD0743A PIC 9(05)V9(27) + VALUE 85864.867305029812794003873932524. + 77 FLD0743B PIC 9(06)V9(01) + VALUE 209820.2. + + 77 FLD0744A PIC 9(01) + VALUE 0. + 77 FLD0744B PIC 9(08)V9(02) + VALUE 26956228.79. + + 77 FLD0745A PIC 9(01)V9(36) + VALUE 9.759709501186564217789509712019935250. + 77 FLD0745B PIC 9(05) + VALUE 13548. + + 77 FLD0746A PIC 9(10)V9(10) + VALUE 5435731573.3552813430. + 77 FLD0746B PIC 9(10)V9(09) + VALUE 5204204473.599284286. + + 77 FLD0747A PIC 9(10)V9(11) + VALUE 5681676571.07930934579. + 77 FLD0747B PIC 9(03)V9(31) + VALUE 916.9159297409485986918298294767737. + + 77 FLD0748A PIC 9(03) + VALUE 086. + 77 FLD0748B PIC S9(05)V9(01) + VALUE -18032.7. + + 77 FLD0749A PIC S9(10)V9(07) + VALUE -4609096560.3942379. + 77 FLD0749B PIC 9(06)V9(25) + VALUE 820519.2560948625368766329302161. + + 77 FLD0750A PIC 9(07)V9(22) + VALUE 7666736.3171436386792834127845. + 77 FLD0750B PIC 9(08)V9(04) + VALUE 33966692.5145. + + 77 FLD0751A PIC 9(02) + VALUE 06. + 77 FLD0751B PIC S9(05) + VALUE -15176. + + 77 FLD0752A PIC 9(02) + VALUE 07. + 77 FLD0752B PIC 9(03)V9(32) + VALUE 922.38508268330654527034084821934811. + + 77 FLD0753A PIC 9(08)V9(19) + VALUE 73379118.3872512742247806727. + 77 FLD0753B PIC S9(01) + VALUE +0. + + 77 FLD0754A PIC S9(09)V9(03) + VALUE +322061792.108. + 77 FLD0754B PIC 9(07)V9(02) + VALUE 2450066.21. + + 77 FLD0755A PIC 9(06)V9(25) + VALUE 835592.8333445592492978448717622. + 77 FLD0755B PIC 9(10)V9(10) + VALUE 5346301002.0417645051. + + 77 FLD0756A PIC 9(09)V9(04) + VALUE 366295057.8421. + 77 FLD0756B PIC S9(05) + VALUE -15366. + + 77 FLD0757A PIC 9(08)V9(19) + VALUE 71466976.1113856494283425035. + 77 FLD0757B PIC S9(07)V9(02) + VALUE +2429438.31. + + 77 FLD0758A PIC 9(07)V9(01) + VALUE 2293699.9. + 77 FLD0758B PIC S9(06) + VALUE -162229. + + 77 FLD0759A PIC 9(03)V9(32) + VALUE 931.38963166127219928114300273591652. + 77 FLD0759B PIC 9(07)V9(21) + VALUE 7621303.882836163445801958005. + + 77 FLD0760A PIC 9(06)V9(01) + VALUE 188511.3. + 77 FLD0760B PIC 9(04)V9(30) + VALUE 9041.413390221895163278986728982999. + + 77 FLD0761A PIC 9(09)V9(17) + VALUE 690006529.44346418937726639. + 77 FLD0761B PIC 9(09)V9(14) + VALUE 629261290.31917010792085. + + 77 FLD0762A PIC 9(09)V9(16) + VALUE 671435372.9957326377686399. + 77 FLD0762B PIC 9(07)V9(02) + VALUE 2591343.61. + + 77 FLD0763A PIC 9(08)V9(19) + VALUE 71468145.3175585401638159055. + 77 FLD0763B PIC 9(06)V9(24) + VALUE 815545.608346078032546699887461. + + 77 FLD0764A PIC 9(10)V9(11) + VALUE 5535007698.50315821329. + 77 FLD0764B PIC 9(10)V9(08) + VALUE 4979398183.62831021. + + 77 FLD0765A PIC 9(04)V9(29) + VALUE 8855.80582773889624093044403707608. + 77 FLD0765B PIC S9(04) + VALUE +1212. + + 77 FLD0766A PIC S9(01) + VALUE +0. + 77 FLD0766B PIC 9(07)V9(01) + VALUE 2294943.2. + + 77 FLD0767A PIC S9(10)V9(08) + VALUE -4848285740.27346248. + 77 FLD0767B PIC S9(01) + VALUE +0. + + 77 FLD0768A PIC 9(09)V9(17) + VALUE 684230789.92735519854306858. + 77 FLD0768B PIC S9(02) + VALUE -07. + + 77 FLD0769A PIC 9(07)V9(02) + VALUE 2565731.27. + 77 FLD0769B PIC 9(09)V9(04) + VALUE 356094054.4649. + + 77 FLD0770A PIC 9(09)V9(12) + VALUE 574214303.174467532997. + 77 FLD0770B PIC 9(10)V9(13) + VALUE 6057194691.9895736094474. + + 77 FLD0771A PIC 9(08)V9(18) + VALUE 69721614.519732855175249142. + 77 FLD0771B PIC 9(09)V9(17) + VALUE 690190375.47148320843604096. + + 77 FLD0772A PIC 9(10)V9(08) + VALUE 4868623585.10471993. + 77 FLD0772B PIC 9(10)V9(05) + VALUE 3959689116.24786. + + 77 FLD0773A PIC S9(07)V9(01) + VALUE +2339835.9. + 77 FLD0773B PIC 9(03)V9(32) + VALUE 931.93997423560348547511011929600499. + + 77 FLD0774A PIC 9(01) + VALUE 0. + 77 FLD0774B PIC S9(07)V9(02) + VALUE +2425891.04. + + 77 FLD0775A PIC 9(09)V9(06) + VALUE 418947899.183504. + 77 FLD0775B PIC 9(03)V9(32) + VALUE 930.87735098341006789723905967548489. + + 77 FLD0776A PIC 9(09)V9(06) + VALUE 418950765.017868. + 77 FLD0776B PIC 9(05)V9(27) + VALUE 84781.081485203291236985023715533. + + 77 FLD0777A PIC S9(08)V9(03) + VALUE +31438250.184. + 77 FLD0777B PIC 9(10)V9(11) + VALUE 5606560858.83416754889. + + 77 FLD0778A PIC S9(06)V9(01) + VALUE -192739.4. + 77 FLD0778B PIC 9(03)V9(31) + VALUE 916.8465464730475300569878527312539. + + 77 FLD0779A PIC 9(04)V9(30) + VALUE 9029.333248069044692840634525055065. + 77 FLD0779B PIC S9(10)V9(08) + VALUE -4740907582.59428035. + + 77 FLD0780A PIC 9(09)V9(03) + VALUE 318241207.749. + 77 FLD0780B PIC 9(06)V9(25) + VALUE 822759.6235369002419801631731388. + + 77 FLD0781A PIC 9(10)V9(08) + VALUE 4967153543.73054196. + 77 FLD0781B PIC 9(08)V9(03) + VALUE 29720911.669. + + 77 FLD0782A PIC 9(05) + VALUE 13793. + 77 FLD0782B PIC 9(02)V9(34) + VALUE 95.5158015091007617236584792408393695. + + 77 FLD0783A PIC 9(04)V9(29) + VALUE 8813.39219378433402773964644438819. + 77 FLD0783B PIC S9(10)V9(06) + VALUE +4236433759.282261. + + 77 FLD0784A PIC 9(09)V9(15) + VALUE 641964802.793786426526878. + 77 FLD0784B PIC 9(06)V9(25) + VALUE 824637.3935062285553954097849782. + + 77 FLD0785A PIC 9(08)V9(17) + VALUE 68097654.34600172362422654. + 77 FLD0785B PIC 9(09)V9(03) + VALUE 325202869.704. + + 77 FLD0786A PIC 9(01)V9(36) + VALUE 9.820249933224565186407062356011010706. + 77 FLD0786B PIC 9(05)V9(27) + VALUE 85417.725929538756979297886573476. + + 77 FLD0787A PIC 9(10)V9(11) + VALUE 5592847098.07636559730. + 77 FLD0787B PIC 9(06)V9(01) + VALUE 199330.4. + + 77 FLD0788A PIC 9(02)V9(34) + VALUE 95.6557531637097668841818176588276401. + 77 FLD0788B PIC 9(07)V9(22) + VALUE 7789929.3063459995600794627534. + + 77 FLD0789A PIC S9(05)V9(01) + VALUE -17101.7. + 77 FLD0789B PIC 9(09)V9(16) + VALUE 660444958.2132847496040994. + + 77 FLD0790A PIC 9(07)V9(02) + VALUE 2384369.54. + 77 FLD0790B PIC S9(08)V9(03) + VALUE -29309999.122. + + 77 FLD0791A PIC 9(03) + VALUE 088. + 77 FLD0791B PIC 9(08)V9(20) + VALUE 73827325.48868294886190710712. + + 77 FLD0792A PIC 9(02)V9(34) + VALUE 95.5230059106088935649836457741912454. + 77 FLD0792B PIC 9(09)V9(05) + VALUE 379824535.06313. + + 77 FLD0793A PIC 9(06)V9(01) + VALUE 199221.9. + 77 FLD0793B PIC 9(10)V9(11) + VALUE 5591577156.30166807230. + + 77 FLD0794A PIC S9(08)V9(04) + VALUE +33437009.5807. + 77 FLD0794B PIC S9(01) + VALUE -0. + + 77 FLD0795A PIC S9(01) + VALUE +0. + 77 FLD0795B PIC S9(08)V9(04) + VALUE +33494400.6958. + + 77 FLD0796A PIC 9(07)V9(21) + VALUE 7565685.006144580171394409262. + 77 FLD0796B PIC 9(08)V9(19) + VALUE 72949831.5977354816475042298. + + 77 FLD0797A PIC 9(01) + VALUE 0. + 77 FLD0797B PIC 9(09)V9(04) + VALUE 348777486.0252. + + 77 FLD0798A PIC S9(09)V9(03) + VALUE +332243375.906. + 77 FLD0798B PIC 9(09)V9(16) + VALUE 673821443.1439371043808250. + + 77 FLD0799A PIC 9(09)V9(17) + VALUE 690866271.33683375934225523. + 77 FLD0799B PIC 9(09)V9(11) + VALUE 551526790.74963362193. + + 77 FLD0800A PIC 9(08)V9(18) + VALUE 70036112.416705975647346349. + 77 FLD0800B PIC 9(08)V9(02) + VALUE 26662512.18. + + 77 FLD0801A PIC S9(09)V9(07) + VALUE +443093279.8052367. + 77 FLD0801B PIC 9(01)V9(36) + VALUE 9.827967002397862694706986985693220049. + + 77 FLD0802A PIC S9(07)V9(02) + VALUE +2449505.23. + 77 FLD0802B PIC 9(04)V9(29) + VALUE 8911.32090012832223102634543465683. + + 77 FLD0803A PIC S9(05)V9(01) + VALUE -17467.0. + 77 FLD0803B PIC 9(10)V9(11) + VALUE 5556247901.99399698487. + + 77 FLD0804A PIC 9(07)V9(02) + VALUE 2599541.84. + 77 FLD0804B PIC 9(01) + VALUE 0. + + 77 FLD0805A PIC 9(07)V9(01) + VALUE 2358341.0. + 77 FLD0805B PIC 9(10)V9(08) + VALUE 4796323563.66873291. + + 77 FLD0806A PIC 9(10)V9(11) + VALUE 5703927562.80738821850. + 77 FLD0806B PIC 9(09)V9(07) + VALUE 445849105.9648416. + + 77 FLD0807A PIC 9(09)V9(17) + VALUE 689326682.16034242991696601. + 77 FLD0807B PIC S9(03) + VALUE -090. + + 77 FLD0808A PIC 9(01) + VALUE 0. + 77 FLD0808B PIC 9(10)V9(07) + VALUE 4574455047.5690953. + + 77 FLD0809A PIC 9(05)V9(28) + VALUE 86873.4196996681751201663246320094. + 77 FLD0809B PIC S9(09)V9(07) + VALUE +440334288.3961999. + + 77 FLD0810A PIC S9(04) + VALUE +1129. + 77 FLD0810B PIC S9(07)V9(01) + VALUE +2130584.0. + + 77 FLD0811A PIC 9(09)V9(15) + VALUE 648943185.643321429623142. + 77 FLD0811B PIC 9(01)V9(36) + VALUE 9.811592432324195423021251372119877487. + + 77 FLD0812A PIC S9(08)V9(03) + VALUE -29270905.795. + 77 FLD0812B PIC 9(08)V9(02) + VALUE 27514068.39. + + 77 FLD0813A PIC 9(10)V9(08) + VALUE 4881724662.84412076. + 77 FLD0813B PIC S9(08)V9(03) + VALUE -29113136.400. + + 77 FLD0814A PIC S9(02) + VALUE -07. + 77 FLD0814B PIC 9(07)V9(21) + VALUE 7525112.595496631362479433846. + + 77 FLD0815A PIC 9(06)V9(25) + VALUE 838676.0467962863785373883729334. + 77 FLD0815B PIC 9(02)V9(34) + VALUE 95.3836598694868031955707010638434439. + + 77 FLD0816A PIC 9(08)V9(18) + VALUE 70774184.783492177786001775. + 77 FLD0816B PIC 9(04)V9(29) + VALUE 8859.15144904112161761133847903693. + + 77 FLD0817A PIC 9(10)V9(09) + VALUE 5163345142.860672476. + 77 FLD0817B PIC 9(10)V9(09) + VALUE 5158922133.304477686. + + 77 FLD0818A PIC 9(08)V9(03) + VALUE 30586164.664. + 77 FLD0818B PIC 9(08)V9(19) + VALUE 71565910.0751609544843745425. + + 77 FLD0819A PIC 9(01)V9(36) + VALUE 9.844708607145921108738662042014766484. + 77 FLD0819B PIC S9(03) + VALUE -092. + + 77 FLD0820A PIC 9(01) + VALUE 0. + 77 FLD0820B PIC 9(02)V9(34) + VALUE 95.6537139953218984445015848905313760. + + 77 FLD0821A PIC 9(09)V9(11) + VALUE 550576956.44832715942. + 77 FLD0821B PIC S9(09)V9(05) + VALUE -383656536.39422. + + 77 FLD0822A PIC S9(05) + VALUE +14037. + 77 FLD0822B PIC 9(04) + VALUE 1092. + + 77 FLD0823A PIC 9(08)V9(20) + VALUE 73880168.20028298070610617287. + 77 FLD0823B PIC S9(09)V9(06) + VALUE +410430433.569272. + + 77 FLD0824A PIC 9(10)V9(10) + VALUE 5351534260.3280557920. + 77 FLD0824B PIC 9(09)V9(14) + VALUE 619637811.24301098301998. + + 77 FLD0825A PIC 9(01) + VALUE 0. + 77 FLD0825B PIC S9(05)V9(01) + VALUE -17069.2. + + 77 FLD0826A PIC S9(06)V9(01) + VALUE -190786.5. + 77 FLD0826B PIC S9(10)V9(08) + VALUE -4805976358.59735916. + + 77 FLD0827A PIC 9(07)V9(22) + VALUE 7763847.1978375678261841130733. + 77 FLD0827B PIC 9(10)V9(07) + VALUE 4683286251.1747114. + + 77 FLD0828A PIC S9(10)V9(07) + VALUE -4530916009.2405642. + 77 FLD0828B PIC S9(05) + VALUE -15016. + + 77 FLD0829A PIC 9(09)V9(17) + VALUE 691486534.21926165041355716. + 77 FLD0829B PIC 9(07)V9(23) + VALUE 7963194.44710118728991687930829. + + 77 FLD0830A PIC 9(04)V9(30) + VALUE 8965.722935126121395654763546190224. + 77 FLD0830B PIC 9(10)V9(11) + VALUE 5655358049.53465004452. + + 77 FLD0831A PIC 9(04)V9(30) + VALUE 8956.555580996397036841472072410397. + 77 FLD0831B PIC 9(09)V9(16) + VALUE 660284490.9595845246386147. + + 77 FLD0832A PIC 9(04) + VALUE 1185. + 77 FLD0832B PIC 9(09)V9(06) + VALUE 419049138.539795. + + 77 FLD0833A PIC 9(06)V9(24) + VALUE 804859.798300300854911881742737. + 77 FLD0833B PIC 9(09)V9(16) + VALUE 664990588.4825918489511309. + + 77 FLD0834A PIC 9(09)V9(04) + VALUE 349209744.2881. + 77 FLD0834B PIC 9(08)V9(19) + VALUE 71191898.1740956136050613167. + + 77 FLD0835A PIC 9(08)V9(19) + VALUE 71178359.2779248075466114187. + 77 FLD0835B PIC 9(07)V9(22) + VALUE 7891261.8513661014763016510187. + + 77 FLD0836A PIC 9(09)V9(07) + VALUE 446141389.3412962. + 77 FLD0836B PIC 9(09)V9(13) + VALUE 594066179.3005866941896. + + 77 FLD0837A PIC 9(04)V9(30) + VALUE 8982.008694278872384941792006429750. + 77 FLD0837B PIC S9(08)V9(03) + VALUE -29146758.519. + + 77 FLD0838A PIC 9(10)V9(12) + VALUE 5873188106.793812979233. + 77 FLD0838B PIC 9(07)V9(22) + VALUE 7748686.2151072521953665273031. + + 77 FLD0839A PIC 9(08)V9(19) + VALUE 71324671.8649382605015318858. + 77 FLD0839B PIC 9(06)V9(01) + VALUE 205379.6. + + 77 FLD0840A PIC S9(03) + VALUE -094. + 77 FLD0840B PIC 9(04) + VALUE 1059. + + 77 FLD0841A PIC 9(08)V9(18) + VALUE 70179428.042996372383299785. + 77 FLD0841B PIC 9(06)V9(24) + VALUE 813553.693586876014443021176703. + + 77 FLD0842A PIC 9(09)V9(16) + VALUE 661649948.5739699704112126. + 77 FLD0842B PIC 9(02)V9(33) + VALUE 94.543261545044898763734408930758945. + + 77 FLD0843A PIC 9(06)V9(25) + VALUE 818928.0761087860405211813485948. + 77 FLD0843B PIC S9(08)V9(03) + VALUE +30347988.647. + + 77 FLD0844A PIC 9(07)V9(22) + VALUE 7754458.9142564990247308287507. + 77 FLD0844B PIC 9(10)V9(07) + VALUE 4487113046.2525055. + + 77 FLD0845A PIC 9(10)V9(12) + VALUE 5903835745.060688200425. + 77 FLD0845B PIC 9(09)V9(15) + VALUE 651184321.418812994686220. + + 77 FLD0846A PIC 9(08)V9(03) + VALUE 29802576.878. + 77 FLD0846B PIC 9(10)V9(07) + VALUE 4580030325.9646085. + + 77 FLD0847A PIC 9(05)V9(26) + VALUE 84041.42690564196938041163775778. + 77 FLD0847B PIC 9(08)V9(03) + VALUE 29618694.346. + + 77 FLD0848A PIC 9(07)V9(23) + VALUE 7949747.62786875510656159349309. + 77 FLD0848B PIC 9(08)V9(19) + VALUE 71130247.7845018432667245633. + + 77 FLD0849A PIC 9(09)V9(13) + VALUE 595598045.8961575019216. + 77 FLD0849B PIC 9(07)V9(21) + VALUE 7527838.155592773139446194363. + + 77 FLD0850A PIC 9(09)V9(06) + VALUE 418716850.605351. + 77 FLD0850B PIC 9(09)V9(15) + VALUE 631787055.454641532925563. + + 77 FLD0851A PIC S9(03) + VALUE -082. + 77 FLD0851B PIC 9(07)V9(01) + VALUE 2252059.3. + + 77 FLD0852A PIC 9(10)V9(11) + VALUE 5643399909.75319838462. + 77 FLD0852B PIC 9(08)V9(02) + VALUE 28682579.88. + + 77 FLD0853A PIC 9(06)V9(24) + VALUE 801200.590406665469345171004533. + 77 FLD0853B PIC S9(01) + VALUE +0. + + 77 FLD0854A PIC 9(01)V9(35) + VALUE 9.72377885073923198255840816273121163. + 77 FLD0854B PIC 9(01) + VALUE 0. + + 77 FLD0855A PIC 9(08)V9(19) + VALUE 73562901.0042854747375429269. + 77 FLD0855B PIC 9(05)V9(01) + VALUE 16705.4. + + 77 FLD0856A PIC 9(09)V9(04) + VALUE 356144099.6704. + 77 FLD0856B PIC S9(05) + VALUE +13257. + + 77 FLD0857A PIC 9(03)V9(31) + VALUE 915.3286634102202334872799838194623. + 77 FLD0857B PIC S9(02) + VALUE -05. + + 77 FLD0858A PIC 9(10)V9(11) + VALUE 5560594458.08950059131. + 77 FLD0858B PIC 9(08)V9(03) + VALUE 30966624.473. + + 77 FLD0859A PIC S9(01) + VALUE +0. + 77 FLD0859B PIC 9(02)V9(34) + VALUE 97.1628168143447767945986015547532588. + + 77 FLD0860A PIC 9(07)V9(02) + VALUE 2576407.94. + 77 FLD0860B PIC 9(08)V9(04) + VALUE 33654706.3315. + + 77 FLD0861A PIC S9(10)V9(07) + VALUE -4605509961.3842453. + 77 FLD0861B PIC 9(04) + VALUE 1091. + + 77 FLD0862A PIC 9(07)V9(22) + VALUE 7652464.2157409383802502134130. + 77 FLD0862B PIC 9(09)V9(12) + VALUE 576630833.581719182134. + + 77 FLD0863A PIC 9(05)V9(27) + VALUE 85070.091557533766835064170663827. + 77 FLD0863B PIC 9(10)V9(09) + VALUE 5171260723.603198217. + + 77 FLD0864A PIC 9(10)V9(11) + VALUE 5711242885.34377577697. + 77 FLD0864B PIC 9(04)V9(29) + VALUE 8791.30787212824560405977081245509. + + 77 FLD0865A PIC 9(06)V9(24) + VALUE 807409.725415061507725056344497. + 77 FLD0865B PIC S9(03) + VALUE -082. + + 77 FLD0866A PIC 9(09)V9(05) + VALUE 376060050.51851. + 77 FLD0866B PIC 9(04)V9(30) + VALUE 9076.867019798932068042063292523380. + + 77 FLD0867A PIC S9(05) + VALUE +14084. + 77 FLD0867B PIC 9(08)V9(19) + VALUE 72879777.6966572774526298417. + + 77 FLD0868A PIC 9(07)V9(22) + VALUE 7648419.8420910554094831468319. + 77 FLD0868B PIC 9(10)V9(12) + VALUE 5849128371.667725589944. + + 77 FLD0869A PIC S9(01) + VALUE +0. + 77 FLD0869B PIC 9(08)V9(17) + VALUE 68157822.06919422936408636. + + 77 FLD0870A PIC S9(01) + VALUE +0. + 77 FLD0870B PIC 9(09)V9(15) + VALUE 657570531.523696821807334. + + 77 FLD0871A PIC 9(09)V9(14) + VALUE 609764683.38536315982878. + 77 FLD0871B PIC 9(10)V9(09) + VALUE 5134836781.377033476. + + 77 FLD0872A PIC 9(04)V9(29) + VALUE 8816.31176263962479389135751262074. + 77 FLD0872B PIC 9(10)V9(07) + VALUE 4591409950.7884903. + + 77 FLD0873A PIC 9(07)V9(21) + VALUE 7561255.223942077163812314211. + 77 FLD0873B PIC 9(05) + VALUE 15597. + + 77 FLD0874A PIC 9(01) + VALUE 0. + 77 FLD0874B PIC 9(06)V9(01) + VALUE 188106.3. + + 77 FLD0875A PIC S9(06)V9(01) + VALUE +204126.0. + 77 FLD0875B PIC 9(02) + VALUE 06. + + 77 FLD0876A PIC 9(01) + VALUE 0. + 77 FLD0876B PIC 9(07)V9(23) + VALUE 7928238.87607293276147402139031. + + 77 FLD0877A PIC 9(08)V9(18) + VALUE 69924605.886404200827399790. + 77 FLD0877B PIC 9(09)V9(15) + VALUE 651975862.412979334514773. + + 77 FLD0878A PIC 9(07)V9(22) + VALUE 7831260.9220719830993573395971. + 77 FLD0878B PIC 9(04)V9(29) + VALUE 8832.64528360225620318146866338793. + + 77 FLD0879A PIC 9(07)V9(02) + VALUE 2371533.81. + 77 FLD0879B PIC 9(05)V9(27) + VALUE 85230.962794591269560129376259283. + + 77 FLD0880A PIC S9(10)V9(06) + VALUE +4237732309.742536. + 77 FLD0880B PIC 9(05)V9(26) + VALUE 83915.37539577657023315282458497. + + 77 FLD0881A PIC 9(10)V9(11) + VALUE 5571129514.90407404264. + 77 FLD0881B PIC S9(09)V9(04) + VALUE -360610120.1846. + + 77 FLD0882A PIC 9(10)V9(12) + VALUE 5888713345.878072713546. + 77 FLD0882B PIC 9(09)V9(16) + VALUE 677832951.8186110291821933. + + 77 FLD0883A PIC 9(09)V9(16) + VALUE 672192258.1526228457349247. + 77 FLD0883B PIC 9(07)V9(21) + VALUE 7561874.624389478549701948395. + + 77 FLD0884A PIC 9(10)V9(08) + VALUE 4954020911.85092596. + 77 FLD0884B PIC 9(07)V9(21) + VALUE 7530519.818486510752464369033. + + 77 FLD0885A PIC S9(05) + VALUE +13360. + 77 FLD0885B PIC S9(05) + VALUE -15432. + + 77 FLD0886A PIC S9(09)V9(05) + VALUE -374529584.88504. + 77 FLD0886B PIC S9(09)V9(05) + VALUE -380480275.58811. + + 77 FLD0887A PIC S9(07)V9(01) + VALUE +2114795.5. + 77 FLD0887B PIC 9(06)V9(25) + VALUE 815821.3018675709582439026235078. + + 77 FLD0888A PIC 9(08)V9(19) + VALUE 73580519.1914812417586233550. + 77 FLD0888B PIC 9(07)V9(02) + VALUE 2394446.18. + + 77 FLD0889A PIC S9(05) + VALUE -15225. + 77 FLD0889B PIC 9(02)V9(34) + VALUE 96.3719675610497206186266794247785583. + + 77 FLD0890A PIC S9(01) + VALUE +0. + 77 FLD0890B PIC 9(08)V9(19) + VALUE 72161358.3480198661490589984. + + 77 FLD0891A PIC 9(02)V9(34) + VALUE 95.7956124985634538404610793804749846. + 77 FLD0891B PIC 9(08)V9(19) + VALUE 73526985.6204998628612656830. + + 77 FLD0892A PIC 9(10)V9(09) + VALUE 5079027644.377075434. + 77 FLD0892B PIC 9(03) + VALUE 088. + + 77 FLD0893A PIC 9(10)V9(12) + VALUE 5900775083.003402254888. + 77 FLD0893B PIC 9(02) + VALUE 07. + + 77 FLD0894A PIC 9(06)V9(25) + VALUE 819872.1409522375935807758651208. + 77 FLD0894B PIC 9(09)V9(15) + VALUE 655129000.141700390535959. + + 77 FLD0895A PIC 9(10)V9(09) + VALUE 5099949658.575000377. + 77 FLD0895B PIC 9(08)V9(02) + VALUE 28944204.51. + + 77 FLD0896A PIC 9(10)V9(07) + VALUE 4576511370.6787369. + 77 FLD0896B PIC S9(01) + VALUE +0. + + 77 FLD0897A PIC 9(01)V9(36) + VALUE 9.997543976245016894566219889384228736. + 77 FLD0897B PIC S9(09)V9(07) + VALUE +440492210.0858147. + + 77 FLD0898A PIC 9(09)V9(05) + VALUE 378033726.09171. + 77 FLD0898B PIC 9(06)V9(01) + VALUE 199374.1. + + 77 FLD0899A PIC 9(08)V9(20) + VALUE 74918436.40783237834313013081. + 77 FLD0899B PIC 9(09)V9(07) + VALUE 438142184.6749312. + + 77 FLD0900A PIC 9(03)V9(32) + VALUE 929.41329164379282712360463847289793. + 77 FLD0900B PIC 9(06)V9(01) + VALUE 185639.8. + + 77 FLD0901A PIC 9(10)V9(07) + VALUE 4563598931.5070740. + 77 FLD0901B PIC 9(01)V9(36) + VALUE 9.782322298369796609307513790554367005. + + 77 FLD0902A PIC 9(05)V9(28) + VALUE 87405.6741908566081633580324705690. + 77 FLD0902B PIC 9(10)V9(09) + VALUE 5131137190.755751253. + + 77 FLD0903A PIC 9(08)V9(02) + VALUE 28616952.10. + 77 FLD0903B PIC S9(02) + VALUE -06. + + 77 FLD0904A PIC S9(04) + VALUE +1137. + 77 FLD0904B PIC S9(01) + VALUE -0. + + 77 FLD0905A PIC 9(09)V9(04) + VALUE 357938124.4724. + 77 FLD0905B PIC 9(09)V9(04) + VALUE 349599231.9688. + + 77 FLD0906A PIC 9(09)V9(16) + VALUE 669388906.6218295935684068. + 77 FLD0906B PIC 9(01) + VALUE 0. + + 77 FLD0907A PIC S9(09)V9(05) + VALUE -390800584.69506. + 77 FLD0907B PIC 9(10)V9(11) + VALUE 5692874702.16027324809. + + 77 FLD0908A PIC S9(10)V9(06) + VALUE +4306350776.286586. + 77 FLD0908B PIC 9(03)V9(31) + VALUE 912.0472776451683527554337160836439. + + 77 FLD0909A PIC 9(08)V9(03) + VALUE 30663800.453. + 77 FLD0909B PIC 9(01) + VALUE 0. + + 77 FLD0910A PIC S9(06)V9(01) + VALUE -193158.9. + 77 FLD0910B PIC 9(04)V9(30) + VALUE 9098.433765600096867487422969134058. + + 77 FLD0911A PIC S9(10)V9(07) + VALUE -4611964452.0728980. + 77 FLD0911B PIC 9(08)V9(20) + VALUE 74305071.04102702653491974160. + + 77 FLD0912A PIC 9(10)V9(09) + VALUE 5000191930.396378214. + 77 FLD0912B PIC 9(01) + VALUE 0. + + 77 FLD0913A PIC S9(04) + VALUE +1246. + 77 FLD0913B PIC 9(03) + VALUE 079. + + 77 FLD0914A PIC 9(03)V9(31) + VALUE 917.2012666333545505281676923914346. + 77 FLD0914B PIC 9(01)V9(36) + VALUE 9.801144784183424274459639491396956145. + + 77 FLD0915A PIC 9(08)V9(20) + VALUE 74750906.49492384109464637731. + 77 FLD0915B PIC S9(04) + VALUE +1130. + + 77 FLD0916A PIC S9(01) + VALUE +0. + 77 FLD0916B PIC 9(10)V9(06) + VALUE 4372777685.598984. + + 77 FLD0917A PIC 9(01) + VALUE 0. + 77 FLD0917B PIC 9(04) + VALUE 1084. + + 77 FLD0918A PIC 9(04) + VALUE 1059. + 77 FLD0918B PIC 9(10)V9(11) + VALUE 5693106161.94893204244. + + 77 FLD0919A PIC S9(02) + VALUE -06. + 77 FLD0919B PIC S9(01) + VALUE +0. + + 77 FLD0920A PIC S9(05)V9(01) + VALUE -17474.9. + 77 FLD0920B PIC 9(09)V9(16) + VALUE 669843285.3658151664433262. + + 77 FLD0921A PIC 9(10)V9(10) + VALUE 5463494999.0456427304. + 77 FLD0921B PIC S9(01) + VALUE +0. + + 77 FLD0922A PIC S9(01) + VALUE +0. + 77 FLD0922B PIC S9(05)V9(01) + VALUE -18331.8. + + 77 FLD0923A PIC 9(06) + VALUE 159582. + 77 FLD0923B PIC S9(04) + VALUE +1310. + + 77 FLD0924A PIC 9(10)V9(11) + VALUE 5650505738.70210182114. + 77 FLD0924B PIC 9(06)V9(25) + VALUE 830413.4742864166529585645548650. + + 77 FLD0925A PIC S9(04) + VALUE +1236. + 77 FLD0925B PIC S9(01) + VALUE +0. + + 77 FLD0926A PIC 9(08)V9(18) + VALUE 69535643.175280814620720093. + 77 FLD0926B PIC S9(07)V9(02) + VALUE -2533128.95. + + 77 FLD0927A PIC 9(06)V9(24) + VALUE 800954.558131814597921049880824. + 77 FLD0927B PIC 9(10)V9(09) + VALUE 5121064754.192180545. + + 77 FLD0928A PIC 9(01) + VALUE 0. + 77 FLD0928B PIC 9(07)V9(02) + VALUE 2551694.92. + + 77 FLD0929A PIC 9(05)V9(28) + VALUE 87174.0739403786824013309342262800. + 77 FLD0929B PIC 9(08)V9(19) + VALUE 71306594.2354483839338286088. + + 77 FLD0930A PIC 9(01)V9(36) + VALUE 9.911281003002671008417223674769047647. + 77 FLD0930B PIC 9(09)V9(13) + VALUE 591594874.8305130955316. + + 77 FLD0931A PIC 9(09)V9(12) + VALUE 573747057.720371378408. + 77 FLD0931B PIC S9(07)V9(02) + VALUE -2503283.13. + + 77 FLD0932A PIC 9(10)V9(09) + VALUE 5079506475.355934913. + 77 FLD0932B PIC 9(10)V9(09) + VALUE 5196217943.575858200. + + 77 FLD0933A PIC 9(07)V9(22) + VALUE 7776883.1704294028028812135744. + 77 FLD0933B PIC 9(09)V9(03) + VALUE 328435728.864. + + 77 FLD0934A PIC 9(05)V9(01) + VALUE 16899.6. + 77 FLD0934B PIC 9(07)V9(02) + VALUE 2394400.51. + + 77 FLD0935A PIC 9(05)V9(01) + VALUE 16691.2. + 77 FLD0935B PIC 9(10)V9(08) + VALUE 4853829665.64275264. + + 77 FLD0936A PIC 9(08)V9(03) + VALUE 29560937.131. + 77 FLD0936B PIC 9(02)V9(34) + VALUE 95.2998853185021421730027668672846630. + + 77 FLD0937A PIC 9(02)V9(33) + VALUE 94.462893191714936147462822191300801. + 77 FLD0937B PIC 9(01) + VALUE 0. + + 77 FLD0938A PIC 9(09)V9(12) + VALUE 578242437.999430092254. + 77 FLD0938B PIC 9(08)V9(18) + VALUE 70721875.972746128802270959. + + 77 FLD0939A PIC 9(10)V9(13) + VALUE 6084884727.3780637401330. + 77 FLD0939B PIC S9(01) + VALUE -0. + + 77 FLD0940A PIC 9(09)V9(12) + VALUE 577997061.609985873786. + 77 FLD0940B PIC 9(10)V9(08) + VALUE 4780052522.48498546. + + 77 FLD0941A PIC 9(09)V9(16) + VALUE 670449367.9367865555107641. + 77 FLD0941B PIC 9(09)V9(04) + VALUE 345028332.3540. + + 77 FLD0942A PIC 9(10)V9(10) + VALUE 5309347867.8071082121. + 77 FLD0942B PIC 9(03)V9(32) + VALUE 922.70492697630424050458941565011627. + + 77 FLD0943A PIC S9(09)V9(03) + VALUE +323766798.919. + 77 FLD0943B PIC S9(06)V9(01) + VALUE +203018.6. + + 77 FLD0944A PIC 9(02)V9(34) + VALUE 95.7363239628727824559462078468641266. + 77 FLD0944B PIC S9(07)V9(02) + VALUE -2600465.21. + + 77 FLD0945A PIC 9(10)V9(10) + VALUE 5427766423.1255295934. + 77 FLD0945B PIC S9(10)V9(06) + VALUE +4211785767.712989. + + 77 FLD0946A PIC S9(07)V9(02) + VALUE -2603132.30. + 77 FLD0946B PIC 9(02)V9(34) + VALUE 96.2407519811451561686510558502050116. + + 77 FLD0947A PIC 9(05)V9(27) + VALUE 85846.989065825540787812997223227. + 77 FLD0947B PIC 9(09)V9(16) + VALUE 671942080.3697424560141371. + + 77 FLD0948A PIC 9(04) + VALUE 1058. + 77 FLD0948B PIC 9(07)V9(21) + VALUE 7582594.805549627281493485497. + + 77 FLD0949A PIC S9(10)V9(06) + VALUE +4307044196.647341. + 77 FLD0949B PIC 9(10)V9(07) + VALUE 4670230467.6696332. + + 77 FLD0950A PIC 9(09)V9(14) + VALUE 614898523.03850200954116. + 77 FLD0950B PIC 9(04)V9(30) + VALUE 9056.465512238127679722765606129541. + + 77 FLD0951A PIC S9(08)V9(03) + VALUE +31116955.475. + 77 FLD0951B PIC 9(08)V9(20) + VALUE 74599134.92992847894313968026. + + 77 FLD0952A PIC 9(09)V9(03) + VALUE 315844571.317. + 77 FLD0952B PIC 9(02) + VALUE 06. + + 77 FLD0953A PIC 9(06) + VALUE 166635. + 77 FLD0953B PIC 9(10)V9(09) + VALUE 5187782319.462912461. + + 77 FLD0954A PIC 9(10)V9(11) + VALUE 5577123049.60128579800. + 77 FLD0954B PIC 9(02)V9(34) + VALUE 97.0603521071659591790137255884474143. + + 77 FLD0955A PIC S9(08)V9(02) + VALUE -27357789.23. + 77 FLD0955B PIC 9(06)V9(25) + VALUE 823687.4590304759102821208216482. + + 77 FLD0956A PIC S9(08)V9(02) + VALUE -27355040.84. + 77 FLD0956B PIC 9(08)V9(18) + VALUE 70029518.862281070479269828. + + 77 FLD0957A PIC 9(09)V9(15) + VALUE 637627083.330792543414133. + 77 FLD0957B PIC S9(04) + VALUE +1212. + + 77 FLD0958A PIC S9(08)V9(03) + VALUE -29370744.150. + 77 FLD0958B PIC 9(10)V9(06) + VALUE 4358178846.720288. + + 77 FLD0959A PIC 9(06)V9(25) + VALUE 827211.6833605048791255853757320. + 77 FLD0959B PIC S9(01) + VALUE +0. + + 77 FLD0960A PIC 9(10)V9(11) + VALUE 5559976801.18206716315. + 77 FLD0960B PIC S9(01) + VALUE +0. + + 77 FLD0961A PIC 9(08)V9(19) + VALUE 72708740.7191407630868695832. + 77 FLD0961B PIC S9(04) + VALUE +1315. + + 77 FLD0962A PIC 9(02)V9(34) + VALUE 96.8081984946274620718043024680810049. + 77 FLD0962B PIC 9(08)V9(17) + VALUE 68265700.44059103725686554. + + 77 FLD0963A PIC 9(01)V9(36) + VALUE 9.803573230667260718362854277074802666. + 77 FLD0963B PIC 9(09)V9(16) + VALUE 657950850.8072698935720268. + + 77 FLD0964A PIC 9(09)V9(15) + VALUE 639504907.969730918004813. + 77 FLD0964B PIC 9(09)V9(13) + VALUE 599568613.7680703575725. + + 77 FLD0965A PIC 9(05) + VALUE 13581. + 77 FLD0965B PIC 9(01) + VALUE 0. + + 77 FLD0966A PIC 9(06)V9(01) + VALUE 189200.6. + 77 FLD0966B PIC 9(06)V9(01) + VALUE 189757.7. + + 77 FLD0967A PIC 9(02) + VALUE 06. + 77 FLD0967B PIC 9(09)V9(04) + VALUE 356045641.3147. + + 77 FLD0968A PIC 9(09)V9(15) + VALUE 649996663.320669743058033. + 77 FLD0968B PIC S9(04) + VALUE +1132. + + 77 FLD0969A PIC S9(05) + VALUE -15366. + 77 FLD0969B PIC 9(09)V9(13) + VALUE 594539058.0989867723715. + + 77 FLD0970A PIC 9(09)V9(14) + VALUE 631417540.20798013247173. + 77 FLD0970B PIC 9(02)V9(34) + VALUE 96.8862081091470539462306987843476235. + + 77 FLD0971A PIC 9(07)V9(01) + VALUE 2161446.9. + 77 FLD0971B PIC S9(09)V9(06) + VALUE +400705169.115322. + + 77 FLD0972A PIC 9(09)V9(15) + VALUE 647710182.878484586055378. + 77 FLD0972B PIC 9(05) + VALUE 13649. + + 77 FLD0973A PIC 9(05) + VALUE 13817. + 77 FLD0973B PIC 9(06)V9(25) + VALUE 828260.5282429751358819203232997. + + 77 FLD0974A PIC 9(04) + VALUE 1180. + 77 FLD0974B PIC S9(03) + VALUE +104. + + 77 FLD0975A PIC S9(02) + VALUE -06. + 77 FLD0975B PIC 9(09)V9(03) + VALUE 329183580.054. + + 77 FLD0976A PIC S9(07)V9(01) + VALUE +2206144.7. + 77 FLD0976B PIC 9(10)V9(09) + VALUE 5191401776.232426046. + + 77 FLD0977A PIC 9(09)V9(03) + VALUE 327431372.704. + 77 FLD0977B PIC S9(09)V9(05) + VALUE -393208707.80387. + + 77 FLD0978A PIC 9(09)V9(16) + VALUE 675062190.8116747338368668. + 77 FLD0978B PIC S9(09)V9(06) + VALUE +411411057.685845. + + 77 FLD0979A PIC 9(03)V9(32) + VALUE 925.33169671466619643496187563869170. + 77 FLD0979B PIC 9(09)V9(05) + VALUE 388509802.38797. + + 77 FLD0980A PIC 9(03)V9(32) + VALUE 935.82234581280043794748735308530740. + 77 FLD0980B PIC 9(09)V9(15) + VALUE 647159992.565670250108667. + + 77 FLD0981A PIC 9(06)V9(01) + VALUE 195132.7. + 77 FLD0981B PIC S9(09)V9(04) + VALUE -360473610.9762. + + 77 FLD0982A PIC 9(06)V9(25) + VALUE 816610.1728260642955703474399342. + 77 FLD0982B PIC S9(08)V9(03) + VALUE +31469845.616. + + 77 FLD0983A PIC 9(10)V9(09) + VALUE 5114754992.436914005. + 77 FLD0983B PIC 9(02)V9(34) + VALUE 95.8147071945383510538363225350622087. + + 77 FLD0984A PIC 9(09)V9(15) + VALUE 632949921.330981046807551. + 77 FLD0984B PIC 9(10)V9(09) + VALUE 5090793805.153389639. + + 77 FLD0985A PIC 9(10)V9(06) + VALUE 4296662473.303992. + 77 FLD0985B PIC 9(05)V9(28) + VALUE 87137.5808353749947698929645412135. + + 77 FLD0986A PIC 9(05) + VALUE 14588. + 77 FLD0986B PIC 9(01) + VALUE 0. + + 77 FLD0987A PIC 9(01)V9(36) + VALUE 9.834402345123109956404050535638816654. + 77 FLD0987B PIC 9(06)V9(26) + VALUE 842525.10302045313661523096016026. + + 77 FLD0988A PIC 9(01) + VALUE 0. + 77 FLD0988B PIC S9(05)V9(01) + VALUE -18152.0. + + 77 FLD0989A PIC S9(04) + VALUE +1235. + 77 FLD0989B PIC 9(09)V9(13) + VALUE 593212782.9792923634499. + + 77 FLD0990A PIC 9(07)V9(22) + VALUE 7806084.0781040319313888176111. + 77 FLD0990B PIC 9(06)V9(01) + VALUE 208986.1. + + 77 FLD0991A PIC 9(06)V9(24) + VALUE 807774.663029880435338725419569. + 77 FLD0991B PIC S9(09)V9(06) + VALUE +403465254.324070. + + 77 FLD0992A PIC 9(07)V9(22) + VALUE 7784108.2583169551867285917978. + 77 FLD0992B PIC 9(04)V9(29) + VALUE 8920.19846678347883006665597349638. + + 77 FLD0993A PIC 9(08)V9(20) + VALUE 74534466.64416291111976420324. + 77 FLD0993B PIC S9(04) + VALUE +1132. + + 77 FLD0994A PIC 9(06)V9(24) + VALUE 815107.307501011568717785849003. + 77 FLD0994B PIC S9(10)V9(08) + VALUE -4847118976.22432053. + + 77 FLD0995A PIC S9(01) + VALUE +0. + 77 FLD0995B PIC 9(06)V9(01) + VALUE 188825.8. + + 77 FLD0996A PIC 9(09)V9(14) + VALUE 619241405.61761309431432. + 77 FLD0996B PIC 9(09)V9(16) + VALUE 669751940.2443259384227758. + + 77 FLD0997A PIC 9(10)V9(09) + VALUE 5006446394.611311356. + 77 FLD0997B PIC 9(10)V9(09) + VALUE 5005353152.147143935. + + 77 FLD0998A PIC 9(09)V9(13) + VALUE 598229443.4201559374386. + 77 FLD0998B PIC S9(01) + VALUE +0. + + 77 FLD0999A PIC S9(03) + VALUE -081. + 77 FLD0999B PIC S9(01) + VALUE -0. + + * RESULTS-AREA + + 78 XPC-FLD0500B + VALUE '709'. + 78 XPC-FLD0501B + VALUE 62809334873677369337485. + 78 XPC-FLD0502B + VALUE '78931626286150020034995122841'. + 78 XPC-FLD0503B + VALUE '241748150924885620905391882843105'. + 78 XPC-FLD0504B + VALUE '5028930926587901486'. + 78 XPC-FLD0505B + VALUE '54079887440916072856'. + 78 XPC-FLD0506B + VALUE '4498381q'. + 78 XPC-FLD0507B + VALUE '5276166649082409210'. + 78 XPC-FLD0508B + VALUE '214408822084888v'. + 78 XPC-FLD0509B + VALUE '488937338626299289'. + 78 XPC-FLD0510B + VALUE '38w'. + 78 XPC-FLD0511B + VALUE '5257737010265951195'. + 78 XPC-FLD0512B + VALUE '5091717968686512163500879069033544511'. + 78 XPC-FLD0513B + VALUE '2789791972144304299518972222'. + 78 XPC-FLD0514B + VALUE '2787819996823'. + 78 XPC-FLD0515B + VALUE '37690011845231452527479784448514692'. + 78 XPC-FLD0516B + VALUE '0'. + 78 XPC-FLD0517B + VALUE '03134013404271069v'. + 78 XPC-FLD0518B + VALUE '8y'. + 78 XPC-FLD0519B + VALUE '9851020486430545064493287'. + 78 XPC-FLD0520B + VALUE '61059553432451049552742'. + 78 XPC-FLD0521B + VALUE '28055'. + 78 XPC-FLD0522B + VALUE '351067614407v'. + 78 XPC-FLD0523B + VALUE '4280314707'. + 78 XPC-FLD0524B + VALUE '5046008862205329081'. + 78 XPC-FLD0525B + VALUE '887336156634660588871099662355845'. + 78 XPC-FLD0526B + VALUE '535158707'. + 78 XPC-FLD0527B + VALUE '0993866582275886311'. + 78 XPC-FLD0528B + VALUE '674r'. + 78 XPC-FLD0529B + VALUE '06852906977087937'. + 78 XPC-FLD0530B + VALUE '4s'. + 78 XPC-FLD0531B + VALUE '98098220'. + 78 XPC-FLD0532B + VALUE 'v'. + 78 XPC-FLD0533B + VALUE '086'. + 78 XPC-FLD0534B + VALUE '4796286047627412578'. + 78 XPC-FLD0535B + VALUE '86934843746367858133650045201648'. + 78 XPC-FLD0536B + VALUE '0'. + 78 XPC-FLD0537B + VALUE '4554'. + 78 XPC-FLD0538B + VALUE '793946754459935233327882997400592'. + 78 XPC-FLD0539B + VALUE '70042059898033071085876599681795'. + 78 XPC-FLD0540B + VALUE '7'. + 78 XPC-FLD0541B + VALUE '49167641848286621388982121061'. + 78 XPC-FLD0542B + VALUE '553207696393934218127'. + 78 XPC-FLD0543B + VALUE '277016069'. + 78 XPC-FLD0544B + VALUE '1381302823'. + 78 XPC-FLD0545B + VALUE '944856446145206807507570674'. + 78 XPC-FLD0546B + VALUE '60995883518421766866790'. + 78 XPC-FLD0547B + VALUE '359869586206p'. + 78 XPC-FLD0548B + VALUE '68119457212008152846571817'. + 78 XPC-FLD0549B + VALUE '417916211751954'. + 78 XPC-FLD0550B + VALUE '94'. + 78 XPC-FLD0551B + VALUE '655119044597454263904505'. + 78 XPC-FLD0552B + VALUE '76016'. + 78 XPC-FLD0553B + VALUE '360871096909p'. + 78 XPC-FLD0554B + VALUE '28615763752268179551663251913851128'. + 78 XPC-FLD0555B + VALUE '5605686733653602811'. + 78 XPC-FLD0556B + VALUE '568555321722934526833'. + 78 XPC-FLD0557B + VALUE '13329'. + 78 XPC-FLD0558B + VALUE '6209454'. + 78 XPC-FLD0559B + VALUE '99142824147194545678672682843'. + 78 XPC-FLD0560B + VALUE '0351025116078023'. + 78 XPC-FLD0561B + VALUE '1'. + 78 XPC-FLD0562B + VALUE '958208334412512741096179524902254343'. + 78 XPC-FLD0563B + VALUE '72227339713'. + 78 XPC-FLD0564B + VALUE '70810880902875461543491615817183629'. + 78 XPC-FLD0565B + VALUE '2090887'. + 78 XPC-FLD0566B + VALUE '134200212625'. + 78 XPC-FLD0567B + VALUE '297763648403360945430051742732758'. + 78 XPC-FLD0568B + VALUE '64501399773583058336459'. + 78 XPC-FLD0569B + VALUE '722108073354756'. + 78 XPC-FLD0570B + VALUE '720060225322646066764775696'. + 78 XPC-FLD0571B + VALUE '6621729185931387539619251'. + 78 XPC-FLD0572B + VALUE '36305y'. + 78 XPC-FLD0573B + VALUE '6527890148517897915245875992695800960'. + 78 XPC-FLD0574B + VALUE 'v'. + 78 XPC-FLD0575B + VALUE '6'. + 78 XPC-FLD0576B + VALUE '47238400610562072401'. + 78 XPC-FLD0577B + VALUE '805001512301445405164770363626303151'. + 78 XPC-FLD0578B + VALUE '273810'. + 78 XPC-FLD0579B + VALUE '5908380596787501715'. + 78 XPC-FLD0580B + VALUE '646450258967046645771858948137378321'. + 78 XPC-FLD0581B + VALUE '610062973643881143036828'. + 78 XPC-FLD0582B + VALUE '62856274902063530202836'. + 78 XPC-FLD0583B + VALUE '4'. + 78 XPC-FLD0584B + VALUE '955867594557756605766485336062032729'. + 78 XPC-FLD0585B + VALUE '79927518632915370297985191427869722'. + 78 XPC-FLD0586B + VALUE '77794189960829245200635284618'. + 78 XPC-FLD0587B + VALUE '212y'. + 78 XPC-FLD0588B + VALUE '6771495276462448727205764043901582'. + 78 XPC-FLD0589B + VALUE '1219'. + 78 XPC-FLD0590B + VALUE '106211y'. + 78 XPC-FLD0591B + VALUE '5700661418154348791'. + 78 XPC-FLD0592B + VALUE '7390709819s'. + 78 XPC-FLD0593B + VALUE '38'. + 78 XPC-FLD0594B + VALUE '51440484143103479483050932685'. + 78 XPC-FLD0595B + VALUE '3197374054167890777833347730124'. + 78 XPC-FLD0596B + VALUE '657855963298508210108650'. + 78 XPC-FLD0597B + VALUE '6758101650339857689842844592932'. + 78 XPC-FLD0598B + VALUE '46847763318450w'. + 78 XPC-FLD0599B + VALUE '9'. + 78 XPC-FLD0600B + VALUE '889857673123861313355595484609'. + 78 XPC-FLD0601B + VALUE '29749813111'. + 78 XPC-FLD0602B + VALUE '303615939'. + 78 XPC-FLD0603B + VALUE '487180'. + 78 XPC-FLD0604B + VALUE '551440145498789572320'. + 78 XPC-FLD0605B + VALUE '4256957897307752'. + 78 XPC-FLD0606B + VALUE '254178383482'. + 78 XPC-FLD0607B + VALUE '25781'. + 78 XPC-FLD0608B + VALUE '225226869583767068085933260590536520'. + 78 XPC-FLD0609B + VALUE '45126229228847267'. + 78 XPC-FLD0610B + VALUE '2786455271'. + 78 XPC-FLD0611B + VALUE '3'. + 78 XPC-FLD0612B + VALUE '62873368552287867108245640685'. + 78 XPC-FLD0613B + VALUE '22648276'. + 78 XPC-FLD0614B + VALUE '6052981544136128984377'. + 78 XPC-FLD0615B + VALUE '23341961'. + 78 XPC-FLD0616B + VALUE '23'. + 78 XPC-FLD0617B + VALUE '0'. + 78 XPC-FLD0618B + VALUE '079'. + 78 XPC-FLD0619B + VALUE '53429823777539313843'. + 78 XPC-FLD0620B + VALUE '583959822349086421500175'. + 78 XPC-FLD0621B + VALUE '734243671686218957184166811'. + 78 XPC-FLD0622B + VALUE '954242174684x'. + 78 XPC-FLD0623B + VALUE '641616922896418195095066'. + 78 XPC-FLD0624B + VALUE '4356505095582531'. + 78 XPC-FLD0625B + VALUE '78308435769811728739000500354'. + 78 XPC-FLD0626B + VALUE '3742747793206s'. + 78 XPC-FLD0627B + VALUE '23249882'. + 78 XPC-FLD0628B + VALUE '29681727730'. + 78 XPC-FLD0629B + VALUE '870915644969416202769707524566911'. + 78 XPC-FLD0630B + VALUE '174519095249753304734'. + 78 XPC-FLD0631B + VALUE '824634'. + 78 XPC-FLD0632B + VALUE '5012280455704922587'. + 78 XPC-FLD0633B + VALUE '405176751228'. + 78 XPC-FLD0634B + VALUE '868098250115819156979655872420'. + 78 XPC-FLD0635B + VALUE '558066570900784292498'. + 78 XPC-FLD0636B + VALUE '10350'. + 78 XPC-FLD0637B + VALUE '53056785456603405837'. + 78 XPC-FLD0638B + VALUE '9300997013279628244930563595546'. + 78 XPC-FLD0639B + VALUE '4078092072024196699686626743641681969'. + 78 XPC-FLD0640B + VALUE '89710938089320346744415246575953928'. + 78 XPC-FLD0641B + VALUE '802113336084028338834883698'. + 78 XPC-FLD0642B + VALUE '5220924521868707701699'. + 78 XPC-FLD0643B + VALUE '2890586849'. + 78 XPC-FLD0644B + VALUE '92997460492260109532480782945640385'. + 78 XPC-FLD0645B + VALUE '246730234'. + 78 XPC-FLD0646B + VALUE '5883231932131506547457'. + 78 XPC-FLD0647B + VALUE '6598931491456289340839020'. + 78 XPC-FLD0648B + VALUE '634285861942461315643470'. + 78 XPC-FLD0649B + VALUE '5034432631533975376'. + 78 XPC-FLD0650B + VALUE '6715745920981104473110079'. + 78 XPC-FLD0651B + VALUE '3209394637494v'. + 78 XPC-FLD0652B + VALUE '20927047'. + 78 XPC-FLD0653B + VALUE '165087'. + 78 XPC-FLD0654B + VALUE '1152390677'. + 78 XPC-FLD0655B + VALUE '5949843308386091165206'. + 78 XPC-FLD0656B + VALUE '650007677567117914204561'. + 78 XPC-FLD0657B + VALUE '70469220160326710801212968'. + 78 XPC-FLD0658B + VALUE '53680173247006238712'. + 78 XPC-FLD0659B + VALUE '719555666672452026677575531'. + 78 XPC-FLD0660B + VALUE '2787r'. + 78 XPC-FLD0661B + VALUE '570540945315247127744'. + 78 XPC-FLD0662B + VALUE '6678282186476681732324323'. + 78 XPC-FLD0663B + VALUE '468269232052811142885673234559362'. + 78 XPC-FLD0664B + VALUE '4405659595288489'. + 78 XPC-FLD0665B + VALUE '6766161649406166886924393'. + 78 XPC-FLD0666B + VALUE '11'. + 78 XPC-FLD0667B + VALUE '632143970272669745917438'. + 78 XPC-FLD0668B + VALUE '5144628458672427461'. + 78 XPC-FLD0669B + VALUE '395936639786081'. + 78 XPC-FLD0670B + VALUE '164380926561097741789296833303524182'. + 78 XPC-FLD0671B + VALUE '8090443'. + 78 XPC-FLD0672B + VALUE '927915894513764975604231'. + 78 XPC-FLD0673B + VALUE '749211224'. + 78 XPC-FLD0674B + VALUE '8225787711159490474084418921848'. + 78 XPC-FLD0675B + VALUE '5083625274155812858'. + 78 XPC-FLD0676B + VALUE '004664170342459437179627457226160913'. + 78 XPC-FLD0677B + VALUE '708676445455624266891447859961772'. + 78 XPC-FLD0678B + VALUE '85979366357613359468814451247453'. + 78 XPC-FLD0679B + VALUE '44902781556612852'. + 78 XPC-FLD0680B + VALUE '564571038982083600804'. + 78 XPC-FLD0681B + VALUE '0654877112290583873743782681004'. + 78 XPC-FLD0682B + VALUE '5608815389721361803129542749957'. + 78 XPC-FLD0683B + VALUE '5829822468269903673643'. + 78 XPC-FLD0684B + VALUE '6208938998759875'. + 78 XPC-FLD0685B + VALUE '536985204876752143500539204978'. + 78 XPC-FLD0686B + VALUE '0180741962593756744226'. + 78 XPC-FLD0687B + VALUE '456697463326542715'. + 78 XPC-FLD0688B + VALUE '0131'. + 78 XPC-FLD0689B + VALUE '933318323052'. + 78 XPC-FLD0690B + VALUE '280789595t'. + 78 XPC-FLD0691B + VALUE '4747985190129340'. + 78 XPC-FLD0692B + VALUE '278067587806645121846764'. + 78 XPC-FLD0693B + VALUE 'p'. + 78 XPC-FLD0694B + VALUE '6'. + 78 XPC-FLD0695B + VALUE '285416863016785357397587'. + 78 XPC-FLD0696B + VALUE '318862710902'. + 78 XPC-FLD0697B + VALUE '5576423548738693906'. + 78 XPC-FLD0698B + VALUE '61t'. + 78 XPC-FLD0699B + VALUE '22735335379771726138637'. + 78 XPC-FLD0700B + VALUE 't'. + 78 XPC-FLD0701B + VALUE '824434325033338688548667501709982529'. + 78 XPC-FLD0702B + VALUE '23424179'. + 78 XPC-FLD0703B + VALUE '335267041235'. + 78 XPC-FLD0704B + VALUE '08515404888861616825987'. + 78 XPC-FLD0705B + VALUE '00818147177942940'. + 78 XPC-FLD0706B + VALUE '32739x'. + 78 XPC-FLD0707B + VALUE '5129442198407349051'. + 78 XPC-FLD0708B + VALUE '338347991943'. + 78 XPC-FLD0709B + VALUE '37934595068404'. + 78 XPC-FLD0710B + VALUE '322996288513'. + 78 XPC-FLD0711B + VALUE '73'. + 78 XPC-FLD0712B + VALUE '55578253792134938s'. + 78 XPC-FLD0713B + VALUE '71121009'. + 78 XPC-FLD0714B + VALUE '2465946158468'. + 78 XPC-FLD0715B + VALUE '58869262308134147685'. + 78 XPC-FLD0716B + VALUE '4094336916239737930141018296126276'. + 78 XPC-FLD0717B + VALUE '7570171861371541854879296806'. + 78 XPC-FLD0718B + VALUE '4283258317648062'. + 78 XPC-FLD0719B + VALUE '239090461'. + 78 XPC-FLD0720B + VALUE '404886229426392'. + 78 XPC-FLD0721B + VALUE '45808243'. + 78 XPC-FLD0722B + VALUE '7624904820924922808538326535'. + 78 XPC-FLD0723B + VALUE '56'. + 78 XPC-FLD0724B + VALUE '4934011851187240393'. + 78 XPC-FLD0725B + VALUE '4444128191361023'. + 78 XPC-FLD0726B + VALUE '401820868675800'. + 78 XPC-FLD0727B + VALUE '0896082861134319673904889'. + 78 XPC-FLD0728B + VALUE '8107691565224u'. + 78 XPC-FLD0729B + VALUE '795979478015814722415832704883'. + 78 XPC-FLD0730B + VALUE '62944830238001500322120'. + 78 XPC-FLD0731B + VALUE '4086517499647340789789'. + 78 XPC-FLD0732B + VALUE '0313'. + 78 XPC-FLD0733B + VALUE '965641152048700750127567'. + 78 XPC-FLD0734B + VALUE '26'. + 78 XPC-FLD0735B + VALUE '641708846027484955070190'. + 78 XPC-FLD0736B + VALUE '072589764082146861645222974767'. + 78 XPC-FLD0737B + VALUE '52244392r'. + 78 XPC-FLD0738B + VALUE '512073900331931666778700673603452743'. + 78 XPC-FLD0739B + VALUE '45916207849346129r'. + 78 XPC-FLD0740B + VALUE '072773632191726975291885537444614'. + 78 XPC-FLD0741B + VALUE '644169236711'. + 78 XPC-FLD0742B + VALUE '8889902186r'. + 78 XPC-FLD0743B + VALUE '2956850'. + 78 XPC-FLD0744B + VALUE '2695622879'. + 78 XPC-FLD0745B + VALUE '13558'. + 78 XPC-FLD0746B + VALUE '0231527099755997057'. + 78 XPC-FLD0747B + VALUE '4879952390867385986918298294767737'. + 78 XPC-FLD0748B + VALUE '18118w'. + 78 XPC-FLD0749B + VALUE '2760411381430374631233670697839'. + 78 XPC-FLD0750B + VALUE '262999561974'. + 78 XPC-FLD0751B + VALUE '1517p'. + 78 XPC-FLD0752B + VALUE '91538508268330654527034084821934811'. + 78 XPC-FLD0753B + VALUE '9'. + 78 XPC-FLD0754B + VALUE '961172590'. + 78 XPC-FLD0755B + VALUE '53471365948751090643'. + 78 XPC-FLD0756B + VALUE '1042t'. + 78 XPC-FLD0757B + VALUE '242943831'. + 78 XPC-FLD0758B + VALUE '45592x'. + 78 XPC-FLD0759B + VALUE '7622235272467824718001239148'. + 78 XPC-FLD0760B + VALUE '9469886609778104836721013271017001'. + 78 XPC-FLD0761B + VALUE '31926781976263429729812'. + 78 XPC-FLD0762B + VALUE '884402939'. + 78 XPC-FLD0763B + VALUE '283690925904618196362605387461'. + 78 XPC-FLD0764B + VALUE '055560951487484800'. + 78 XPC-FLD0765B + VALUE '1212'. + 78 XPC-FLD0766B + VALUE '22949432'. + 78 XPC-FLD0767B + VALUE 'q'. + 78 XPC-FLD0768B + VALUE '9v'. + 78 XPC-FLD0769B + VALUE '3586597857349'. + 78 XPC-FLD0770B + VALUE '54829803888151060764504'. + 78 XPC-FLD0771B + VALUE '75991198999121606361129010'. + 78 XPC-FLD0772B + VALUE '090893446885686'. + 78 XPC-FLD0773B + VALUE '76783997423560348547511011929600499'. + 78 XPC-FLD0774B + VALUE '242589104'. + 78 XPC-FLD0775B + VALUE '83006085498341006789723905967548489'. + 78 XPC-FLD0776B + VALUE '65983936382796708763014976284467'. + 78 XPC-FLD0777B + VALUE '563799910901816754889'. + 78 XPC-FLD0778B + VALUE '6562465464730475300569878527312539'. + 78 XPC-FLD0779B + VALUE '47408985532610322x'. + 78 XPC-FLD0780B + VALUE '4184481254630997580198368268612'. + 78 XPC-FLD0781B + VALUE '29720911669'. + 78 XPC-FLD0782B + VALUE '974841984908992382763415207591606305'. + 78 XPC-FLD0783B + VALUE '4236442572674454'. + 78 XPC-FLD0784B + VALUE '1401654002801979714825902150218'. + 78 XPC-FLD0785B + VALUE '393300524051'. + 78 XPC-FLD0786B + VALUE '85407905679605532414111479511120'. + 78 XPC-FLD0787B + VALUE '0464285'. + 78 XPC-FLD0788B + VALUE '77898336505928358503125785716'. + 78 XPC-FLD0789B + VALUE '6604278565132847496040994'. + 78 XPC-FLD0790B + VALUE '3169436866r'. + 78 XPC-FLD0791B + VALUE '7382741348868294886190710712'. + 78 XPC-FLD0792B + VALUE '37982443954012'. + 78 XPC-FLD0793B + VALUE '559177637820166807230'. + 78 XPC-FLD0794B + VALUE 'p'. + 78 XPC-FLD0795B + VALUE '334944006958'. + 78 XPC-FLD0796B + VALUE '653841465915909014761098205'. + 78 XPC-FLD0797B + VALUE '3487774860252'. + 78 XPC-FLD0798B + VALUE '3415780672379371043808250'. + 78 XPC-FLD0799B + VALUE '24239306208646738127'. + 78 XPC-FLD0800B + VALUE '4337360023'. + 78 XPC-FLD0801B + VALUE '9633203702397862694706986985693220049'. + 78 XPC-FLD0802B + VALUE '059390909987167776897365456534317'. + 78 XPC-FLD0803B + VALUE '555623043499399698487'. + 78 XPC-FLD0804B + VALUE '2'. + 78 XPC-FLD0805B + VALUE '479868190466873291'. + 78 XPC-FLD0806B + VALUE '2580784568425466'. + 78 XPC-FLD0807B + VALUE '592'. + 78 XPC-FLD0808B + VALUE '45744550475690953'. + 78 XPC-FLD0809B + VALUE '4404211618158996'. + 78 XPC-FLD0810B + VALUE '21294550'. + 78 XPC-FLD0811B + VALUE '5454913861947337423021251372119877487'. + 78 XPC-FLD0812B + VALUE '5678497418'. + 78 XPC-FLD0813B + VALUE '2911313640p'. + 78 XPC-FLD0814B + VALUE '7525119595496631362479433846'. + 78 XPC-FLD0815B + VALUE '714304561558653405839436344638434439'. + 78 XPC-FLD0816B + VALUE '532563204313666438416366152096307'. + 78 XPC-FLD0817B + VALUE '0322267276165150162'. + 78 XPC-FLD0818B + VALUE '409797454111609544843745425'. + 78 XPC-FLD0819B + VALUE '08r'. + 78 XPC-FLD0820B + VALUE '956537139953218984445015848905313760'. + 78 XPC-FLD0821B + VALUE '3836565363942r'. + 78 XPC-FLD0822B + VALUE '2945'. + 78 XPC-FLD0823B + VALUE '484310601769554'. + 78 XPC-FLD0824B + VALUE '73189644908504480898002'. + 78 XPC-FLD0825B + VALUE '17069r'. + 78 XPC-FLD0826B + VALUE '48057855720973591v'. + 78 XPC-FLD0827B + VALUE '46910500983725490'. + 78 XPC-FLD0828B + VALUE '00993'. + 78 XPC-FLD0829B + VALUE '944972866636283770347403930829'. + 78 XPC-FLD0830B + VALUE '565534908381171491840'. + 78 XPC-FLD0831B + VALUE '6602934475151655210356515'. + 78 XPC-FLD0832B + VALUE '419047953539795'. + 78 XPC-FLD0833B + VALUE '6657954482808921498060428'. + 78 XPC-FLD0834B + VALUE '780178461140043863949386833'. + 78 XPC-FLD0835B + VALUE '90696211292909090229130697187'. + 78 XPC-FLD0836B + VALUE '1479247899592904941896'. + 78 XPC-FLD0837B + VALUE '2914675851y'. + 78 XPC-FLD0838B + VALUE '54394205787057270376334726969'. + 78 XPC-FLD0839B + VALUE '5300514'. + 78 XPC-FLD0840B + VALUE '1153'. + 78 XPC-FLD0841B + VALUE '992981736583248397742806176703'. + 78 XPC-FLD0842B + VALUE '54030708425366313836265591069241055'. + 78 XPC-FLD0843B + VALUE '31166916723'. + 78 XPC-FLD0844B + VALUE '44793585873382490'. + 78 XPC-FLD0845B + VALUE '555020066479501195111220'. + 78 XPC-FLD0846B + VALUE '45502277490866085'. + 78 XPC-FLD0847B + VALUE '29702735772'. + 78 XPC-FLD0848B + VALUE '631805001566330881601629698'. + 78 XPC-FLD0849B + VALUE '3125884051750275061046194363'. + 78 XPC-FLD0850B + VALUE '213070204849290532925563'. + 78 XPC-FLD0851B + VALUE '22519773'. + 78 XPC-FLD0852B + VALUE '1471732987'. + 78 XPC-FLD0853B + VALUE '0'. + 78 XPC-FLD0854B + VALUE '9'. + 78 XPC-FLD0855B + VALUE '796064'. + 78 XPC-FLD0856B + VALUE '3084r'. + 78 XPC-FLD0857B + VALUE '11'. + 78 XPC-FLD0858B + VALUE '29627833617'. + 78 XPC-FLD0859B + VALUE '971628168143447767945986015547532588'. + 78 XPC-FLD0860B + VALUE '310782983915'. + 78 XPC-FLD0861B + VALUE '1091'. + 78 XPC-FLD0862B + VALUE '568978369365978243754'. + 78 XPC-FLD0863B + VALUE '5171345793694755750'. + 78 XPC-FLD0864B + VALUE '409403590364872439594022918754491'. + 78 XPC-FLD0865B + VALUE '328'. + 78 XPC-FLD0866B + VALUE '0973651490201067931957936707476620'. + 78 XPC-FLD0867B + VALUE '728938616966572774526298417'. + 78 XPC-FLD0868B + VALUE '5841479951825634534535'. + 78 XPC-FLD0869B + VALUE '6815782206919422936408636'. + 78 XPC-FLD0870B + VALUE '657570531523696821807334'. + 78 XPC-FLD0871B + VALUE '5744601464762396635'. + 78 XPC-FLD0872B + VALUE '45914011344767276'. + 78 XPC-FLD0873B + VALUE '76853'. + 78 XPC-FLD0874B + VALUE '1881063'. + 78 XPC-FLD0875B + VALUE '32'. + 78 XPC-FLD0876B + VALUE '792823887607293276147402139031'. + 78 XPC-FLD0877B + VALUE '651975862412979334514773'. + 78 XPC-FLD0878B + VALUE '242827678838084315415812843661207'. + 78 XPC-FLD0879B + VALUE '56764772794591269560129376259283'. + 78 XPC-FLD0880B + VALUE '4839436714022342976684717541503'. + 78 XPC-FLD0881B + VALUE '2105193947195'. + 78 XPC-FLD0882B + VALUE '2108803940594616843638067'. + 78 XPC-FLD0883B + VALUE '9754132777012324284626648395'. + 78 XPC-FLD0884B + VALUE '6490392032439449247535630967'. + 78 XPC-FLD0885B + VALUE '0207r'. + 78 XPC-FLD0886B + VALUE '0059506907030w'. + 78 XPC-FLD0887B + VALUE '9306168018675709582439026235078'. + 78 XPC-FLD0888B + VALUE '118607301'. + 78 XPC-FLD0889B + VALUE '286280324389502793813733205752214417'. + 78 XPC-FLD0890B + VALUE '721613583480198661490589984'. + 78 XPC-FLD0891B + VALUE '735270814161123614247195235'. + 78 XPC-FLD0892B + VALUE '556'. + 78 XPC-FLD0893B + VALUE '07'. + 78 XPC-FLD0894B + VALUE '654309128000748152942379'. + 78 XPC-FLD0895B + VALUE '2889386308'. + 78 XPC-FLD0896B + VALUE 'p'. + 78 XPC-FLD0897B + VALUE '4404922200833587'. + 78 XPC-FLD0898B + VALUE '8343520'. + 78 XPC-FLD0899B + VALUE '5130606210827636'. + 78 XPC-FLD0900B + VALUE '1847104'. + 78 XPC-FLD0901B + VALUE '1289396298369796609307513790554367005'. + 78 XPC-FLD0902B + VALUE '5131049785081560397'. + 78 XPC-FLD0903B + VALUE '46'. + 78 XPC-FLD0904B + VALUE 'w'. + 78 XPC-FLD0905B + VALUE '7075373564412'. + 78 XPC-FLD0906B + VALUE '7'. + 78 XPC-FLD0907B + VALUE '530207411746521324809'. + 78 XPC-FLD0908B + VALUE '8642393083548316472445662839163561'. + 78 XPC-FLD0909B + VALUE '0'. + 78 XPC-FLD0910B + VALUE '2257333765600096867487422969134058'. + 78 XPC-FLD0911B + VALUE '3765938103187097346508025840'. + 78 XPC-FLD0912B + VALUE '0'. + 78 XPC-FLD0913B + VALUE '325'. + 78 XPC-FLD0914B + VALUE '7400121849171126253708052900037643855'. + 78 XPC-FLD0915B + VALUE '2036'. + 78 XPC-FLD0916B + VALUE '4372777685598984'. + 78 XPC-FLD0917B + VALUE '1084'. + 78 XPC-FLD0918B + VALUE '569310510294893204244'. + 78 XPC-FLD0919B + VALUE 'v'. + 78 XPC-FLD0920B + VALUE '6698607602658151664433262'. + 78 XPC-FLD0921B + VALUE '0'. + 78 XPC-FLD0922B + VALUE '18331x'. + 78 XPC-FLD0923B + VALUE '0892'. + 78 XPC-FLD0924B + VALUE '6753252278154044870414354451350'. + 78 XPC-FLD0925B + VALUE '6'. + 78 XPC-FLD0926B + VALUE '20687721r'. + 78 XPC-FLD0927B + VALUE '5121865708750312359'. + 78 XPC-FLD0928B + VALUE '255169492'. + 78 XPC-FLD0929B + VALUE '713937683093887626162299398'. + 78 XPC-FLD0930B + VALUE '5915948649192320925289'. + 78 XPC-FLD0931B + VALUE '124377459'. + 78 XPC-FLD0932B + VALUE '0116711468219923287'. + 78 XPC-FLD0933B + VALUE '328435728864'. + 78 XPC-FLD0934B + VALUE '237750091'. + 78 XPC-FLD0935B + VALUE '485384635684275264'. + 78 XPC-FLD0936B + VALUE '418311146814978578269972331327153370'. + 78 XPC-FLD0937B + VALUE '5'. + 78 XPC-FLD0938B + VALUE '07520562026683963451729041'. + 78 XPC-FLD0939B + VALUE '7'. + 78 XPC-FLD0940B + VALUE '420205546087499959'. + 78 XPC-FLD0941B + VALUE '3450283323540'. + 78 XPC-FLD0942B + VALUE '94510218123579575949541058434988373'. + 78 XPC-FLD0943B + VALUE '9698175'. + 78 XPC-FLD0944B + VALUE '26005609t'. + 78 XPC-FLD0945B + VALUE '9639552190838519'. + 78 XPC-FLD0946B + VALUE '285407519811451561686510558502050116'. + 78 XPC-FLD0947B + VALUE '6720279273588082815549249'. + 78 XPC-FLD0948B + VALUE '7581536805549627281493485497'. + 78 XPC-FLD0949B + VALUE '89772746643169742'. + 78 XPC-FLD0950B + VALUE '9466572989771413480277234393870459'. + 78 XPC-FLD0951B + VALUE '0571609040492847894313968026'. + 78 XPC-FLD0952B + VALUE '65'. + 78 XPC-FLD0953B + VALUE '5187948954462912461'. + 78 XPC-FLD0954B + VALUE '525409336908340408209862744115525857'. + 78 XPC-FLD0955B + VALUE '5341017709695240897178791783518'. + 78 XPC-FLD0956B + VALUE '97384559702281070479269828'. + 78 XPC-FLD0957B + VALUE '1212'. + 78 XPC-FLD0958B + VALUE '4387549590870288'. + 78 XPC-FLD0959B + VALUE '1'. + 78 XPC-FLD0960B + VALUE 'q'. + 78 XPC-FLD0961B + VALUE '0056'. + 78 XPC-FLD0962B + VALUE '6826560363239254262940347'. + 78 XPC-FLD0963B + VALUE '6579508606108431242392875'. + 78 XPC-FLD0964B + VALUE '0399362942016605604323'. + 78 XPC-FLD0965B + VALUE '1'. + 78 XPC-FLD0966B + VALUE '0005571'. + 78 XPC-FLD0967B + VALUE '3560456473147'. + 78 XPC-FLD0968B + VALUE '553q'. + 78 XPC-FLD0969B + VALUE '5945236920989867723715'. + 78 XPC-FLD0970B + VALUE '433217720233246760537693012156523765'. + 78 XPC-FLD0971B + VALUE '402866616015322'. + 78 XPC-FLD0972B + VALUE '96534'. + 78 XPC-FLD0973B + VALUE '8420775282429751358819203232997'. + 78 XPC-FLD0974B + VALUE '07v'. + 78 XPC-FLD0975B + VALUE '329183574054'. + 78 XPC-FLD0976B + VALUE '5189195631532426046'. + 78 XPC-FLD0977B + VALUE '0657773350998w'. + 78 XPC-FLD0978B + VALUE '26365113312583p'. + 78 XPC-FLD0979B + VALUE '38851072771967'. + 78 XPC-FLD0980B + VALUE '647159056743324437308229'. + 78 XPC-FLD0981B + VALUE '360278478276r'. + 78 XPC-FLD0982B + VALUE '30653235444'. + 78 XPC-FLD0983B + VALUE '882516211995383510538363225350622087'. + 78 XPC-FLD0984B + VALUE '4457843883822408592'. + 78 XPC-FLD0985B + VALUE '496108848273749947698929645412135'. + 78 XPC-FLD0986B + VALUE '8'. + 78 XPC-FLD0987B + VALUE '84253493742279825972518736421080'. + 78 XPC-FLD0988B + VALUE '18152p'. + 78 XPC-FLD0989B + VALUE '5932140179792923634499'. + 78 XPC-FLD0990B + VALUE '5970979'. + 78 XPC-FLD0991B + VALUE '404273028987099'. + 78 XPC-FLD0992B + VALUE '518805985017170789852514182650362'. + 78 XPC-FLD0993B + VALUE '5599'. + 78 XPC-FLD0994B + VALUE '48479340835318215t'. + 78 XPC-FLD0995B + VALUE '1888258'. + 78 XPC-FLD0996B + VALUE '0505105346267128441084558'. + 78 XPC-FLD0997B + VALUE '0011799546758455291'. + 78 XPC-FLD0998B + VALUE 's'. + 78 XPC-FLD0999B + VALUE 'q'. + + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + SUBTRACT FLD0500A FROM FLD0500B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0501A TO FLD0501B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0502A FROM FLD0502B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0503A TO FLD0503B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0504A FROM FLD0504B + ROUNDED MODE IS TRUNCATION . + ADD FLD0505A TO FLD0505B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0506A FROM FLD0506B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0507A TO FLD0507B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0508A FROM FLD0508B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0509A TO FLD0509B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0510A FROM FLD0510B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0511A TO FLD0511B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0512A FROM FLD0512B + ROUNDED MODE IS TRUNCATION . + ADD FLD0513A TO FLD0513B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0514A FROM FLD0514B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0515A TO FLD0515B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0516A FROM FLD0516B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0517A TO FLD0517B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0518A FROM FLD0518B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0519A TO FLD0519B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0520A FROM FLD0520B + ROUNDED MODE IS TRUNCATION . + ADD FLD0521A TO FLD0521B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0522A FROM FLD0522B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0523A TO FLD0523B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0524A FROM FLD0524B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0525A TO FLD0525B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0526A FROM FLD0526B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0527A TO FLD0527B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0528A FROM FLD0528B + ROUNDED MODE IS TRUNCATION . + ADD FLD0529A TO FLD0529B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0530A FROM FLD0530B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0531A TO FLD0531B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0532A FROM FLD0532B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0533A TO FLD0533B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0534A FROM FLD0534B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0535A TO FLD0535B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0536A FROM FLD0536B + ROUNDED MODE IS TRUNCATION . + ADD FLD0537A TO FLD0537B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0538A FROM FLD0538B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0539A TO FLD0539B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0540A FROM FLD0540B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0541A TO FLD0541B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0542A FROM FLD0542B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0543A TO FLD0543B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0544A FROM FLD0544B + ROUNDED MODE IS TRUNCATION . + ADD FLD0545A TO FLD0545B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0546A FROM FLD0546B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0547A TO FLD0547B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0548A FROM FLD0548B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0549A TO FLD0549B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0550A FROM FLD0550B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0551A TO FLD0551B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0552A FROM FLD0552B + ROUNDED MODE IS TRUNCATION . + ADD FLD0553A TO FLD0553B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0554A FROM FLD0554B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0555A TO FLD0555B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0556A FROM FLD0556B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0557A TO FLD0557B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0558A FROM FLD0558B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0559A TO FLD0559B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0560A FROM FLD0560B + ROUNDED MODE IS TRUNCATION . + ADD FLD0561A TO FLD0561B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0562A FROM FLD0562B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0563A TO FLD0563B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0564A FROM FLD0564B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0565A TO FLD0565B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0566A FROM FLD0566B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0567A TO FLD0567B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0568A FROM FLD0568B + ROUNDED MODE IS TRUNCATION . + ADD FLD0569A TO FLD0569B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0570A FROM FLD0570B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0571A TO FLD0571B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0572A FROM FLD0572B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0573A TO FLD0573B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0574A FROM FLD0574B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0575A TO FLD0575B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0576A FROM FLD0576B + ROUNDED MODE IS TRUNCATION . + ADD FLD0577A TO FLD0577B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0578A FROM FLD0578B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0579A TO FLD0579B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0580A FROM FLD0580B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0581A TO FLD0581B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0582A FROM FLD0582B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0583A TO FLD0583B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0584A FROM FLD0584B + ROUNDED MODE IS TRUNCATION . + ADD FLD0585A TO FLD0585B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0586A FROM FLD0586B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0587A TO FLD0587B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0588A FROM FLD0588B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0589A TO FLD0589B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0590A FROM FLD0590B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0591A TO FLD0591B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0592A FROM FLD0592B + ROUNDED MODE IS TRUNCATION . + ADD FLD0593A TO FLD0593B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0594A FROM FLD0594B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0595A TO FLD0595B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0596A FROM FLD0596B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0597A TO FLD0597B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0598A FROM FLD0598B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0599A TO FLD0599B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0600A FROM FLD0600B + ROUNDED MODE IS TRUNCATION . + ADD FLD0601A TO FLD0601B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0602A FROM FLD0602B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0603A TO FLD0603B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0604A FROM FLD0604B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0605A TO FLD0605B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0606A FROM FLD0606B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0607A TO FLD0607B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0608A FROM FLD0608B + ROUNDED MODE IS TRUNCATION . + ADD FLD0609A TO FLD0609B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0610A FROM FLD0610B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0611A TO FLD0611B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0612A FROM FLD0612B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0613A TO FLD0613B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0614A FROM FLD0614B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0615A TO FLD0615B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0616A FROM FLD0616B + ROUNDED MODE IS TRUNCATION . + ADD FLD0617A TO FLD0617B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0618A FROM FLD0618B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0619A TO FLD0619B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0620A FROM FLD0620B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0621A TO FLD0621B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0622A FROM FLD0622B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0623A TO FLD0623B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0624A FROM FLD0624B + ROUNDED MODE IS TRUNCATION . + ADD FLD0625A TO FLD0625B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0626A FROM FLD0626B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0627A TO FLD0627B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0628A FROM FLD0628B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0629A TO FLD0629B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0630A FROM FLD0630B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0631A TO FLD0631B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0632A FROM FLD0632B + ROUNDED MODE IS TRUNCATION . + ADD FLD0633A TO FLD0633B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0634A FROM FLD0634B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0635A TO FLD0635B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0636A FROM FLD0636B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0637A TO FLD0637B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0638A FROM FLD0638B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0639A TO FLD0639B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0640A FROM FLD0640B + ROUNDED MODE IS TRUNCATION . + ADD FLD0641A TO FLD0641B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0642A FROM FLD0642B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0643A TO FLD0643B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0644A FROM FLD0644B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0645A TO FLD0645B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0646A FROM FLD0646B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0647A TO FLD0647B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0648A FROM FLD0648B + ROUNDED MODE IS TRUNCATION . + ADD FLD0649A TO FLD0649B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0650A FROM FLD0650B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0651A TO FLD0651B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0652A FROM FLD0652B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0653A TO FLD0653B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0654A FROM FLD0654B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0655A TO FLD0655B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0656A FROM FLD0656B + ROUNDED MODE IS TRUNCATION . + ADD FLD0657A TO FLD0657B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0658A FROM FLD0658B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0659A TO FLD0659B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0660A FROM FLD0660B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0661A TO FLD0661B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0662A FROM FLD0662B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0663A TO FLD0663B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0664A FROM FLD0664B + ROUNDED MODE IS TRUNCATION . + ADD FLD0665A TO FLD0665B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0666A FROM FLD0666B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0667A TO FLD0667B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0668A FROM FLD0668B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0669A TO FLD0669B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0670A FROM FLD0670B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0671A TO FLD0671B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0672A FROM FLD0672B + ROUNDED MODE IS TRUNCATION . + ADD FLD0673A TO FLD0673B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0674A FROM FLD0674B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0675A TO FLD0675B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0676A FROM FLD0676B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0677A TO FLD0677B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0678A FROM FLD0678B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0679A TO FLD0679B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0680A FROM FLD0680B + ROUNDED MODE IS TRUNCATION . + ADD FLD0681A TO FLD0681B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0682A FROM FLD0682B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0683A TO FLD0683B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0684A FROM FLD0684B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0685A TO FLD0685B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0686A FROM FLD0686B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0687A TO FLD0687B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0688A FROM FLD0688B + ROUNDED MODE IS TRUNCATION . + ADD FLD0689A TO FLD0689B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0690A FROM FLD0690B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0691A TO FLD0691B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0692A FROM FLD0692B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0693A TO FLD0693B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0694A FROM FLD0694B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0695A TO FLD0695B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0696A FROM FLD0696B + ROUNDED MODE IS TRUNCATION . + ADD FLD0697A TO FLD0697B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0698A FROM FLD0698B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0699A TO FLD0699B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0700A FROM FLD0700B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0701A TO FLD0701B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0702A FROM FLD0702B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0703A TO FLD0703B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0704A FROM FLD0704B + ROUNDED MODE IS TRUNCATION . + ADD FLD0705A TO FLD0705B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0706A FROM FLD0706B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0707A TO FLD0707B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0708A FROM FLD0708B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0709A TO FLD0709B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0710A FROM FLD0710B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0711A TO FLD0711B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0712A FROM FLD0712B + ROUNDED MODE IS TRUNCATION . + ADD FLD0713A TO FLD0713B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0714A FROM FLD0714B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0715A TO FLD0715B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0716A FROM FLD0716B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0717A TO FLD0717B + ROUNDED MODE IS PROHIBITED + ON SIZE ERROR CONTINUE + NOT ON SIZE ERROR DISPLAY 'MISSING EC-SIZE FLD0717B'. + SUBTRACT FLD0718A FROM FLD0718B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0719A TO FLD0719B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0720A FROM FLD0720B + ROUNDED MODE IS TRUNCATION . + ADD FLD0721A TO FLD0721B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0722A FROM FLD0722B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0723A TO FLD0723B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0724A FROM FLD0724B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0725A TO FLD0725B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0726A FROM FLD0726B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0727A TO FLD0727B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0728A FROM FLD0728B + ROUNDED MODE IS TRUNCATION . + ADD FLD0729A TO FLD0729B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0730A FROM FLD0730B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0731A TO FLD0731B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0732A FROM FLD0732B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0733A TO FLD0733B + ROUNDED MODE IS PROHIBITED + ON SIZE ERROR DISPLAY 'UNEXPECTED EC-SIZE FLD0733B'. + SUBTRACT FLD0734A FROM FLD0734B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0735A TO FLD0735B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0736A FROM FLD0736B + ROUNDED MODE IS TRUNCATION . + ADD FLD0737A TO FLD0737B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0738A FROM FLD0738B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0739A TO FLD0739B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0740A FROM FLD0740B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0741A TO FLD0741B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0742A FROM FLD0742B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0743A TO FLD0743B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0744A FROM FLD0744B + ROUNDED MODE IS TRUNCATION . + ADD FLD0745A TO FLD0745B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0746A FROM FLD0746B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0747A TO FLD0747B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0748A FROM FLD0748B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0749A TO FLD0749B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0750A FROM FLD0750B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0751A TO FLD0751B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0752A FROM FLD0752B + ROUNDED MODE IS TRUNCATION . + ADD FLD0753A TO FLD0753B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0754A FROM FLD0754B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0755A TO FLD0755B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0756A FROM FLD0756B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0757A TO FLD0757B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0758A FROM FLD0758B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0759A TO FLD0759B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0760A FROM FLD0760B + ROUNDED MODE IS TRUNCATION . + ADD FLD0761A TO FLD0761B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0762A FROM FLD0762B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0763A TO FLD0763B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0764A FROM FLD0764B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0765A TO FLD0765B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0766A FROM FLD0766B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0767A TO FLD0767B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0768A FROM FLD0768B + ROUNDED MODE IS TRUNCATION . + ADD FLD0769A TO FLD0769B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0770A FROM FLD0770B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0771A TO FLD0771B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0772A FROM FLD0772B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0773A TO FLD0773B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0774A FROM FLD0774B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0775A TO FLD0775B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0776A FROM FLD0776B + ROUNDED MODE IS TRUNCATION . + ADD FLD0777A TO FLD0777B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0778A FROM FLD0778B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0779A TO FLD0779B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0780A FROM FLD0780B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0781A TO FLD0781B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0782A FROM FLD0782B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0783A TO FLD0783B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0784A FROM FLD0784B + ROUNDED MODE IS TRUNCATION . + ADD FLD0785A TO FLD0785B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0786A FROM FLD0786B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0787A TO FLD0787B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0788A FROM FLD0788B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0789A TO FLD0789B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0790A FROM FLD0790B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0791A TO FLD0791B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0792A FROM FLD0792B + ROUNDED MODE IS TRUNCATION . + ADD FLD0793A TO FLD0793B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0794A FROM FLD0794B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0795A TO FLD0795B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0796A FROM FLD0796B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0797A TO FLD0797B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0798A FROM FLD0798B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0799A TO FLD0799B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0800A FROM FLD0800B + ROUNDED MODE IS TRUNCATION . + ADD FLD0801A TO FLD0801B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0802A FROM FLD0802B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0803A TO FLD0803B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0804A FROM FLD0804B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0805A TO FLD0805B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0806A FROM FLD0806B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0807A TO FLD0807B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0808A FROM FLD0808B + ROUNDED MODE IS TRUNCATION . + ADD FLD0809A TO FLD0809B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0810A FROM FLD0810B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0811A TO FLD0811B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0812A FROM FLD0812B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0813A TO FLD0813B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0814A FROM FLD0814B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0815A TO FLD0815B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0816A FROM FLD0816B + ROUNDED MODE IS TRUNCATION . + ADD FLD0817A TO FLD0817B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0818A FROM FLD0818B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0819A TO FLD0819B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0820A FROM FLD0820B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0821A TO FLD0821B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0822A FROM FLD0822B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0823A TO FLD0823B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0824A FROM FLD0824B + ROUNDED MODE IS TRUNCATION . + ADD FLD0825A TO FLD0825B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0826A FROM FLD0826B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0827A TO FLD0827B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0828A FROM FLD0828B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0829A TO FLD0829B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0830A FROM FLD0830B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0831A TO FLD0831B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0832A FROM FLD0832B + ROUNDED MODE IS TRUNCATION . + ADD FLD0833A TO FLD0833B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0834A FROM FLD0834B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0835A TO FLD0835B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0836A FROM FLD0836B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0837A TO FLD0837B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0838A FROM FLD0838B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0839A TO FLD0839B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0840A FROM FLD0840B + ROUNDED MODE IS TRUNCATION . + ADD FLD0841A TO FLD0841B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0842A FROM FLD0842B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0843A TO FLD0843B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0844A FROM FLD0844B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0845A TO FLD0845B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0846A FROM FLD0846B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0847A TO FLD0847B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0848A FROM FLD0848B + ROUNDED MODE IS TRUNCATION . + ADD FLD0849A TO FLD0849B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0850A FROM FLD0850B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0851A TO FLD0851B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0852A FROM FLD0852B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0853A TO FLD0853B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0854A FROM FLD0854B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0855A TO FLD0855B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0856A FROM FLD0856B + ROUNDED MODE IS TRUNCATION . + ADD FLD0857A TO FLD0857B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0858A FROM FLD0858B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0859A TO FLD0859B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0860A FROM FLD0860B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0861A TO FLD0861B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0862A FROM FLD0862B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0863A TO FLD0863B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0864A FROM FLD0864B + ROUNDED MODE IS TRUNCATION . + ADD FLD0865A TO FLD0865B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0866A FROM FLD0866B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0867A TO FLD0867B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0868A FROM FLD0868B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0869A TO FLD0869B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0870A FROM FLD0870B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0871A TO FLD0871B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0872A FROM FLD0872B + ROUNDED MODE IS TRUNCATION . + ADD FLD0873A TO FLD0873B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0874A FROM FLD0874B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0875A TO FLD0875B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0876A FROM FLD0876B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0877A TO FLD0877B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0878A FROM FLD0878B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0879A TO FLD0879B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0880A FROM FLD0880B + ROUNDED MODE IS TRUNCATION . + ADD FLD0881A TO FLD0881B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0882A FROM FLD0882B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0883A TO FLD0883B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0884A FROM FLD0884B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0885A TO FLD0885B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0886A FROM FLD0886B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0887A TO FLD0887B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0888A FROM FLD0888B + ROUNDED MODE IS TRUNCATION . + ADD FLD0889A TO FLD0889B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0890A FROM FLD0890B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0891A TO FLD0891B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0892A FROM FLD0892B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0893A TO FLD0893B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0894A FROM FLD0894B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0895A TO FLD0895B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0896A FROM FLD0896B + ROUNDED MODE IS TRUNCATION . + ADD FLD0897A TO FLD0897B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0898A FROM FLD0898B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0899A TO FLD0899B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0900A FROM FLD0900B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0901A TO FLD0901B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0902A FROM FLD0902B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0903A TO FLD0903B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0904A FROM FLD0904B + ROUNDED MODE IS TRUNCATION . + ADD FLD0905A TO FLD0905B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0906A FROM FLD0906B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0907A TO FLD0907B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0908A FROM FLD0908B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0909A TO FLD0909B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0910A FROM FLD0910B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0911A TO FLD0911B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0912A FROM FLD0912B + ROUNDED MODE IS TRUNCATION . + ADD FLD0913A TO FLD0913B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0914A FROM FLD0914B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0915A TO FLD0915B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0916A FROM FLD0916B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0917A TO FLD0917B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0918A FROM FLD0918B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0919A TO FLD0919B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0920A FROM FLD0920B + ROUNDED MODE IS TRUNCATION . + ADD FLD0921A TO FLD0921B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0922A FROM FLD0922B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0923A TO FLD0923B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0924A FROM FLD0924B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0925A TO FLD0925B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0926A FROM FLD0926B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0927A TO FLD0927B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0928A FROM FLD0928B + ROUNDED MODE IS TRUNCATION . + ADD FLD0929A TO FLD0929B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0930A FROM FLD0930B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0931A TO FLD0931B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0932A FROM FLD0932B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0933A TO FLD0933B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0934A FROM FLD0934B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0935A TO FLD0935B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0936A FROM FLD0936B + ROUNDED MODE IS TRUNCATION . + ADD FLD0937A TO FLD0937B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0938A FROM FLD0938B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0939A TO FLD0939B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0940A FROM FLD0940B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0941A TO FLD0941B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0942A FROM FLD0942B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0943A TO FLD0943B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0944A FROM FLD0944B + ROUNDED MODE IS TRUNCATION . + ADD FLD0945A TO FLD0945B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0946A FROM FLD0946B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0947A TO FLD0947B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0948A FROM FLD0948B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0949A TO FLD0949B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0950A FROM FLD0950B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0951A TO FLD0951B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0952A FROM FLD0952B + ROUNDED MODE IS TRUNCATION . + ADD FLD0953A TO FLD0953B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0954A FROM FLD0954B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0955A TO FLD0955B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0956A FROM FLD0956B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0957A TO FLD0957B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0958A FROM FLD0958B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0959A TO FLD0959B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0960A FROM FLD0960B + ROUNDED MODE IS TRUNCATION . + ADD FLD0961A TO FLD0961B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0962A FROM FLD0962B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0963A TO FLD0963B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0964A FROM FLD0964B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0965A TO FLD0965B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0966A FROM FLD0966B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0967A TO FLD0967B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0968A FROM FLD0968B + ROUNDED MODE IS TRUNCATION . + ADD FLD0969A TO FLD0969B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0970A FROM FLD0970B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0971A TO FLD0971B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0972A FROM FLD0972B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0973A TO FLD0973B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0974A FROM FLD0974B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0975A TO FLD0975B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0976A FROM FLD0976B + ROUNDED MODE IS TRUNCATION . + ADD FLD0977A TO FLD0977B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0978A FROM FLD0978B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0979A TO FLD0979B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0980A FROM FLD0980B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0981A TO FLD0981B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0982A FROM FLD0982B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0983A TO FLD0983B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0984A FROM FLD0984B + ROUNDED MODE IS TRUNCATION . + ADD FLD0985A TO FLD0985B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0986A FROM FLD0986B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0987A TO FLD0987B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0988A FROM FLD0988B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0989A TO FLD0989B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0990A FROM FLD0990B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0991A TO FLD0991B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0992A FROM FLD0992B + ROUNDED MODE IS TRUNCATION . + ADD FLD0993A TO FLD0993B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0994A FROM FLD0994B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0995A TO FLD0995B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0996A FROM FLD0996B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0997A TO FLD0997B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0998A FROM FLD0998B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0999A TO FLD0999B + ROUNDED MODE IS TOWARD-LESSER . + + *4000-COMPARE. + + IF FLD0500B (1:) NOT EQUAL XPC-FLD0500B + DISPLAY 'FLD0500B ==> ' FLD0500B + DISPLAY 'EXPECTED ==> ' XPC-FLD0500B. + IF FLD0501B (1:) NOT EQUAL XPC-FLD0501B + DISPLAY 'FLD0501B ==> ' FLD0501B + DISPLAY 'EXPECTED ==> ' XPC-FLD0501B. + IF FLD0502B (1:) NOT EQUAL XPC-FLD0502B + DISPLAY 'FLD0502B ==> ' FLD0502B + DISPLAY 'EXPECTED ==> ' XPC-FLD0502B. + IF FLD0503B (1:) NOT EQUAL XPC-FLD0503B + DISPLAY 'FLD0503B ==> ' FLD0503B + DISPLAY 'EXPECTED ==> ' XPC-FLD0503B. + IF FLD0504B (1:) NOT EQUAL XPC-FLD0504B + DISPLAY 'FLD0504B ==> ' FLD0504B + DISPLAY 'EXPECTED ==> ' XPC-FLD0504B. + IF FLD0505B (1:) NOT EQUAL XPC-FLD0505B + DISPLAY 'FLD0505B ==> ' FLD0505B + DISPLAY 'EXPECTED ==> ' XPC-FLD0505B. + IF FLD0506B (1:) NOT EQUAL XPC-FLD0506B + DISPLAY 'FLD0506B ==> ' FLD0506B + DISPLAY 'EXPECTED ==> ' XPC-FLD0506B. + IF FLD0507B (1:) NOT EQUAL XPC-FLD0507B + DISPLAY 'FLD0507B ==> ' FLD0507B + DISPLAY 'EXPECTED ==> ' XPC-FLD0507B. + IF FLD0508B (1:) NOT EQUAL XPC-FLD0508B + DISPLAY 'FLD0508B ==> ' FLD0508B + DISPLAY 'EXPECTED ==> ' XPC-FLD0508B. + IF FLD0509B (1:) NOT EQUAL XPC-FLD0509B + DISPLAY 'FLD0509B ==> ' FLD0509B + DISPLAY 'EXPECTED ==> ' XPC-FLD0509B. + IF FLD0510B (1:) NOT EQUAL XPC-FLD0510B + DISPLAY 'FLD0510B ==> ' FLD0510B + DISPLAY 'EXPECTED ==> ' XPC-FLD0510B. + IF FLD0511B (1:) NOT EQUAL XPC-FLD0511B + DISPLAY 'FLD0511B ==> ' FLD0511B + DISPLAY 'EXPECTED ==> ' XPC-FLD0511B. + IF FLD0512B (1:) NOT EQUAL XPC-FLD0512B + DISPLAY 'FLD0512B ==> ' FLD0512B + DISPLAY 'EXPECTED ==> ' XPC-FLD0512B. + IF FLD0513B (1:) NOT EQUAL XPC-FLD0513B + DISPLAY 'FLD0513B ==> ' FLD0513B + DISPLAY 'EXPECTED ==> ' XPC-FLD0513B. + IF FLD0514B (1:) NOT EQUAL XPC-FLD0514B + DISPLAY 'FLD0514B ==> ' FLD0514B + DISPLAY 'EXPECTED ==> ' XPC-FLD0514B. + IF FLD0515B (1:) NOT EQUAL XPC-FLD0515B + DISPLAY 'FLD0515B ==> ' FLD0515B + DISPLAY 'EXPECTED ==> ' XPC-FLD0515B. + IF FLD0516B (1:) NOT EQUAL XPC-FLD0516B + DISPLAY 'FLD0516B ==> ' FLD0516B + DISPLAY 'EXPECTED ==> ' XPC-FLD0516B. + IF FLD0517B (1:) NOT EQUAL XPC-FLD0517B + DISPLAY 'FLD0517B ==> ' FLD0517B + DISPLAY 'EXPECTED ==> ' XPC-FLD0517B. + IF FLD0518B (1:) NOT EQUAL XPC-FLD0518B + DISPLAY 'FLD0518B ==> ' FLD0518B + DISPLAY 'EXPECTED ==> ' XPC-FLD0518B. + IF FLD0519B (1:) NOT EQUAL XPC-FLD0519B + DISPLAY 'FLD0519B ==> ' FLD0519B + DISPLAY 'EXPECTED ==> ' XPC-FLD0519B. + IF FLD0520B (1:) NOT EQUAL XPC-FLD0520B + DISPLAY 'FLD0520B ==> ' FLD0520B + DISPLAY 'EXPECTED ==> ' XPC-FLD0520B. + IF FLD0521B (1:) NOT EQUAL XPC-FLD0521B + DISPLAY 'FLD0521B ==> ' FLD0521B + DISPLAY 'EXPECTED ==> ' XPC-FLD0521B. + IF FLD0522B (1:) NOT EQUAL XPC-FLD0522B + DISPLAY 'FLD0522B ==> ' FLD0522B + DISPLAY 'EXPECTED ==> ' XPC-FLD0522B. + IF FLD0523B (1:) NOT EQUAL XPC-FLD0523B + DISPLAY 'FLD0523B ==> ' FLD0523B + DISPLAY 'EXPECTED ==> ' XPC-FLD0523B. + IF FLD0524B (1:) NOT EQUAL XPC-FLD0524B + DISPLAY 'FLD0524B ==> ' FLD0524B + DISPLAY 'EXPECTED ==> ' XPC-FLD0524B. + IF FLD0525B (1:) NOT EQUAL XPC-FLD0525B + DISPLAY 'FLD0525B ==> ' FLD0525B + DISPLAY 'EXPECTED ==> ' XPC-FLD0525B. + IF FLD0526B (1:) NOT EQUAL XPC-FLD0526B + DISPLAY 'FLD0526B ==> ' FLD0526B + DISPLAY 'EXPECTED ==> ' XPC-FLD0526B. + IF FLD0527B (1:) NOT EQUAL XPC-FLD0527B + DISPLAY 'FLD0527B ==> ' FLD0527B + DISPLAY 'EXPECTED ==> ' XPC-FLD0527B. + IF FLD0528B (1:) NOT EQUAL XPC-FLD0528B + DISPLAY 'FLD0528B ==> ' FLD0528B + DISPLAY 'EXPECTED ==> ' XPC-FLD0528B. + IF FLD0529B (1:) NOT EQUAL XPC-FLD0529B + DISPLAY 'FLD0529B ==> ' FLD0529B + DISPLAY 'EXPECTED ==> ' XPC-FLD0529B. + IF FLD0530B (1:) NOT EQUAL XPC-FLD0530B + DISPLAY 'FLD0530B ==> ' FLD0530B + DISPLAY 'EXPECTED ==> ' XPC-FLD0530B. + IF FLD0531B (1:) NOT EQUAL XPC-FLD0531B + DISPLAY 'FLD0531B ==> ' FLD0531B + DISPLAY 'EXPECTED ==> ' XPC-FLD0531B. + IF FLD0532B (1:) NOT EQUAL XPC-FLD0532B + DISPLAY 'FLD0532B ==> ' FLD0532B + DISPLAY 'EXPECTED ==> ' XPC-FLD0532B. + IF FLD0533B (1:) NOT EQUAL XPC-FLD0533B + DISPLAY 'FLD0533B ==> ' FLD0533B + DISPLAY 'EXPECTED ==> ' XPC-FLD0533B. + IF FLD0534B (1:) NOT EQUAL XPC-FLD0534B + DISPLAY 'FLD0534B ==> ' FLD0534B + DISPLAY 'EXPECTED ==> ' XPC-FLD0534B. + IF FLD0535B (1:) NOT EQUAL XPC-FLD0535B + DISPLAY 'FLD0535B ==> ' FLD0535B + DISPLAY 'EXPECTED ==> ' XPC-FLD0535B. + IF FLD0536B (1:) NOT EQUAL XPC-FLD0536B + DISPLAY 'FLD0536B ==> ' FLD0536B + DISPLAY 'EXPECTED ==> ' XPC-FLD0536B. + IF FLD0537B (1:) NOT EQUAL XPC-FLD0537B + DISPLAY 'FLD0537B ==> ' FLD0537B + DISPLAY 'EXPECTED ==> ' XPC-FLD0537B. + IF FLD0538B (1:) NOT EQUAL XPC-FLD0538B + DISPLAY 'FLD0538B ==> ' FLD0538B + DISPLAY 'EXPECTED ==> ' XPC-FLD0538B. + IF FLD0539B (1:) NOT EQUAL XPC-FLD0539B + DISPLAY 'FLD0539B ==> ' FLD0539B + DISPLAY 'EXPECTED ==> ' XPC-FLD0539B. + IF FLD0540B (1:) NOT EQUAL XPC-FLD0540B + DISPLAY 'FLD0540B ==> ' FLD0540B + DISPLAY 'EXPECTED ==> ' XPC-FLD0540B. + IF FLD0541B (1:) NOT EQUAL XPC-FLD0541B + DISPLAY 'FLD0541B ==> ' FLD0541B + DISPLAY 'EXPECTED ==> ' XPC-FLD0541B. + IF FLD0542B (1:) NOT EQUAL XPC-FLD0542B + DISPLAY 'FLD0542B ==> ' FLD0542B + DISPLAY 'EXPECTED ==> ' XPC-FLD0542B. + IF FLD0543B (1:) NOT EQUAL XPC-FLD0543B + DISPLAY 'FLD0543B ==> ' FLD0543B + DISPLAY 'EXPECTED ==> ' XPC-FLD0543B. + IF FLD0544B (1:) NOT EQUAL XPC-FLD0544B + DISPLAY 'FLD0544B ==> ' FLD0544B + DISPLAY 'EXPECTED ==> ' XPC-FLD0544B. + IF FLD0545B (1:) NOT EQUAL XPC-FLD0545B + DISPLAY 'FLD0545B ==> ' FLD0545B + DISPLAY 'EXPECTED ==> ' XPC-FLD0545B. + IF FLD0546B (1:) NOT EQUAL XPC-FLD0546B + DISPLAY 'FLD0546B ==> ' FLD0546B + DISPLAY 'EXPECTED ==> ' XPC-FLD0546B. + IF FLD0547B (1:) NOT EQUAL XPC-FLD0547B + DISPLAY 'FLD0547B ==> ' FLD0547B + DISPLAY 'EXPECTED ==> ' XPC-FLD0547B. + IF FLD0548B (1:) NOT EQUAL XPC-FLD0548B + DISPLAY 'FLD0548B ==> ' FLD0548B + DISPLAY 'EXPECTED ==> ' XPC-FLD0548B. + IF FLD0549B (1:) NOT EQUAL XPC-FLD0549B + DISPLAY 'FLD0549B ==> ' FLD0549B + DISPLAY 'EXPECTED ==> ' XPC-FLD0549B. + IF FLD0550B (1:) NOT EQUAL XPC-FLD0550B + DISPLAY 'FLD0550B ==> ' FLD0550B + DISPLAY 'EXPECTED ==> ' XPC-FLD0550B. + IF FLD0551B (1:) NOT EQUAL XPC-FLD0551B + DISPLAY 'FLD0551B ==> ' FLD0551B + DISPLAY 'EXPECTED ==> ' XPC-FLD0551B. + IF FLD0552B (1:) NOT EQUAL XPC-FLD0552B + DISPLAY 'FLD0552B ==> ' FLD0552B + DISPLAY 'EXPECTED ==> ' XPC-FLD0552B. + IF FLD0553B (1:) NOT EQUAL XPC-FLD0553B + DISPLAY 'FLD0553B ==> ' FLD0553B + DISPLAY 'EXPECTED ==> ' XPC-FLD0553B. + IF FLD0554B (1:) NOT EQUAL XPC-FLD0554B + DISPLAY 'FLD0554B ==> ' FLD0554B + DISPLAY 'EXPECTED ==> ' XPC-FLD0554B. + IF FLD0555B (1:) NOT EQUAL XPC-FLD0555B + DISPLAY 'FLD0555B ==> ' FLD0555B + DISPLAY 'EXPECTED ==> ' XPC-FLD0555B. + IF FLD0556B (1:) NOT EQUAL XPC-FLD0556B + DISPLAY 'FLD0556B ==> ' FLD0556B + DISPLAY 'EXPECTED ==> ' XPC-FLD0556B. + IF FLD0557B (1:) NOT EQUAL XPC-FLD0557B + DISPLAY 'FLD0557B ==> ' FLD0557B + DISPLAY 'EXPECTED ==> ' XPC-FLD0557B. + IF FLD0558B (1:) NOT EQUAL XPC-FLD0558B + DISPLAY 'FLD0558B ==> ' FLD0558B + DISPLAY 'EXPECTED ==> ' XPC-FLD0558B. + IF FLD0559B (1:) NOT EQUAL XPC-FLD0559B + DISPLAY 'FLD0559B ==> ' FLD0559B + DISPLAY 'EXPECTED ==> ' XPC-FLD0559B. + IF FLD0560B (1:) NOT EQUAL XPC-FLD0560B + DISPLAY 'FLD0560B ==> ' FLD0560B + DISPLAY 'EXPECTED ==> ' XPC-FLD0560B. + IF FLD0561B (1:) NOT EQUAL XPC-FLD0561B + DISPLAY 'FLD0561B ==> ' FLD0561B + DISPLAY 'EXPECTED ==> ' XPC-FLD0561B. + IF FLD0562B (1:) NOT EQUAL XPC-FLD0562B + DISPLAY 'FLD0562B ==> ' FLD0562B + DISPLAY 'EXPECTED ==> ' XPC-FLD0562B. + IF FLD0563B (1:) NOT EQUAL XPC-FLD0563B + DISPLAY 'FLD0563B ==> ' FLD0563B + DISPLAY 'EXPECTED ==> ' XPC-FLD0563B. + IF FLD0564B (1:) NOT EQUAL XPC-FLD0564B + DISPLAY 'FLD0564B ==> ' FLD0564B + DISPLAY 'EXPECTED ==> ' XPC-FLD0564B. + IF FLD0565B (1:) NOT EQUAL XPC-FLD0565B + DISPLAY 'FLD0565B ==> ' FLD0565B + DISPLAY 'EXPECTED ==> ' XPC-FLD0565B. + IF FLD0566B (1:) NOT EQUAL XPC-FLD0566B + DISPLAY 'FLD0566B ==> ' FLD0566B + DISPLAY 'EXPECTED ==> ' XPC-FLD0566B. + IF FLD0567B (1:) NOT EQUAL XPC-FLD0567B + DISPLAY 'FLD0567B ==> ' FLD0567B + DISPLAY 'EXPECTED ==> ' XPC-FLD0567B. + IF FLD0568B (1:) NOT EQUAL XPC-FLD0568B + DISPLAY 'FLD0568B ==> ' FLD0568B + DISPLAY 'EXPECTED ==> ' XPC-FLD0568B. + IF FLD0569B (1:) NOT EQUAL XPC-FLD0569B + DISPLAY 'FLD0569B ==> ' FLD0569B + DISPLAY 'EXPECTED ==> ' XPC-FLD0569B. + IF FLD0570B (1:) NOT EQUAL XPC-FLD0570B + DISPLAY 'FLD0570B ==> ' FLD0570B + DISPLAY 'EXPECTED ==> ' XPC-FLD0570B. + IF FLD0571B (1:) NOT EQUAL XPC-FLD0571B + DISPLAY 'FLD0571B ==> ' FLD0571B + DISPLAY 'EXPECTED ==> ' XPC-FLD0571B. + IF FLD0572B (1:) NOT EQUAL XPC-FLD0572B + DISPLAY 'FLD0572B ==> ' FLD0572B + DISPLAY 'EXPECTED ==> ' XPC-FLD0572B. + IF FLD0573B (1:) NOT EQUAL XPC-FLD0573B + DISPLAY 'FLD0573B ==> ' FLD0573B + DISPLAY 'EXPECTED ==> ' XPC-FLD0573B. + IF FLD0574B (1:) NOT EQUAL XPC-FLD0574B + DISPLAY 'FLD0574B ==> ' FLD0574B + DISPLAY 'EXPECTED ==> ' XPC-FLD0574B. + IF FLD0575B (1:) NOT EQUAL XPC-FLD0575B + DISPLAY 'FLD0575B ==> ' FLD0575B + DISPLAY 'EXPECTED ==> ' XPC-FLD0575B. + IF FLD0576B (1:) NOT EQUAL XPC-FLD0576B + DISPLAY 'FLD0576B ==> ' FLD0576B + DISPLAY 'EXPECTED ==> ' XPC-FLD0576B. + IF FLD0577B (1:) NOT EQUAL XPC-FLD0577B + DISPLAY 'FLD0577B ==> ' FLD0577B + DISPLAY 'EXPECTED ==> ' XPC-FLD0577B. + IF FLD0578B (1:) NOT EQUAL XPC-FLD0578B + DISPLAY 'FLD0578B ==> ' FLD0578B + DISPLAY 'EXPECTED ==> ' XPC-FLD0578B. + IF FLD0579B (1:) NOT EQUAL XPC-FLD0579B + DISPLAY 'FLD0579B ==> ' FLD0579B + DISPLAY 'EXPECTED ==> ' XPC-FLD0579B. + IF FLD0580B (1:) NOT EQUAL XPC-FLD0580B + DISPLAY 'FLD0580B ==> ' FLD0580B + DISPLAY 'EXPECTED ==> ' XPC-FLD0580B. + IF FLD0581B (1:) NOT EQUAL XPC-FLD0581B + DISPLAY 'FLD0581B ==> ' FLD0581B + DISPLAY 'EXPECTED ==> ' XPC-FLD0581B. + IF FLD0582B (1:) NOT EQUAL XPC-FLD0582B + DISPLAY 'FLD0582B ==> ' FLD0582B + DISPLAY 'EXPECTED ==> ' XPC-FLD0582B. + IF FLD0583B (1:) NOT EQUAL XPC-FLD0583B + DISPLAY 'FLD0583B ==> ' FLD0583B + DISPLAY 'EXPECTED ==> ' XPC-FLD0583B. + IF FLD0584B (1:) NOT EQUAL XPC-FLD0584B + DISPLAY 'FLD0584B ==> ' FLD0584B + DISPLAY 'EXPECTED ==> ' XPC-FLD0584B. + IF FLD0585B (1:) NOT EQUAL XPC-FLD0585B + DISPLAY 'FLD0585B ==> ' FLD0585B + DISPLAY 'EXPECTED ==> ' XPC-FLD0585B. + IF FLD0586B (1:) NOT EQUAL XPC-FLD0586B + DISPLAY 'FLD0586B ==> ' FLD0586B + DISPLAY 'EXPECTED ==> ' XPC-FLD0586B. + IF FLD0587B (1:) NOT EQUAL XPC-FLD0587B + DISPLAY 'FLD0587B ==> ' FLD0587B + DISPLAY 'EXPECTED ==> ' XPC-FLD0587B. + IF FLD0588B (1:) NOT EQUAL XPC-FLD0588B + DISPLAY 'FLD0588B ==> ' FLD0588B + DISPLAY 'EXPECTED ==> ' XPC-FLD0588B. + IF FLD0589B (1:) NOT EQUAL XPC-FLD0589B + DISPLAY 'FLD0589B ==> ' FLD0589B + DISPLAY 'EXPECTED ==> ' XPC-FLD0589B. + IF FLD0590B (1:) NOT EQUAL XPC-FLD0590B + DISPLAY 'FLD0590B ==> ' FLD0590B + DISPLAY 'EXPECTED ==> ' XPC-FLD0590B. + IF FLD0591B (1:) NOT EQUAL XPC-FLD0591B + DISPLAY 'FLD0591B ==> ' FLD0591B + DISPLAY 'EXPECTED ==> ' XPC-FLD0591B. + IF FLD0592B (1:) NOT EQUAL XPC-FLD0592B + DISPLAY 'FLD0592B ==> ' FLD0592B + DISPLAY 'EXPECTED ==> ' XPC-FLD0592B. + IF FLD0593B (1:) NOT EQUAL XPC-FLD0593B + DISPLAY 'FLD0593B ==> ' FLD0593B + DISPLAY 'EXPECTED ==> ' XPC-FLD0593B. + IF FLD0594B (1:) NOT EQUAL XPC-FLD0594B + DISPLAY 'FLD0594B ==> ' FLD0594B + DISPLAY 'EXPECTED ==> ' XPC-FLD0594B. + IF FLD0595B (1:) NOT EQUAL XPC-FLD0595B + DISPLAY 'FLD0595B ==> ' FLD0595B + DISPLAY 'EXPECTED ==> ' XPC-FLD0595B. + IF FLD0596B (1:) NOT EQUAL XPC-FLD0596B + DISPLAY 'FLD0596B ==> ' FLD0596B + DISPLAY 'EXPECTED ==> ' XPC-FLD0596B. + IF FLD0597B (1:) NOT EQUAL XPC-FLD0597B + DISPLAY 'FLD0597B ==> ' FLD0597B + DISPLAY 'EXPECTED ==> ' XPC-FLD0597B. + IF FLD0598B (1:) NOT EQUAL XPC-FLD0598B + DISPLAY 'FLD0598B ==> ' FLD0598B + DISPLAY 'EXPECTED ==> ' XPC-FLD0598B. + IF FLD0599B (1:) NOT EQUAL XPC-FLD0599B + DISPLAY 'FLD0599B ==> ' FLD0599B + DISPLAY 'EXPECTED ==> ' XPC-FLD0599B. + IF FLD0600B (1:) NOT EQUAL XPC-FLD0600B + DISPLAY 'FLD0600B ==> ' FLD0600B + DISPLAY 'EXPECTED ==> ' XPC-FLD0600B. + IF FLD0601B (1:) NOT EQUAL XPC-FLD0601B + DISPLAY 'FLD0601B ==> ' FLD0601B + DISPLAY 'EXPECTED ==> ' XPC-FLD0601B. + IF FLD0602B (1:) NOT EQUAL XPC-FLD0602B + DISPLAY 'FLD0602B ==> ' FLD0602B + DISPLAY 'EXPECTED ==> ' XPC-FLD0602B. + IF FLD0603B (1:) NOT EQUAL XPC-FLD0603B + DISPLAY 'FLD0603B ==> ' FLD0603B + DISPLAY 'EXPECTED ==> ' XPC-FLD0603B. + IF FLD0604B (1:) NOT EQUAL XPC-FLD0604B + DISPLAY 'FLD0604B ==> ' FLD0604B + DISPLAY 'EXPECTED ==> ' XPC-FLD0604B. + IF FLD0605B (1:) NOT EQUAL XPC-FLD0605B + DISPLAY 'FLD0605B ==> ' FLD0605B + DISPLAY 'EXPECTED ==> ' XPC-FLD0605B. + IF FLD0606B (1:) NOT EQUAL XPC-FLD0606B + DISPLAY 'FLD0606B ==> ' FLD0606B + DISPLAY 'EXPECTED ==> ' XPC-FLD0606B. + IF FLD0607B (1:) NOT EQUAL XPC-FLD0607B + DISPLAY 'FLD0607B ==> ' FLD0607B + DISPLAY 'EXPECTED ==> ' XPC-FLD0607B. + IF FLD0608B (1:) NOT EQUAL XPC-FLD0608B + DISPLAY 'FLD0608B ==> ' FLD0608B + DISPLAY 'EXPECTED ==> ' XPC-FLD0608B. + IF FLD0609B (1:) NOT EQUAL XPC-FLD0609B + DISPLAY 'FLD0609B ==> ' FLD0609B + DISPLAY 'EXPECTED ==> ' XPC-FLD0609B. + IF FLD0610B (1:) NOT EQUAL XPC-FLD0610B + DISPLAY 'FLD0610B ==> ' FLD0610B + DISPLAY 'EXPECTED ==> ' XPC-FLD0610B. + IF FLD0611B (1:) NOT EQUAL XPC-FLD0611B + DISPLAY 'FLD0611B ==> ' FLD0611B + DISPLAY 'EXPECTED ==> ' XPC-FLD0611B. + IF FLD0612B (1:) NOT EQUAL XPC-FLD0612B + DISPLAY 'FLD0612B ==> ' FLD0612B + DISPLAY 'EXPECTED ==> ' XPC-FLD0612B. + IF FLD0613B (1:) NOT EQUAL XPC-FLD0613B + DISPLAY 'FLD0613B ==> ' FLD0613B + DISPLAY 'EXPECTED ==> ' XPC-FLD0613B. + IF FLD0614B (1:) NOT EQUAL XPC-FLD0614B + DISPLAY 'FLD0614B ==> ' FLD0614B + DISPLAY 'EXPECTED ==> ' XPC-FLD0614B. + IF FLD0615B (1:) NOT EQUAL XPC-FLD0615B + DISPLAY 'FLD0615B ==> ' FLD0615B + DISPLAY 'EXPECTED ==> ' XPC-FLD0615B. + IF FLD0616B (1:) NOT EQUAL XPC-FLD0616B + DISPLAY 'FLD0616B ==> ' FLD0616B + DISPLAY 'EXPECTED ==> ' XPC-FLD0616B. + IF FLD0617B (1:) NOT EQUAL XPC-FLD0617B + DISPLAY 'FLD0617B ==> ' FLD0617B + DISPLAY 'EXPECTED ==> ' XPC-FLD0617B. + IF FLD0618B (1:) NOT EQUAL XPC-FLD0618B + DISPLAY 'FLD0618B ==> ' FLD0618B + DISPLAY 'EXPECTED ==> ' XPC-FLD0618B. + IF FLD0619B (1:) NOT EQUAL XPC-FLD0619B + DISPLAY 'FLD0619B ==> ' FLD0619B + DISPLAY 'EXPECTED ==> ' XPC-FLD0619B. + IF FLD0620B (1:) NOT EQUAL XPC-FLD0620B + DISPLAY 'FLD0620B ==> ' FLD0620B + DISPLAY 'EXPECTED ==> ' XPC-FLD0620B. + IF FLD0621B (1:) NOT EQUAL XPC-FLD0621B + DISPLAY 'FLD0621B ==> ' FLD0621B + DISPLAY 'EXPECTED ==> ' XPC-FLD0621B. + IF FLD0622B (1:) NOT EQUAL XPC-FLD0622B + DISPLAY 'FLD0622B ==> ' FLD0622B + DISPLAY 'EXPECTED ==> ' XPC-FLD0622B. + IF FLD0623B (1:) NOT EQUAL XPC-FLD0623B + DISPLAY 'FLD0623B ==> ' FLD0623B + DISPLAY 'EXPECTED ==> ' XPC-FLD0623B. + IF FLD0624B (1:) NOT EQUAL XPC-FLD0624B + DISPLAY 'FLD0624B ==> ' FLD0624B + DISPLAY 'EXPECTED ==> ' XPC-FLD0624B. + IF FLD0625B (1:) NOT EQUAL XPC-FLD0625B + DISPLAY 'FLD0625B ==> ' FLD0625B + DISPLAY 'EXPECTED ==> ' XPC-FLD0625B. + IF FLD0626B (1:) NOT EQUAL XPC-FLD0626B + DISPLAY 'FLD0626B ==> ' FLD0626B + DISPLAY 'EXPECTED ==> ' XPC-FLD0626B. + IF FLD0627B (1:) NOT EQUAL XPC-FLD0627B + DISPLAY 'FLD0627B ==> ' FLD0627B + DISPLAY 'EXPECTED ==> ' XPC-FLD0627B. + IF FLD0628B (1:) NOT EQUAL XPC-FLD0628B + DISPLAY 'FLD0628B ==> ' FLD0628B + DISPLAY 'EXPECTED ==> ' XPC-FLD0628B. + IF FLD0629B (1:) NOT EQUAL XPC-FLD0629B + DISPLAY 'FLD0629B ==> ' FLD0629B + DISPLAY 'EXPECTED ==> ' XPC-FLD0629B. + IF FLD0630B (1:) NOT EQUAL XPC-FLD0630B + DISPLAY 'FLD0630B ==> ' FLD0630B + DISPLAY 'EXPECTED ==> ' XPC-FLD0630B. + IF FLD0631B (1:) NOT EQUAL XPC-FLD0631B + DISPLAY 'FLD0631B ==> ' FLD0631B + DISPLAY 'EXPECTED ==> ' XPC-FLD0631B. + IF FLD0632B (1:) NOT EQUAL XPC-FLD0632B + DISPLAY 'FLD0632B ==> ' FLD0632B + DISPLAY 'EXPECTED ==> ' XPC-FLD0632B. + IF FLD0633B (1:) NOT EQUAL XPC-FLD0633B + DISPLAY 'FLD0633B ==> ' FLD0633B + DISPLAY 'EXPECTED ==> ' XPC-FLD0633B. + IF FLD0634B (1:) NOT EQUAL XPC-FLD0634B + DISPLAY 'FLD0634B ==> ' FLD0634B + DISPLAY 'EXPECTED ==> ' XPC-FLD0634B. + IF FLD0635B (1:) NOT EQUAL XPC-FLD0635B + DISPLAY 'FLD0635B ==> ' FLD0635B + DISPLAY 'EXPECTED ==> ' XPC-FLD0635B. + IF FLD0636B (1:) NOT EQUAL XPC-FLD0636B + DISPLAY 'FLD0636B ==> ' FLD0636B + DISPLAY 'EXPECTED ==> ' XPC-FLD0636B. + IF FLD0637B (1:) NOT EQUAL XPC-FLD0637B + DISPLAY 'FLD0637B ==> ' FLD0637B + DISPLAY 'EXPECTED ==> ' XPC-FLD0637B. + IF FLD0638B (1:) NOT EQUAL XPC-FLD0638B + DISPLAY 'FLD0638B ==> ' FLD0638B + DISPLAY 'EXPECTED ==> ' XPC-FLD0638B. + IF FLD0639B (1:) NOT EQUAL XPC-FLD0639B + DISPLAY 'FLD0639B ==> ' FLD0639B + DISPLAY 'EXPECTED ==> ' XPC-FLD0639B. + IF FLD0640B (1:) NOT EQUAL XPC-FLD0640B + DISPLAY 'FLD0640B ==> ' FLD0640B + DISPLAY 'EXPECTED ==> ' XPC-FLD0640B. + IF FLD0641B (1:) NOT EQUAL XPC-FLD0641B + DISPLAY 'FLD0641B ==> ' FLD0641B + DISPLAY 'EXPECTED ==> ' XPC-FLD0641B. + IF FLD0642B (1:) NOT EQUAL XPC-FLD0642B + DISPLAY 'FLD0642B ==> ' FLD0642B + DISPLAY 'EXPECTED ==> ' XPC-FLD0642B. + IF FLD0643B (1:) NOT EQUAL XPC-FLD0643B + DISPLAY 'FLD0643B ==> ' FLD0643B + DISPLAY 'EXPECTED ==> ' XPC-FLD0643B. + IF FLD0644B (1:) NOT EQUAL XPC-FLD0644B + DISPLAY 'FLD0644B ==> ' FLD0644B + DISPLAY 'EXPECTED ==> ' XPC-FLD0644B. + IF FLD0645B (1:) NOT EQUAL XPC-FLD0645B + DISPLAY 'FLD0645B ==> ' FLD0645B + DISPLAY 'EXPECTED ==> ' XPC-FLD0645B. + IF FLD0646B (1:) NOT EQUAL XPC-FLD0646B + DISPLAY 'FLD0646B ==> ' FLD0646B + DISPLAY 'EXPECTED ==> ' XPC-FLD0646B. + IF FLD0647B (1:) NOT EQUAL XPC-FLD0647B + DISPLAY 'FLD0647B ==> ' FLD0647B + DISPLAY 'EXPECTED ==> ' XPC-FLD0647B. + IF FLD0648B (1:) NOT EQUAL XPC-FLD0648B + DISPLAY 'FLD0648B ==> ' FLD0648B + DISPLAY 'EXPECTED ==> ' XPC-FLD0648B. + IF FLD0649B (1:) NOT EQUAL XPC-FLD0649B + DISPLAY 'FLD0649B ==> ' FLD0649B + DISPLAY 'EXPECTED ==> ' XPC-FLD0649B. + IF FLD0650B (1:) NOT EQUAL XPC-FLD0650B + DISPLAY 'FLD0650B ==> ' FLD0650B + DISPLAY 'EXPECTED ==> ' XPC-FLD0650B. + IF FLD0651B (1:) NOT EQUAL XPC-FLD0651B + DISPLAY 'FLD0651B ==> ' FLD0651B + DISPLAY 'EXPECTED ==> ' XPC-FLD0651B. + IF FLD0652B (1:) NOT EQUAL XPC-FLD0652B + DISPLAY 'FLD0652B ==> ' FLD0652B + DISPLAY 'EXPECTED ==> ' XPC-FLD0652B. + IF FLD0653B (1:) NOT EQUAL XPC-FLD0653B + DISPLAY 'FLD0653B ==> ' FLD0653B + DISPLAY 'EXPECTED ==> ' XPC-FLD0653B. + IF FLD0654B (1:) NOT EQUAL XPC-FLD0654B + DISPLAY 'FLD0654B ==> ' FLD0654B + DISPLAY 'EXPECTED ==> ' XPC-FLD0654B. + IF FLD0655B (1:) NOT EQUAL XPC-FLD0655B + DISPLAY 'FLD0655B ==> ' FLD0655B + DISPLAY 'EXPECTED ==> ' XPC-FLD0655B. + IF FLD0656B (1:) NOT EQUAL XPC-FLD0656B + DISPLAY 'FLD0656B ==> ' FLD0656B + DISPLAY 'EXPECTED ==> ' XPC-FLD0656B. + IF FLD0657B (1:) NOT EQUAL XPC-FLD0657B + DISPLAY 'FLD0657B ==> ' FLD0657B + DISPLAY 'EXPECTED ==> ' XPC-FLD0657B. + IF FLD0658B (1:) NOT EQUAL XPC-FLD0658B + DISPLAY 'FLD0658B ==> ' FLD0658B + DISPLAY 'EXPECTED ==> ' XPC-FLD0658B. + IF FLD0659B (1:) NOT EQUAL XPC-FLD0659B + DISPLAY 'FLD0659B ==> ' FLD0659B + DISPLAY 'EXPECTED ==> ' XPC-FLD0659B. + IF FLD0660B (1:) NOT EQUAL XPC-FLD0660B + DISPLAY 'FLD0660B ==> ' FLD0660B + DISPLAY 'EXPECTED ==> ' XPC-FLD0660B. + IF FLD0661B (1:) NOT EQUAL XPC-FLD0661B + DISPLAY 'FLD0661B ==> ' FLD0661B + DISPLAY 'EXPECTED ==> ' XPC-FLD0661B. + IF FLD0662B (1:) NOT EQUAL XPC-FLD0662B + DISPLAY 'FLD0662B ==> ' FLD0662B + DISPLAY 'EXPECTED ==> ' XPC-FLD0662B. + IF FLD0663B (1:) NOT EQUAL XPC-FLD0663B + DISPLAY 'FLD0663B ==> ' FLD0663B + DISPLAY 'EXPECTED ==> ' XPC-FLD0663B. + IF FLD0664B (1:) NOT EQUAL XPC-FLD0664B + DISPLAY 'FLD0664B ==> ' FLD0664B + DISPLAY 'EXPECTED ==> ' XPC-FLD0664B. + IF FLD0665B (1:) NOT EQUAL XPC-FLD0665B + DISPLAY 'FLD0665B ==> ' FLD0665B + DISPLAY 'EXPECTED ==> ' XPC-FLD0665B. + IF FLD0666B (1:) NOT EQUAL XPC-FLD0666B + DISPLAY 'FLD0666B ==> ' FLD0666B + DISPLAY 'EXPECTED ==> ' XPC-FLD0666B. + IF FLD0667B (1:) NOT EQUAL XPC-FLD0667B + DISPLAY 'FLD0667B ==> ' FLD0667B + DISPLAY 'EXPECTED ==> ' XPC-FLD0667B. + IF FLD0668B (1:) NOT EQUAL XPC-FLD0668B + DISPLAY 'FLD0668B ==> ' FLD0668B + DISPLAY 'EXPECTED ==> ' XPC-FLD0668B. + IF FLD0669B (1:) NOT EQUAL XPC-FLD0669B + DISPLAY 'FLD0669B ==> ' FLD0669B + DISPLAY 'EXPECTED ==> ' XPC-FLD0669B. + IF FLD0670B (1:) NOT EQUAL XPC-FLD0670B + DISPLAY 'FLD0670B ==> ' FLD0670B + DISPLAY 'EXPECTED ==> ' XPC-FLD0670B. + IF FLD0671B (1:) NOT EQUAL XPC-FLD0671B + DISPLAY 'FLD0671B ==> ' FLD0671B + DISPLAY 'EXPECTED ==> ' XPC-FLD0671B. + IF FLD0672B (1:) NOT EQUAL XPC-FLD0672B + DISPLAY 'FLD0672B ==> ' FLD0672B + DISPLAY 'EXPECTED ==> ' XPC-FLD0672B. + IF FLD0673B (1:) NOT EQUAL XPC-FLD0673B + DISPLAY 'FLD0673B ==> ' FLD0673B + DISPLAY 'EXPECTED ==> ' XPC-FLD0673B. + IF FLD0674B (1:) NOT EQUAL XPC-FLD0674B + DISPLAY 'FLD0674B ==> ' FLD0674B + DISPLAY 'EXPECTED ==> ' XPC-FLD0674B. + IF FLD0675B (1:) NOT EQUAL XPC-FLD0675B + DISPLAY 'FLD0675B ==> ' FLD0675B + DISPLAY 'EXPECTED ==> ' XPC-FLD0675B. + IF FLD0676B (1:) NOT EQUAL XPC-FLD0676B + DISPLAY 'FLD0676B ==> ' FLD0676B + DISPLAY 'EXPECTED ==> ' XPC-FLD0676B. + IF FLD0677B (1:) NOT EQUAL XPC-FLD0677B + DISPLAY 'FLD0677B ==> ' FLD0677B + DISPLAY 'EXPECTED ==> ' XPC-FLD0677B. + IF FLD0678B (1:) NOT EQUAL XPC-FLD0678B + DISPLAY 'FLD0678B ==> ' FLD0678B + DISPLAY 'EXPECTED ==> ' XPC-FLD0678B. + IF FLD0679B (1:) NOT EQUAL XPC-FLD0679B + DISPLAY 'FLD0679B ==> ' FLD0679B + DISPLAY 'EXPECTED ==> ' XPC-FLD0679B. + IF FLD0680B (1:) NOT EQUAL XPC-FLD0680B + DISPLAY 'FLD0680B ==> ' FLD0680B + DISPLAY 'EXPECTED ==> ' XPC-FLD0680B. + IF FLD0681B (1:) NOT EQUAL XPC-FLD0681B + DISPLAY 'FLD0681B ==> ' FLD0681B + DISPLAY 'EXPECTED ==> ' XPC-FLD0681B. + IF FLD0682B (1:) NOT EQUAL XPC-FLD0682B + DISPLAY 'FLD0682B ==> ' FLD0682B + DISPLAY 'EXPECTED ==> ' XPC-FLD0682B. + IF FLD0683B (1:) NOT EQUAL XPC-FLD0683B + DISPLAY 'FLD0683B ==> ' FLD0683B + DISPLAY 'EXPECTED ==> ' XPC-FLD0683B. + IF FLD0684B (1:) NOT EQUAL XPC-FLD0684B + DISPLAY 'FLD0684B ==> ' FLD0684B + DISPLAY 'EXPECTED ==> ' XPC-FLD0684B. + IF FLD0685B (1:) NOT EQUAL XPC-FLD0685B + DISPLAY 'FLD0685B ==> ' FLD0685B + DISPLAY 'EXPECTED ==> ' XPC-FLD0685B. + IF FLD0686B (1:) NOT EQUAL XPC-FLD0686B + DISPLAY 'FLD0686B ==> ' FLD0686B + DISPLAY 'EXPECTED ==> ' XPC-FLD0686B. + IF FLD0687B (1:) NOT EQUAL XPC-FLD0687B + DISPLAY 'FLD0687B ==> ' FLD0687B + DISPLAY 'EXPECTED ==> ' XPC-FLD0687B. + IF FLD0688B (1:) NOT EQUAL XPC-FLD0688B + DISPLAY 'FLD0688B ==> ' FLD0688B + DISPLAY 'EXPECTED ==> ' XPC-FLD0688B. + IF FLD0689B (1:) NOT EQUAL XPC-FLD0689B + DISPLAY 'FLD0689B ==> ' FLD0689B + DISPLAY 'EXPECTED ==> ' XPC-FLD0689B. + IF FLD0690B (1:) NOT EQUAL XPC-FLD0690B + DISPLAY 'FLD0690B ==> ' FLD0690B + DISPLAY 'EXPECTED ==> ' XPC-FLD0690B. + IF FLD0691B (1:) NOT EQUAL XPC-FLD0691B + DISPLAY 'FLD0691B ==> ' FLD0691B + DISPLAY 'EXPECTED ==> ' XPC-FLD0691B. + IF FLD0692B (1:) NOT EQUAL XPC-FLD0692B + DISPLAY 'FLD0692B ==> ' FLD0692B + DISPLAY 'EXPECTED ==> ' XPC-FLD0692B. + IF FLD0693B (1:) NOT EQUAL XPC-FLD0693B + DISPLAY 'FLD0693B ==> ' FLD0693B + DISPLAY 'EXPECTED ==> ' XPC-FLD0693B. + IF FLD0694B (1:) NOT EQUAL XPC-FLD0694B + DISPLAY 'FLD0694B ==> ' FLD0694B + DISPLAY 'EXPECTED ==> ' XPC-FLD0694B. + IF FLD0695B (1:) NOT EQUAL XPC-FLD0695B + DISPLAY 'FLD0695B ==> ' FLD0695B + DISPLAY 'EXPECTED ==> ' XPC-FLD0695B. + IF FLD0696B (1:) NOT EQUAL XPC-FLD0696B + DISPLAY 'FLD0696B ==> ' FLD0696B + DISPLAY 'EXPECTED ==> ' XPC-FLD0696B. + IF FLD0697B (1:) NOT EQUAL XPC-FLD0697B + DISPLAY 'FLD0697B ==> ' FLD0697B + DISPLAY 'EXPECTED ==> ' XPC-FLD0697B. + IF FLD0698B (1:) NOT EQUAL XPC-FLD0698B + DISPLAY 'FLD0698B ==> ' FLD0698B + DISPLAY 'EXPECTED ==> ' XPC-FLD0698B. + IF FLD0699B (1:) NOT EQUAL XPC-FLD0699B + DISPLAY 'FLD0699B ==> ' FLD0699B + DISPLAY 'EXPECTED ==> ' XPC-FLD0699B. + IF FLD0700B (1:) NOT EQUAL XPC-FLD0700B + DISPLAY 'FLD0700B ==> ' FLD0700B + DISPLAY 'EXPECTED ==> ' XPC-FLD0700B. + IF FLD0701B (1:) NOT EQUAL XPC-FLD0701B + DISPLAY 'FLD0701B ==> ' FLD0701B + DISPLAY 'EXPECTED ==> ' XPC-FLD0701B. + IF FLD0702B (1:) NOT EQUAL XPC-FLD0702B + DISPLAY 'FLD0702B ==> ' FLD0702B + DISPLAY 'EXPECTED ==> ' XPC-FLD0702B. + IF FLD0703B (1:) NOT EQUAL XPC-FLD0703B + DISPLAY 'FLD0703B ==> ' FLD0703B + DISPLAY 'EXPECTED ==> ' XPC-FLD0703B. + IF FLD0704B (1:) NOT EQUAL XPC-FLD0704B + DISPLAY 'FLD0704B ==> ' FLD0704B + DISPLAY 'EXPECTED ==> ' XPC-FLD0704B. + IF FLD0705B (1:) NOT EQUAL XPC-FLD0705B + DISPLAY 'FLD0705B ==> ' FLD0705B + DISPLAY 'EXPECTED ==> ' XPC-FLD0705B. + IF FLD0706B (1:) NOT EQUAL XPC-FLD0706B + DISPLAY 'FLD0706B ==> ' FLD0706B + DISPLAY 'EXPECTED ==> ' XPC-FLD0706B. + IF FLD0707B (1:) NOT EQUAL XPC-FLD0707B + DISPLAY 'FLD0707B ==> ' FLD0707B + DISPLAY 'EXPECTED ==> ' XPC-FLD0707B. + IF FLD0708B (1:) NOT EQUAL XPC-FLD0708B + DISPLAY 'FLD0708B ==> ' FLD0708B + DISPLAY 'EXPECTED ==> ' XPC-FLD0708B. + IF FLD0709B (1:) NOT EQUAL XPC-FLD0709B + DISPLAY 'FLD0709B ==> ' FLD0709B + DISPLAY 'EXPECTED ==> ' XPC-FLD0709B. + IF FLD0710B (1:) NOT EQUAL XPC-FLD0710B + DISPLAY 'FLD0710B ==> ' FLD0710B + DISPLAY 'EXPECTED ==> ' XPC-FLD0710B. + IF FLD0711B (1:) NOT EQUAL XPC-FLD0711B + DISPLAY 'FLD0711B ==> ' FLD0711B + DISPLAY 'EXPECTED ==> ' XPC-FLD0711B. + IF FLD0712B (1:) NOT EQUAL XPC-FLD0712B + DISPLAY 'FLD0712B ==> ' FLD0712B + DISPLAY 'EXPECTED ==> ' XPC-FLD0712B. + IF FLD0713B (1:) NOT EQUAL XPC-FLD0713B + DISPLAY 'FLD0713B ==> ' FLD0713B + DISPLAY 'EXPECTED ==> ' XPC-FLD0713B. + IF FLD0714B (1:) NOT EQUAL XPC-FLD0714B + DISPLAY 'FLD0714B ==> ' FLD0714B + DISPLAY 'EXPECTED ==> ' XPC-FLD0714B. + IF FLD0715B (1:) NOT EQUAL XPC-FLD0715B + DISPLAY 'FLD0715B ==> ' FLD0715B + DISPLAY 'EXPECTED ==> ' XPC-FLD0715B. + IF FLD0716B (1:) NOT EQUAL XPC-FLD0716B + DISPLAY 'FLD0716B ==> ' FLD0716B + DISPLAY 'EXPECTED ==> ' XPC-FLD0716B. + IF FLD0717B (1:) NOT EQUAL XPC-FLD0717B + DISPLAY 'FLD0717B ==> ' FLD0717B + DISPLAY 'EXPECTED ==> ' XPC-FLD0717B. + IF FLD0718B (1:) NOT EQUAL XPC-FLD0718B + DISPLAY 'FLD0718B ==> ' FLD0718B + DISPLAY 'EXPECTED ==> ' XPC-FLD0718B. + IF FLD0719B (1:) NOT EQUAL XPC-FLD0719B + DISPLAY 'FLD0719B ==> ' FLD0719B + DISPLAY 'EXPECTED ==> ' XPC-FLD0719B. + IF FLD0720B (1:) NOT EQUAL XPC-FLD0720B + DISPLAY 'FLD0720B ==> ' FLD0720B + DISPLAY 'EXPECTED ==> ' XPC-FLD0720B. + IF FLD0721B (1:) NOT EQUAL XPC-FLD0721B + DISPLAY 'FLD0721B ==> ' FLD0721B + DISPLAY 'EXPECTED ==> ' XPC-FLD0721B. + IF FLD0722B (1:) NOT EQUAL XPC-FLD0722B + DISPLAY 'FLD0722B ==> ' FLD0722B + DISPLAY 'EXPECTED ==> ' XPC-FLD0722B. + IF FLD0723B (1:) NOT EQUAL XPC-FLD0723B + DISPLAY 'FLD0723B ==> ' FLD0723B + DISPLAY 'EXPECTED ==> ' XPC-FLD0723B. + IF FLD0724B (1:) NOT EQUAL XPC-FLD0724B + DISPLAY 'FLD0724B ==> ' FLD0724B + DISPLAY 'EXPECTED ==> ' XPC-FLD0724B. + IF FLD0725B (1:) NOT EQUAL XPC-FLD0725B + DISPLAY 'FLD0725B ==> ' FLD0725B + DISPLAY 'EXPECTED ==> ' XPC-FLD0725B. + IF FLD0726B (1:) NOT EQUAL XPC-FLD0726B + DISPLAY 'FLD0726B ==> ' FLD0726B + DISPLAY 'EXPECTED ==> ' XPC-FLD0726B. + IF FLD0727B (1:) NOT EQUAL XPC-FLD0727B + DISPLAY 'FLD0727B ==> ' FLD0727B + DISPLAY 'EXPECTED ==> ' XPC-FLD0727B. + IF FLD0728B (1:) NOT EQUAL XPC-FLD0728B + DISPLAY 'FLD0728B ==> ' FLD0728B + DISPLAY 'EXPECTED ==> ' XPC-FLD0728B. + IF FLD0729B (1:) NOT EQUAL XPC-FLD0729B + DISPLAY 'FLD0729B ==> ' FLD0729B + DISPLAY 'EXPECTED ==> ' XPC-FLD0729B. + IF FLD0730B (1:) NOT EQUAL XPC-FLD0730B + DISPLAY 'FLD0730B ==> ' FLD0730B + DISPLAY 'EXPECTED ==> ' XPC-FLD0730B. + IF FLD0731B (1:) NOT EQUAL XPC-FLD0731B + DISPLAY 'FLD0731B ==> ' FLD0731B + DISPLAY 'EXPECTED ==> ' XPC-FLD0731B. + IF FLD0732B (1:) NOT EQUAL XPC-FLD0732B + DISPLAY 'FLD0732B ==> ' FLD0732B + DISPLAY 'EXPECTED ==> ' XPC-FLD0732B. + IF FLD0733B (1:) NOT EQUAL XPC-FLD0733B + DISPLAY 'FLD0733B ==> ' FLD0733B + DISPLAY 'EXPECTED ==> ' XPC-FLD0733B. + IF FLD0734B (1:) NOT EQUAL XPC-FLD0734B + DISPLAY 'FLD0734B ==> ' FLD0734B + DISPLAY 'EXPECTED ==> ' XPC-FLD0734B. + IF FLD0735B (1:) NOT EQUAL XPC-FLD0735B + DISPLAY 'FLD0735B ==> ' FLD0735B + DISPLAY 'EXPECTED ==> ' XPC-FLD0735B. + IF FLD0736B (1:) NOT EQUAL XPC-FLD0736B + DISPLAY 'FLD0736B ==> ' FLD0736B + DISPLAY 'EXPECTED ==> ' XPC-FLD0736B. + IF FLD0737B (1:) NOT EQUAL XPC-FLD0737B + DISPLAY 'FLD0737B ==> ' FLD0737B + DISPLAY 'EXPECTED ==> ' XPC-FLD0737B. + IF FLD0738B (1:) NOT EQUAL XPC-FLD0738B + DISPLAY 'FLD0738B ==> ' FLD0738B + DISPLAY 'EXPECTED ==> ' XPC-FLD0738B. + IF FLD0739B (1:) NOT EQUAL XPC-FLD0739B + DISPLAY 'FLD0739B ==> ' FLD0739B + DISPLAY 'EXPECTED ==> ' XPC-FLD0739B. + IF FLD0740B (1:) NOT EQUAL XPC-FLD0740B + DISPLAY 'FLD0740B ==> ' FLD0740B + DISPLAY 'EXPECTED ==> ' XPC-FLD0740B. + IF FLD0741B (1:) NOT EQUAL XPC-FLD0741B + DISPLAY 'FLD0741B ==> ' FLD0741B + DISPLAY 'EXPECTED ==> ' XPC-FLD0741B. + IF FLD0742B (1:) NOT EQUAL XPC-FLD0742B + DISPLAY 'FLD0742B ==> ' FLD0742B + DISPLAY 'EXPECTED ==> ' XPC-FLD0742B. + IF FLD0743B (1:) NOT EQUAL XPC-FLD0743B + DISPLAY 'FLD0743B ==> ' FLD0743B + DISPLAY 'EXPECTED ==> ' XPC-FLD0743B. + IF FLD0744B (1:) NOT EQUAL XPC-FLD0744B + DISPLAY 'FLD0744B ==> ' FLD0744B + DISPLAY 'EXPECTED ==> ' XPC-FLD0744B. + IF FLD0745B (1:) NOT EQUAL XPC-FLD0745B + DISPLAY 'FLD0745B ==> ' FLD0745B + DISPLAY 'EXPECTED ==> ' XPC-FLD0745B. + IF FLD0746B (1:) NOT EQUAL XPC-FLD0746B + DISPLAY 'FLD0746B ==> ' FLD0746B + DISPLAY 'EXPECTED ==> ' XPC-FLD0746B. + IF FLD0747B (1:) NOT EQUAL XPC-FLD0747B + DISPLAY 'FLD0747B ==> ' FLD0747B + DISPLAY 'EXPECTED ==> ' XPC-FLD0747B. + IF FLD0748B (1:) NOT EQUAL XPC-FLD0748B + DISPLAY 'FLD0748B ==> ' FLD0748B + DISPLAY 'EXPECTED ==> ' XPC-FLD0748B. + IF FLD0749B (1:) NOT EQUAL XPC-FLD0749B + DISPLAY 'FLD0749B ==> ' FLD0749B + DISPLAY 'EXPECTED ==> ' XPC-FLD0749B. + IF FLD0750B (1:) NOT EQUAL XPC-FLD0750B + DISPLAY 'FLD0750B ==> ' FLD0750B + DISPLAY 'EXPECTED ==> ' XPC-FLD0750B. + IF FLD0751B (1:) NOT EQUAL XPC-FLD0751B + DISPLAY 'FLD0751B ==> ' FLD0751B + DISPLAY 'EXPECTED ==> ' XPC-FLD0751B. + IF FLD0752B (1:) NOT EQUAL XPC-FLD0752B + DISPLAY 'FLD0752B ==> ' FLD0752B + DISPLAY 'EXPECTED ==> ' XPC-FLD0752B. + IF FLD0753B (1:) NOT EQUAL XPC-FLD0753B + DISPLAY 'FLD0753B ==> ' FLD0753B + DISPLAY 'EXPECTED ==> ' XPC-FLD0753B. + IF FLD0754B (1:) NOT EQUAL XPC-FLD0754B + DISPLAY 'FLD0754B ==> ' FLD0754B + DISPLAY 'EXPECTED ==> ' XPC-FLD0754B. + IF FLD0755B (1:) NOT EQUAL XPC-FLD0755B + DISPLAY 'FLD0755B ==> ' FLD0755B + DISPLAY 'EXPECTED ==> ' XPC-FLD0755B. + IF FLD0756B (1:) NOT EQUAL XPC-FLD0756B + DISPLAY 'FLD0756B ==> ' FLD0756B + DISPLAY 'EXPECTED ==> ' XPC-FLD0756B. + IF FLD0757B (1:) NOT EQUAL XPC-FLD0757B + DISPLAY 'FLD0757B ==> ' FLD0757B + DISPLAY 'EXPECTED ==> ' XPC-FLD0757B. + IF FLD0758B (1:) NOT EQUAL XPC-FLD0758B + DISPLAY 'FLD0758B ==> ' FLD0758B + DISPLAY 'EXPECTED ==> ' XPC-FLD0758B. + IF FLD0759B (1:) NOT EQUAL XPC-FLD0759B + DISPLAY 'FLD0759B ==> ' FLD0759B + DISPLAY 'EXPECTED ==> ' XPC-FLD0759B. + IF FLD0760B (1:) NOT EQUAL XPC-FLD0760B + DISPLAY 'FLD0760B ==> ' FLD0760B + DISPLAY 'EXPECTED ==> ' XPC-FLD0760B. + IF FLD0761B (1:) NOT EQUAL XPC-FLD0761B + DISPLAY 'FLD0761B ==> ' FLD0761B + DISPLAY 'EXPECTED ==> ' XPC-FLD0761B. + IF FLD0762B (1:) NOT EQUAL XPC-FLD0762B + DISPLAY 'FLD0762B ==> ' FLD0762B + DISPLAY 'EXPECTED ==> ' XPC-FLD0762B. + IF FLD0763B (1:) NOT EQUAL XPC-FLD0763B + DISPLAY 'FLD0763B ==> ' FLD0763B + DISPLAY 'EXPECTED ==> ' XPC-FLD0763B. + IF FLD0764B (1:) NOT EQUAL XPC-FLD0764B + DISPLAY 'FLD0764B ==> ' FLD0764B + DISPLAY 'EXPECTED ==> ' XPC-FLD0764B. + IF FLD0765B (1:) NOT EQUAL XPC-FLD0765B + DISPLAY 'FLD0765B ==> ' FLD0765B + DISPLAY 'EXPECTED ==> ' XPC-FLD0765B. + IF FLD0766B (1:) NOT EQUAL XPC-FLD0766B + DISPLAY 'FLD0766B ==> ' FLD0766B + DISPLAY 'EXPECTED ==> ' XPC-FLD0766B. + IF FLD0767B (1:) NOT EQUAL XPC-FLD0767B + DISPLAY 'FLD0767B ==> ' FLD0767B + DISPLAY 'EXPECTED ==> ' XPC-FLD0767B. + IF FLD0768B (1:) NOT EQUAL XPC-FLD0768B + DISPLAY 'FLD0768B ==> ' FLD0768B + DISPLAY 'EXPECTED ==> ' XPC-FLD0768B. + IF FLD0769B (1:) NOT EQUAL XPC-FLD0769B + DISPLAY 'FLD0769B ==> ' FLD0769B + DISPLAY 'EXPECTED ==> ' XPC-FLD0769B. + IF FLD0770B (1:) NOT EQUAL XPC-FLD0770B + DISPLAY 'FLD0770B ==> ' FLD0770B + DISPLAY 'EXPECTED ==> ' XPC-FLD0770B. + IF FLD0771B (1:) NOT EQUAL XPC-FLD0771B + DISPLAY 'FLD0771B ==> ' FLD0771B + DISPLAY 'EXPECTED ==> ' XPC-FLD0771B. + IF FLD0772B (1:) NOT EQUAL XPC-FLD0772B + DISPLAY 'FLD0772B ==> ' FLD0772B + DISPLAY 'EXPECTED ==> ' XPC-FLD0772B. + IF FLD0773B (1:) NOT EQUAL XPC-FLD0773B + DISPLAY 'FLD0773B ==> ' FLD0773B + DISPLAY 'EXPECTED ==> ' XPC-FLD0773B. + IF FLD0774B (1:) NOT EQUAL XPC-FLD0774B + DISPLAY 'FLD0774B ==> ' FLD0774B + DISPLAY 'EXPECTED ==> ' XPC-FLD0774B. + IF FLD0775B (1:) NOT EQUAL XPC-FLD0775B + DISPLAY 'FLD0775B ==> ' FLD0775B + DISPLAY 'EXPECTED ==> ' XPC-FLD0775B. + IF FLD0776B (1:) NOT EQUAL XPC-FLD0776B + DISPLAY 'FLD0776B ==> ' FLD0776B + DISPLAY 'EXPECTED ==> ' XPC-FLD0776B. + IF FLD0777B (1:) NOT EQUAL XPC-FLD0777B + DISPLAY 'FLD0777B ==> ' FLD0777B + DISPLAY 'EXPECTED ==> ' XPC-FLD0777B. + IF FLD0778B (1:) NOT EQUAL XPC-FLD0778B + DISPLAY 'FLD0778B ==> ' FLD0778B + DISPLAY 'EXPECTED ==> ' XPC-FLD0778B. + IF FLD0779B (1:) NOT EQUAL XPC-FLD0779B + DISPLAY 'FLD0779B ==> ' FLD0779B + DISPLAY 'EXPECTED ==> ' XPC-FLD0779B. + IF FLD0780B (1:) NOT EQUAL XPC-FLD0780B + DISPLAY 'FLD0780B ==> ' FLD0780B + DISPLAY 'EXPECTED ==> ' XPC-FLD0780B. + IF FLD0781B (1:) NOT EQUAL XPC-FLD0781B + DISPLAY 'FLD0781B ==> ' FLD0781B + DISPLAY 'EXPECTED ==> ' XPC-FLD0781B. + IF FLD0782B (1:) NOT EQUAL XPC-FLD0782B + DISPLAY 'FLD0782B ==> ' FLD0782B + DISPLAY 'EXPECTED ==> ' XPC-FLD0782B. + IF FLD0783B (1:) NOT EQUAL XPC-FLD0783B + DISPLAY 'FLD0783B ==> ' FLD0783B + DISPLAY 'EXPECTED ==> ' XPC-FLD0783B. + IF FLD0784B (1:) NOT EQUAL XPC-FLD0784B + DISPLAY 'FLD0784B ==> ' FLD0784B + DISPLAY 'EXPECTED ==> ' XPC-FLD0784B. + IF FLD0785B (1:) NOT EQUAL XPC-FLD0785B + DISPLAY 'FLD0785B ==> ' FLD0785B + DISPLAY 'EXPECTED ==> ' XPC-FLD0785B. + IF FLD0786B (1:) NOT EQUAL XPC-FLD0786B + DISPLAY 'FLD0786B ==> ' FLD0786B + DISPLAY 'EXPECTED ==> ' XPC-FLD0786B. + IF FLD0787B (1:) NOT EQUAL XPC-FLD0787B + DISPLAY 'FLD0787B ==> ' FLD0787B + DISPLAY 'EXPECTED ==> ' XPC-FLD0787B. + IF FLD0788B (1:) NOT EQUAL XPC-FLD0788B + DISPLAY 'FLD0788B ==> ' FLD0788B + DISPLAY 'EXPECTED ==> ' XPC-FLD0788B. + IF FLD0789B (1:) NOT EQUAL XPC-FLD0789B + DISPLAY 'FLD0789B ==> ' FLD0789B + DISPLAY 'EXPECTED ==> ' XPC-FLD0789B. + IF FLD0790B (1:) NOT EQUAL XPC-FLD0790B + DISPLAY 'FLD0790B ==> ' FLD0790B + DISPLAY 'EXPECTED ==> ' XPC-FLD0790B. + IF FLD0791B (1:) NOT EQUAL XPC-FLD0791B + DISPLAY 'FLD0791B ==> ' FLD0791B + DISPLAY 'EXPECTED ==> ' XPC-FLD0791B. + IF FLD0792B (1:) NOT EQUAL XPC-FLD0792B + DISPLAY 'FLD0792B ==> ' FLD0792B + DISPLAY 'EXPECTED ==> ' XPC-FLD0792B. + IF FLD0793B (1:) NOT EQUAL XPC-FLD0793B + DISPLAY 'FLD0793B ==> ' FLD0793B + DISPLAY 'EXPECTED ==> ' XPC-FLD0793B. + IF FLD0794B (1:) NOT EQUAL XPC-FLD0794B + DISPLAY 'FLD0794B ==> ' FLD0794B + DISPLAY 'EXPECTED ==> ' XPC-FLD0794B. + IF FLD0795B (1:) NOT EQUAL XPC-FLD0795B + DISPLAY 'FLD0795B ==> ' FLD0795B + DISPLAY 'EXPECTED ==> ' XPC-FLD0795B. + IF FLD0796B (1:) NOT EQUAL XPC-FLD0796B + DISPLAY 'FLD0796B ==> ' FLD0796B + DISPLAY 'EXPECTED ==> ' XPC-FLD0796B. + IF FLD0797B (1:) NOT EQUAL XPC-FLD0797B + DISPLAY 'FLD0797B ==> ' FLD0797B + DISPLAY 'EXPECTED ==> ' XPC-FLD0797B. + IF FLD0798B (1:) NOT EQUAL XPC-FLD0798B + DISPLAY 'FLD0798B ==> ' FLD0798B + DISPLAY 'EXPECTED ==> ' XPC-FLD0798B. + IF FLD0799B (1:) NOT EQUAL XPC-FLD0799B + DISPLAY 'FLD0799B ==> ' FLD0799B + DISPLAY 'EXPECTED ==> ' XPC-FLD0799B. + IF FLD0800B (1:) NOT EQUAL XPC-FLD0800B + DISPLAY 'FLD0800B ==> ' FLD0800B + DISPLAY 'EXPECTED ==> ' XPC-FLD0800B. + IF FLD0801B (1:) NOT EQUAL XPC-FLD0801B + DISPLAY 'FLD0801B ==> ' FLD0801B + DISPLAY 'EXPECTED ==> ' XPC-FLD0801B. + IF FLD0802B (1:) NOT EQUAL XPC-FLD0802B + DISPLAY 'FLD0802B ==> ' FLD0802B + DISPLAY 'EXPECTED ==> ' XPC-FLD0802B. + IF FLD0803B (1:) NOT EQUAL XPC-FLD0803B + DISPLAY 'FLD0803B ==> ' FLD0803B + DISPLAY 'EXPECTED ==> ' XPC-FLD0803B. + IF FLD0804B (1:) NOT EQUAL XPC-FLD0804B + DISPLAY 'FLD0804B ==> ' FLD0804B + DISPLAY 'EXPECTED ==> ' XPC-FLD0804B. + IF FLD0805B (1:) NOT EQUAL XPC-FLD0805B + DISPLAY 'FLD0805B ==> ' FLD0805B + DISPLAY 'EXPECTED ==> ' XPC-FLD0805B. + IF FLD0806B (1:) NOT EQUAL XPC-FLD0806B + DISPLAY 'FLD0806B ==> ' FLD0806B + DISPLAY 'EXPECTED ==> ' XPC-FLD0806B. + IF FLD0807B (1:) NOT EQUAL XPC-FLD0807B + DISPLAY 'FLD0807B ==> ' FLD0807B + DISPLAY 'EXPECTED ==> ' XPC-FLD0807B. + IF FLD0808B (1:) NOT EQUAL XPC-FLD0808B + DISPLAY 'FLD0808B ==> ' FLD0808B + DISPLAY 'EXPECTED ==> ' XPC-FLD0808B. + IF FLD0809B (1:) NOT EQUAL XPC-FLD0809B + DISPLAY 'FLD0809B ==> ' FLD0809B + DISPLAY 'EXPECTED ==> ' XPC-FLD0809B. + IF FLD0810B (1:) NOT EQUAL XPC-FLD0810B + DISPLAY 'FLD0810B ==> ' FLD0810B + DISPLAY 'EXPECTED ==> ' XPC-FLD0810B. + IF FLD0811B (1:) NOT EQUAL XPC-FLD0811B + DISPLAY 'FLD0811B ==> ' FLD0811B + DISPLAY 'EXPECTED ==> ' XPC-FLD0811B. + IF FLD0812B (1:) NOT EQUAL XPC-FLD0812B + DISPLAY 'FLD0812B ==> ' FLD0812B + DISPLAY 'EXPECTED ==> ' XPC-FLD0812B. + IF FLD0813B (1:) NOT EQUAL XPC-FLD0813B + DISPLAY 'FLD0813B ==> ' FLD0813B + DISPLAY 'EXPECTED ==> ' XPC-FLD0813B. + IF FLD0814B (1:) NOT EQUAL XPC-FLD0814B + DISPLAY 'FLD0814B ==> ' FLD0814B + DISPLAY 'EXPECTED ==> ' XPC-FLD0814B. + IF FLD0815B (1:) NOT EQUAL XPC-FLD0815B + DISPLAY 'FLD0815B ==> ' FLD0815B + DISPLAY 'EXPECTED ==> ' XPC-FLD0815B. + IF FLD0816B (1:) NOT EQUAL XPC-FLD0816B + DISPLAY 'FLD0816B ==> ' FLD0816B + DISPLAY 'EXPECTED ==> ' XPC-FLD0816B. + IF FLD0817B (1:) NOT EQUAL XPC-FLD0817B + DISPLAY 'FLD0817B ==> ' FLD0817B + DISPLAY 'EXPECTED ==> ' XPC-FLD0817B. + IF FLD0818B (1:) NOT EQUAL XPC-FLD0818B + DISPLAY 'FLD0818B ==> ' FLD0818B + DISPLAY 'EXPECTED ==> ' XPC-FLD0818B. + IF FLD0819B (1:) NOT EQUAL XPC-FLD0819B + DISPLAY 'FLD0819B ==> ' FLD0819B + DISPLAY 'EXPECTED ==> ' XPC-FLD0819B. + IF FLD0820B (1:) NOT EQUAL XPC-FLD0820B + DISPLAY 'FLD0820B ==> ' FLD0820B + DISPLAY 'EXPECTED ==> ' XPC-FLD0820B. + IF FLD0821B (1:) NOT EQUAL XPC-FLD0821B + DISPLAY 'FLD0821B ==> ' FLD0821B + DISPLAY 'EXPECTED ==> ' XPC-FLD0821B. + IF FLD0822B (1:) NOT EQUAL XPC-FLD0822B + DISPLAY 'FLD0822B ==> ' FLD0822B + DISPLAY 'EXPECTED ==> ' XPC-FLD0822B. + IF FLD0823B (1:) NOT EQUAL XPC-FLD0823B + DISPLAY 'FLD0823B ==> ' FLD0823B + DISPLAY 'EXPECTED ==> ' XPC-FLD0823B. + IF FLD0824B (1:) NOT EQUAL XPC-FLD0824B + DISPLAY 'FLD0824B ==> ' FLD0824B + DISPLAY 'EXPECTED ==> ' XPC-FLD0824B. + IF FLD0825B (1:) NOT EQUAL XPC-FLD0825B + DISPLAY 'FLD0825B ==> ' FLD0825B + DISPLAY 'EXPECTED ==> ' XPC-FLD0825B. + IF FLD0826B (1:) NOT EQUAL XPC-FLD0826B + DISPLAY 'FLD0826B ==> ' FLD0826B + DISPLAY 'EXPECTED ==> ' XPC-FLD0826B. + IF FLD0827B (1:) NOT EQUAL XPC-FLD0827B + DISPLAY 'FLD0827B ==> ' FLD0827B + DISPLAY 'EXPECTED ==> ' XPC-FLD0827B. + IF FLD0828B (1:) NOT EQUAL XPC-FLD0828B + DISPLAY 'FLD0828B ==> ' FLD0828B + DISPLAY 'EXPECTED ==> ' XPC-FLD0828B. + IF FLD0829B (1:) NOT EQUAL XPC-FLD0829B + DISPLAY 'FLD0829B ==> ' FLD0829B + DISPLAY 'EXPECTED ==> ' XPC-FLD0829B. + IF FLD0830B (1:) NOT EQUAL XPC-FLD0830B + DISPLAY 'FLD0830B ==> ' FLD0830B + DISPLAY 'EXPECTED ==> ' XPC-FLD0830B. + IF FLD0831B (1:) NOT EQUAL XPC-FLD0831B + DISPLAY 'FLD0831B ==> ' FLD0831B + DISPLAY 'EXPECTED ==> ' XPC-FLD0831B. + IF FLD0832B (1:) NOT EQUAL XPC-FLD0832B + DISPLAY 'FLD0832B ==> ' FLD0832B + DISPLAY 'EXPECTED ==> ' XPC-FLD0832B. + IF FLD0833B (1:) NOT EQUAL XPC-FLD0833B + DISPLAY 'FLD0833B ==> ' FLD0833B + DISPLAY 'EXPECTED ==> ' XPC-FLD0833B. + IF FLD0834B (1:) NOT EQUAL XPC-FLD0834B + DISPLAY 'FLD0834B ==> ' FLD0834B + DISPLAY 'EXPECTED ==> ' XPC-FLD0834B. + IF FLD0835B (1:) NOT EQUAL XPC-FLD0835B + DISPLAY 'FLD0835B ==> ' FLD0835B + DISPLAY 'EXPECTED ==> ' XPC-FLD0835B. + IF FLD0836B (1:) NOT EQUAL XPC-FLD0836B + DISPLAY 'FLD0836B ==> ' FLD0836B + DISPLAY 'EXPECTED ==> ' XPC-FLD0836B. + IF FLD0837B (1:) NOT EQUAL XPC-FLD0837B + DISPLAY 'FLD0837B ==> ' FLD0837B + DISPLAY 'EXPECTED ==> ' XPC-FLD0837B. + IF FLD0838B (1:) NOT EQUAL XPC-FLD0838B + DISPLAY 'FLD0838B ==> ' FLD0838B + DISPLAY 'EXPECTED ==> ' XPC-FLD0838B. + IF FLD0839B (1:) NOT EQUAL XPC-FLD0839B + DISPLAY 'FLD0839B ==> ' FLD0839B + DISPLAY 'EXPECTED ==> ' XPC-FLD0839B. + IF FLD0840B (1:) NOT EQUAL XPC-FLD0840B + DISPLAY 'FLD0840B ==> ' FLD0840B + DISPLAY 'EXPECTED ==> ' XPC-FLD0840B. + IF FLD0841B (1:) NOT EQUAL XPC-FLD0841B + DISPLAY 'FLD0841B ==> ' FLD0841B + DISPLAY 'EXPECTED ==> ' XPC-FLD0841B. + IF FLD0842B (1:) NOT EQUAL XPC-FLD0842B + DISPLAY 'FLD0842B ==> ' FLD0842B + DISPLAY 'EXPECTED ==> ' XPC-FLD0842B. + IF FLD0843B (1:) NOT EQUAL XPC-FLD0843B + DISPLAY 'FLD0843B ==> ' FLD0843B + DISPLAY 'EXPECTED ==> ' XPC-FLD0843B. + IF FLD0844B (1:) NOT EQUAL XPC-FLD0844B + DISPLAY 'FLD0844B ==> ' FLD0844B + DISPLAY 'EXPECTED ==> ' XPC-FLD0844B. + IF FLD0845B (1:) NOT EQUAL XPC-FLD0845B + DISPLAY 'FLD0845B ==> ' FLD0845B + DISPLAY 'EXPECTED ==> ' XPC-FLD0845B. + IF FLD0846B (1:) NOT EQUAL XPC-FLD0846B + DISPLAY 'FLD0846B ==> ' FLD0846B + DISPLAY 'EXPECTED ==> ' XPC-FLD0846B. + IF FLD0847B (1:) NOT EQUAL XPC-FLD0847B + DISPLAY 'FLD0847B ==> ' FLD0847B + DISPLAY 'EXPECTED ==> ' XPC-FLD0847B. + IF FLD0848B (1:) NOT EQUAL XPC-FLD0848B + DISPLAY 'FLD0848B ==> ' FLD0848B + DISPLAY 'EXPECTED ==> ' XPC-FLD0848B. + IF FLD0849B (1:) NOT EQUAL XPC-FLD0849B + DISPLAY 'FLD0849B ==> ' FLD0849B + DISPLAY 'EXPECTED ==> ' XPC-FLD0849B. + IF FLD0850B (1:) NOT EQUAL XPC-FLD0850B + DISPLAY 'FLD0850B ==> ' FLD0850B + DISPLAY 'EXPECTED ==> ' XPC-FLD0850B. + IF FLD0851B (1:) NOT EQUAL XPC-FLD0851B + DISPLAY 'FLD0851B ==> ' FLD0851B + DISPLAY 'EXPECTED ==> ' XPC-FLD0851B. + IF FLD0852B (1:) NOT EQUAL XPC-FLD0852B + DISPLAY 'FLD0852B ==> ' FLD0852B + DISPLAY 'EXPECTED ==> ' XPC-FLD0852B. + IF FLD0853B (1:) NOT EQUAL XPC-FLD0853B + DISPLAY 'FLD0853B ==> ' FLD0853B + DISPLAY 'EXPECTED ==> ' XPC-FLD0853B. + IF FLD0854B (1:) NOT EQUAL XPC-FLD0854B + DISPLAY 'FLD0854B ==> ' FLD0854B + DISPLAY 'EXPECTED ==> ' XPC-FLD0854B. + IF FLD0855B (1:) NOT EQUAL XPC-FLD0855B + DISPLAY 'FLD0855B ==> ' FLD0855B + DISPLAY 'EXPECTED ==> ' XPC-FLD0855B. + IF FLD0856B (1:) NOT EQUAL XPC-FLD0856B + DISPLAY 'FLD0856B ==> ' FLD0856B + DISPLAY 'EXPECTED ==> ' XPC-FLD0856B. + IF FLD0857B (1:) NOT EQUAL XPC-FLD0857B + DISPLAY 'FLD0857B ==> ' FLD0857B + DISPLAY 'EXPECTED ==> ' XPC-FLD0857B. + IF FLD0858B (1:) NOT EQUAL XPC-FLD0858B + DISPLAY 'FLD0858B ==> ' FLD0858B + DISPLAY 'EXPECTED ==> ' XPC-FLD0858B. + IF FLD0859B (1:) NOT EQUAL XPC-FLD0859B + DISPLAY 'FLD0859B ==> ' FLD0859B + DISPLAY 'EXPECTED ==> ' XPC-FLD0859B. + IF FLD0860B (1:) NOT EQUAL XPC-FLD0860B + DISPLAY 'FLD0860B ==> ' FLD0860B + DISPLAY 'EXPECTED ==> ' XPC-FLD0860B. + IF FLD0861B (1:) NOT EQUAL XPC-FLD0861B + DISPLAY 'FLD0861B ==> ' FLD0861B + DISPLAY 'EXPECTED ==> ' XPC-FLD0861B. + IF FLD0862B (1:) NOT EQUAL XPC-FLD0862B + DISPLAY 'FLD0862B ==> ' FLD0862B + DISPLAY 'EXPECTED ==> ' XPC-FLD0862B. + IF FLD0863B (1:) NOT EQUAL XPC-FLD0863B + DISPLAY 'FLD0863B ==> ' FLD0863B + DISPLAY 'EXPECTED ==> ' XPC-FLD0863B. + IF FLD0864B (1:) NOT EQUAL XPC-FLD0864B + DISPLAY 'FLD0864B ==> ' FLD0864B + DISPLAY 'EXPECTED ==> ' XPC-FLD0864B. + IF FLD0865B (1:) NOT EQUAL XPC-FLD0865B + DISPLAY 'FLD0865B ==> ' FLD0865B + DISPLAY 'EXPECTED ==> ' XPC-FLD0865B. + IF FLD0866B (1:) NOT EQUAL XPC-FLD0866B + DISPLAY 'FLD0866B ==> ' FLD0866B + DISPLAY 'EXPECTED ==> ' XPC-FLD0866B. + IF FLD0867B (1:) NOT EQUAL XPC-FLD0867B + DISPLAY 'FLD0867B ==> ' FLD0867B + DISPLAY 'EXPECTED ==> ' XPC-FLD0867B. + IF FLD0868B (1:) NOT EQUAL XPC-FLD0868B + DISPLAY 'FLD0868B ==> ' FLD0868B + DISPLAY 'EXPECTED ==> ' XPC-FLD0868B. + IF FLD0869B (1:) NOT EQUAL XPC-FLD0869B + DISPLAY 'FLD0869B ==> ' FLD0869B + DISPLAY 'EXPECTED ==> ' XPC-FLD0869B. + IF FLD0870B (1:) NOT EQUAL XPC-FLD0870B + DISPLAY 'FLD0870B ==> ' FLD0870B + DISPLAY 'EXPECTED ==> ' XPC-FLD0870B. + IF FLD0871B (1:) NOT EQUAL XPC-FLD0871B + DISPLAY 'FLD0871B ==> ' FLD0871B + DISPLAY 'EXPECTED ==> ' XPC-FLD0871B. + IF FLD0872B (1:) NOT EQUAL XPC-FLD0872B + DISPLAY 'FLD0872B ==> ' FLD0872B + DISPLAY 'EXPECTED ==> ' XPC-FLD0872B. + IF FLD0873B (1:) NOT EQUAL XPC-FLD0873B + DISPLAY 'FLD0873B ==> ' FLD0873B + DISPLAY 'EXPECTED ==> ' XPC-FLD0873B. + IF FLD0874B (1:) NOT EQUAL XPC-FLD0874B + DISPLAY 'FLD0874B ==> ' FLD0874B + DISPLAY 'EXPECTED ==> ' XPC-FLD0874B. + IF FLD0875B (1:) NOT EQUAL XPC-FLD0875B + DISPLAY 'FLD0875B ==> ' FLD0875B + DISPLAY 'EXPECTED ==> ' XPC-FLD0875B. + IF FLD0876B (1:) NOT EQUAL XPC-FLD0876B + DISPLAY 'FLD0876B ==> ' FLD0876B + DISPLAY 'EXPECTED ==> ' XPC-FLD0876B. + IF FLD0877B (1:) NOT EQUAL XPC-FLD0877B + DISPLAY 'FLD0877B ==> ' FLD0877B + DISPLAY 'EXPECTED ==> ' XPC-FLD0877B. + IF FLD0878B (1:) NOT EQUAL XPC-FLD0878B + DISPLAY 'FLD0878B ==> ' FLD0878B + DISPLAY 'EXPECTED ==> ' XPC-FLD0878B. + IF FLD0879B (1:) NOT EQUAL XPC-FLD0879B + DISPLAY 'FLD0879B ==> ' FLD0879B + DISPLAY 'EXPECTED ==> ' XPC-FLD0879B. + IF FLD0880B (1:) NOT EQUAL XPC-FLD0880B + DISPLAY 'FLD0880B ==> ' FLD0880B + DISPLAY 'EXPECTED ==> ' XPC-FLD0880B. + IF FLD0881B (1:) NOT EQUAL XPC-FLD0881B + DISPLAY 'FLD0881B ==> ' FLD0881B + DISPLAY 'EXPECTED ==> ' XPC-FLD0881B. + IF FLD0882B (1:) NOT EQUAL XPC-FLD0882B + DISPLAY 'FLD0882B ==> ' FLD0882B + DISPLAY 'EXPECTED ==> ' XPC-FLD0882B. + IF FLD0883B (1:) NOT EQUAL XPC-FLD0883B + DISPLAY 'FLD0883B ==> ' FLD0883B + DISPLAY 'EXPECTED ==> ' XPC-FLD0883B. + IF FLD0884B (1:) NOT EQUAL XPC-FLD0884B + DISPLAY 'FLD0884B ==> ' FLD0884B + DISPLAY 'EXPECTED ==> ' XPC-FLD0884B. + IF FLD0885B (1:) NOT EQUAL XPC-FLD0885B + DISPLAY 'FLD0885B ==> ' FLD0885B + DISPLAY 'EXPECTED ==> ' XPC-FLD0885B. + IF FLD0886B (1:) NOT EQUAL XPC-FLD0886B + DISPLAY 'FLD0886B ==> ' FLD0886B + DISPLAY 'EXPECTED ==> ' XPC-FLD0886B. + IF FLD0887B (1:) NOT EQUAL XPC-FLD0887B + DISPLAY 'FLD0887B ==> ' FLD0887B + DISPLAY 'EXPECTED ==> ' XPC-FLD0887B. + IF FLD0888B (1:) NOT EQUAL XPC-FLD0888B + DISPLAY 'FLD0888B ==> ' FLD0888B + DISPLAY 'EXPECTED ==> ' XPC-FLD0888B. + IF FLD0889B (1:) NOT EQUAL XPC-FLD0889B + DISPLAY 'FLD0889B ==> ' FLD0889B + DISPLAY 'EXPECTED ==> ' XPC-FLD0889B. + IF FLD0890B (1:) NOT EQUAL XPC-FLD0890B + DISPLAY 'FLD0890B ==> ' FLD0890B + DISPLAY 'EXPECTED ==> ' XPC-FLD0890B. + IF FLD0891B (1:) NOT EQUAL XPC-FLD0891B + DISPLAY 'FLD0891B ==> ' FLD0891B + DISPLAY 'EXPECTED ==> ' XPC-FLD0891B. + IF FLD0892B (1:) NOT EQUAL XPC-FLD0892B + DISPLAY 'FLD0892B ==> ' FLD0892B + DISPLAY 'EXPECTED ==> ' XPC-FLD0892B. + IF FLD0893B (1:) NOT EQUAL XPC-FLD0893B + DISPLAY 'FLD0893B ==> ' FLD0893B + DISPLAY 'EXPECTED ==> ' XPC-FLD0893B. + IF FLD0894B (1:) NOT EQUAL XPC-FLD0894B + DISPLAY 'FLD0894B ==> ' FLD0894B + DISPLAY 'EXPECTED ==> ' XPC-FLD0894B. + IF FLD0895B (1:) NOT EQUAL XPC-FLD0895B + DISPLAY 'FLD0895B ==> ' FLD0895B + DISPLAY 'EXPECTED ==> ' XPC-FLD0895B. + IF FLD0896B (1:) NOT EQUAL XPC-FLD0896B + DISPLAY 'FLD0896B ==> ' FLD0896B + DISPLAY 'EXPECTED ==> ' XPC-FLD0896B. + IF FLD0897B (1:) NOT EQUAL XPC-FLD0897B + DISPLAY 'FLD0897B ==> ' FLD0897B + DISPLAY 'EXPECTED ==> ' XPC-FLD0897B. + IF FLD0898B (1:) NOT EQUAL XPC-FLD0898B + DISPLAY 'FLD0898B ==> ' FLD0898B + DISPLAY 'EXPECTED ==> ' XPC-FLD0898B. + IF FLD0899B (1:) NOT EQUAL XPC-FLD0899B + DISPLAY 'FLD0899B ==> ' FLD0899B + DISPLAY 'EXPECTED ==> ' XPC-FLD0899B. + IF FLD0900B (1:) NOT EQUAL XPC-FLD0900B + DISPLAY 'FLD0900B ==> ' FLD0900B + DISPLAY 'EXPECTED ==> ' XPC-FLD0900B. + IF FLD0901B (1:) NOT EQUAL XPC-FLD0901B + DISPLAY 'FLD0901B ==> ' FLD0901B + DISPLAY 'EXPECTED ==> ' XPC-FLD0901B. + IF FLD0902B (1:) NOT EQUAL XPC-FLD0902B + DISPLAY 'FLD0902B ==> ' FLD0902B + DISPLAY 'EXPECTED ==> ' XPC-FLD0902B. + IF FLD0903B (1:) NOT EQUAL XPC-FLD0903B + DISPLAY 'FLD0903B ==> ' FLD0903B + DISPLAY 'EXPECTED ==> ' XPC-FLD0903B. + IF FLD0904B (1:) NOT EQUAL XPC-FLD0904B + DISPLAY 'FLD0904B ==> ' FLD0904B + DISPLAY 'EXPECTED ==> ' XPC-FLD0904B. + IF FLD0905B (1:) NOT EQUAL XPC-FLD0905B + DISPLAY 'FLD0905B ==> ' FLD0905B + DISPLAY 'EXPECTED ==> ' XPC-FLD0905B. + IF FLD0906B (1:) NOT EQUAL XPC-FLD0906B + DISPLAY 'FLD0906B ==> ' FLD0906B + DISPLAY 'EXPECTED ==> ' XPC-FLD0906B. + IF FLD0907B (1:) NOT EQUAL XPC-FLD0907B + DISPLAY 'FLD0907B ==> ' FLD0907B + DISPLAY 'EXPECTED ==> ' XPC-FLD0907B. + IF FLD0908B (1:) NOT EQUAL XPC-FLD0908B + DISPLAY 'FLD0908B ==> ' FLD0908B + DISPLAY 'EXPECTED ==> ' XPC-FLD0908B. + IF FLD0909B (1:) NOT EQUAL XPC-FLD0909B + DISPLAY 'FLD0909B ==> ' FLD0909B + DISPLAY 'EXPECTED ==> ' XPC-FLD0909B. + IF FLD0910B (1:) NOT EQUAL XPC-FLD0910B + DISPLAY 'FLD0910B ==> ' FLD0910B + DISPLAY 'EXPECTED ==> ' XPC-FLD0910B. + IF FLD0911B (1:) NOT EQUAL XPC-FLD0911B + DISPLAY 'FLD0911B ==> ' FLD0911B + DISPLAY 'EXPECTED ==> ' XPC-FLD0911B. + IF FLD0912B (1:) NOT EQUAL XPC-FLD0912B + DISPLAY 'FLD0912B ==> ' FLD0912B + DISPLAY 'EXPECTED ==> ' XPC-FLD0912B. + IF FLD0913B (1:) NOT EQUAL XPC-FLD0913B + DISPLAY 'FLD0913B ==> ' FLD0913B + DISPLAY 'EXPECTED ==> ' XPC-FLD0913B. + IF FLD0914B (1:) NOT EQUAL XPC-FLD0914B + DISPLAY 'FLD0914B ==> ' FLD0914B + DISPLAY 'EXPECTED ==> ' XPC-FLD0914B. + IF FLD0915B (1:) NOT EQUAL XPC-FLD0915B + DISPLAY 'FLD0915B ==> ' FLD0915B + DISPLAY 'EXPECTED ==> ' XPC-FLD0915B. + IF FLD0916B (1:) NOT EQUAL XPC-FLD0916B + DISPLAY 'FLD0916B ==> ' FLD0916B + DISPLAY 'EXPECTED ==> ' XPC-FLD0916B. + IF FLD0917B (1:) NOT EQUAL XPC-FLD0917B + DISPLAY 'FLD0917B ==> ' FLD0917B + DISPLAY 'EXPECTED ==> ' XPC-FLD0917B. + IF FLD0918B (1:) NOT EQUAL XPC-FLD0918B + DISPLAY 'FLD0918B ==> ' FLD0918B + DISPLAY 'EXPECTED ==> ' XPC-FLD0918B. + IF FLD0919B (1:) NOT EQUAL XPC-FLD0919B + DISPLAY 'FLD0919B ==> ' FLD0919B + DISPLAY 'EXPECTED ==> ' XPC-FLD0919B. + IF FLD0920B (1:) NOT EQUAL XPC-FLD0920B + DISPLAY 'FLD0920B ==> ' FLD0920B + DISPLAY 'EXPECTED ==> ' XPC-FLD0920B. + IF FLD0921B (1:) NOT EQUAL XPC-FLD0921B + DISPLAY 'FLD0921B ==> ' FLD0921B + DISPLAY 'EXPECTED ==> ' XPC-FLD0921B. + IF FLD0922B (1:) NOT EQUAL XPC-FLD0922B + DISPLAY 'FLD0922B ==> ' FLD0922B + DISPLAY 'EXPECTED ==> ' XPC-FLD0922B. + IF FLD0923B (1:) NOT EQUAL XPC-FLD0923B + DISPLAY 'FLD0923B ==> ' FLD0923B + DISPLAY 'EXPECTED ==> ' XPC-FLD0923B. + IF FLD0924B (1:) NOT EQUAL XPC-FLD0924B + DISPLAY 'FLD0924B ==> ' FLD0924B + DISPLAY 'EXPECTED ==> ' XPC-FLD0924B. + IF FLD0925B (1:) NOT EQUAL XPC-FLD0925B + DISPLAY 'FLD0925B ==> ' FLD0925B + DISPLAY 'EXPECTED ==> ' XPC-FLD0925B. + IF FLD0926B (1:) NOT EQUAL XPC-FLD0926B + DISPLAY 'FLD0926B ==> ' FLD0926B + DISPLAY 'EXPECTED ==> ' XPC-FLD0926B. + IF FLD0927B (1:) NOT EQUAL XPC-FLD0927B + DISPLAY 'FLD0927B ==> ' FLD0927B + DISPLAY 'EXPECTED ==> ' XPC-FLD0927B. + IF FLD0928B (1:) NOT EQUAL XPC-FLD0928B + DISPLAY 'FLD0928B ==> ' FLD0928B + DISPLAY 'EXPECTED ==> ' XPC-FLD0928B. + IF FLD0929B (1:) NOT EQUAL XPC-FLD0929B + DISPLAY 'FLD0929B ==> ' FLD0929B + DISPLAY 'EXPECTED ==> ' XPC-FLD0929B. + IF FLD0930B (1:) NOT EQUAL XPC-FLD0930B + DISPLAY 'FLD0930B ==> ' FLD0930B + DISPLAY 'EXPECTED ==> ' XPC-FLD0930B. + IF FLD0931B (1:) NOT EQUAL XPC-FLD0931B + DISPLAY 'FLD0931B ==> ' FLD0931B + DISPLAY 'EXPECTED ==> ' XPC-FLD0931B. + IF FLD0932B (1:) NOT EQUAL XPC-FLD0932B + DISPLAY 'FLD0932B ==> ' FLD0932B + DISPLAY 'EXPECTED ==> ' XPC-FLD0932B. + IF FLD0933B (1:) NOT EQUAL XPC-FLD0933B + DISPLAY 'FLD0933B ==> ' FLD0933B + DISPLAY 'EXPECTED ==> ' XPC-FLD0933B. + IF FLD0934B (1:) NOT EQUAL XPC-FLD0934B + DISPLAY 'FLD0934B ==> ' FLD0934B + DISPLAY 'EXPECTED ==> ' XPC-FLD0934B. + IF FLD0935B (1:) NOT EQUAL XPC-FLD0935B + DISPLAY 'FLD0935B ==> ' FLD0935B + DISPLAY 'EXPECTED ==> ' XPC-FLD0935B. + IF FLD0936B (1:) NOT EQUAL XPC-FLD0936B + DISPLAY 'FLD0936B ==> ' FLD0936B + DISPLAY 'EXPECTED ==> ' XPC-FLD0936B. + IF FLD0937B (1:) NOT EQUAL XPC-FLD0937B + DISPLAY 'FLD0937B ==> ' FLD0937B + DISPLAY 'EXPECTED ==> ' XPC-FLD0937B. + IF FLD0938B (1:) NOT EQUAL XPC-FLD0938B + DISPLAY 'FLD0938B ==> ' FLD0938B + DISPLAY 'EXPECTED ==> ' XPC-FLD0938B. + IF FLD0939B (1:) NOT EQUAL XPC-FLD0939B + DISPLAY 'FLD0939B ==> ' FLD0939B + DISPLAY 'EXPECTED ==> ' XPC-FLD0939B. + IF FLD0940B (1:) NOT EQUAL XPC-FLD0940B + DISPLAY 'FLD0940B ==> ' FLD0940B + DISPLAY 'EXPECTED ==> ' XPC-FLD0940B. + IF FLD0941B (1:) NOT EQUAL XPC-FLD0941B + DISPLAY 'FLD0941B ==> ' FLD0941B + DISPLAY 'EXPECTED ==> ' XPC-FLD0941B. + IF FLD0942B (1:) NOT EQUAL XPC-FLD0942B + DISPLAY 'FLD0942B ==> ' FLD0942B + DISPLAY 'EXPECTED ==> ' XPC-FLD0942B. + IF FLD0943B (1:) NOT EQUAL XPC-FLD0943B + DISPLAY 'FLD0943B ==> ' FLD0943B + DISPLAY 'EXPECTED ==> ' XPC-FLD0943B. + IF FLD0944B (1:) NOT EQUAL XPC-FLD0944B + DISPLAY 'FLD0944B ==> ' FLD0944B + DISPLAY 'EXPECTED ==> ' XPC-FLD0944B. + IF FLD0945B (1:) NOT EQUAL XPC-FLD0945B + DISPLAY 'FLD0945B ==> ' FLD0945B + DISPLAY 'EXPECTED ==> ' XPC-FLD0945B. + IF FLD0946B (1:) NOT EQUAL XPC-FLD0946B + DISPLAY 'FLD0946B ==> ' FLD0946B + DISPLAY 'EXPECTED ==> ' XPC-FLD0946B. + IF FLD0947B (1:) NOT EQUAL XPC-FLD0947B + DISPLAY 'FLD0947B ==> ' FLD0947B + DISPLAY 'EXPECTED ==> ' XPC-FLD0947B. + IF FLD0948B (1:) NOT EQUAL XPC-FLD0948B + DISPLAY 'FLD0948B ==> ' FLD0948B + DISPLAY 'EXPECTED ==> ' XPC-FLD0948B. + IF FLD0949B (1:) NOT EQUAL XPC-FLD0949B + DISPLAY 'FLD0949B ==> ' FLD0949B + DISPLAY 'EXPECTED ==> ' XPC-FLD0949B. + IF FLD0950B (1:) NOT EQUAL XPC-FLD0950B + DISPLAY 'FLD0950B ==> ' FLD0950B + DISPLAY 'EXPECTED ==> ' XPC-FLD0950B. + IF FLD0951B (1:) NOT EQUAL XPC-FLD0951B + DISPLAY 'FLD0951B ==> ' FLD0951B + DISPLAY 'EXPECTED ==> ' XPC-FLD0951B. + IF FLD0952B (1:) NOT EQUAL XPC-FLD0952B + DISPLAY 'FLD0952B ==> ' FLD0952B + DISPLAY 'EXPECTED ==> ' XPC-FLD0952B. + IF FLD0953B (1:) NOT EQUAL XPC-FLD0953B + DISPLAY 'FLD0953B ==> ' FLD0953B + DISPLAY 'EXPECTED ==> ' XPC-FLD0953B. + IF FLD0954B (1:) NOT EQUAL XPC-FLD0954B + DISPLAY 'FLD0954B ==> ' FLD0954B + DISPLAY 'EXPECTED ==> ' XPC-FLD0954B. + IF FLD0955B (1:) NOT EQUAL XPC-FLD0955B + DISPLAY 'FLD0955B ==> ' FLD0955B + DISPLAY 'EXPECTED ==> ' XPC-FLD0955B. + IF FLD0956B (1:) NOT EQUAL XPC-FLD0956B + DISPLAY 'FLD0956B ==> ' FLD0956B + DISPLAY 'EXPECTED ==> ' XPC-FLD0956B. + IF FLD0957B (1:) NOT EQUAL XPC-FLD0957B + DISPLAY 'FLD0957B ==> ' FLD0957B + DISPLAY 'EXPECTED ==> ' XPC-FLD0957B. + IF FLD0958B (1:) NOT EQUAL XPC-FLD0958B + DISPLAY 'FLD0958B ==> ' FLD0958B + DISPLAY 'EXPECTED ==> ' XPC-FLD0958B. + IF FLD0959B (1:) NOT EQUAL XPC-FLD0959B + DISPLAY 'FLD0959B ==> ' FLD0959B + DISPLAY 'EXPECTED ==> ' XPC-FLD0959B. + IF FLD0960B (1:) NOT EQUAL XPC-FLD0960B + DISPLAY 'FLD0960B ==> ' FLD0960B + DISPLAY 'EXPECTED ==> ' XPC-FLD0960B. + IF FLD0961B (1:) NOT EQUAL XPC-FLD0961B + DISPLAY 'FLD0961B ==> ' FLD0961B + DISPLAY 'EXPECTED ==> ' XPC-FLD0961B. + IF FLD0962B (1:) NOT EQUAL XPC-FLD0962B + DISPLAY 'FLD0962B ==> ' FLD0962B + DISPLAY 'EXPECTED ==> ' XPC-FLD0962B. + IF FLD0963B (1:) NOT EQUAL XPC-FLD0963B + DISPLAY 'FLD0963B ==> ' FLD0963B + DISPLAY 'EXPECTED ==> ' XPC-FLD0963B. + IF FLD0964B (1:) NOT EQUAL XPC-FLD0964B + DISPLAY 'FLD0964B ==> ' FLD0964B + DISPLAY 'EXPECTED ==> ' XPC-FLD0964B. + IF FLD0965B (1:) NOT EQUAL XPC-FLD0965B + DISPLAY 'FLD0965B ==> ' FLD0965B + DISPLAY 'EXPECTED ==> ' XPC-FLD0965B. + IF FLD0966B (1:) NOT EQUAL XPC-FLD0966B + DISPLAY 'FLD0966B ==> ' FLD0966B + DISPLAY 'EXPECTED ==> ' XPC-FLD0966B. + IF FLD0967B (1:) NOT EQUAL XPC-FLD0967B + DISPLAY 'FLD0967B ==> ' FLD0967B + DISPLAY 'EXPECTED ==> ' XPC-FLD0967B. + IF FLD0968B (1:) NOT EQUAL XPC-FLD0968B + DISPLAY 'FLD0968B ==> ' FLD0968B + DISPLAY 'EXPECTED ==> ' XPC-FLD0968B. + IF FLD0969B (1:) NOT EQUAL XPC-FLD0969B + DISPLAY 'FLD0969B ==> ' FLD0969B + DISPLAY 'EXPECTED ==> ' XPC-FLD0969B. + IF FLD0970B (1:) NOT EQUAL XPC-FLD0970B + DISPLAY 'FLD0970B ==> ' FLD0970B + DISPLAY 'EXPECTED ==> ' XPC-FLD0970B. + IF FLD0971B (1:) NOT EQUAL XPC-FLD0971B + DISPLAY 'FLD0971B ==> ' FLD0971B + DISPLAY 'EXPECTED ==> ' XPC-FLD0971B. + IF FLD0972B (1:) NOT EQUAL XPC-FLD0972B + DISPLAY 'FLD0972B ==> ' FLD0972B + DISPLAY 'EXPECTED ==> ' XPC-FLD0972B. + IF FLD0973B (1:) NOT EQUAL XPC-FLD0973B + DISPLAY 'FLD0973B ==> ' FLD0973B + DISPLAY 'EXPECTED ==> ' XPC-FLD0973B. + IF FLD0974B (1:) NOT EQUAL XPC-FLD0974B + DISPLAY 'FLD0974B ==> ' FLD0974B + DISPLAY 'EXPECTED ==> ' XPC-FLD0974B. + IF FLD0975B (1:) NOT EQUAL XPC-FLD0975B + DISPLAY 'FLD0975B ==> ' FLD0975B + DISPLAY 'EXPECTED ==> ' XPC-FLD0975B. + IF FLD0976B (1:) NOT EQUAL XPC-FLD0976B + DISPLAY 'FLD0976B ==> ' FLD0976B + DISPLAY 'EXPECTED ==> ' XPC-FLD0976B. + IF FLD0977B (1:) NOT EQUAL XPC-FLD0977B + DISPLAY 'FLD0977B ==> ' FLD0977B + DISPLAY 'EXPECTED ==> ' XPC-FLD0977B. + IF FLD0978B (1:) NOT EQUAL XPC-FLD0978B + DISPLAY 'FLD0978B ==> ' FLD0978B + DISPLAY 'EXPECTED ==> ' XPC-FLD0978B. + IF FLD0979B (1:) NOT EQUAL XPC-FLD0979B + DISPLAY 'FLD0979B ==> ' FLD0979B + DISPLAY 'EXPECTED ==> ' XPC-FLD0979B. + IF FLD0980B (1:) NOT EQUAL XPC-FLD0980B + DISPLAY 'FLD0980B ==> ' FLD0980B + DISPLAY 'EXPECTED ==> ' XPC-FLD0980B. + IF FLD0981B (1:) NOT EQUAL XPC-FLD0981B + DISPLAY 'FLD0981B ==> ' FLD0981B + DISPLAY 'EXPECTED ==> ' XPC-FLD0981B. + IF FLD0982B (1:) NOT EQUAL XPC-FLD0982B + DISPLAY 'FLD0982B ==> ' FLD0982B + DISPLAY 'EXPECTED ==> ' XPC-FLD0982B. + IF FLD0983B (1:) NOT EQUAL XPC-FLD0983B + DISPLAY 'FLD0983B ==> ' FLD0983B + DISPLAY 'EXPECTED ==> ' XPC-FLD0983B. + IF FLD0984B (1:) NOT EQUAL XPC-FLD0984B + DISPLAY 'FLD0984B ==> ' FLD0984B + DISPLAY 'EXPECTED ==> ' XPC-FLD0984B. + IF FLD0985B (1:) NOT EQUAL XPC-FLD0985B + DISPLAY 'FLD0985B ==> ' FLD0985B + DISPLAY 'EXPECTED ==> ' XPC-FLD0985B. + IF FLD0986B (1:) NOT EQUAL XPC-FLD0986B + DISPLAY 'FLD0986B ==> ' FLD0986B + DISPLAY 'EXPECTED ==> ' XPC-FLD0986B. + IF FLD0987B (1:) NOT EQUAL XPC-FLD0987B + DISPLAY 'FLD0987B ==> ' FLD0987B + DISPLAY 'EXPECTED ==> ' XPC-FLD0987B. + IF FLD0988B (1:) NOT EQUAL XPC-FLD0988B + DISPLAY 'FLD0988B ==> ' FLD0988B + DISPLAY 'EXPECTED ==> ' XPC-FLD0988B. + IF FLD0989B (1:) NOT EQUAL XPC-FLD0989B + DISPLAY 'FLD0989B ==> ' FLD0989B + DISPLAY 'EXPECTED ==> ' XPC-FLD0989B. + IF FLD0990B (1:) NOT EQUAL XPC-FLD0990B + DISPLAY 'FLD0990B ==> ' FLD0990B + DISPLAY 'EXPECTED ==> ' XPC-FLD0990B. + IF FLD0991B (1:) NOT EQUAL XPC-FLD0991B + DISPLAY 'FLD0991B ==> ' FLD0991B + DISPLAY 'EXPECTED ==> ' XPC-FLD0991B. + IF FLD0992B (1:) NOT EQUAL XPC-FLD0992B + DISPLAY 'FLD0992B ==> ' FLD0992B + DISPLAY 'EXPECTED ==> ' XPC-FLD0992B. + IF FLD0993B (1:) NOT EQUAL XPC-FLD0993B + DISPLAY 'FLD0993B ==> ' FLD0993B + DISPLAY 'EXPECTED ==> ' XPC-FLD0993B. + IF FLD0994B (1:) NOT EQUAL XPC-FLD0994B + DISPLAY 'FLD0994B ==> ' FLD0994B + DISPLAY 'EXPECTED ==> ' XPC-FLD0994B. + IF FLD0995B (1:) NOT EQUAL XPC-FLD0995B + DISPLAY 'FLD0995B ==> ' FLD0995B + DISPLAY 'EXPECTED ==> ' XPC-FLD0995B. + IF FLD0996B (1:) NOT EQUAL XPC-FLD0996B + DISPLAY 'FLD0996B ==> ' FLD0996B + DISPLAY 'EXPECTED ==> ' XPC-FLD0996B. + IF FLD0997B (1:) NOT EQUAL XPC-FLD0997B + DISPLAY 'FLD0997B ==> ' FLD0997B + DISPLAY 'EXPECTED ==> ' XPC-FLD0997B. + IF FLD0998B (1:) NOT EQUAL XPC-FLD0998B + DISPLAY 'FLD0998B ==> ' FLD0998B + DISPLAY 'EXPECTED ==> ' XPC-FLD0998B. + IF FLD0999B (1:) NOT EQUAL XPC-FLD0999B + DISPLAY 'FLD0999B ==> ' FLD0999B + DISPLAY 'EXPECTED ==> ' XPC-FLD0999B. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:29024: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "data_display.at:29024" +( $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/data_display.at:29024" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_display.at:29025: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_display.at:29025" +( $at_check_trace; $COBCRUN_DIRECT ./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/data_display.at:29025" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1284 +#AT_START_1285 +at_fn_group_banner 1285 'data_packed.at:27' \ + "PACKED-DECIMAL dump" " " 5 +at_xfail=no +( + printf "%s\n" "1285. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >dump.c <<'_ATEOF' + +#include +#include + +COB_EXT_EXPORT 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 +printf "%s\n" "$at_srcdir/data_packed.at:47: \$COMPILE_MODULE dump.c" +at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_packed.at:47" +( $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:47" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:48: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:48" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:48" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:49: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:49" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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:49" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1285 +#AT_START_1286 +at_fn_group_banner 1286 'data_packed.at:163' \ + "PACKED-DECIMAL used with DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1286. $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 B-P1234 USAGE BINARY-LONG VALUE 1234. + 01 B-N1234 USAGE BINARY-LONG VALUE -1234. + PROCEDURE DIVISION. + MOVE 0 TO X-99 + DISPLAY X-99. + MOVE 99 TO X-99 + DISPLAY X-99. + MOVE 0 TO X-S99 + DISPLAY X-S99. + MOVE -1 TO X-S99 + DISPLAY X-S99. + MOVE 0 TO X-999 + DISPLAY X-999. + MOVE 123 TO X-999 + DISPLAY X-999. + MOVE 0 TO X-S999 + DISPLAY X-S999. + MOVE -123 TO X-S999 + DISPLAY X-S999. + MOVE B-P1234 TO X-S999 + DISPLAY X-S999. + MOVE B-N1234 TO X-S999 + DISPLAY X-S999. + MOVE B-N1234 TO X-999 + DISPLAY X-999. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:203: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:203" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:203" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:204: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:204" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00 +99 ++00 +-01 +000 +123 ++000 +-123 ++234 +-234 +234 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1286 +#AT_START_1287 +at_fn_group_banner 1287 'data_packed.at:221' \ + "PACKED-DECIMAL used with MOVE" " " 5 +at_xfail=no +( + printf "%s\n" "1287. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-1 PIC XXX VALUE FENCE. + 05 X-99 PIC 99 USAGE PACKED-DECIMAL. + 05 FENCE-2 PIC XXX VALUE FENCE. + 05 X-S99 PIC S99 USAGE PACKED-DECIMAL. + 05 FENCE-3 PIC XXX VALUE FENCE. + 05 X-999 PIC 999 USAGE PACKED-DECIMAL. + 05 FENCE-4 PIC XXX VALUE FENCE. + 05 X-S999 PIC S999 USAGE PACKED-DECIMAL. + 05 FENCE-5 PIC XXX VALUE FENCE. + 05 X-CALC PIC S9(09)V9(09) USAGE PACKED-DECIMAL. + 05 FENCE-6 PIC XXX VALUE FENCE. + 01 C-P234 PIC 999 VALUE 234. + 01 C-N234 PIC S999 VALUE -234. + 01 C-P1234 PIC 9999 VALUE 234. + 01 C-N1234 PIC S9999 VALUE -1234. + 01 B-P1234 USAGE BINARY-LONG VALUE 1234. + 01 B-N1234 USAGE BINARY-LONG VALUE -1234. + PROCEDURE DIVISION. + MOVE C-P1234 TO X-99 + DISPLAY X-99. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE C-P1234 TO X-S99 + DISPLAY X-S99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE C-P1234 TO X-999 + DISPLAY X-999. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE C-P1234 TO X-S999 + DISPLAY X-S999. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + MOVE C-N1234 TO X-99 + DISPLAY X-99. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE C-N1234 TO X-S99 + DISPLAY X-S99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE C-N1234 TO X-999 + DISPLAY X-999. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE C-N1234 TO X-S999 + DISPLAY X-S999. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + MOVE B-N1234 TO X-999 + DISPLAY X-999. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE B-N1234 TO X-S999 + DISPLAY X-S999. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + MOVE C-P234 TO X-99 + DISPLAY X-99. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE C-P234 TO X-S99 + DISPLAY X-S99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE C-P234 TO X-999 + DISPLAY X-999. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE C-P234 TO X-S999 + DISPLAY X-S999. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + MOVE C-N234 TO X-99 + DISPLAY X-99. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE C-N234 TO X-S99 + DISPLAY X-S99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE C-N234 TO X-999 + DISPLAY X-999. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE C-N234 TO X-S999 + DISPLAY X-S999. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + MOVE ZERO TO X-CALC + DISPLAY X-CALC. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + IF FENCE-6 NOT = FENCE + MOVE FENCE TO FENCE-6 + DISPLAY 'broken FENCE-6' UPON SYSERR. + + MOVE 1 TO X-CALC + DISPLAY X-CALC. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + IF FENCE-6 NOT = FENCE + MOVE FENCE TO FENCE-6 + DISPLAY 'broken FENCE-6' UPON SYSERR. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:432: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:432" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:432" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:433: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:433" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "34 ++34 +234 ++234 +34 +-34 +234 +-234 +234 +-234 +34 ++34 +234 ++234 +34 +-34 +234 +-234 ++000000000.000000000 ++000000001.000000000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:433" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1287 +#AT_START_1288 +at_fn_group_banner 1288 'data_packed.at:459' \ + "MOVE PACKED-DECIMAL to PACKED-DECIMAL" " " 5 +at_xfail=no +( + printf "%s\n" "1288. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P-S99V99 PIC S99V99 PACKED-DECIMAL VALUE 1.23. + 01 P-N99V99 PIC S99V99 PACKED-DECIMAL VALUE -1.32. + 01 P-9V99 PIC 9V99 PACKED-DECIMAL VALUE 1.1. + 01 P-S99 PIC S99 PACKED-DECIMAL VALUE 12. + 01 P-99 PIC 99 PACKED-DECIMAL VALUE 2. + 01 P-P99 PIC P99 PACKED-DECIMAL VALUE 0.02. + 01 P-9PP PIC 9PP PACKED-DECIMAL VALUE 200. + 01 B-S99V99 PIC S99V99 PACKED-DECIMAL. + 01 B-99V9 PIC 99V9 PACKED-DECIMAL. + 01 B-S999 PIC S999 PACKED-DECIMAL. + 01 B-99 PIC 99 PACKED-DECIMAL. + 01 B-P9 PIC P9 PACKED-DECIMAL. + 01 B-9P PIC 9P PACKED-DECIMAL. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE P-S99V99 TO B-S99V99 + IF B-S99V99 NOT = 1.23 + DISPLAY "B-S99V99 1: " B-S99V99. + MOVE P-N99V99 TO B-S99V99 + IF B-S99V99 NOT = -1.32 + DISPLAY "B-S99V99 2: " B-S99V99. + MOVE P-9V99 TO B-S99V99 + IF B-S99V99 NOT = 1.1 + DISPLAY "B-S99V99 3: " B-S99V99. + MOVE P-S99 TO B-S99V99 + IF B-S99V99 NOT = 12 + DISPLAY "B-S99V99 4: " B-S99V99. + MOVE P-99 TO B-S99V99 + IF B-S99V99 NOT = 2 + DISPLAY "B-S99V99 5: " B-S99V99. + MOVE P-P99 TO B-S99V99 + IF B-S99V99 NOT = 0.02 + DISPLAY "B-S99V99 6: " B-S99V99. + MOVE P-9PP TO B-S99V99 + IF B-S99V99 NOT = 0 + DISPLAY "B-S99V99 7: " B-S99V99. + + MOVE P-S99V99 TO B-99V9 + IF B-99V9 NOT = 1.2 + DISPLAY "B-99V99 1: " B-99V9 . + MOVE P-N99V99 TO B-99V9 + IF B-99V9 NOT = 1.3 + DISPLAY "B-99V99 2: " B-99V9 . + MOVE P-9V99 TO B-99V9 + IF B-99V9 NOT = 1.1 + DISPLAY "B-99V99 3: " B-99V9 . + MOVE P-S99 TO B-99V9 + IF B-99V9 NOT = 12 + DISPLAY "B-99V99 4: " B-99V9 . + MOVE P-99 TO B-99V9 + IF B-99V9 NOT = 2 + DISPLAY "B-99V99 5: " B-99V9 . + MOVE P-P99 TO B-99V9 + IF B-99V9 NOT = 0 + DISPLAY "B-99V99 6: " B-99V9 . + MOVE P-9PP TO B-99V9 + IF B-99V9 NOT = 0 + DISPLAY "B-99V99 7: " B-99V9 . + + MOVE P-S99V99 TO B-S999 + IF B-S999 NOT = 1 + DISPLAY "B-S999 1: " B-S999 . + MOVE P-N99V99 TO B-S999 + IF B-S999 NOT = -1 + DISPLAY "B-S999 2: " B-S999 . + MOVE P-9V99 TO B-S999 + IF B-S999 NOT = 1 + DISPLAY "B-S999 3: " B-S999 . + MOVE P-S99 TO B-S999 + IF B-S999 NOT = 12 + DISPLAY "B-S999 4: " B-S999 . + MOVE P-99 TO B-S999 + IF B-S999 NOT = 2 + DISPLAY "B-S999 5: " B-S999 . + MOVE P-P99 TO B-S999 + IF B-S999 NOT = 0 + DISPLAY "B-S999 6: " B-S999 . + MOVE P-9PP TO B-S999 + IF B-S999 NOT = 200 + DISPLAY "B-S999 7: " B-S999 . + + MOVE P-S99V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 1: " B-99 . + MOVE P-N99V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 2: " B-99 . + MOVE P-9V99 TO B-99 + IF B-99 NOT = 1 + DISPLAY "B-99 3: " B-99 . + MOVE P-S99 TO B-99 + IF B-99 NOT = 12 + DISPLAY "B-99 4: " B-99 . + MOVE P-99 TO B-99 + IF B-99 NOT = 2 + DISPLAY "B-99 5: " B-99 . + MOVE P-P99 TO B-99 + IF B-99 NOT = 0 + DISPLAY "B-99 6: " B-99 . + MOVE P-9PP TO B-99 + IF B-99 NOT = 0 + DISPLAY "B-99 7: " B-99 . + + MOVE P-S99V99 TO B-P9 + IF B-P9 NOT = 0.03 + DISPLAY "B-P9 1: " B-P9 . + MOVE P-N99V99 TO B-P9 + IF B-P9 NOT = 0.02 + DISPLAY "B-P9 2: " B-P9 . + MOVE P-9V99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 3: " B-P9 . + MOVE P-S99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 4: " B-P9 . + MOVE P-99 TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 5: " B-P9 . + MOVE P-P99 TO B-P9 + IF B-P9 NOT = 0.02 + DISPLAY "B-P9 6: " B-P9 . + MOVE P-9PP TO B-P9 + IF B-P9 NOT = 0 + DISPLAY "B-P9 7: " B-P9 . + + MOVE P-S99V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 1: " B-9P . + MOVE P-N99V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 2: " B-9P . + MOVE P-9V99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 3: " B-9P . + MOVE P-S99 TO B-9P + IF B-9P NOT = 10 + DISPLAY "B-9P 4: " B-9P . + MOVE P-99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 5: " B-9P . + MOVE P-P99 TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 6: " B-9P . + MOVE P-9PP TO B-9P + IF B-9P NOT = 0 + DISPLAY "B-9P 7: " B-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:633: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:633" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:633" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:634: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:634" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:634" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1288 +#AT_START_1289 +at_fn_group_banner 1289 'data_packed.at:639' \ + "MOVE PACKED-DECIMAL to DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1289. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 P-S99V99 PIC S99V99 PACKED-DECIMAL VALUE 1.23. + 01 P-N99V99 PIC S99V99 PACKED-DECIMAL VALUE -1.32. + 01 P-9V99 PIC 9V99 PACKED-DECIMAL VALUE 1.1. + 01 P-S99 PIC S99 PACKED-DECIMAL VALUE 12. + 01 P-99 PIC 99 PACKED-DECIMAL VALUE 2. + 01 P-P99 PIC P99 PACKED-DECIMAL VALUE 0.02. + 01 P-9PP PIC 9PP PACKED-DECIMAL VALUE 200. + 01 P-938 PIC 9(38) PACKED-DECIMAL VALUE + 12345678901234567890123456789012345678. + 01 D-S99V99 PIC S99V99 DISPLAY. + 01 D-99V9 PIC 99V9 DISPLAY. + 01 D-S999 PIC S999 DISPLAY. + 01 D-99 PIC 99 DISPLAY. + 01 D-P9 PIC P9 DISPLAY. + 01 D-9P PIC 9P DISPLAY. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE P-938 TO D-99 + IF D-99 NOT = 78 + DISPLAY "D-99: " D-99. + + MOVE P-S99V99 TO D-S99V99 + IF D-S99V99 NOT = 1.23 + DISPLAY "D-S99V99 1: " D-S99V99. + MOVE P-N99V99 TO D-S99V99 + IF D-S99V99 NOT = -1.32 + DISPLAY "D-S99V99 2: " D-S99V99. + MOVE P-9V99 TO D-S99V99 + IF D-S99V99 NOT = 1.1 + DISPLAY "D-S99V99 3: " D-S99V99. + MOVE P-S99 TO D-S99V99 + IF D-S99V99 NOT = 12 + DISPLAY "D-S99V99 4: " D-S99V99. + MOVE P-99 TO D-S99V99 + IF D-S99V99 NOT = 2 + DISPLAY "D-S99V99 5: " D-S99V99. + MOVE P-P99 TO D-S99V99 + IF D-S99V99 NOT = 0.02 + DISPLAY "D-S99V99 6: " D-S99V99. + MOVE P-9PP TO D-S99V99 + IF D-S99V99 NOT = 0 + DISPLAY "D-S99V99 7: " D-S99V99. + + MOVE P-S99V99 TO D-99V9 + IF D-99V9 NOT = 1.2 + DISPLAY "D-99V99 1: " D-99V9 . + MOVE P-N99V99 TO D-99V9 + IF D-99V9 NOT = 1.3 + DISPLAY "D-99V99 2: " D-99V9 . + MOVE P-9V99 TO D-99V9 + IF D-99V9 NOT = 1.1 + DISPLAY "D-99V99 3: " D-99V9 . + MOVE P-S99 TO D-99V9 + IF D-99V9 NOT = 12 + DISPLAY "D-99V99 4: " D-99V9 . + MOVE P-99 TO D-99V9 + IF D-99V9 NOT = 2 + DISPLAY "D-99V99 5: " D-99V9 . + MOVE P-P99 TO D-99V9 + IF D-99V9 NOT = 0 + DISPLAY "D-99V99 6: " D-99V9 . + MOVE P-9PP TO D-99V9 + IF D-99V9 NOT = 0 + DISPLAY "D-99V99 7: " D-99V9 . + + MOVE P-S99V99 TO D-S999 + IF D-S999 NOT = 1 + DISPLAY "D-S999 1: " D-S999 . + MOVE P-N99V99 TO D-S999 + IF D-S999 NOT = -1 + DISPLAY "D-S999 2: " D-S999 . + MOVE P-9V99 TO D-S999 + IF D-S999 NOT = 1 + DISPLAY "D-S999 3: " D-S999 . + MOVE P-S99 TO D-S999 + IF D-S999 NOT = 12 + DISPLAY "D-S999 4: " D-S999 . + MOVE P-99 TO D-S999 + IF D-S999 NOT = 2 + DISPLAY "D-S999 5: " D-S999 . + MOVE P-P99 TO D-S999 + IF D-S999 NOT = 0 + DISPLAY "D-S999 6: " D-S999 . + MOVE P-9PP TO D-S999 + IF D-S999 NOT = 200 + DISPLAY "D-S999 7: " D-S999 . + + MOVE P-S99V99 TO D-99 + IF D-99 NOT = 1 + DISPLAY "D-99 1: " D-99 . + MOVE P-N99V99 TO D-99 + IF D-99 NOT = 1 + DISPLAY "D-99 2: " D-99 . + MOVE P-9V99 TO D-99 + IF D-99 NOT = 1 + DISPLAY "D-99 3: " D-99 . + MOVE P-S99 TO D-99 + IF D-99 NOT = 12 + DISPLAY "D-99 4: " D-99 . + MOVE P-99 TO D-99 + IF D-99 NOT = 2 + DISPLAY "D-99 5: " D-99 . + MOVE P-P99 TO D-99 + IF D-99 NOT = 0 + DISPLAY "D-99 6: " D-99 . + MOVE P-9PP TO D-99 + IF D-99 NOT = 0 + DISPLAY "D-99 7: " D-99 . + + MOVE P-S99V99 TO D-P9 + IF D-P9 NOT = 0.03 + DISPLAY "D-P9 1: " D-P9 . + MOVE P-N99V99 TO D-P9 + IF D-P9 NOT = 0.02 + DISPLAY "D-P9 2: " D-P9 . + MOVE P-9V99 TO D-P9 + IF D-P9 NOT = 0 + DISPLAY "D-P9 3: " D-P9 . + MOVE P-S99 TO D-P9 + IF D-P9 NOT = 0 + DISPLAY "D-P9 4: " D-P9 . + MOVE P-99 TO D-P9 + IF D-P9 NOT = 0 + DISPLAY "D-P9 5: " D-P9 . + MOVE P-P99 TO D-P9 + IF D-P9 NOT = 0.02 + DISPLAY "D-P9 6: " D-P9 . + MOVE P-9PP TO D-P9 + IF D-P9 NOT = 0 + DISPLAY "D-P9 7: " D-P9 . + + MOVE P-S99V99 TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 1: " D-9P . + MOVE P-N99V99 TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 2: " D-9P . + MOVE P-9V99 TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 3: " D-9P . + MOVE P-S99 TO D-9P + IF D-9P NOT = 10 + DISPLAY "D-9P 4: " D-9P . + MOVE P-99 TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 5: " D-9P . + MOVE P-P99 TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 6: " D-9P . + MOVE P-9PP TO D-9P + IF D-9P NOT = 0 + DISPLAY "D-9P 7: " D-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:819: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:819" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:819" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:820: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:820" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:820" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1289 +#AT_START_1290 +at_fn_group_banner 1290 'data_packed.at:825' \ + "MOVE DISPLAY to PACKED-DECIMAL" " " 5 +at_xfail=no +( + printf "%s\n" "1290. $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 FILLER PIC XX VALUE '12'. + 05 D-S99V99 PIC S99V99 DISPLAY VALUE 1.23. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-N99V99 PIC S99V99 DISPLAY VALUE -1.32. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-9V99 PIC 9V99 DISPLAY VALUE 1.1. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-S99 PIC S99 DISPLAY VALUE 12. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-99 PIC 99 DISPLAY VALUE 2. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-P99 PIC P99 DISPLAY VALUE 0.02. + 05 FILLER PIC XX VALUE '34'. + 01 FILLER. + 05 FILLER PIC XX VALUE '12'. + 05 D-9PP PIC 9PP DISPLAY VALUE 200. + 05 FILLER PIC XX VALUE '34'. + 01 P-S99V99 PIC S99V99 PACKED-DECIMAL. + 01 P-99V9 PIC 99V9 PACKED-DECIMAL. + 01 P-S999 PIC S999 PACKED-DECIMAL. + 01 P-99 PIC 99 PACKED-DECIMAL. + 01 P-P9 PIC P9 PACKED-DECIMAL. + 01 P-9P PIC 9P PACKED-DECIMAL. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 20000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE D-S99V99 TO P-S99V99 + IF P-S99V99 NOT = 1.23 + DISPLAY "P-S99V99 1: " P-S99V99. + MOVE D-N99V99 TO P-S99V99 + IF P-S99V99 NOT = -1.32 + DISPLAY "P-S99V99 2: " P-S99V99. + MOVE D-9V99 TO P-S99V99 + IF P-S99V99 NOT = 1.1 + DISPLAY "P-S99V99 3: " P-S99V99. + MOVE D-S99 TO P-S99V99 + IF P-S99V99 NOT = 12 + DISPLAY "P-S99V99 4: " P-S99V99. + MOVE D-99 TO P-S99V99 + IF P-S99V99 NOT = 2 + DISPLAY "P-S99V99 5: " P-S99V99. + MOVE D-P99 TO P-S99V99 + IF P-S99V99 NOT = 0.02 + DISPLAY "P-S99V99 6: " P-S99V99. + MOVE D-9PP TO P-S99V99 + IF P-S99V99 NOT = 0 + DISPLAY "P-S99V99 7: " P-S99V99. + + MOVE D-S99V99 TO P-99V9 + IF P-99V9 NOT = 1.2 + DISPLAY "P-99V9 1: " P-99V9 . + MOVE D-N99V99 TO P-99V9 + IF P-99V9 NOT = 1.3 + DISPLAY "P-99V9 2: " P-99V9 . + MOVE D-9V99 TO P-99V9 + IF P-99V9 NOT = 1.1 + DISPLAY "P-99V9 3: " P-99V9 . + MOVE D-S99 TO P-99V9 + IF P-99V9 NOT = 12 + DISPLAY "P-99V9 4: " P-99V9 . + MOVE D-99 TO P-99V9 + IF P-99V9 NOT = 2 + DISPLAY "P-99V9 5: " P-99V9 . + MOVE D-P99 TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V9 6: " P-99V9 . + MOVE D-9PP TO P-99V9 + IF P-99V9 NOT = 0 + DISPLAY "P-99V9 7: " P-99V9 . + + MOVE D-S99V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 1: " P-S999 . + MOVE D-N99V99 TO P-S999 + IF P-S999 NOT = -1 + DISPLAY "P-S999 2: " P-S999 . + MOVE D-9V99 TO P-S999 + IF P-S999 NOT = 1 + DISPLAY "P-S999 3: " P-S999 . + MOVE D-S99 TO P-S999 + IF P-S999 NOT = 12 + DISPLAY "P-S999 4: " P-S999 . + MOVE D-99 TO P-S999 + IF P-S999 NOT = 2 + DISPLAY "P-S999 5: " P-S999 . + MOVE D-P99 TO P-S999 + IF P-S999 NOT = 0 + DISPLAY "P-S999 6: " P-S999 . + MOVE D-9PP TO P-S999 + IF P-S999 NOT = 200 + DISPLAY "P-S999 7: " P-S999 . + + MOVE D-S99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 1: " P-99 . + MOVE D-N99V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 2: " P-99 . + MOVE D-9V99 TO P-99 + IF P-99 NOT = 1 + DISPLAY "P-99 3: " P-99 . + MOVE D-S99 TO P-99 + IF P-99 NOT = 12 + DISPLAY "P-99 4: " P-99 . + MOVE D-99 TO P-99 + IF P-99 NOT = 2 + DISPLAY "P-99 5: " P-99 . + MOVE D-P99 TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 6: " P-99 . + MOVE D-9PP TO P-99 + IF P-99 NOT = 0 + DISPLAY "P-99 7: " P-99 . + + MOVE D-S99V99 TO P-P9 + IF P-P9 NOT = 0.03 + DISPLAY "P-P9 1: " P-P9 . + MOVE D-N99V99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 2: " P-P9 . + MOVE D-9V99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 3: " P-P9 . + MOVE D-S99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 4: " P-P9 . + MOVE D-99 TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 5: " P-P9 . + MOVE D-P99 TO P-P9 + IF P-P9 NOT = 0.02 + DISPLAY "P-P9 6: " P-P9 . + MOVE D-9PP TO P-P9 + IF P-P9 NOT = 0 + DISPLAY "P-P9 7: " P-P9 . + + MOVE D-S99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 1: " P-9P . + MOVE D-N99V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 2: " P-9P . + MOVE D-9V99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 3: " P-9P . + MOVE D-S99 TO P-9P + IF P-9P NOT = 10 + DISPLAY "P-9P 4: " P-9P . + MOVE D-99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 5: " P-9P . + MOVE D-P99 TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 6: " P-9P . + MOVE D-9PP TO P-9P + IF P-9P NOT = 0 + DISPLAY "P-9P 7: " P-9P . + + CONTINUE. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1020: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1020" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1020" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1021: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1021" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1021" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1290 +#AT_START_1291 +at_fn_group_banner 1291 'data_packed.at:1026' \ + "PACKED-DECIMAL used with INITIALIZE" " " 5 +at_xfail=no +( + printf "%s\n" "1291. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# also verifying the zero displays with size and sign + +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. + INITIALIZE X-S99 + DISPLAY X-S99. + INITIALIZE X-999 + DISPLAY X-999. + INITIALIZE X-S999 + DISPLAY X-S999. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1052: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1052" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1052" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1053: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1053" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00 ++00 +000 ++000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:1053" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1291 +#AT_START_1292 +at_fn_group_banner 1292 'data_packed.at:1063' \ + "PACKED-DECIMAL arithmetic" " " 5 +at_xfail=no +( + printf "%s\n" "1292. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-A PIC XXX VALUE FENCE. + 05 X PIC 99 USAGE PACKED-DECIMAL VALUE 0. + 05 FENCE-B PIC XXX VALUE FENCE. + 05 Y PIC 99 USAGE PACKED-DECIMAL VALUE 9. + 05 Z PIC s9(20) USAGE PACKED-DECIMAL VALUE -55. + 01 FILLER. + 05 FENCE-1 PIC XXX VALUE FENCE. + 05 X-9 PIC 9 USAGE COMP-6. + 05 FENCE-2 PIC XXX VALUE FENCE. + 05 X-99 PIC 99 USAGE COMP-6. + 05 FENCE-3 PIC XXX VALUE FENCE. + 05 X-920 PIC 9(20) USAGE COMP-6. + 05 FENCE-4 PIC XXX VALUE FENCE. + 05 X-921 PIC 9(21) USAGE COMP-6. + 05 FENCE-5 PIC XXX VALUE FENCE. + 01 B-99 USAGE BINARY-LONG UNSIGNED VALUE 99. + 01 B-999 USAGE BINARY-LONG UNSIGNED VALUE 123. + PROCEDURE DIVISION. + COMPUTE X = 1 + IF X <> 1 DISPLAY "01 <" X ">". + IF FENCE-A NOT = FENCE + MOVE FENCE TO FENCE-A + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + MOVE FENCE TO FENCE-B + DISPLAY 'broken FENCE-B' UPON SYSERR. + + COMPUTE X = Y + IF X <> 9 DISPLAY "09 <" X ">". + IF FENCE-A NOT = FENCE + MOVE FENCE TO FENCE-A + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + MOVE FENCE TO FENCE-B + DISPLAY 'broken FENCE-B' UPON SYSERR. + + COMPUTE X = X + Y + IF Z < -56 DISPLAY "-55 >= " Z. + IF FENCE-A NOT = FENCE + MOVE FENCE TO FENCE-A + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + MOVE FENCE TO FENCE-B + DISPLAY 'broken FENCE-B' UPON SYSERR. + + *> + + MOVE B-999 TO X-99 + IF X-99 <> 23 DISPLAY 'trunk 123 -> 99: 'X-99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE B-999 TO X-9 + IF X-9 <> 3 DISPLAY 'trunk 123 -> 9: ' X-9. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE B-99 TO X-99 + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE B-999 TO X-920 + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE X-99 TO X-921 + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + ADD X-99 X-920 GIVING B-99. + IF B-99 <> 222 DISPLAY '!222: ' B-99. + IF X-920 > 124 DISPLAY '> 124 ' X-920. + IF X-921 < 98 DISPLAY '< 98 ' X-921. + + IF FENCE-1 NOT = FENCE + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + DISPLAY 'broken FENCE-5' UPON SYSERR. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1181: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1181" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1181" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1182: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1182" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1182" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1292 +#AT_START_1293 +at_fn_group_banner 1293 'data_packed.at:1187' \ + "PACKED-DECIMAL comparison" " " 5 +at_xfail=no +( + printf "%s\n" "1293. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 U1 PIC 99 USAGE PACKED-DECIMAL VALUE 95. + 01 U2 PIC 99 USAGE PACKED-DECIMAL VALUE 95. + 01 U3 PIC 999 USAGE PACKED-DECIMAL VALUE 195. + 01 U4 PIC 999 USAGE PACKED-DECIMAL VALUE 195. + 01 U1-32 PIC 9(32) USAGE PACKED-DECIMAL VALUE 195. + 01 U2-32 PIC 9(32) USAGE PACKED-DECIMAL VALUE 195. + 01 U1-32D PIC 9(18)V9(12) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388132. + 01 U2-32D PIC 9(18)V9(12) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388132. + 01 U3-32D PIC 9(14)V9(13) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388132. + 01 U4-32D PIC 9(14)V9(13) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388131. + 01 S1 PIC S99 USAGE PACKED-DECIMAL VALUE -95. + 01 S2 PIC S99 USAGE PACKED-DECIMAL VALUE -95. + 01 S3 PIC S999 USAGE PACKED-DECIMAL VALUE -195. + 01 S4 PIC S999 USAGE PACKED-DECIMAL VALUE -195. + 01 S1-32 PIC S9(32) USAGE PACKED-DECIMAL VALUE -195. + 01 S2-32 PIC S9(32) USAGE PACKED-DECIMAL VALUE -195. + 01 S1-32D PIC S9(18)V9(12) USAGE PACKED-DECIMAL + VALUE -48894655646195.551388132. + 01 S2-32D PIC S9(18)V9(12) USAGE PACKED-DECIMAL + VALUE -48894655646195.551388132. + 01 S3-32D PIC S9(14)V9(13) USAGE PACKED-DECIMAL + VALUE -48894655646195.551388132. + 01 S4-32D PIC S9(14)V9(13) USAGE PACKED-DECIMAL + VALUE -48894655646195.551388131. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 30000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + IF U1 <> U2 DISPLAY "U1 <> U2". + IF U3 <> U4 DISPLAY "U3 <> U4". + IF U1 >= U3 DISPLAY "U1 >= U3". + IF S1 <> S2 DISPLAY "S1 <> S2". + IF S3 <> S4 DISPLAY "S3 <> S4". + IF S1 <= S3 DISPLAY "S1 <= S3". + IF U1-32 <> U2-32 DISPLAY "U1-32 <> U2-32". + IF U1-32 >= U2-32D DISPLAY "U1-32 >= U1-32D". + IF U1-32D <> U2-32D DISPLAY "U1-32D <> U2-32D". + IF U1-32D <= U3 DISPLAY "U1-32 <= U3". + IF U2-32D <= U4-32D DISPLAY "U2-32D <= U4-32D". + IF U4-32D >= U2-32D DISPLAY "U4-32D >= U2-32D". + IF S1-32 <> S2-32 DISPLAY "S1-32 <> S2-32". + IF S1-32D <> S2-32D DISPLAY "S1-32D <> S2-32D". + IF S2-32D >= S4-32D DISPLAY "S2-32D >= S4-32D". + IF S3-32D >= S4-32D DISPLAY "S3-32D >= S4-32D". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1257: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.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/data_packed.at:1257" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1258: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1258" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1258" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# also check "not optimized during codegen", +# which leads to other code-paths +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1262: \$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" "data_packed.at:1262" +( $at_check_trace; $COMPILE -fno-fast-compare -C -o progalt.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/data_packed.at:1262" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1263: \$COMPILE progalt.c" +at_fn_check_prepare_dynamic "$COMPILE progalt.c" "data_packed.at:1263" +( $at_check_trace; $COMPILE progalt.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:1263" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1264: \$COBCRUN_DIRECT ./progalt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progalt" "data_packed.at:1264" +( $at_check_trace; $COBCRUN_DIRECT ./progalt +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1264" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1293 +#AT_START_1294 +at_fn_group_banner 1294 'data_packed.at:1269' \ + "PACKED-DECIMAL numeric test (1)" " " 5 +at_xfail=no +( + printf "%s\n" "1294. $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 " 0000 NG". + IF N-S2 IS NUMERIC + DISPLAY "S0000 NG". + + MOVE X"000c" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 000c NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S000c NG". + + MOVE X"000d" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 000d NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S000d NG". + + MOVE X"000f" TO X-2. + IF N-2 IS NOT NUMERIC + DISPLAY " 000f NG". + IF N-S2 IS NUMERIC + DISPLAY "S000f NG". + + MOVE X"1234" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 1234 NG". + IF N-S2 IS NUMERIC + DISPLAY "S1234 NG". + + MOVE X"999f" TO X-2. + IF N-2 IS NOT NUMERIC + DISPLAY " 999f NG". + IF N-S2 IS NUMERIC + DISPLAY "S999f NG". + + MOVE X"ffff" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " ffff NG". + IF N-S2 IS NUMERIC + DISPLAY "Sffff NG". + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1327: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1327" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1327" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1328: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1328" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1328" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1294 +#AT_START_1295 +at_fn_group_banner 1295 'data_packed.at:1333' \ + "PACKED-DECIMAL numeric test (2)" " " 5 +at_xfail=no +( + printf "%s\n" "1295. $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 " 0000 NG". + IF N-S2 IS NUMERIC + DISPLAY "S0000 NG". + + MOVE X"000c" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 000c NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S000c NG". + + MOVE X"000d" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 000d NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S000d NG". + + MOVE X"000f" TO X-2. + IF N-2 IS NOT NUMERIC + DISPLAY " 000f NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S000f NG". + + MOVE X"1234" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " 1234 NG". + IF N-S2 IS NUMERIC + DISPLAY "S1234 NG". + + MOVE X"999f" TO X-2. + IF N-2 IS NOT NUMERIC + DISPLAY " 999f NG". + IF N-S2 IS NOT NUMERIC + DISPLAY "S999f NG". + + MOVE X"ffff" TO X-2. + IF N-2 IS NUMERIC + DISPLAY " ffff NG". + IF N-S2 IS NUMERIC + DISPLAY "Sffff NG". + + STOP RUN. +_ATEOF + + +# TODO: Check what actual option is tested here +# and directly use it +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1393: \$COMPILE -std=ibm prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -std=ibm prog.cob" "data_packed.at:1393" +( $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:1393" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1394: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1394" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1394" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1295 +#AT_START_1296 +at_fn_group_banner 1296 'data_packed.at:1399' \ + "COMP-6 used with DISPLAY" " " 5 +at_xfail=no +( + printf "%s\n" "1296. $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. + MOVE 99 TO X-99 + DISPLAY X-99. + MOVE 0 TO X-999 + DISPLAY X-999. + MOVE 123 TO X-999 + DISPLAY X-999. + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1421: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1421" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1421" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1422: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1422" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "00 +99 +000 +123 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:1422" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1296 +#AT_START_1297 +at_fn_group_banner 1297 'data_packed.at:1432' \ + "COMP-6 used with MOVE" " " 5 +at_xfail=no +( + printf "%s\n" "1297. $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 + IF X-99 NOT = 0 DISPLAY "00 <" X-99 ">". + MOVE 99 TO B-99 + MOVE B-99 TO X-99 + IF X-99 NOT = 99 DISPLAY "99 <" X-99 ">". + MOVE 0 TO B-999 + MOVE B-999 TO X-999 + IF X-999 NOT = 0 DISPLAY "000 <" X-999 ">". + MOVE 123 TO B-999 + MOVE B-999 TO X-999 + IF X-999 NOT = 123 DISPLAY "123 <" X-999 ">". + MOVE B-999 TO X-99 + IF X-99 NOT = 23 DISPLAY "23 <" X-99 ">". + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1462: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1462" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1462" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1463: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1463" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1463" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# also check "not optimized during codegen", +# which leads to other code-paths +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1467: \$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" "data_packed.at:1467" +( $at_check_trace; $COMPILE -fno-fast-compare -C -o progalt.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/data_packed.at:1467" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1468: \$COMPILE progalt.c" +at_fn_check_prepare_dynamic "$COMPILE progalt.c" "data_packed.at:1468" +( $at_check_trace; $COMPILE progalt.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:1468" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1469: \$COBCRUN_DIRECT ./progalt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progalt" "data_packed.at:1469" +( $at_check_trace; $COBCRUN_DIRECT ./progalt +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1469" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1297 +#AT_START_1298 +at_fn_group_banner 1298 'data_packed.at:1474' \ + "COMP-6 arithmetic" " " 5 +at_xfail=no +( + printf "%s\n" "1298. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-1 PIC XXX VALUE FENCE. + 05 X-9 PIC 9 USAGE COMP-6. + 05 FENCE-2 PIC XXX VALUE FENCE. + 05 X-99 PIC 99 USAGE COMP-6. + 05 FENCE-3 PIC XXX VALUE FENCE. + 05 X-920 PIC 9(20) USAGE COMP-6. + 05 FENCE-4 PIC XXX VALUE FENCE. + 05 X-921 PIC 9(21) USAGE COMP-6. + 05 FENCE-5 PIC XXX VALUE FENCE. + 01 B-99 USAGE BINARY-LONG UNSIGNED VALUE 99. + 01 B-999 USAGE BINARY-LONG UNSIGNED VALUE 123. + PROCEDURE DIVISION. + MOVE B-999 TO X-99 + IF X-99 <> 23 DISPLAY 'trunk 123 -> 99: 'X-99. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE B-999 TO X-9 + IF X-9 <> 3 DISPLAY 'trunk 123 -> 9: ' X-9. + IF FENCE-1 NOT = FENCE + MOVE FENCE TO FENCE-1 + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + + MOVE B-99 TO X-99 + IF FENCE-2 NOT = FENCE + MOVE FENCE TO FENCE-2 + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + + MOVE B-999 TO X-920 + IF FENCE-3 NOT = FENCE + MOVE FENCE TO FENCE-3 + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + + MOVE X-99 TO X-921 + IF FENCE-4 NOT = FENCE + MOVE FENCE TO FENCE-4 + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + MOVE FENCE TO FENCE-5 + DISPLAY 'broken FENCE-5' UPON SYSERR. + + ADD X-99 X-920 GIVING B-99. + IF B-99 <> 222 DISPLAY '!222: ' B-99. + IF X-920 > 124 DISPLAY '> 124 ' X-920. + IF X-921 < 98 DISPLAY '< 98 ' X-921. + + IF FENCE-1 NOT = FENCE + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-3 NOT = FENCE + DISPLAY 'broken FENCE-3' UPON SYSERR. + IF FENCE-4 NOT = FENCE + DISPLAY 'broken FENCE-4' UPON SYSERR. + IF FENCE-5 NOT = FENCE + DISPLAY 'broken FENCE-5' UPON SYSERR. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1557: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1557" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1557" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1558: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1558" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1558" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1298 +#AT_START_1299 +at_fn_group_banner 1299 'data_packed.at:1563' \ + "COMP-6 numeric" " " 5 +at_xfail=no +( + printf "%s\n" "1299. $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 NOT NUMERIC + DISPLAY "3 0000 NG". + IF N-4 IS NOT NUMERIC + DISPLAY "4 0000 NG". + + MOVE X"000c" TO X-2. + IF N-3 IS NUMERIC + DISPLAY "3 000c NG". + IF N-4 IS NUMERIC + DISPLAY "4 000c NG". + + MOVE X"1234" TO X-2. + IF N-3 IS NOT NUMERIC + DISPLAY "3 1234 NG". + IF N-4 IS NOT NUMERIC + DISPLAY "4 1234 NG". + + MOVE X"ffff" TO X-2. + IF N-3 IS NUMERIC + DISPLAY "3 ffff NG". + IF N-4 IS NUMERIC + DISPLAY "4 ffff NG". + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1603: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1603" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1603" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1604: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1604" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1604" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1299 +#AT_START_1300 +at_fn_group_banner 1300 'data_packed.at:1609' \ + "COMP-6 comparison" " " 5 +at_xfail=no +( + printf "%s\n" "1300. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 U1 PIC 99 USAGE COMP-6 VALUE 95. + 01 U2 PIC 99 USAGE COMP-6 VALUE 95. + 01 U3 PIC 999 USAGE COMP-6 VALUE 195. + 01 U4 PIC 999 USAGE COMP-6 VALUE 195. + 01 U1-32 PIC 9(32) USAGE COMP-6 VALUE 195. + 01 U2-32 PIC 9(32) USAGE COMP-6 VALUE 195. + 01 U1-32D PIC 9(18)V9(12) USAGE COMP-6 + VALUE 48894655646195.551388132. + 01 U2-32D PIC 9(18)V9(12) USAGE COMP-6 + VALUE 48894655646195.551388132. + 01 U3-32D PIC 9(14)V9(13) USAGE COMP-6 + VALUE 48894655646195.551388132. + 01 U4-32D PIC 9(14)V9(13) USAGE COMP-6 + VALUE 48894655646195.551388131. + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 30000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + IF U1 <> U2 DISPLAY "U1 <> U2". + IF U3 <> U4 DISPLAY "U3 <> U4". + IF U1 >= U3 DISPLAY "U1 >= U3". + IF U1-32 <> U2-32 DISPLAY "U1-32 <> U2-32". + IF U1-32 >= U2-32D DISPLAY "U1-32 >= U1-32D". + IF U1-32D <> U2-32D DISPLAY "U1-32D <> U2-32D". + IF U1-32D <= U3 DISPLAY "U1-32 <= U3". + IF U2-32D <> U3-32D DISPLAY "U2-32D <> U3-32D". + IF U2-32D <= U4-32D DISPLAY "U2-32D <= U4-32D". + IF U4-32D >= U2-32D DISPLAY "U4-32D >= U2-32D". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1659: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1659" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1659" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1660: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1660" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1660" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# also check "not optimized during codegen", +# which leads to other code-paths +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1664: \$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" "data_packed.at:1664" +( $at_check_trace; $COMPILE -fno-fast-compare -C -o progalt.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/data_packed.at:1664" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1665: \$COMPILE progalt.c" +at_fn_check_prepare_dynamic "$COMPILE progalt.c" "data_packed.at:1665" +( $at_check_trace; $COMPILE progalt.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:1665" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1666: \$COBCRUN_DIRECT ./progalt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progalt" "data_packed.at:1666" +( $at_check_trace; $COBCRUN_DIRECT ./progalt +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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: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_1300 +#AT_START_1301 +at_fn_group_banner 1301 'data_packed.at:1671' \ + "COMP-3 vs. COMP-6 - BCD comparison" " " 5 +at_xfail=no +( + printf "%s\n" "1301. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 PD-03 PIC S9(03)V99 COMP-3 VALUE 737. + 77 PD-04 PIC S9(04)V99 COMP-3 VALUE 737. + 77 PD-05 PIC S9(05)V99 COMP-3 VALUE 737. + 77 PD-06 PIC S9(06)V99 COMP-3 VALUE 737. + 77 PD-07 PIC S9(07)V99 COMP-3 VALUE 737. + 77 PD-08 PIC S9(08)V99 COMP-3 VALUE 737. + 77 PD-09 PIC S9(09)V99 COMP-3 VALUE 737. + 77 PD-10 PIC S9(10)V99 COMP-3 VALUE 737. + 77 PD-11 PIC S9(11)V99 COMP-3 VALUE 737. + 77 PD-12 PIC S9(12)V99 COMP-3 VALUE 737. + 77 PD-13 PIC S9(13)V99 COMP-3 VALUE 737. + 77 PD-14 PIC S9(14)V99 COMP-3 VALUE 737. + 77 PD-15 PIC S9(15)V99 COMP-3 VALUE 737. + 77 PD-16 PIC S9(16)V99 COMP-3 VALUE 737. + 77 PD-17 PIC S9(17)V99 COMP-3 VALUE 737. + 77 PD-18 PIC S9(18)V99 COMP-3 VALUE 737. + 77 PD-19 PIC S9(19)V99 COMP-3 VALUE 737. + 77 PD-20 PIC S9(20)V99 COMP-3 VALUE 737. + 77 PD-21 PIC S9(21)V99 COMP-3 VALUE 737. + 77 PD-22 PIC S9(22)V99 COMP-3 VALUE 737. + 77 PD-23 PIC S9(23)V99 COMP-3 VALUE 737. + 77 PD-24 PIC S9(24)V99 COMP-3 VALUE 737. + 77 PD-25 PIC S9(25)V99 COMP-3 VALUE 737. + 77 PD-26 PIC S9(26)V99 COMP-3 VALUE 737. + 77 PD-27 PIC S9(27)V99 COMP-3 VALUE 737. + 77 PD-28 PIC S9(28)V99 COMP-3 VALUE 737. + 77 PD-29 PIC S9(29)V99 COMP-3 VALUE 737. + 77 PD-30 PIC S9(30)V99 COMP-3 VALUE 737. + 77 PD-31 PIC S9(31)V99 COMP-3 VALUE 737. + 77 PD-32 PIC S9(32)V99 COMP-3 VALUE 737. + 77 PD-33 PIC S9(33)V99 COMP-3 VALUE 737. + 77 PD-34 PIC S9(34)V99 COMP-3 VALUE 737. + 77 PD-35 PIC S9(35)V99 COMP-3 VALUE 737. + 77 PD-36 PIC S9(36)V99 COMP-3 VALUE 737. + + 77 CD-03 PIC 9(03)V99 COMP-6 VALUE 737. + 77 CD-04 PIC 9(04)V99 COMP-6 VALUE 737. + 77 CD-05 PIC 9(05)V99 COMP-6 VALUE 737. + 77 CD-06 PIC 9(06)V99 COMP-6 VALUE 737. + 77 CD-07 PIC 9(07)V99 COMP-6 VALUE 737. + 77 CD-08 PIC 9(08)V99 COMP-6 VALUE 737. + 77 CD-09 PIC 9(09)V99 COMP-6 VALUE 737. + 77 CD-10 PIC 9(10)V99 COMP-6 VALUE 737. + 77 CD-11 PIC 9(11)V99 COMP-6 VALUE 737. + 77 CD-12 PIC 9(12)V99 COMP-6 VALUE 737. + 77 CD-13 PIC 9(13)V99 COMP-6 VALUE 737. + 77 CD-14 PIC 9(14)V99 COMP-6 VALUE 737. + 77 CD-15 PIC 9(15)V99 COMP-6 VALUE 737. + 77 CD-16 PIC 9(16)V99 COMP-6 VALUE 737. + 77 CD-17 PIC 9(17)V99 COMP-6 VALUE 737. + 77 CD-18 PIC 9(18)V99 COMP-6 VALUE 737. + 77 CD-19 PIC 9(19)V99 COMP-6 VALUE 737. + 77 CD-20 PIC 9(20)V99 COMP-6 VALUE 737. + 77 CD-21 PIC 9(21)V99 COMP-6 VALUE 737. + 77 CD-22 PIC 9(22)V99 COMP-6 VALUE 737. + 77 CD-23 PIC 9(23)V99 COMP-6 VALUE 737. + 77 CD-24 PIC 9(24)V99 COMP-6 VALUE 737. + 77 CD-25 PIC 9(25)V99 COMP-6 VALUE 737. + 77 CD-26 PIC 9(26)V99 COMP-6 VALUE 737. + 77 CD-27 PIC 9(27)V99 COMP-6 VALUE 737. + 77 CD-28 PIC 9(28)V99 COMP-6 VALUE 737. + 77 CD-29 PIC 9(29)V99 COMP-6 VALUE 737. + 77 CD-30 PIC 9(30)V99 COMP-6 VALUE 737. + 77 CD-31 PIC 9(31)V99 COMP-6 VALUE 737. + 77 CD-32 PIC 9(32)V99 COMP-6 VALUE 737. + 77 CD-33 PIC 9(33)V99 COMP-6 VALUE 737. + 77 CD-34 PIC 9(34)V99 COMP-6 VALUE 737. + 77 CD-35 PIC 9(35)V99 COMP-6 VALUE 737. + 77 CD-36 PIC 9(36)V99 COMP-6 VALUE 737. + * + 01 U4-32D PIC 9(14)V9(13) USAGE COMP-6 + VALUE 48894655646195.551388131. + 01 UP-32D PIC 9(14)V9(13) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388131. + 01 SP-32D PIC S9(14)V9(13) USAGE PACKED-DECIMAL + VALUE 48894655646195.551388131. + 01 NP-32D PIC S9(14)V9(13) USAGE PACKED-DECIMAL + VALUE -48894655646195.551388131. + + 01 PACKED-ZEROS. + 05 PZ-01-X. + 10 PZ-01 PIC 9(38) COMP-6. + 05 PZ-02-X. + 10 PZ-02 PIC S9(38) COMP-3. + 05 PZ-03-X. + 10 PZ-03 PIC S9(38) COMP-3. + 05 PZ-04-X. + 10 PZ-04 PIC S9(38) COMP-3. + 05 PZ-05-X. + 10 PZ-05 PIC S9(38) COMP-3. + 05 PZ-06-X. + 10 PZ-06 PIC S9(38) COMP-3. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + IF PD-03 <> CD-03 DISPLAY "PD-03 <> CD-03". + IF PD-04 <> CD-04 DISPLAY "PD-04 <> CD-04". + IF PD-05 <> CD-05 DISPLAY "PD-05 <> CD-05". + IF PD-06 <> CD-06 DISPLAY "PD-06 <> CD-06". + IF PD-07 <> CD-07 DISPLAY "PD-07 <> CD-07". + IF PD-08 <> CD-08 DISPLAY "PD-08 <> CD-08". + IF PD-09 <> CD-09 DISPLAY "PD-09 <> CD-09". + IF PD-10 <> CD-10 DISPLAY "PD-10 <> CD-10". + IF PD-11 <> CD-11 DISPLAY "PD-11 <> CD-11". + IF PD-12 <> CD-12 DISPLAY "PD-12 <> CD-12". + IF PD-13 <> CD-13 DISPLAY "PD-13 <> CD-13". + IF PD-14 <> CD-14 DISPLAY "PD-14 <> CD-14". + IF PD-15 <> CD-15 DISPLAY "PD-15 <> CD-15". + IF PD-16 <> CD-16 DISPLAY "PD-16 <> CD-16". + IF PD-17 <> CD-17 DISPLAY "PD-17 <> CD-17". + IF PD-18 <> CD-18 DISPLAY "PD-18 <> CD-18". + IF PD-19 <> CD-19 DISPLAY "PD-19 <> CD-19". + IF PD-20 <> CD-20 DISPLAY "PD-20 <> CD-20". + IF PD-21 <> CD-21 DISPLAY "PD-21 <> CD-21". + IF PD-22 <> CD-22 DISPLAY "PD-22 <> CD-22". + IF PD-23 <> CD-23 DISPLAY "PD-23 <> CD-23". + IF PD-24 <> CD-24 DISPLAY "PD-24 <> CD-24". + IF PD-25 <> CD-25 DISPLAY "PD-25 <> CD-25". + IF PD-26 <> CD-26 DISPLAY "PD-26 <> CD-26". + IF PD-27 <> CD-27 DISPLAY "PD-27 <> CD-27". + IF PD-28 <> CD-28 DISPLAY "PD-28 <> CD-28". + IF PD-29 <> CD-29 DISPLAY "PD-29 <> CD-29". + IF PD-30 <> CD-30 DISPLAY "PD-30 <> CD-30". + IF PD-31 <> CD-31 DISPLAY "PD-31 <> CD-31". + IF PD-32 <> CD-32 DISPLAY "PD-32 <> CD-32". + IF PD-33 <> CD-33 DISPLAY "PD-33 <> CD-33". + IF PD-34 <> CD-34 DISPLAY "PD-34 <> CD-34". + IF PD-35 <> CD-35 DISPLAY "PD-35 <> CD-35". + IF PD-36 <> CD-36 DISPLAY "PD-36 <> CD-36". + + IF PD-03 <> CD-36 DISPLAY "PD-03 <> CD-36". + IF PD-04 <> CD-35 DISPLAY "PD-04 <> CD-35". + IF PD-05 <> CD-34 DISPLAY "PD-05 <> CD-34". + IF PD-06 <> CD-33 DISPLAY "PD-06 <> CD-33". + IF PD-07 <> CD-32 DISPLAY "PD-07 <> CD-32". + IF PD-08 <> CD-31 DISPLAY "PD-08 <> CD-31". + IF PD-09 <> CD-30 DISPLAY "PD-09 <> CD-30". + IF PD-10 <> CD-29 DISPLAY "PD-10 <> CD-29". + IF PD-11 <> CD-28 DISPLAY "PD-11 <> CD-28". + IF PD-12 <> CD-27 DISPLAY "PD-12 <> CD-27". + IF PD-13 <> CD-26 DISPLAY "PD-13 <> CD-26". + IF PD-14 <> CD-25 DISPLAY "PD-14 <> CD-25". + IF PD-15 <> CD-24 DISPLAY "PD-15 <> CD-24". + IF PD-16 <> CD-23 DISPLAY "PD-16 <> CD-23". + IF PD-17 <> CD-22 DISPLAY "PD-17 <> CD-22". + IF PD-18 <> CD-21 DISPLAY "PD-18 <> CD-21". + IF PD-19 <> CD-20 DISPLAY "PD-19 <> CD-20". + IF PD-20 <> CD-19 DISPLAY "PD-20 <> CD-19". + IF PD-21 <> CD-18 DISPLAY "PD-21 <> CD-18". + IF PD-22 <> CD-17 DISPLAY "PD-22 <> CD-17". + IF PD-23 <> CD-16 DISPLAY "PD-23 <> CD-16". + IF PD-24 <> CD-15 DISPLAY "PD-24 <> CD-15". + IF PD-25 <> CD-14 DISPLAY "PD-25 <> CD-14". + IF PD-26 <> CD-13 DISPLAY "PD-26 <> CD-13". + IF PD-27 <> CD-12 DISPLAY "PD-27 <> CD-12". + IF PD-28 <> CD-11 DISPLAY "PD-28 <> CD-11". + IF PD-29 <> CD-10 DISPLAY "PD-29 <> CD-10". + IF PD-30 <> CD-09 DISPLAY "PD-30 <> CD-09". + IF PD-31 <> CD-08 DISPLAY "PD-31 <> CD-08". + IF PD-32 <> CD-07 DISPLAY "PD-32 <> CD-07". + IF PD-33 <> CD-06 DISPLAY "PD-33 <> CD-06". + IF PD-34 <> CD-05 DISPLAY "PD-34 <> CD-05". + IF PD-35 <> CD-04 DISPLAY "PD-35 <> CD-04". + IF PD-36 <> CD-03 DISPLAY "PD-36 <> CD-03". + + IF PD-03 <> PD-36 DISPLAY "PD-03 <> PD-36". + IF PD-04 <> PD-35 DISPLAY "PD-04 <> PD-35". + IF PD-05 <> PD-34 DISPLAY "PD-05 <> PD-34". + IF PD-06 <> PD-33 DISPLAY "PD-06 <> PD-33". + IF PD-07 <> PD-32 DISPLAY "PD-07 <> PD-32". + IF PD-08 <> PD-31 DISPLAY "PD-08 <> PD-31". + IF PD-09 <> PD-30 DISPLAY "PD-09 <> PD-30". + IF PD-10 <> PD-29 DISPLAY "PD-10 <> PD-29". + IF PD-11 <> PD-28 DISPLAY "PD-11 <> PD-28". + IF PD-12 <> PD-27 DISPLAY "PD-12 <> PD-27". + IF PD-13 <> PD-26 DISPLAY "PD-13 <> PD-26". + IF PD-14 <> PD-25 DISPLAY "PD-14 <> PD-25". + IF PD-15 <> PD-24 DISPLAY "PD-15 <> PD-24". + IF PD-16 <> PD-23 DISPLAY "PD-16 <> PD-23". + IF PD-17 <> PD-22 DISPLAY "PD-17 <> PD-22". + IF PD-18 <> PD-21 DISPLAY "PD-18 <> PD-21". + IF PD-19 <> PD-20 DISPLAY "PD-19 <> PD-20". + IF PD-20 <> PD-19 DISPLAY "PD-20 <> PD-19". + IF PD-21 <> PD-18 DISPLAY "PD-21 <> PD-18". + IF PD-22 <> PD-17 DISPLAY "PD-22 <> PD-17". + IF PD-23 <> PD-16 DISPLAY "PD-23 <> PD-16". + IF PD-24 <> PD-15 DISPLAY "PD-24 <> PD-15". + IF PD-25 <> PD-14 DISPLAY "PD-25 <> PD-14". + IF PD-26 <> PD-13 DISPLAY "PD-26 <> PD-13". + IF PD-27 <> PD-12 DISPLAY "PD-27 <> PD-12". + IF PD-28 <> PD-11 DISPLAY "PD-28 <> PD-11". + IF PD-29 <> PD-10 DISPLAY "PD-29 <> PD-10". + IF PD-30 <> PD-09 DISPLAY "PD-30 <> PD-09". + IF PD-31 <> PD-08 DISPLAY "PD-31 <> PD-08". + IF PD-32 <> PD-07 DISPLAY "PD-32 <> PD-07". + IF PD-33 <> PD-06 DISPLAY "PD-33 <> PD-06". + IF PD-34 <> PD-05 DISPLAY "PD-34 <> PD-05". + IF PD-35 <> PD-04 DISPLAY "PD-35 <> PD-04". + IF PD-36 <> PD-03 DISPLAY "PD-36 <> PD-03". + + IF CD-03 <> CD-36 DISPLAY "CD-03 <> CD-36". + IF CD-04 <> CD-35 DISPLAY "CD-04 <> CD-35". + IF CD-05 <> CD-34 DISPLAY "CD-05 <> CD-34". + IF CD-06 <> CD-33 DISPLAY "CD-06 <> CD-33". + IF CD-07 <> CD-32 DISPLAY "CD-07 <> CD-32". + IF CD-08 <> CD-31 DISPLAY "CD-08 <> CD-31". + IF CD-09 <> CD-30 DISPLAY "CD-09 <> CD-30". + IF CD-10 <> CD-29 DISPLAY "CD-10 <> CD-29". + IF CD-11 <> CD-28 DISPLAY "CD-11 <> CD-28". + IF CD-12 <> CD-27 DISPLAY "CD-12 <> CD-27". + IF CD-13 <> CD-26 DISPLAY "CD-13 <> CD-26". + IF CD-14 <> CD-25 DISPLAY "CD-14 <> CD-25". + IF CD-15 <> CD-24 DISPLAY "CD-15 <> CD-24". + IF CD-16 <> CD-23 DISPLAY "CD-16 <> CD-23". + IF CD-17 <> CD-22 DISPLAY "CD-17 <> CD-22". + IF CD-18 <> CD-21 DISPLAY "CD-18 <> CD-21". + IF CD-19 <> CD-20 DISPLAY "CD-19 <> CD-20". + IF CD-20 <> CD-19 DISPLAY "CD-20 <> CD-19". + IF CD-21 <> CD-18 DISPLAY "CD-21 <> CD-18". + IF CD-22 <> CD-17 DISPLAY "CD-22 <> CD-17". + IF CD-23 <> CD-16 DISPLAY "CD-23 <> CD-16". + IF CD-24 <> CD-15 DISPLAY "CD-24 <> CD-15". + IF CD-25 <> CD-14 DISPLAY "CD-25 <> CD-14". + IF CD-26 <> CD-13 DISPLAY "CD-26 <> CD-13". + IF CD-27 <> CD-12 DISPLAY "CD-27 <> CD-12". + IF CD-28 <> CD-11 DISPLAY "CD-28 <> CD-11". + IF CD-29 <> CD-10 DISPLAY "CD-29 <> CD-10". + IF CD-30 <> CD-09 DISPLAY "CD-30 <> CD-09". + IF CD-31 <> CD-08 DISPLAY "CD-31 <> CD-08". + IF CD-32 <> CD-07 DISPLAY "CD-32 <> CD-07". + IF CD-33 <> CD-06 DISPLAY "CD-33 <> CD-06". + IF CD-34 <> CD-05 DISPLAY "CD-34 <> CD-05". + IF CD-35 <> CD-04 DISPLAY "CD-35 <> CD-04". + IF CD-36 <> CD-03 DISPLAY "CD-36 <> CD-03". + + * SETTING UP DATA FOR COMPARE WITH NEGATIVE PACKED ZERO + + MOVE LOW-VALUES TO PZ-01-X. + MOVE LOW-VALUES TO PZ-02-X + MOVE X'0C' TO PZ-02-X(20:1). + MOVE LOW-VALUES TO PZ-03-X + MOVE X'0D' TO PZ-03-X(20:1). + *> note: we previously checked x'10' here, which is "outside" + *> of the actual digits; behaviour is undefined there + *> and may very between dialects -> so only check actual digits + MOVE LOW-VALUES TO PZ-04-X + MOVE X'01' TO PZ-04-X(1:1). + MOVE X'0D' TO PZ-04-X(20:1). + MOVE LOW-VALUES TO PZ-05-X + MOVE X'010D' TO PZ-05-X(19:2). + MOVE LOW-VALUES TO PZ-06-X + MOVE X'1D' TO PZ-06-X(20:1). + + IF PZ-01 <> PZ-02 DISPLAY "PZ-01 <> PZ-02". + IF PZ-01 <> PZ-03 DISPLAY "PZ-01 <> PZ-03". + IF PZ-02 <> PZ-03 DISPLAY "PZ-02 <> PZ-03". + IF PZ-02 <= PZ-04 DISPLAY "PZ-02 <= PZ-04". + IF PZ-02 <= PZ-05 DISPLAY "PZ-02 <= PZ-05". + IF PZ-02 <= PZ-06 DISPLAY "PZ-02 <= PZ-05". + * + IF U4-32D <> UP-32D DISPLAY "U4-32D <> UP-32D". + IF U4-32D <> SP-32D DISPLAY "U4-32D <> SP-32D". + IF U4-32D <= NP-32D DISPLAY "U4-32D <= NP-32D". +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1959: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:1959" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1959" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1960: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:1960" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:1960" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# also check "not optimized during codegen", +# which leads to other code-paths +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1964: \$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -fno-fast-compare -C -o progalt.c prog.cob" "data_packed.at:1964" +( $at_check_trace; $COMPILE -fno-fast-compare -C -o progalt.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/data_packed.at:1964" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1965: \$COMPILE progalt.c" +at_fn_check_prepare_dynamic "$COMPILE progalt.c" "data_packed.at:1965" +( $at_check_trace; $COMPILE progalt.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:1965" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:1966: \$COBCRUN_DIRECT ./progalt" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./progalt" "data_packed.at:1966" +( $at_check_trace; $COBCRUN_DIRECT ./progalt +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:1966" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1301 +#AT_START_1302 +at_fn_group_banner 1302 'data_packed.at:1971' \ + "PPP COMP-3" " " 5 +at_xfail=no +( + printf "%s\n" "1302. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-A PIC XXX VALUE FENCE. + 05 X-1 PIC 999PPP COMP-6 VALUE 91000. + 05 FENCE-B PIC XXX VALUE FENCE. + 05 X-2 PIC 999PPP COMP-6 VALUE 92000. + 05 FENCE-C PIC XXX VALUE FENCE. + 05 X-4 PIC VPPP999 COMP-6 VALUE 0.000128. + 05 FENCE-D PIC XXX VALUE FENCE. + 01 FENCE-1 PIC XXX VALUE FENCE. + 01 D-1 PIC 999PPP COMP-6 VALUE 95000. + 01 D-2 PIC 9999PP COMP-6 VALUE 193000. + 01 FENCE-2 PIC XXX VALUE FENCE. + 01 WRK-DS-LS-1P17-1 PIC S9P(17) SIGN LEADING SEPARATE + CHARACTER VALUE -100000000000000000. + 01 WRK-AE-3 PIC XBXXX/XXX/XXX/XXX/XXXBXX. + 01 MOVE72 PICTURE 9(10) VALUE 3344556677. + 01 MOVE73 PICTURE X(5)BA(10)0X. + 01 GRP-AE-0002. + 05 AE-0002 PICTURE XX0XXBXXX. + PROCEDURE DIVISION. + MOVE 3344556677 TO MOVE72. + MOVE MOVE72 TO MOVE73. + IF MOVE73 NOT EQUAL TO "33445 56677 0 " + DISPLAY "MOVE X-EDIT failed: " MOVE73 ".". + MOVE 019823 TO AE-0002. + IF GRP-AE-0002 NOT EQUAL TO "01098 23 " + DISPLAY "MOVE AE-EDIT failed: " GRP-AE-0002 ".". + MOVE WRK-DS-LS-1P17-1 TO WRK-AE-3. + DISPLAY "MOVE 1P17: " WRK-DS-LS-1P17-1 " : " + LENGTH OF WRK-DS-LS-1P17-1 ".". + DISPLAY "MOVE A-E : " WRK-AE-3 ".". + IF WRK-AE-3 NOT EQUAL TO "1 000/000/000/000/000 00" + DISPLAY "MOVE 1P17 TO A-E failed". + DISPLAY "INIT X-1 : " X-1 " .". + DISPLAY "INIT X-2 : " X-2 " .". + DISPLAY "INIT X-4 : " X-4 " .". + DISPLAY "INIT D-1 : " D-1 " .". + MOVE D-1 TO X-2 X-1 + MOVE X-2 TO D-1. + DISPLAY "MOVE X-1 : " X-1 " .". + DISPLAY "MOVE X-2 : " X-2 " .". + MOVE 0.000256 TO X-4 + DISPLAY "MOVE X-4 : " X-4 " .". + DISPLAY "MOVE D-1 : " D-1 " .". + MOVE D-2 TO X-2 X-1 + DISPLAY "MOVE X-1 : " X-1 ":" D-2 " .". + DISPLAY "MOVE X-2 : " X-2 ":" D-2 " .". + MOVE 98000 TO X-1. + IF X-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " X-1. + MOVE 98000 TO D-1 + IF D-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " D-1. + ADD 1000 TO X-1 + IF X-1 NOT = 99000 + DISPLAY "+ 1000 failed: " X-1. + SUBTRACT 4000 FROM X-1. + IF X-1 NOT = 95000 + DISPLAY "- 4000 failed: " X-1. + DIVIDE 3 INTO X-1. + IF X-1 NOT = 31000 + DISPLAY "/ 3 failed: " X-1. + MULTIPLY 2 BY X-1 GIVING X-1. + IF X-1 NOT = 62000 + DISPLAY "* 2 failed: " X-1. + + IF FENCE-1 NOT = FENCE + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-A NOT = FENCE + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + DISPLAY 'broken FENCE-B' UPON SYSERR. + IF FENCE-C NOT = FENCE + DISPLAY 'broken FENCE-C' UPON SYSERR. + IF FENCE-D NOT = FENCE + DISPLAY 'broken FENCE-D' UPON SYSERR. + + STOP RUN. +_ATEOF + + +# CHECKME: -Wno-typing because of MOVE warning +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2063: \$COMPILE -Wno-typing prog.cob" +at_fn_check_prepare_dynamic "$COMPILE -Wno-typing prog.cob" "data_packed.at:2063" +( $at_check_trace; $COMPILE -Wno-typing prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2063" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2065: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:2065" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "MOVE 1P17: -100000000000000000 : 2. +MOVE A-E : 1 000/000/000/000/000 00. +INIT X-1 : 091000 . +INIT X-2 : 092000 . +INIT X-4 : .000128 . +INIT D-1 : 095000 . +MOVE X-1 : 095000 . +MOVE X-2 : 095000 . +MOVE X-4 : .000256 . +MOVE D-1 : 095000 . +MOVE X-1 : 193000:193000 . +MOVE X-2 : 193000:193000 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:2065" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1302 +#AT_START_1303 +at_fn_group_banner 1303 'data_packed.at:2083' \ + "PPP COMP-6" " " 5 +at_xfail=no +( + printf "%s\n" "1303. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_display.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-A PIC XXX VALUE FENCE. + 05 X-1 PIC 999PPP COMP-6 VALUE 91000. + 05 FENCE-B PIC XXX VALUE FENCE. + 05 X-2 PIC 999PPP COMP-6 VALUE 92000. + 05 FENCE-C PIC XXX VALUE FENCE. + 05 X-4 PIC VPPP999 COMP-6 VALUE 0.000128. + 05 FENCE-D PIC XXX VALUE FENCE. + 01 FENCE-1 PIC XXX VALUE FENCE. + 01 D-1 PIC 999PPP COMP-6 VALUE 95000. + 01 D-2 PIC 9999PP COMP-6 VALUE 193000. + 01 FENCE-2 PIC XXX VALUE FENCE. + PROCEDURE DIVISION. + DISPLAY "INIT X-1 : " X-1 " .". + DISPLAY "INIT X-2 : " X-2 " .". + DISPLAY "INIT X-4 : " X-4 " .". + DISPLAY "INIT D-1 : " D-1 " .". + MOVE D-1 TO X-2 X-1 + MOVE X-2 TO D-1. + DISPLAY "MOVE X-1 : " X-1 " .". + DISPLAY "MOVE X-2 : " X-2 " .". + MOVE 0.000256 TO X-4 + DISPLAY "MOVE X-4 : " X-4 " .". + DISPLAY "MOVE D-1 : " D-1 " .". + MOVE D-2 TO X-2 X-1 + DISPLAY "MOVE X-1 : " X-1 ":" D-2 " .". + DISPLAY "MOVE X-2 : " X-2 ":" D-2 " .". + MOVE 98000 TO X-1. + IF X-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " X-1. + MOVE 98000 TO D-1 + IF D-1 NOT = 98000 + DISPLAY "MOVE 98000 failed: " D-1. + ADD 1000 TO X-1 + IF X-1 NOT = 99000 + DISPLAY "+ 1000 failed: " X-1. + SUBTRACT 4000 FROM X-1. + IF X-1 NOT = 95000 + DISPLAY "- 4000 failed: " X-1. + DIVIDE 3 INTO X-1. + IF X-1 NOT = 31000 + DISPLAY "/ 3 failed: " X-1. + MULTIPLY 2 BY X-1 GIVING X-1. + IF X-1 NOT = 62000 + DISPLAY "* 2 failed: " X-1. + + IF FENCE-1 NOT = FENCE + DISPLAY 'broken FENCE-1' UPON SYSERR. + IF FENCE-2 NOT = FENCE + DISPLAY 'broken FENCE-2' UPON SYSERR. + IF FENCE-A NOT = FENCE + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + DISPLAY 'broken FENCE-B' UPON SYSERR. + IF FENCE-C NOT = FENCE + DISPLAY 'broken FENCE-C' UPON SYSERR. + IF FENCE-D NOT = FENCE + DISPLAY 'broken FENCE-D' UPON SYSERR. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2156: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:2156" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2156" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2158: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:2158" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "INIT X-1 : 091000 . +INIT X-2 : 092000 . +INIT X-4 : .000128 . +INIT D-1 : 095000 . +MOVE X-1 : 095000 . +MOVE X-2 : 095000 . +MOVE X-4 : .000256 . +MOVE D-1 : 095000 . +MOVE X-1 : 193000:193000 . +MOVE X-2 : 193000:193000 . +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:2158" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1303 +#AT_START_1304 +at_fn_group_banner 1304 'data_packed.at:2174' \ + "arithmetic truncation with USAGE PACKED-DECIMAL" "" 5 +at_xfail=no +( + printf "%s\n" "1304. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# note: for changes mind the nearly identical test in data_display.at + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 78 FENCE VALUE x'ABBAAB'. + 01 FILLER. + 05 FENCE-A PIC XXX VALUE FENCE. + 05 RESULT PIC 9(03) PACKED-DECIMAL. + 05 FENCE-B PIC XXX VALUE FENCE. + PROCEDURE DIVISION. + MAIN. + * internal arithmetic to DISPLAY + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2 / RESULT + IF RESULT NOT = 14 + DISPLAY "NOT 14: " RESULT. + + * internal arithmetic to DISPLAY, with sign drop + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 20 / RESULT + IF RESULT NOT = 4 + DISPLAY "NOT - 4: " RESULT. + + * internal arithmetic to DISPLAY with truncation of decimal-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT / 2 + IF RESULT NOT = 15 + DISPLAY "NOT 15: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT - 2000 / RESULT + IF RESULT NOT = 984 + DISPLAY "NOT -1 984: " RESULT. + + * internal arithmetic to DISPLAY with truncation of integer-part + * with leading zeros after truncation + MOVE 1 TO RESULT + COMPUTE RESULT = 15 + RESULT + 2000 / RESULT + IF RESULT NOT = 16 + DISPLAY "NOT +20 16: " RESULT. + + IF FENCE-A NOT = FENCE + DISPLAY 'broken FENCE-A' UPON SYSERR. + IF FENCE-B NOT = FENCE + DISPLAY 'broken FENCE-B' UPON SYSERR. + + STOP RUN. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2230: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:2230" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:2230" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:2231: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:2231" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:2231" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1304 +#AT_START_1305 +at_fn_group_banner 1305 'data_packed.at:2236' \ + "MOVE between several BCD fields" " " 5 +at_xfail=no +( + printf "%s\n" "1305. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was originally generated and contributed by Chuck Haatvedt. +# It tests a huge amount of MOVE between BCD fields with different +# attributes (size, decimal places, sign, sign nible) and +# checks for the expected hexadecimal value after the MOVE. +# The initial test was split later to be compilable without issues on +# "small tin" and also to make it easier for checking tools to insert +# additional debug code - without forcing the compiler to work too hard +# to compile / link that. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTEST-MOVE1. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0001A PIC 9(08)V9(19) COMP-3 + VALUE 72210483.5706116943150334464. + 77 FLD0001C PIC 9(01) COMP-6. + + 77 FLD0002A PIC 9(05)V9(26) COMP-6 + VALUE 83954.98773698940597753903603006. + 77 FLD0002C PIC 9(05)V9(27) COMP-6. + + 77 FLD0003A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0003C PIC 9(10)V9(08) COMP-6. + + 77 FLD0004A PIC S9(08)V9(03) COMP-3 + VALUE +31348416.669. + 77 FLD0004C PIC 9(05)V9(01) COMP-6. + + 77 FLD0005A PIC S9(07)V9(01) COMP-3 + VALUE +2337334.8. + 77 FLD0005C PIC S9(09)V9(03) COMP-3. + + 77 FLD0006A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0006C PIC 9(03)V9(31) COMP-3. + + 77 FLD0007A PIC S9(04) COMP-3 + VALUE +1123. + 77 FLD0007C PIC S9(08)V9(02) COMP-3. + + 77 FLD0008A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0008C PIC S9(03) COMP-3. + + 77 FLD0009A PIC 9(10)V9(07) COMP-6 + VALUE 4695987895.4491957. + 77 FLD0009C PIC 9(05)V9(28) COMP-3. + + 77 FLD0010A PIC 9(03)V9(32) COMP-3 + VALUE 932.59120224122482589734772773226723. + 77 FLD0010C PIC S9(09)V9(06) COMP-3. + + 77 FLD0011A PIC 9(09)V9(04) COMP-6 + VALUE 356168291.4830. + 77 FLD0011C PIC 9(04)V9(29) COMP-6. + + 77 FLD0012A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0012C PIC 9(08)V9(19) COMP-3. + + 77 FLD0013A PIC 9(06)V9(25) COMP-6 + VALUE 829630.0004717120923913853403064. + 77 FLD0013C PIC 9(07)V9(02) COMP-6. + + 77 FLD0014A PIC 9(09)V9(13) COMP-3 + VALUE 592943121.2490873237541. + 77 FLD0014C PIC 9(06)V9(01) COMP-6. + + 77 FLD0015A PIC 9(07)V9(23) COMP-6 + VALUE 7984732.71412134533164817185024. + 77 FLD0015C PIC 9(10)V9(08) COMP-6. + + 77 FLD0016A PIC 9(05)V9(28) COMP-3 + VALUE 87275.9557853607148558694461826235. + 77 FLD0016C PIC S9(10)V9(06) COMP-3. + + 77 FLD0017A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0017C PIC 9(04)V9(30) COMP-6. + + 77 FLD0018A PIC 9(07)V9(21) COMP-3 + VALUE 7619026.805277494540646898713. + 77 FLD0018C PIC S9(01) COMP-3. + + 77 FLD0019A PIC S9(10)V9(08) COMP-3 + VALUE -4930528885.68236813. + 77 FLD0019C PIC S9(09)V9(06) COMP-3. + + 77 FLD0020A PIC 9(09)V9(15) COMP-3 + VALUE 643887452.720044328735582. + 77 FLD0020C PIC 9(09)V9(11) COMP-3. + + 77 FLD0021A PIC 9(01)V9(36) COMP-6 + VALUE 9.880441680787707126043528660375159233. + 77 FLD0021C PIC S9(01) COMP-3. + + 77 FLD0022A PIC 9(06)V9(24) COMP-3 + VALUE 810040.192546636172998830716096. + 77 FLD0022C PIC 9(07)V9(21) COMP-3. + + 77 FLD0023A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0023C PIC 9(02)V9(34) COMP-3. + + 77 FLD0024A PIC 9(09)V9(03) COMP-6 + VALUE 329406009.124. + 77 FLD0024C PIC S9(09)V9(06) COMP-3. + + 77 FLD0025A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0025C PIC 9(07)V9(02) COMP-6. + + 77 FLD0026A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0026C PIC S9(09)V9(05) COMP-3. + + 77 FLD0027A PIC 9(09)V9(13) COMP-3 + VALUE 601026867.0937520818498. + 77 FLD0027C PIC 9(06)V9(25) COMP-6. + + 77 FLD0028A PIC 9(04)V9(29) COMP-6 + VALUE 8794.72782911061568000832266989164. + 77 FLD0028C PIC S9(01) COMP-3. + + 77 FLD0029A PIC 9(05) COMP-6 + VALUE 13697. + 77 FLD0029C PIC 9(09)V9(17) COMP-3. + + 77 FLD0030A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0030C PIC 9(08)V9(18) COMP-3. + + 77 FLD0031A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0031C PIC 9(08)V9(18) COMP-3. + + 77 FLD0032A PIC 9(10)V9(10) COMP-6 + VALUE 5269599769.4606222516. + 77 FLD0032C PIC S9(09)V9(03) COMP-3. + + 77 FLD0033A PIC 9(09)V9(15) COMP-3 + VALUE 641903038.069859710468278. + 77 FLD0033C PIC 9(09)V9(03) COMP-6. + + 77 FLD0034A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0034C PIC S9(07)V9(01) COMP-3. + + 77 FLD0035A PIC 9(06)V9(25) COMP-6 + VALUE 816285.5924199176049782522568420. + 77 FLD0035C PIC 9(07)V9(01) COMP-6. + + 77 FLD0036A PIC 9(01)V9(36) COMP-6 + VALUE 9.789384107274801127829277902492322027. + 77 FLD0036C PIC 9(05)V9(27) COMP-6. + + 77 FLD0037A PIC 9(10)V9(11) COMP-6 + VALUE 5559560836.79804091701. + 77 FLD0037C PIC S9(05) COMP-3. + + 77 FLD0038A PIC 9(02)V9(34) COMP-6 + VALUE 95.5897506417712539139586169767426326. + 77 FLD0038C PIC 9(06)V9(25) COMP-6. + + 77 FLD0039A PIC 9(04)V9(29) COMP-3 + VALUE 8933.20399454893721014059337903745. + 77 FLD0039C PIC 9(06)V9(01) COMP-6. + + 77 FLD0040A PIC S9(06) COMP-3 + VALUE -162227. + 77 FLD0040C PIC S9(03) COMP-3. + + 77 FLD0041A PIC 9(09)V9(17) COMP-6 + VALUE 687709210.19485042879892944. + 77 FLD0041C PIC 9(10)V9(09) COMP-3. + + 77 FLD0042A PIC 9(07)V9(22) COMP-6 + VALUE 7680734.5400734650109342283030. + 77 FLD0042C PIC 9(10)V9(10) COMP-6. + + 77 FLD0043A PIC S9(08)V9(02) COMP-3 + VALUE -28038049.48. + 77 FLD0043C PIC 9(04)V9(30) COMP-3. + + 77 FLD0044A PIC 9(06)V9(01) COMP-6 + VALUE 206224.3. + 77 FLD0044C PIC 9(09)V9(04) COMP-6. + + 77 FLD0045A PIC 9(08)V9(02) COMP-6 + VALUE 28592495.81. + 77 FLD0045C PIC 9(09)V9(05) COMP-6. + + 77 FLD0046A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0046C PIC 9(05)V9(27) COMP-3. + + 77 FLD0047A PIC 9(08)V9(02) COMP-6 + VALUE 26966592.97. + 77 FLD0047C PIC 9(10)V9(08) COMP-6. + + 77 FLD0048A PIC 9(05)V9(26) COMP-6 + VALUE 83962.84254838164429202151950448. + 77 FLD0048C PIC S9(05)V9(01) COMP-3. + + 77 FLD0049A PIC 9(09)V9(16) COMP-6 + VALUE 677621907.0336453320635428. + 77 FLD0049C PIC 9(01)V9(36) COMP-6. + + 77 FLD0050A PIC 9(09)V9(03) COMP-6 + VALUE 329667670.988. + 77 FLD0050C PIC 9(09)V9(06) COMP-6. + + 77 FLD0051A PIC 9(09)V9(15) COMP-3 + VALUE 643375703.689413991348544. + 77 FLD0051C PIC 9(04)V9(30) COMP-6. + + 77 FLD0052A PIC 9(09)V9(04) COMP-6 + VALUE 367200483.8576. + 77 FLD0052C PIC 9(09)V9(11) COMP-3. + + 77 FLD0053A PIC 9(07)V9(01) COMP-6 + VALUE 2260324.6. + 77 FLD0053C PIC S9(09)V9(04) COMP-3. + + 77 FLD0054A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0054C PIC 9(09)V9(03) COMP-6. + + 77 FLD0055A PIC 9(09)V9(14) COMP-3 + VALUE 622232417.66982828604426. + 77 FLD0055C PIC 9(08)V9(17) COMP-3. + + 77 FLD0056A PIC 9(07)V9(01) COMP-6 + VALUE 2161993.9. + 77 FLD0056C PIC 9(08)V9(02) COMP-6. + + 77 FLD0057A PIC 9(03)V9(32) COMP-6 + VALUE 929.20878243011406638629523513372987. + 77 FLD0057C PIC S9(02) COMP-3. + + 77 FLD0058A PIC 9(02)V9(34) COMP-6 + VALUE 96.6574119281082611010447180888149887. + 77 FLD0058C PIC S9(09)V9(04) COMP-3. + + 77 FLD0059A PIC 9(07)V9(02) COMP-6 + VALUE 2566438.61. + 77 FLD0059C PIC 9(09)V9(14) COMP-6. + + 77 FLD0060A PIC 9(01)V9(36) COMP-6 + VALUE 9.888752946983269120906356874911580234. + 77 FLD0060C PIC 9(06) COMP-6. + + 77 FLD0061A PIC 9(03) COMP-6 + VALUE 095. + 77 FLD0061C PIC 9(06)V9(25) COMP-6. + + 77 FLD0062A PIC 9(10)V9(11) COMP-6 + VALUE 5579259193.81647705819. + 77 FLD0062C PIC 9(09)V9(13) COMP-3. + + 77 FLD0063A PIC S9(07)V9(01) COMP-3 + VALUE +2106925.6. + 77 FLD0063C PIC 9(08)V9(19) COMP-3. + + 77 FLD0064A PIC 9(06)V9(25) COMP-6 + VALUE 828553.1635867423583263757791428. + 77 FLD0064C PIC S9(04) COMP-3. + + 77 FLD0065A PIC 9(08)V9(02) COMP-6 + VALUE 26934154.73. + 77 FLD0065C PIC S9(04) COMP-3. + + 77 FLD0066A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0066C PIC 9(05)V9(27) COMP-3. + + 77 FLD0067A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0067C PIC S9(01) COMP-3. + + 77 FLD0068A PIC 9(06)V9(25) COMP-6 + VALUE 838055.6814082209537986045688739. + 77 FLD0068C PIC 9(01) COMP-6. + + 77 FLD0069A PIC 9(10)V9(08) COMP-6 + VALUE 4880885916.76487937. + 77 FLD0069C PIC 9(03) COMP-6. + + 77 FLD0070A PIC 9(08)V9(18) COMP-6 + VALUE 69654747.914044090606466852. + 77 FLD0070C PIC S9(06)V9(01) COMP-3. + + 77 FLD0071A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0071C PIC 9(04) COMP-6. + + 77 FLD0072A PIC 9(01)V9(36) COMP-3 + VALUE 9.925387953744267965916492357791867107. + 77 FLD0072C PIC 9(09)V9(15) COMP-6. + + 77 FLD0073A PIC 9(01)V9(36) COMP-3 + VALUE 9.812328554525302504174533169134519994. + 77 FLD0073C PIC 9(08)V9(18) COMP-6. + + 77 FLD0074A PIC 9(03)V9(32) COMP-6 + VALUE 925.84903592679257400277492706663906. + 77 FLD0074C PIC 9(01)V9(36) COMP-3. + + 77 FLD0075A PIC 9(10)V9(10) COMP-3 + VALUE 5446083738.8683014381. + 77 FLD0075C PIC S9(07)V9(01) COMP-3. + + 77 FLD0076A PIC S9(07)V9(02) COMP-3 + VALUE +2412584.18. + 77 FLD0076C PIC 9(02)V9(34) COMP-3. + + 77 FLD0077A PIC 9(10)V9(08) COMP-6 + VALUE 4971042025.86989840. + 77 FLD0077C PIC 9(05)V9(28) COMP-6. + + 77 FLD0078A PIC 9(06)V9(01) COMP-6 + VALUE 186044.2. + 77 FLD0078C PIC 9(10)V9(10) COMP-6. + + 77 FLD0079A PIC 9(09)V9(15) COMP-6 + VALUE 638119223.314542294289708. + 77 FLD0079C PIC S9(03) COMP-3. + + 77 FLD0080A PIC 9(07)V9(23) COMP-3 + VALUE 7905587.67133311302011122734256. + 77 FLD0080C PIC S9(09)V9(04) COMP-3. + + 77 FLD0081A PIC 9(01)V9(36) COMP-6 + VALUE 9.951308658902108250643436804239172488. + 77 FLD0081C PIC 9(09)V9(04) COMP-6. + + 77 FLD0082A PIC S9(08)V9(02) COMP-3 + VALUE -26324419.10. + 77 FLD0082C PIC 9(07)V9(22) COMP-6. + + 77 FLD0083A PIC 9(09)V9(14) COMP-3 + VALUE 631384121.39469823891602. + 77 FLD0083C PIC S9(07)V9(02) COMP-3. + + 77 FLD0084A PIC 9(04)V9(29) COMP-3 + VALUE 8913.08379718931953483718189090723. + 77 FLD0084C PIC 9(09)V9(06) COMP-6. + + 77 FLD0085A PIC 9(05) COMP-6 + VALUE 15779. + 77 FLD0085C PIC 9(10)V9(06) COMP-6. + + 77 FLD0086A PIC 9(01)V9(36) COMP-6 + VALUE 9.766547774737049936177868403319735080. + 77 FLD0086C PIC 9(10)V9(11) COMP-3. + + 77 FLD0087A PIC 9(09)V9(14) COMP-6 + VALUE 617158605.01368802193411. + 77 FLD0087C PIC 9(04) COMP-6. + + 77 FLD0088A PIC 9(10)V9(12) COMP-3 + VALUE 5809468198.000283800652. + 77 FLD0088C PIC 9(09)V9(03) COMP-6. + + 77 FLD0089A PIC 9(06)V9(24) COMP-3 + VALUE 802942.222446262787727278009697. + 77 FLD0089C PIC 9(03)V9(31) COMP-3. + + 77 FLD0090A PIC S9(08)V9(02) COMP-3 + VALUE -28271627.31. + 77 FLD0090C PIC S9(08)V9(03) COMP-3. + + 77 FLD0091A PIC 9(09)V9(07) COMP-6 + VALUE 438808038.0901770. + 77 FLD0091C PIC 9(08)V9(18) COMP-6. + + 77 FLD0092A PIC S9(07)V9(01) COMP-3 + VALUE +2146587.0. + 77 FLD0092C PIC 9(06)V9(25) COMP-6. + + 77 FLD0093A PIC 9(06)V9(25) COMP-3 + VALUE 831848.6927757260396276706160278. + 77 FLD0093C PIC 9(07)V9(23) COMP-3. + + 77 FLD0094A PIC 9(07)V9(01) COMP-6 + VALUE 2260698.5. + 77 FLD0094C PIC 9(10)V9(10) COMP-3. + + 77 FLD0095A PIC 9(07)V9(22) COMP-6 + VALUE 7681159.7607563408818265315858. + 77 FLD0095C PIC 9(06)V9(25) COMP-6. + + 77 FLD0096A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0096C PIC 9(05)V9(28) COMP-6. + + 77 FLD0097A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0097C PIC 9(07)V9(22) COMP-6. + + 77 FLD0098A PIC 9(05)V9(28) COMP-6 + VALUE 87637.1310136299430659789777564583. + 77 FLD0098C PIC 9(08)V9(04) COMP-6. + + 77 FLD0099A PIC S9(10)V9(08) COMP-3 + VALUE -4946809917.70565292. + 77 FLD0099C PIC S9(08)V9(03) COMP-3. + + 77 FLD0100A PIC 9(10)V9(09) COMP-3 + VALUE 5148281813.288457797. + 77 FLD0100C PIC 9(09)V9(14) COMP-6. + + 77 FLD0101A PIC S9(07)V9(02) COMP-3 + VALUE -2605358.58. + 77 FLD0101C PIC S9(07)V9(02) COMP-3. + + 77 FLD0102A PIC 9(05) COMP-6 + VALUE 13880. + 77 FLD0102C PIC 9(09)V9(14) COMP-6. + + 77 FLD0103A PIC 9(03)V9(32) COMP-6 + VALUE 929.51599988912647631877916865050792. + 77 FLD0103C PIC 9(01) COMP-6. + + 77 FLD0104A PIC 9(07)V9(01) COMP-6 + VALUE 2254306.3. + 77 FLD0104C PIC S9(10)V9(08) COMP-3. + + 77 FLD0105A PIC S9(08)V9(03) COMP-3 + VALUE -29081388.428. + 77 FLD0105C PIC 9(08)V9(02) COMP-6. + + 77 FLD0106A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0106C PIC S9(08)V9(02) COMP-3. + + 77 FLD0107A PIC 9(09)V9(16) COMP-6 + VALUE 677462443.7557797973497031. + 77 FLD0107C PIC 9(08)V9(19) COMP-6. + + 77 FLD0108A PIC 9(09)V9(14) COMP-3 + VALUE 610210882.31341436003418. + 77 FLD0108C PIC S9(08)V9(02) COMP-3. + + 77 FLD0109A PIC S9(04) COMP-3 + VALUE +1136. + 77 FLD0109C PIC 9(04)V9(30) COMP-3. + + 77 FLD0110A PIC 9(07)V9(23) COMP-3 + VALUE 7940109.55673497886841971649118. + 77 FLD0110C PIC 9(08)V9(18) COMP-6. + + 77 FLD0111A PIC 9(09)V9(03) COMP-6 + VALUE 326472185.831. + 77 FLD0111C PIC 9(10)V9(09) COMP-6. + + 77 FLD0112A PIC 9(08)V9(19) COMP-3 + VALUE 71238052.4624002697819946661. + 77 FLD0112C PIC S9(08)V9(02) COMP-3. + + 77 FLD0113A PIC 9(04)V9(30) COMP-6 + VALUE 9092.566324157485002643852567416615. + 77 FLD0113C PIC 9(04) COMP-6. + + 77 FLD0114A PIC 9(09)V9(07) COMP-6 + VALUE 437805064.1539988. + 77 FLD0114C PIC 9(05)V9(01) COMP-6. + + 77 FLD0115A PIC 9(02)V9(34) COMP-3 + VALUE 96.2362934933669089687668929400388151. + 77 FLD0115C PIC S9(08)V9(03) COMP-3. + + 77 FLD0116A PIC 9(07)V9(22) COMP-3 + VALUE 7646463.4359510952332783517704. + 77 FLD0116C PIC 9(01) COMP-6. + + 77 FLD0117A PIC 9(09)V9(14) COMP-6 + VALUE 617509561.34001855346582. + 77 FLD0117C PIC 9(05) COMP-6. + + 77 FLD0118A PIC 9(10)V9(10) COMP-3 + VALUE 5408402726.5490597358. + 77 FLD0118C PIC S9(03) COMP-3. + + 77 FLD0119A PIC S9(08)V9(03) COMP-3 + VALUE +30078875.458. + 77 FLD0119C PIC 9(07)V9(02) COMP-6. + + 77 FLD0120A PIC 9(06)V9(25) COMP-3 + VALUE 830160.1137616416714593015058198. + 77 FLD0120C PIC S9(02) COMP-3. + + 77 FLD0121A PIC S9(07)V9(01) COMP-3 + VALUE +2338292.2. + 77 FLD0121C PIC S9(09)V9(03) COMP-3. + + 77 FLD0122A PIC S9(06)V9(01) COMP-3 + VALUE -184951.8. + 77 FLD0122C PIC 9(08)V9(02) COMP-6. + + 77 FLD0123A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0123C PIC 9(07)V9(21) COMP-3. + + 77 FLD0124A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0124C PIC S9(10)V9(06) COMP-3. + + 77 FLD0125A PIC 9(04)V9(29) COMP-3 + VALUE 8800.31826789913984576685379579430. + 77 FLD0125C PIC 9(09)V9(15) COMP-6. + + 77 FLD0126A PIC 9(06)V9(24) COMP-6 + VALUE 807990.071015203703552742808824. + 77 FLD0126C PIC 9(07)V9(01) COMP-6. + + 77 FLD0127A PIC 9(04)V9(30) COMP-6 + VALUE 8981.860178820127993404298649693373. + 77 FLD0127C PIC 9(05)V9(28) COMP-6. + + 77 FLD0128A PIC 9(10)V9(06) COMP-6 + VALUE 4298489587.591516. + 77 FLD0128C PIC 9(08)V9(02) COMP-6. + + 77 FLD0129A PIC S9(08)V9(04) COMP-3 + VALUE +33460508.1048. + 77 FLD0129C PIC 9(09)V9(14) COMP-6. + + 77 FLD0130A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0130C PIC 9(08)V9(03) COMP-6. + + 77 FLD0131A PIC 9(08)V9(02) COMP-6 + VALUE 26916210.05. + 77 FLD0131C PIC 9(08)V9(18) COMP-6. + + 77 FLD0132A PIC 9(04) COMP-6 + VALUE 1270. + 77 FLD0132C PIC 9(07)V9(01) COMP-6. + + 77 FLD0133A PIC 9(01)V9(36) COMP-6 + VALUE 9.890353542063604619372085835493635386. + 77 FLD0133C PIC S9(07)V9(02) COMP-3. + + 77 FLD0134A PIC 9(08)V9(18) COMP-3 + VALUE 70385499.741438917187252855. + 77 FLD0134C PIC 9(09)V9(16) COMP-3. + + 77 FLD0135A PIC 9(10)V9(07) COMP-6 + VALUE 4678335500.0128495. + 77 FLD0135C PIC 9(07)V9(02) COMP-6. + + 77 FLD0136A PIC S9(05) COMP-3 + VALUE -15169. + 77 FLD0136C PIC 9(08)V9(19) COMP-3. + + 77 FLD0137A PIC S9(08)V9(02) COMP-3 + VALUE -27190319.39. + 77 FLD0137C PIC 9(03)V9(32) COMP-3. + + 77 FLD0138A PIC S9(10)V9(08) COMP-3 + VALUE -4824223828.94490853. + 77 FLD0138C PIC 9(04)V9(30) COMP-6. + + 77 FLD0139A PIC 9(09)V9(03) COMP-6 + VALUE 319644653.394. + 77 FLD0139C PIC 9(06)V9(25) COMP-6. + + 77 FLD0140A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0140C PIC 9(03)V9(31) COMP-3. + + 77 FLD0141A PIC 9(09)V9(14) COMP-3 + VALUE 612266512.11346116987499. + 77 FLD0141C PIC 9(06)V9(01) COMP-6. + + 77 FLD0142A PIC 9(09)V9(04) COMP-6 + VALUE 356201246.7531. + 77 FLD0142C PIC S9(04) COMP-3. + + 77 FLD0143A PIC S9(07)V9(02) COMP-3 + VALUE -2608987.15. + 77 FLD0143C PIC 9(06)V9(01) COMP-6. + + 77 FLD0144A PIC 9(10)V9(11) COMP-6 + VALUE 5664625691.64754570216. + 77 FLD0144C PIC 9(07)V9(01) COMP-6. + + 77 FLD0145A PIC 9(09)V9(13) COMP-3 + VALUE 592809780.4295365813587. + 77 FLD0145C PIC 9(09)V9(06) COMP-6. + + 77 FLD0146A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0146C PIC 9(09)V9(13) COMP-3. + + 77 FLD0147A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0147C PIC 9(10)V9(05) COMP-6. + + 77 FLD0148A PIC 9(04) COMP-6 + VALUE 1189. + 77 FLD0148C PIC 9(08)V9(04) COMP-6. + + 77 FLD0149A PIC 9(05)V9(27) COMP-3 + VALUE 86469.811002464236349140946913394. + 77 FLD0149C PIC S9(02) COMP-3. + + 77 FLD0150A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0150C PIC 9(01)V9(36) COMP-6. + + 77 FLD0151A PIC 9(09)V9(13) COMP-3 + VALUE 602633749.4884196344102. + 77 FLD0151C PIC 9(07)V9(22) COMP-3. + + 77 FLD0152A PIC S9(08)V9(02) COMP-3 + VALUE -28005400.65. + 77 FLD0152C PIC 9(02)V9(34) COMP-6. + + 77 FLD0153A PIC 9(08)V9(18) COMP-3 + VALUE 69246387.672994647033419823. + 77 FLD0153C PIC 9(07)V9(22) COMP-3. + + 77 FLD0154A PIC 9(09)V9(14) COMP-6 + VALUE 618531644.61004783714059. + 77 FLD0154C PIC 9(10)V9(07) COMP-6. + + 77 FLD0155A PIC 9(10)V9(12) COMP-3 + VALUE 5816028861.286740569980. + 77 FLD0155C PIC 9(03)V9(31) COMP-3. + + 77 FLD0156A PIC 9(02)V9(34) COMP-3 + VALUE 95.3830714078202746009083057288080453. + 77 FLD0156C PIC 9(04)V9(30) COMP-6. + + 77 FLD0157A PIC 9(09)V9(16) COMP-6 + VALUE 659745695.0483697735165833. + 77 FLD0157C PIC 9(10)V9(06) COMP-6. + + 77 FLD0158A PIC S9(09)V9(06) COMP-3 + VALUE +412656981.234114. + 77 FLD0158C PIC 9(09)V9(14) COMP-3. + + 77 FLD0159A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0159C PIC 9(09)V9(15) COMP-3. + + 77 FLD0160A PIC 9(08)V9(20) COMP-6 + VALUE 74656107.83998073429756914265. + 77 FLD0160C PIC 9(06)V9(01) COMP-6. + + 77 FLD0161A PIC 9(07)V9(22) COMP-6 + VALUE 7887170.9741627593626134284932. + 77 FLD0161C PIC 9(08)V9(19) COMP-6. + + 77 FLD0162A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0162C PIC 9(10)V9(11) COMP-6. + + 77 FLD0163A PIC 9(09)V9(14) COMP-6 + VALUE 618392824.19829444403802. + 77 FLD0163C PIC 9(09)V9(15) COMP-3. + + 77 FLD0164A PIC S9(06)V9(01) COMP-3 + VALUE +204076.7. + 77 FLD0164C PIC 9(04) COMP-6. + + 77 FLD0165A PIC 9(09)V9(14) COMP-3 + VALUE 610409164.63927785695631. + 77 FLD0165C PIC 9(04) COMP-6. + + 77 FLD0166A PIC 9(07)V9(02) COMP-6 + VALUE 2460589.98. + 77 FLD0166C PIC 9(05)V9(01) COMP-6. + + 77 FLD0167A PIC S9(09)V9(03) COMP-3 + VALUE +323253458.962. + 77 FLD0167C PIC 9(06)V9(25) COMP-6. + + 77 FLD0168A PIC S9(04) COMP-3 + VALUE +1200. + 77 FLD0168C PIC S9(10)V9(06) COMP-3. + + 77 FLD0169A PIC 9(06)V9(25) COMP-3 + VALUE 834885.7368063762329768451309064. + 77 FLD0169C PIC 9(08)V9(18) COMP-6. + + 77 FLD0170A PIC 9(08)V9(19) COMP-3 + VALUE 72325482.4666709539293663056. + 77 FLD0170C PIC 9(01)V9(36) COMP-6. + + 77 FLD0171A PIC 9(09)V9(16) COMP-6 + VALUE 675345293.4675296948086042. + 77 FLD0171C PIC 9(10)V9(06) COMP-6. + + 77 FLD0172A PIC 9(02)V9(34) COMP-3 + VALUE 96.0216523360032936373897882731398567. + 77 FLD0172C PIC 9(04)V9(30) COMP-6. + + 77 FLD0173A PIC S9(09)V9(06) COMP-3 + VALUE +412472914.336663. + 77 FLD0173C PIC 9(10)V9(08) COMP-6. + + 77 FLD0174A PIC S9(04) COMP-3 + VALUE +1244. + 77 FLD0174C PIC 9(10)V9(09) COMP-6. + + 77 FLD0175A PIC S9(05) COMP-3 + VALUE +13456. + 77 FLD0175C PIC S9(02) COMP-3. + + 77 FLD0176A PIC 9(07)V9(23) COMP-3 + VALUE 7902178.74582138546379894705751. + 77 FLD0176C PIC 9(08)V9(03) COMP-6. + + 77 FLD0177A PIC 9(07)V9(21) COMP-3 + VALUE 7618839.577049143496623173632. + 77 FLD0177C PIC 9(07)V9(02) COMP-6. + + 77 FLD0178A PIC 9(09)V9(04) COMP-6 + VALUE 355502105.3348. + 77 FLD0178C PIC S9(08)V9(03) COMP-3. + + 77 FLD0179A PIC 9(09)V9(05) COMP-6 + VALUE 388560564.63472. + 77 FLD0179C PIC 9(03) COMP-6. + + 77 FLD0180A PIC 9(05)V9(27) COMP-6 + VALUE 85946.157652659294079455776227405. + 77 FLD0180C PIC 9(10)V9(10) COMP-3. + + 77 FLD0181A PIC 9(06)V9(01) COMP-6 + VALUE 188908.8. + 77 FLD0181C PIC S9(10)V9(08) COMP-3. + + 77 FLD0182A PIC 9(10)V9(13) COMP-6 + VALUE 6061401860.3468300394609. + 77 FLD0182C PIC 9(09)V9(15) COMP-3. + + 77 FLD0183A PIC 9(07)V9(23) COMP-3 + VALUE 7910108.10526126539876656806882. + 77 FLD0183C PIC S9(02) COMP-3. + + 77 FLD0184A PIC 9(09)V9(15) COMP-6 + VALUE 635945742.812533687526865. + 77 FLD0184C PIC S9(07)V9(01) COMP-3. + + 77 FLD0185A PIC 9(05) COMP-6 + VALUE 15666. + 77 FLD0185C PIC 9(08)V9(20) COMP-6. + + 77 FLD0186A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0186C PIC 9(05)V9(26) COMP-3. + + 77 FLD0187A PIC 9(09)V9(13) COMP-3 + VALUE 604672028.7423602568921. + 77 FLD0187C PIC 9(10)V9(12) COMP-6. + + 77 FLD0188A PIC 9(08)V9(17) COMP-3 + VALUE 68008236.87569536035724127. + 77 FLD0188C PIC 9(07)V9(21) COMP-3. + + 77 FLD0189A PIC 9(10)V9(09) COMP-3 + VALUE 5115071016.238050827. + 77 FLD0189C PIC 9(10)V9(11) COMP-6. + + 77 FLD0190A PIC 9(07)V9(02) COMP-6 + VALUE 2382137.54. + 77 FLD0190C PIC 9(09)V9(14) COMP-6. + + 77 FLD0191A PIC 9(05) COMP-6 + VALUE 13720. + 77 FLD0191C PIC 9(06)V9(24) COMP-3. + + 77 FLD0192A PIC 9(01)V9(36) COMP-6 + VALUE 9.894259454195439840162862310535274446. + 77 FLD0192C PIC 9(09)V9(04) COMP-6. + + 77 FLD0193A PIC 9(10)V9(06) COMP-6 + VALUE 4252943677.090519. + 77 FLD0193C PIC 9(09)V9(14) COMP-3. + + 77 FLD0194A PIC 9(09)V9(06) COMP-6 + VALUE 417168379.939779. + 77 FLD0194C PIC 9(09)V9(15) COMP-3. + + 77 FLD0195A PIC 9(08)V9(02) COMP-6 + VALUE 26645846.45. + 77 FLD0195C PIC 9(05) COMP-6. + + 77 FLD0196A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0196C PIC S9(05)V9(01) COMP-3. + + 77 FLD0197A PIC 9(01)V9(36) COMP-3 + VALUE 9.847788375924405590566834689525421708. + 77 FLD0197C PIC 9(02) COMP-6. + + 77 FLD0198A PIC 9(09)V9(13) COMP-3 + VALUE 593293108.5591157671643. + 77 FLD0198C PIC S9(05) COMP-3. + + 77 FLD0199A PIC 9(07)V9(02) COMP-6 + VALUE 2483287.24. + 77 FLD0199C PIC 9(07)V9(23) COMP-6. + + 77 FLD0200A PIC S9(10)V9(08) COMP-3 + VALUE -4935972790.60619176. + 77 FLD0200C PIC 9(10)V9(07) COMP-6. + + 77 FLD0201A PIC 9(04) COMP-6 + VALUE 1282. + 77 FLD0201C PIC 9(07)V9(23) COMP-3. + + 77 FLD0202A PIC S9(09)V9(04) COMP-3 + VALUE -360603443.7503. + 77 FLD0202C PIC 9(03)V9(32) COMP-6. + + 77 FLD0203A PIC 9(09)V9(14) COMP-6 + VALUE 628607663.38264040253847. + 77 FLD0203C PIC 9(03)V9(31) COMP-3. + + 77 FLD0204A PIC 9(01)V9(35) COMP-3 + VALUE 9.73054030732718233664968465745914727. + 77 FLD0204C PIC 9(07)V9(01) COMP-6. + + 77 FLD0205A PIC 9(09)V9(15) COMP-6 + VALUE 648926914.508991536933990. + 77 FLD0205C PIC 9(09)V9(15) COMP-6. + + 77 FLD0206A PIC 9(06)V9(01) COMP-6 + VALUE 186967.7. + 77 FLD0206C PIC 9(08)V9(18) COMP-6. + + 77 FLD0207A PIC 9(05)V9(26) COMP-6 + VALUE 83944.39242287422553445708217623. + 77 FLD0207C PIC 9(07)V9(21) COMP-3. + + 77 FLD0208A PIC 9(02)V9(34) COMP-6 + VALUE 96.7940040016311842308027735271025449. + 77 FLD0208C PIC 9(07)V9(01) COMP-6. + + 77 FLD0209A PIC 9(03)V9(32) COMP-6 + VALUE 926.61149050802726900855077474261634. + 77 FLD0209C PIC 9(07)V9(23) COMP-6. + + 77 FLD0210A PIC 9(08)V9(19) COMP-3 + VALUE 72323528.1456575562764044207. + 77 FLD0210C PIC 9(01) COMP-6. + + 77 FLD0211A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0211C PIC S9(09)V9(07) COMP-3. + + 77 FLD0212A PIC 9(10)V9(08) COMP-6 + VALUE 4892032792.55731038. + 77 FLD0212C PIC S9(09)V9(05) COMP-3. + + 77 FLD0213A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0213C PIC 9(07)V9(21) COMP-3. + + 77 FLD0214A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0214C PIC 9(09)V9(16) COMP-6. + + 77 FLD0215A PIC 9(03)V9(32) COMP-6 + VALUE 926.34033699271633999217101518297567. + 77 FLD0215C PIC S9(05)V9(01) COMP-3. + + 77 FLD0216A PIC S9(08)V9(02) COMP-3 + VALUE -28095374.87. + 77 FLD0216C PIC 9(08)V9(02) COMP-6. + + 77 FLD0217A PIC 9(08)V9(20) COMP-6 + VALUE 74562962.48658396130792880285. + 77 FLD0217C PIC S9(09)V9(07) COMP-3. + + 77 FLD0218A PIC S9(05)V9(01) COMP-3 + VALUE -18094.6. + 77 FLD0218C PIC 9(01)V9(36) COMP-6. + + 77 FLD0219A PIC 9(09)V9(12) COMP-6 + VALUE 578788992.127507229135. + 77 FLD0219C PIC 9(10)V9(10) COMP-6. + + 77 FLD0220A PIC 9(09)V9(12) COMP-3 + VALUE 573343525.907533679841. + 77 FLD0220C PIC S9(05) COMP-3. + + 77 FLD0221A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0221C PIC 9(04)V9(29) COMP-6. + + 77 FLD0222A PIC 9(09)V9(14) COMP-6 + VALUE 628182805.25174396977661. + 77 FLD0222C PIC S9(05) COMP-3. + + 77 FLD0223A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0223C PIC 9(08)V9(18) COMP-6. + + 77 FLD0224A PIC 9(06)V9(25) COMP-6 + VALUE 838187.2267509891116787912324070. + 77 FLD0224C PIC S9(09)V9(05) COMP-3. + + 77 FLD0225A PIC 9(05) COMP-6 + VALUE 13797. + 77 FLD0225C PIC 9(09)V9(12) COMP-3. + + 77 FLD0226A PIC 9(05) COMP-6 + VALUE 14900. + 77 FLD0226C PIC S9(07)V9(01) COMP-3. + + 77 FLD0227A PIC 9(09)V9(14) COMP-6 + VALUE 629583055.15940859997670. + 77 FLD0227C PIC 9(04)V9(30) COMP-6. + + 77 FLD0228A PIC S9(07)V9(01) COMP-3 + VALUE +2225916.3. + 77 FLD0228C PIC 9(01)V9(36) COMP-3. + + 77 FLD0229A PIC 9(01)V9(36) COMP-6 + VALUE 9.870473603260505601753038718015886843. + 77 FLD0229C PIC 9(08)V9(20) COMP-6. + + 77 FLD0230A PIC S9(06)V9(01) COMP-3 + VALUE +201492.2. + 77 FLD0230C PIC S9(02) COMP-3. + + 77 FLD0231A PIC 9(05)V9(28) COMP-6 + VALUE 87781.6812716511907233041256404248. + 77 FLD0231C PIC S9(08)V9(02) COMP-3. + + 77 FLD0232A PIC 9(09)V9(04) COMP-6 + VALUE 356308264.5328. + 77 FLD0232C PIC 9(06)V9(25) COMP-3. + + 77 FLD0233A PIC 9(07)V9(21) COMP-6 + VALUE 7552156.809035388551620826547. + 77 FLD0233C PIC 9(08)V9(04) COMP-6. + + 77 FLD0234A PIC 9(08)V9(04) COMP-6 + VALUE 33831052.6754. + 77 FLD0234C PIC 9(09)V9(13) COMP-3. + + 77 FLD0235A PIC S9(05) COMP-3 + VALUE +14123. + 77 FLD0235C PIC S9(10)V9(08) COMP-3. + + 77 FLD0236A PIC 9(04)V9(29) COMP-3 + VALUE 8818.23528289915170574886360554955. + 77 FLD0236C PIC 9(08)V9(18) COMP-3. + + 77 FLD0237A PIC 9(08)V9(02) COMP-6 + VALUE 28742037.59. + 77 FLD0237C PIC 9(04)V9(29) COMP-6. + + 77 FLD0238A PIC 9(09)V9(15) COMP-3 + VALUE 634521096.430120334908053. + 77 FLD0238C PIC 9(06)V9(01) COMP-6. + + 77 FLD0239A PIC 9(09)V9(16) COMP-6 + VALUE 678585779.2924817610824561. + 77 FLD0239C PIC 9(09)V9(14) COMP-3. + + 77 FLD0240A PIC 9(10)V9(06) COMP-6 + VALUE 4289853576.446766. + 77 FLD0240C PIC 9(06)V9(25) COMP-3. + + 77 FLD0241A PIC S9(05) COMP-3 + VALUE +14407. + 77 FLD0241C PIC 9(09)V9(14) COMP-6. + + 77 FLD0242A PIC 9(10)V9(12) COMP-6 + VALUE 5860383854.989427154791. + 77 FLD0242C PIC S9(06)V9(01) COMP-3. + + 77 FLD0243A PIC 9(02)V9(34) COMP-3 + VALUE 97.0409660969254295181940506154205650. + 77 FLD0243C PIC 9(05)V9(28) COMP-6. + + 77 FLD0244A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0244C PIC 9(09)V9(13) COMP-6. + + 77 FLD0245A PIC S9(09)V9(05) COMP-3 + VALUE -371716886.14542. + 77 FLD0245C PIC 9(09)V9(15) COMP-6. + + 77 FLD0246A PIC 9(05)V9(28) COMP-3 + VALUE 87216.9313623637143528810611314838. + 77 FLD0246C PIC 9(06)V9(01) COMP-6. + + 77 FLD0247A PIC 9(06)V9(25) COMP-3 + VALUE 834494.8214770686600871840710169. + 77 FLD0247C PIC 9(08)V9(19) COMP-3. + + 77 FLD0248A PIC 9(04)V9(29) COMP-6 + VALUE 8885.56418584546814365410227765096. + 77 FLD0248C PIC 9(10)V9(11) COMP-6. + + 77 FLD0249A PIC 9(09)V9(16) COMP-6 + VALUE 678470839.5950102000071524. + 77 FLD0249C PIC 9(09)V9(16) COMP-3. + + 77 FLD0250A PIC 9(09)V9(15) COMP-3 + VALUE 643468324.926731005675151. + 77 FLD0250C PIC 9(04)V9(30) COMP-6. + + 77 FLD0251A PIC S9(09)V9(06) COMP-3 + VALUE +402548910.007195. + 77 FLD0251C PIC 9(06)V9(25) COMP-3. + + 77 FLD0252A PIC S9(05)V9(01) COMP-3 + VALUE -18339.3. + 77 FLD0252C PIC S9(07)V9(01) COMP-3. + + 77 FLD0253A PIC 9(06)V9(25) COMP-3 + VALUE 822593.8518184680026124055984837. + 77 FLD0253C PIC 9(07)V9(01) COMP-6. + + 77 FLD0254A PIC 9(10)V9(10) COMP-3 + VALUE 5401895692.3872574193. + 77 FLD0254C PIC S9(07)V9(02) COMP-3. + + 77 FLD0255A PIC 9(02)V9(34) COMP-6 + VALUE 94.8299297085154591080424779647728428. + 77 FLD0255C PIC 9(10)V9(10) COMP-3. + + 77 FLD0256A PIC S9(09)V9(08) COMP-3 + VALUE -473179644.06591722. + 77 FLD0256C PIC 9(04)V9(30) COMP-3. + + 77 FLD0257A PIC 9(09)V9(12) COMP-6 + VALUE 577029491.737192756772. + 77 FLD0257C PIC S9(03) COMP-3. + + 77 FLD0258A PIC 9(10)V9(12) COMP-3 + VALUE 5908893351.960881057394. + 77 FLD0258C PIC 9(05)V9(27) COMP-6. + + 77 FLD0259A PIC 9(03)V9(32) COMP-6 + VALUE 937.55337057593879368511124994256533. + 77 FLD0259C PIC S9(09)V9(05) COMP-3. + + 77 FLD0260A PIC 9(05)V9(27) COMP-6 + VALUE 86648.984966754782899300835197209. + 77 FLD0260C PIC 9(09)V9(13) COMP-3. + + 77 FLD0261A PIC S9(09)V9(05) COMP-3 + VALUE -374213925.47904. + 77 FLD0261C PIC 9(09)V9(05) COMP-6. + + 77 FLD0262A PIC S9(05)V9(01) COMP-3 + VALUE -17015.9. + 77 FLD0262C PIC 9(09)V9(17) COMP-6. + + 77 FLD0263A PIC 9(05)V9(26) COMP-3 + VALUE 84046.29767805690265802809335582. + 77 FLD0263C PIC S9(02) COMP-3. + + 77 FLD0264A PIC 9(03)V9(32) COMP-6 + VALUE 935.78568596491340514376133796758949. + 77 FLD0264C PIC 9(05)V9(01) COMP-6. + + 77 FLD0265A PIC S9(09)V9(05) COMP-3 + VALUE -380334582.15301. + 77 FLD0265C PIC 9(01)V9(36) COMP-6. + + 77 FLD0266A PIC 9(05)V9(27) COMP-6 + VALUE 84707.693570856212872399737534578. + 77 FLD0266C PIC 9(02)V9(34) COMP-3. + + 77 FLD0267A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0267C PIC S9(07)V9(01) COMP-3. + + 77 FLD0268A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0268C PIC 9(06)V9(25) COMP-3. + + 77 FLD0269A PIC 9(08)V9(18) COMP-6 + VALUE 69955495.182247551255727557. + 77 FLD0269C PIC 9(01) COMP-6. + + 77 FLD0270A PIC 9(08)V9(18) COMP-6 + VALUE 69584936.933990082508216801. + 77 FLD0270C PIC S9(04) COMP-3. + + 77 FLD0271A PIC 9(10)V9(07) COMP-6 + VALUE 4478155927.4435323. + 77 FLD0271C PIC 9(07)V9(02) COMP-6. + + 77 FLD0272A PIC S9(09)V9(06) COMP-3 + VALUE +411514667.070764. + 77 FLD0272C PIC S9(10)V9(08) COMP-3. + + 77 FLD0273A PIC 9(10)V9(07) COMP-6 + VALUE 4698099460.5024867. + 77 FLD0273C PIC S9(10)V9(06) COMP-3. + + 77 FLD0274A PIC 9(07)V9(01) COMP-6 + VALUE 2190249.4. + 77 FLD0274C PIC 9(10)V9(10) COMP-6. + + 77 FLD0275A PIC 9(04) COMP-6 + VALUE 1157. + 77 FLD0275C PIC S9(07)V9(02) COMP-3. + + 77 FLD0276A PIC 9(04)V9(30) COMP-3 + VALUE 9021.044697283423507983002309629227. + 77 FLD0276C PIC 9(02)V9(33) COMP-6. + + 77 FLD0277A PIC 9(01)V9(36) COMP-3 + VALUE 9.749582162084949876756923003995325416. + 77 FLD0277C PIC 9(10)V9(08) COMP-6. + + 77 FLD0278A PIC 9(10)V9(06) COMP-6 + VALUE 4251062706.993476. + 77 FLD0278C PIC 9(03)V9(31) COMP-3. + + 77 FLD0279A PIC S9(08)V9(02) COMP-3 + VALUE -27159201.10. + 77 FLD0279C PIC 9(03)V9(32) COMP-3. + + 77 FLD0280A PIC 9(07)V9(02) COMP-6 + VALUE 2571968.92. + 77 FLD0280C PIC 9(08)V9(19) COMP-3. + + 77 FLD0281A PIC S9(09)V9(04) COMP-3 + VALUE +342861689.3811. + 77 FLD0281C PIC 9(10)V9(07) COMP-6. + + 77 FLD0282A PIC S9(10)V9(07) COMP-3 + VALUE -4600147325.4430291. + 77 FLD0282C PIC 9(07)V9(22) COMP-6. + + 77 FLD0283A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0283C PIC S9(05)V9(01) COMP-3. + + 77 FLD0284A PIC 9(09)V9(17) COMP-6 + VALUE 689733171.20512533939802324. + 77 FLD0284C PIC 9(01) COMP-6. + + 77 FLD0285A PIC 9(03)V9(32) COMP-6 + VALUE 928.78828230193799520009179104818031. + 77 FLD0285C PIC 9(08)V9(20) COMP-6. + + 77 FLD0286A PIC 9(08)V9(18) COMP-3 + VALUE 70426964.322731444578806758. + 77 FLD0286C PIC 9(07)V9(01) COMP-6. + + 77 FLD0287A PIC S9(07)V9(02) COMP-3 + VALUE -2521413.84. + 77 FLD0287C PIC 9(06) COMP-6. + + 77 FLD0288A PIC 9(09)V9(17) COMP-6 + VALUE 688074525.02240640246355951. + 77 FLD0288C PIC 9(04)V9(29) COMP-3. + + 77 FLD0289A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0289C PIC 9(10)V9(11) COMP-6. + + 77 FLD0290A PIC S9(09)V9(05) COMP-3 + VALUE -382951207.35442. + 77 FLD0290C PIC S9(03) COMP-3. + + 77 FLD0291A PIC 9(01)V9(36) COMP-6 + VALUE 9.859384124391753490002088256005663424. + 77 FLD0291C PIC 9(06)V9(25) COMP-3. + + 77 FLD0292A PIC S9(08)V9(03) COMP-3 + VALUE +31020519.916. + 77 FLD0292C PIC 9(01) COMP-6. + + 77 FLD0293A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0293C PIC 9(08)V9(03) COMP-6. + + 77 FLD0294A PIC S9(09)V9(06) COMP-3 + VALUE +412445339.504106. + 77 FLD0294C PIC 9(01) COMP-6. + + 77 FLD0295A PIC S9(07)V9(02) COMP-3 + VALUE -2502548.06. + 77 FLD0295C PIC S9(07)V9(01) COMP-3. + + 77 FLD0296A PIC S9(06) COMP-3 + VALUE -160918. + 77 FLD0296C PIC 9(09)V9(12) COMP-3. + + 77 FLD0297A PIC 9(08)V9(03) COMP-6 + VALUE 30843552.269. + 77 FLD0297C PIC 9(10)V9(09) COMP-6. + + 77 FLD0298A PIC S9(10)V9(08) COMP-3 + VALUE -4831587379.88150510. + 77 FLD0298C PIC 9(01)V9(36) COMP-6. + + 77 FLD0299A PIC 9(10)V9(13) COMP-6 + VALUE 6064872573.5835784522720. + 77 FLD0299C PIC 9(09)V9(16) COMP-6. + + 77 FLD0300A PIC 9(08)V9(20) COMP-6 + VALUE 73956142.30661028409841151187. + 77 FLD0300C PIC 9(09)V9(14) COMP-3. + + 77 FLD0301A PIC S9(10)V9(07) COMP-3 + VALUE -4524568495.0704084. + 77 FLD0301C PIC S9(01) COMP-3. + + 77 FLD0302A PIC 9(02)V9(34) COMP-6 + VALUE 94.9764690231816866017311440373305231. + 77 FLD0302C PIC 9(10)V9(06) COMP-6. + + 77 FLD0303A PIC 9(01)V9(36) COMP-6 + VALUE 9.998247249142951931233369577967096120. + 77 FLD0303C PIC 9(01) COMP-6. + + 77 FLD0304A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0304C PIC 9(10)V9(11) COMP-6. + + 77 FLD0305A PIC 9(09)V9(03) COMP-6 + VALUE 328435884.788. + 77 FLD0305C PIC S9(01) COMP-3. + + 77 FLD0306A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0306C PIC S9(10)V9(08) COMP-3. + + 77 FLD0307A PIC 9(10)V9(10) COMP-3 + VALUE 5430567751.9659767416. + 77 FLD0307C PIC 9(03)V9(32) COMP-6. + + 77 FLD0308A PIC 9(09)V9(05) COMP-6 + VALUE 377189267.62120. + 77 FLD0308C PIC 9(02)V9(34) COMP-3. + + 77 FLD0309A PIC 9(09)V9(03) COMP-6 + VALUE 325461096.612. + 77 FLD0309C PIC S9(03) COMP-3. + + 77 FLD0310A PIC 9(09)V9(05) COMP-6 + VALUE 377541451.37210. + 77 FLD0310C PIC 9(09)V9(06) COMP-6. + + 77 FLD0311A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0311C PIC 9(01)V9(36) COMP-3. + + 77 FLD0312A PIC S9(10)V9(07) COMP-3 + VALUE -4631183834.9707568. + 77 FLD0312C PIC 9(01) COMP-6. + + 77 FLD0313A PIC 9(05)V9(27) COMP-3 + VALUE 86493.365621715367907995641871821. + 77 FLD0313C PIC 9(09)V9(05) COMP-6. + + 77 FLD0314A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0314C PIC 9(08)V9(18) COMP-6. + + 77 FLD0315A PIC 9(07)V9(23) COMP-3 + VALUE 7933336.74589681625555215305212. + 77 FLD0315C PIC 9(09)V9(17) COMP-6. + + 77 FLD0316A PIC 9(06)V9(01) COMP-6 + VALUE 195827.4. + 77 FLD0316C PIC 9(10)V9(11) COMP-3. + + 77 FLD0317A PIC 9(10)V9(08) COMP-6 + VALUE 4983225307.65216153. + 77 FLD0317C PIC S9(09)V9(03) COMP-3. + + 77 FLD0318A PIC 9(08)V9(02) COMP-6 + VALUE 26926374.69. + 77 FLD0318C PIC 9(04)V9(29) COMP-3. + + 77 FLD0319A PIC 9(08)V9(18) COMP-6 + VALUE 69931441.978879860243978328. + 77 FLD0319C PIC 9(09)V9(15) COMP-3. + + 77 FLD0320A PIC 9(08)V9(19) COMP-6 + VALUE 71973495.8824565840274090078. + 77 FLD0320C PIC 9(10)V9(11) COMP-3. + + 77 FLD0321A PIC 9(10)V9(09) COMP-3 + VALUE 5005504874.853489161. + 77 FLD0321C PIC 9(09)V9(16) COMP-3. + + 77 FLD0322A PIC S9(09)V9(07) COMP-3 + VALUE +442005310.2249054. + 77 FLD0322C PIC 9(09)V9(14) COMP-6. + + 77 FLD0323A PIC S9(05) COMP-3 + VALUE -15097. + 77 FLD0323C PIC 9(01)V9(35) COMP-3. + + 77 FLD0324A PIC 9(10)V9(11) COMP-3 + VALUE 5601604504.75820970162. + 77 FLD0324C PIC 9(10)V9(10) COMP-3. + + 77 FLD0325A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0325C PIC 9(08)V9(19) COMP-3. + + 77 FLD0326A PIC S9(08)V9(03) COMP-3 + VALUE +31312044.720. + 77 FLD0326C PIC S9(02) COMP-3. + + 77 FLD0327A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0327C PIC S9(07)V9(01) COMP-3. + + 77 FLD0328A PIC 9(08)V9(19) COMP-3 + VALUE 71147504.7716873310044150002. + 77 FLD0328C PIC S9(09)V9(05) COMP-3. + + 77 FLD0329A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0329C PIC 9(02)V9(34) COMP-3. + + 77 FLD0330A PIC 9(09)V9(07) COMP-6 + VALUE 445280746.1581723. + 77 FLD0330C PIC 9(07)V9(23) COMP-6. + + 77 FLD0331A PIC S9(07)V9(01) COMP-3 + VALUE +2232816.8. + 77 FLD0331C PIC 9(08)V9(02) COMP-6. + + 77 FLD0332A PIC 9(05)V9(27) COMP-6 + VALUE 86562.988696340348315771962006692. + 77 FLD0332C PIC 9(09)V9(04) COMP-6. + + 77 FLD0333A PIC 9(02)V9(34) COMP-6 + VALUE 95.6494138775326296908474432711955159. + 77 FLD0333C PIC S9(07)V9(02) COMP-3. + + 77 FLD0334A PIC 9(08)V9(03) COMP-6 + VALUE 28999492.466. + 77 FLD0334C PIC 9(09)V9(03) COMP-6. + + 77 FLD0335A PIC S9(08)V9(03) COMP-3 + VALUE +30334218.791. + 77 FLD0335C PIC 9(10)V9(09) COMP-6. + + 77 FLD0336A PIC 9(05)V9(27) COMP-6 + VALUE 85800.255545984371874368434873758. + 77 FLD0336C PIC S9(08)V9(03) COMP-3. + + 77 FLD0337A PIC 9(08)V9(19) COMP-3 + VALUE 72003996.5448931451597047725. + 77 FLD0337C PIC 9(08)V9(19) COMP-3. + + 77 FLD0338A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0338C PIC 9(10)V9(10) COMP-3. + + 77 FLD0339A PIC S9(06) COMP-3 + VALUE -160552. + 77 FLD0339C PIC 9(09)V9(13) COMP-3. + + 77 FLD0340A PIC 9(10)V9(09) COMP-3 + VALUE 5028381651.473269320. + 77 FLD0340C PIC S9(09)V9(04) COMP-3. + + 77 FLD0341A PIC 9(10)V9(11) COMP-6 + VALUE 5676316159.01010966318. + 77 FLD0341C PIC 9(09)V9(12) COMP-3. + + 77 FLD0342A PIC S9(07)V9(01) COMP-3 + VALUE +2347143.0. + 77 FLD0342C PIC S9(10)V9(07) COMP-3. + + 77 FLD0343A PIC 9(08)V9(19) COMP-6 + VALUE 72866356.1504289902792663724. + 77 FLD0343C PIC 9(06)V9(01) COMP-6. + + 77 FLD0344A PIC 9(09)V9(07) COMP-6 + VALUE 439744878.9947105. + 77 FLD0344C PIC 9(04)V9(29) COMP-3. + + 77 FLD0345A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0345C PIC 9(09)V9(06) COMP-6. + + 77 FLD0346A PIC 9(07)V9(22) COMP-3 + VALUE 7807860.0333687642187641131386. + 77 FLD0346C PIC 9(09)V9(16) COMP-3. + + 77 FLD0347A PIC 9(08)V9(18) COMP-3 + VALUE 70165985.253748408556617732. + 77 FLD0347C PIC 9(06) COMP-6. + + 77 FLD0348A PIC 9(08)V9(04) COMP-6 + VALUE 33778742.7133. + 77 FLD0348C PIC 9(09)V9(12) COMP-6. + + 77 FLD0349A PIC 9(10)V9(09) COMP-3 + VALUE 5122785066.779668161. + 77 FLD0349C PIC 9(03)V9(32) COMP-3. + + 77 FLD0350A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0350C PIC 9(06)V9(25) COMP-6. + + 77 FLD0351A PIC 9(05)V9(27) COMP-6 + VALUE 84942.576912519174303639601930626. + 77 FLD0351C PIC 9(10)V9(10) COMP-6. + + 77 FLD0352A PIC 9(03)V9(32) COMP-6 + VALUE 937.88592938035042489985926295048557. + 77 FLD0352C PIC 9(06)V9(01) COMP-6. + + 77 FLD0353A PIC S9(07)V9(02) COMP-3 + VALUE -2544588.73. + 77 FLD0353C PIC 9(02)V9(33) COMP-3. + + 77 FLD0354A PIC 9(07)V9(01) COMP-6 + VALUE 2152460.4. + 77 FLD0354C PIC S9(08)V9(03) COMP-3. + + 77 FLD0355A PIC 9(06)V9(01) COMP-6 + VALUE 208715.4. + 77 FLD0355C PIC S9(05) COMP-3. + + 77 FLD0356A PIC S9(09)V9(05) COMP-3 + VALUE -391398983.37050. + 77 FLD0356C PIC 9(05)V9(27) COMP-6. + + 77 FLD0357A PIC 9(10)V9(10) COMP-3 + VALUE 5323345989.0667944591. + 77 FLD0357C PIC 9(03) COMP-6. + + 77 FLD0358A PIC 9(08)V9(03) COMP-6 + VALUE 29848403.943. + 77 FLD0358C PIC 9(09)V9(17) COMP-6. + + 77 FLD0359A PIC 9(07)V9(22) COMP-6 + VALUE 7654789.5985185210321333215688. + 77 FLD0359C PIC 9(01)V9(36) COMP-3. + + 77 FLD0360A PIC S9(09)V9(06) COMP-3 + VALUE +400277612.276280. + 77 FLD0360C PIC 9(08)V9(02) COMP-6. + + 77 FLD0361A PIC 9(06)V9(25) COMP-3 + VALUE 823089.8044061112361902132761315. + 77 FLD0361C PIC 9(05)V9(27) COMP-6. + + 77 FLD0362A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0362C PIC 9(04)V9(30) COMP-6. + + 77 FLD0363A PIC 9(09)V9(04) COMP-6 + VALUE 358575926.2078. + 77 FLD0363C PIC 9(04)V9(30) COMP-3. + + 77 FLD0364A PIC S9(04) COMP-3 + VALUE +1234. + 77 FLD0364C PIC 9(06)V9(25) COMP-3. + + 77 FLD0365A PIC 9(09)V9(11) COMP-3 + VALUE 551967009.62472056151. + 77 FLD0365C PIC 9(09)V9(16) COMP-6. + + 77 FLD0366A PIC 9(06)V9(25) COMP-3 + VALUE 822414.3642778768414913770357088. + 77 FLD0366C PIC 9(06)V9(25) COMP-6. + + 77 FLD0367A PIC 9(09)V9(13) COMP-6 + VALUE 595975436.9256639039420. + 77 FLD0367C PIC S9(06)V9(01) COMP-3. + + 77 FLD0368A PIC 9(05) COMP-6 + VALUE 15663. + 77 FLD0368C PIC 9(01) COMP-6. + + 77 FLD0369A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0369C PIC S9(08)V9(03) COMP-3. + + 77 FLD0370A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0370C PIC S9(01) COMP-3. + + 77 FLD0371A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0371C PIC S9(03) COMP-3. + + 77 FLD0372A PIC 9(10)V9(09) COMP-6 + VALUE 5067586024.551302692. + 77 FLD0372C PIC 9(10)V9(09) COMP-3. + + 77 FLD0373A PIC 9(09)V9(16) COMP-3 + VALUE 660730415.8912360447786227. + 77 FLD0373C PIC S9(09)V9(04) COMP-3. + + 77 FLD0374A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0374C PIC 9(08)V9(19) COMP-3. + + 77 FLD0375A PIC 9(07)V9(22) COMP-3 + VALUE 7816763.9605777072819847717255. + 77 FLD0375C PIC 9(01) COMP-6. + + 77 FLD0376A PIC 9(05)V9(27) COMP-6 + VALUE 84980.958923270843996533585595898. + 77 FLD0376C PIC 9(10)V9(09) COMP-3. + + 77 FLD0377A PIC 9(02)V9(34) COMP-6 + VALUE 96.7759547981370871205797357106348499. + 77 FLD0377C PIC 9(07)V9(22) COMP-3. + + 77 FLD0378A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0378C PIC S9(06) COMP-3. + + 77 FLD0379A PIC 9(10)V9(10) COMP-6 + VALUE 5351160784.1302399890. + 77 FLD0379C PIC 9(01) COMP-6. + + 77 FLD0380A PIC 9(09)V9(03) COMP-6 + VALUE 318886259.138. + 77 FLD0380C PIC S9(01) COMP-3. + + 77 FLD0381A PIC 9(10)V9(09) COMP-6 + VALUE 5188977124.912377281. + 77 FLD0381C PIC 9(03) COMP-6. + + 77 FLD0382A PIC 9(10)V9(10) COMP-6 + VALUE 5469463185.9002762475. + 77 FLD0382C PIC 9(04) COMP-6. + + 77 FLD0383A PIC 9(04)V9(29) COMP-3 + VALUE 8846.28028341020278269013488170458. + 77 FLD0383C PIC 9(06)V9(24) COMP-3. + + 77 FLD0384A PIC S9(07)V9(02) COMP-3 + VALUE +2410021.83. + 77 FLD0384C PIC 9(01) COMP-6. + + 77 FLD0385A PIC 9(09)V9(14) COMP-6 + VALUE 616198826.41569234671408. + 77 FLD0385C PIC 9(04)V9(29) COMP-3. + + 77 FLD0386A PIC 9(10)V9(11) COMP-6 + VALUE 5671006446.22052230126. + 77 FLD0386C PIC 9(07)V9(21) COMP-3. + + 77 FLD0387A PIC 9(08)V9(03) COMP-6 + VALUE 30516405.931. + 77 FLD0387C PIC 9(09)V9(16) COMP-3. + + 77 FLD0388A PIC 9(10)V9(11) COMP-6 + VALUE 5691303425.20841603359. + 77 FLD0388C PIC 9(03) COMP-6. + + 77 FLD0389A PIC S9(10)V9(06) COMP-3 + VALUE +4300560615.719126. + 77 FLD0389C PIC 9(10)V9(12) COMP-6. + + 77 FLD0390A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0390C PIC 9(03) COMP-6. + + 77 FLD0391A PIC S9(08)V9(03) COMP-3 + VALUE +30066642.536. + 77 FLD0391C PIC S9(08)V9(02) COMP-3. + + 77 FLD0392A PIC 9(02)V9(34) COMP-6 + VALUE 95.7627258628673261320329856971511617. + 77 FLD0392C PIC 9(10)V9(07) COMP-6. + + 77 FLD0393A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0393C PIC 9(04)V9(30) COMP-6. + + 77 FLD0394A PIC 9(05)V9(01) COMP-6 + VALUE 16807.8. + 77 FLD0394C PIC S9(10)V9(08) COMP-3. + + 77 FLD0395A PIC 9(10)V9(09) COMP-3 + VALUE 5206691882.901124390. + 77 FLD0395C PIC S9(01) COMP-3. + + 77 FLD0396A PIC 9(09)V9(06) COMP-6 + VALUE 419939827.280791. + 77 FLD0396C PIC 9(09)V9(07) COMP-6. + + 77 FLD0397A PIC 9(05)V9(27) COMP-6 + VALUE 85569.982924983467587054519754019. + 77 FLD0397C PIC S9(02) COMP-3. + + 77 FLD0398A PIC 9(05)V9(26) COMP-3 + VALUE 84110.85692078776876456913669244. + 77 FLD0398C PIC S9(08)V9(02) COMP-3. + + 77 FLD0399A PIC 9(05)V9(27) COMP-3 + VALUE 86215.377080746946614198122915695. + 77 FLD0399C PIC 9(07)V9(02) COMP-6. + + 77 FLD0400A PIC 9(10)V9(08) COMP-6 + VALUE 4880703034.67910082. + 77 FLD0400C PIC 9(06)V9(25) COMP-6. + + 77 FLD0401A PIC 9(08)V9(03) COMP-6 + VALUE 30757829.425. + 77 FLD0401C PIC 9(01) COMP-6. + + 77 FLD0402A PIC 9(04)V9(29) COMP-3 + VALUE 8843.41306989221531686951038864208. + 77 FLD0402C PIC 9(08)V9(18) COMP-6. + + 77 FLD0403A PIC 9(10)V9(10) COMP-6 + VALUE 5351391185.2119278034. + 77 FLD0403C PIC 9(03)V9(32) COMP-6. + + 77 FLD0404A PIC S9(10)V9(08) COMP-3 + VALUE -4810592903.51378177. + 77 FLD0404C PIC 9(09)V9(16) COMP-3. + + 77 FLD0405A PIC S9(09)V9(04) COMP-3 + VALUE -360620744.0007. + 77 FLD0405C PIC S9(05) COMP-3. + + 77 FLD0406A PIC S9(07)V9(02) COMP-3 + VALUE -2503018.94. + 77 FLD0406C PIC 9(07)V9(23) COMP-6. + + 77 FLD0407A PIC 9(09)V9(13) COMP-3 + VALUE 592634898.8738083800598. + 77 FLD0407C PIC 9(01)V9(36) COMP-6. + + 77 FLD0408A PIC 9(09)V9(07) COMP-6 + VALUE 438100099.1119252. + 77 FLD0408C PIC 9(08)V9(02) COMP-6. + + 77 FLD0409A PIC 9(08)V9(02) COMP-6 + VALUE 28575188.65. + 77 FLD0409C PIC 9(09)V9(12) COMP-6. + + 77 FLD0410A PIC 9(09)V9(14) COMP-6 + VALUE 615937928.60877261130525. + 77 FLD0410C PIC 9(01)V9(36) COMP-3. + + 77 FLD0411A PIC 9(09)V9(17) COMP-6 + VALUE 688573322.26995748847286904. + 77 FLD0411C PIC 9(07)V9(22) COMP-6. + + 77 FLD0412A PIC 9(09)V9(12) COMP-3 + VALUE 572677017.522024045526. + 77 FLD0412C PIC S9(01) COMP-3. + + 77 FLD0413A PIC 9(06)V9(25) COMP-6 + VALUE 828822.6462986850728853482905833. + 77 FLD0413C PIC S9(01) COMP-3. + + 77 FLD0414A PIC 9(05)V9(27) COMP-3 + VALUE 84413.303017262042438062508153961. + 77 FLD0414C PIC S9(05) COMP-3. + + 77 FLD0415A PIC 9(09)V9(15) COMP-3 + VALUE 650722988.227690701812377. + 77 FLD0415C PIC 9(03)V9(31) COMP-6. + + 77 FLD0416A PIC 9(09)V9(16) COMP-6 + VALUE 675584038.8269652718733482. + 77 FLD0416C PIC S9(01) COMP-3. + + 77 FLD0417A PIC 9(03)V9(32) COMP-3 + VALUE 942.59186417160190085695603556814603. + 77 FLD0417C PIC 9(04)V9(29) COMP-3. + + 77 FLD0418A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0418C PIC 9(01) COMP-6. + + 77 FLD0419A PIC 9(09)V9(06) COMP-6 + VALUE 415695619.544491. + 77 FLD0419C PIC 9(10)V9(10) COMP-3. + + 77 FLD0420A PIC 9(08)V9(02) COMP-6 + VALUE 26881191.37. + 77 FLD0420C PIC 9(04)V9(30) COMP-6. + + 77 FLD0421A PIC 9(08)V9(19) COMP-3 + VALUE 71124707.9077118260492795798. + 77 FLD0421C PIC S9(06)V9(01) COMP-3. + + 77 FLD0422A PIC 9(08)V9(18) COMP-3 + VALUE 69276472.004700051510184266. + 77 FLD0422C PIC 9(02)V9(34) COMP-6. + + 77 FLD0423A PIC 9(09)V9(13) COMP-6 + VALUE 595417774.2919815052857. + 77 FLD0423C PIC 9(09)V9(17) COMP-6. + + 77 FLD0424A PIC 9(09)V9(11) COMP-3 + VALUE 551151541.59885582085. + 77 FLD0424C PIC 9(08)V9(19) COMP-6. + + 77 FLD0425A PIC S9(10)V9(08) COMP-3 + VALUE -4741628720.81754727. + 77 FLD0425C PIC 9(10)V9(12) COMP-3. + + 77 FLD0426A PIC 9(10)V9(11) COMP-3 + VALUE 5601456695.80725313885. + 77 FLD0426C PIC 9(10)V9(11) COMP-6. + + 77 FLD0427A PIC 9(09)V9(04) COMP-6 + VALUE 365284621.5641. + 77 FLD0427C PIC 9(07)V9(22) COMP-6. + + 77 FLD0428A PIC 9(05)V9(27) COMP-6 + VALUE 85913.234918316627730661139139556. + 77 FLD0428C PIC 9(01)V9(36) COMP-6. + + 77 FLD0429A PIC 9(07)V9(22) COMP-3 + VALUE 7833347.6062909002113343603923. + 77 FLD0429C PIC 9(09)V9(06) COMP-6. + + 77 FLD0430A PIC 9(08)V9(03) COMP-6 + VALUE 30820998.502. + 77 FLD0430C PIC 9(09)V9(04) COMP-6. + + 77 FLD0431A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0431C PIC 9(03)V9(31) COMP-3. + + 77 FLD0432A PIC 9(10)V9(11) COMP-3 + VALUE 5612307034.00538710745. + 77 FLD0432C PIC S9(06) COMP-3. + + 77 FLD0433A PIC 9(08)V9(19) COMP-3 + VALUE 72012955.8244768763763943297. + 77 FLD0433C PIC 9(06)V9(01) COMP-6. + + 77 FLD0434A PIC S9(10)V9(07) COMP-3 + VALUE -4547054675.3415619. + 77 FLD0434C PIC 9(03)V9(32) COMP-3. + + 77 FLD0435A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0435C PIC 9(10)V9(12) COMP-3. + + 77 FLD0436A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0436C PIC 9(06)V9(25) COMP-3. + + 77 FLD0437A PIC 9(09)V9(15) COMP-3 + VALUE 632897272.198471361193128. + 77 FLD0437C PIC 9(09)V9(15) COMP-3. + + 77 FLD0438A PIC 9(09)V9(16) COMP-3 + VALUE 664694021.6365745390802999. + 77 FLD0438C PIC 9(05)V9(28) COMP-3. + + 77 FLD0439A PIC 9(10)V9(08) COMP-6 + VALUE 4961134805.43429519. + 77 FLD0439C PIC 9(10)V9(11) COMP-3. + + 77 FLD0440A PIC 9(04)V9(29) COMP-6 + VALUE 8899.07507055040514210020319296745. + 77 FLD0440C PIC 9(10)V9(07) COMP-6. + + 77 FLD0441A PIC 9(08)V9(19) COMP-3 + VALUE 71126905.4406556744396539215. + 77 FLD0441C PIC S9(10)V9(06) COMP-3. + + 77 FLD0442A PIC 9(05)V9(01) COMP-6 + VALUE 16995.1. + 77 FLD0442C PIC 9(03)V9(31) COMP-6. + + 77 FLD0443A PIC S9(10)V9(08) COMP-3 + VALUE -4744984255.46487689. + 77 FLD0443C PIC 9(09)V9(14) COMP-3. + + 77 FLD0444A PIC 9(02)V9(33) COMP-6 + VALUE 94.673816662087151296844922399031929. + 77 FLD0444C PIC 9(10)V9(09) COMP-3. + + 77 FLD0445A PIC 9(10)V9(10) COMP-3 + VALUE 5416554544.5299512206. + 77 FLD0445C PIC S9(10)V9(07) COMP-3. + + 77 FLD0446A PIC 9(10)V9(09) COMP-3 + VALUE 5044897846.697211640. + 77 FLD0446C PIC 9(09)V9(16) COMP-6. + + 77 FLD0447A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0447C PIC 9(08)V9(02) COMP-6. + + 77 FLD0448A PIC 9(06)V9(01) COMP-6 + VALUE 186565.4. + 77 FLD0448C PIC 9(10)V9(10) COMP-6. + + 77 FLD0449A PIC S9(09)V9(05) COMP-3 + VALUE -384988094.18704. + 77 FLD0449C PIC S9(08)V9(04) COMP-3. + + 77 FLD0450A PIC 9(09)V9(14) COMP-6 + VALUE 625578375.50228334588808. + 77 FLD0450C PIC 9(09)V9(13) COMP-6. + + 77 FLD0451A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0451C PIC S9(07)V9(02) COMP-3. + + 77 FLD0452A PIC 9(08)V9(02) COMP-6 + VALUE 26826484.18. + 77 FLD0452C PIC 9(10)V9(11) COMP-6. + + 77 FLD0453A PIC 9(10)V9(10) COMP-6 + VALUE 5383526546.5392911909. + 77 FLD0453C PIC 9(02)V9(34) COMP-6. + + 77 FLD0454A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0454C PIC S9(01) COMP-3. + + 77 FLD0455A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0455C PIC 9(05)V9(27) COMP-3. + + 77 FLD0456A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0456C PIC 9(05) COMP-6. + + 77 FLD0457A PIC 9(04)V9(30) COMP-6 + VALUE 9063.641671624598217249513254500925. + 77 FLD0457C PIC 9(01) COMP-6. + + 77 FLD0458A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0458C PIC 9(09)V9(03) COMP-6. + + 77 FLD0459A PIC 9(06)V9(01) COMP-6 + VALUE 198479.9. + 77 FLD0459C PIC 9(10)V9(11) COMP-3. + + 77 FLD0460A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0460C PIC 9(07)V9(22) COMP-3. + + 77 FLD0461A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0461C PIC S9(07)V9(01) COMP-3. + + 77 FLD0462A PIC 9(08)V9(02) COMP-6 + VALUE 26776595.69. + 77 FLD0462C PIC 9(02)V9(34) COMP-3. + + 77 FLD0463A PIC 9(05)V9(27) COMP-3 + VALUE 85490.666934027292889197724434779. + 77 FLD0463C PIC 9(09)V9(06) COMP-6. + + 77 FLD0464A PIC 9(10)V9(07) COMP-6 + VALUE 4587031190.3834293. + 77 FLD0464C PIC 9(08)V9(19) COMP-6. + + 77 FLD0465A PIC 9(10)V9(12) COMP-3 + VALUE 5816563985.597106301028. + 77 FLD0465C PIC 9(06)V9(25) COMP-6. + + 77 FLD0466A PIC 9(09)V9(15) COMP-3 + VALUE 654381306.333900236715805. + 77 FLD0466C PIC 9(05) COMP-6. + + 77 FLD0467A PIC S9(07)V9(01) COMP-3 + VALUE +2343287.0. + 77 FLD0467C PIC 9(04)V9(29) COMP-3. + + 77 FLD0468A PIC S9(10)V9(06) COMP-3 + VALUE +4344132145.767680. + 77 FLD0468C PIC 9(08)V9(03) COMP-6. + + 77 FLD0469A PIC 9(08)V9(18) COMP-6 + VALUE 70961503.876956555370014712. + 77 FLD0469C PIC 9(10)V9(09) COMP-3. + + 77 FLD0470A PIC 9(03)V9(31) COMP-3 + VALUE 913.6810028966669827710234130790922. + 77 FLD0470C PIC S9(09)V9(05) COMP-3. + + 77 FLD0471A PIC S9(07)V9(02) COMP-3 + VALUE -2507103.69. + 77 FLD0471C PIC 9(01) COMP-6. + + 77 FLD0472A PIC 9(10)V9(09) COMP-3 + VALUE 5103990869.050332168. + 77 FLD0472C PIC 9(06)V9(26) COMP-3. + + 77 FLD0473A PIC 9(08)V9(20) COMP-3 + VALUE 74367162.06805468187823748849. + 77 FLD0473C PIC 9(08)V9(18) COMP-3. + + 77 FLD0474A PIC 9(08)V9(19) COMP-6 + VALUE 72625744.5118117406224200749. + 77 FLD0474C PIC S9(05) COMP-3. + + 77 FLD0475A PIC 9(10)V9(07) COMP-6 + VALUE 4588724634.2999971. + 77 FLD0475C PIC S9(09)V9(06) COMP-3. + + 77 FLD0476A PIC 9(08)V9(02) COMP-6 + VALUE 28869933.49. + 77 FLD0476C PIC 9(06)V9(01) COMP-6. + + 77 FLD0477A PIC 9(08)V9(20) COMP-3 + VALUE 74492482.99155191155307420558. + 77 FLD0477C PIC S9(09)V9(05) COMP-3. + + 77 FLD0478A PIC 9(08)V9(19) COMP-6 + VALUE 72616162.5751895356550846827. + 77 FLD0478C PIC 9(09)V9(04) COMP-6. + + 77 FLD0479A PIC S9(09)V9(06) COMP-3 + VALUE +413502052.896697. + 77 FLD0479C PIC 9(06)V9(25) COMP-3. + + 77 FLD0480A PIC S9(06)V9(01) COMP-3 + VALUE +203017.8. + 77 FLD0480C PIC 9(08)V9(20) COMP-6. + + 77 FLD0481A PIC 9(05) COMP-6 + VALUE 15658. + 77 FLD0481C PIC 9(01)V9(36) COMP-3. + + 77 FLD0482A PIC 9(08)V9(18) COMP-6 + VALUE 70905037.950447225014727337. + 77 FLD0482C PIC S9(10)V9(08) COMP-3. + + 77 FLD0483A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0483C PIC S9(09)V9(03) COMP-3. + + 77 FLD0484A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0484C PIC 9(09)V9(12) COMP-6. + + 77 FLD0485A PIC 9(07)V9(02) COMP-6 + VALUE 2567572.97. + 77 FLD0485C PIC 9(05)V9(01) COMP-6. + + 77 FLD0486A PIC 9(05) COMP-6 + VALUE 13937. + 77 FLD0486C PIC 9(10)V9(07) COMP-6. + + 77 FLD0487A PIC 9(06)V9(01) COMP-6 + VALUE 209384.2. + 77 FLD0487C PIC 9(08)V9(18) COMP-3. + + 77 FLD0488A PIC S9(10)V9(07) COMP-3 + VALUE -4519198906.7966076. + 77 FLD0488C PIC 9(09)V9(16) COMP-6. + + 77 FLD0489A PIC S9(05)V9(01) COMP-3 + VALUE -17360.6. + 77 FLD0489C PIC 9(01)V9(36) COMP-6. + + 77 FLD0490A PIC 9(10)V9(10) COMP-6 + VALUE 5352566580.2623056954. + 77 FLD0490C PIC 9(08)V9(02) COMP-6. + + 77 FLD0491A PIC 9(03)V9(31) COMP-6 + VALUE 918.2459205467069507378141679510008. + 77 FLD0491C PIC 9(09)V9(16) COMP-3. + + 77 FLD0492A PIC 9(06)V9(25) COMP-6 + VALUE 819266.4570447540928199714471702. + 77 FLD0492C PIC S9(09)V9(04) COMP-3. + + 77 FLD0493A PIC S9(05)V9(01) COMP-3 + VALUE -18038.5. + 77 FLD0493C PIC 9(06)V9(24) COMP-6. + + 77 FLD0494A PIC 9(05)V9(28) COMP-6 + VALUE 87574.5417791477964719604187848744. + 77 FLD0494C PIC 9(10)V9(09) COMP-3. + + 77 FLD0495A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0495C PIC 9(09)V9(15) COMP-6. + + 77 FLD0496A PIC 9(06)V9(25) COMP-6 + VALUE 816763.6415427422802437718019064. + 77 FLD0496C PIC S9(04) COMP-3. + + 77 FLD0497A PIC 9(06)V9(25) COMP-6 + VALUE 836230.6435874340415637107071233. + 77 FLD0497C PIC 9(09)V9(16) COMP-6. + + 77 FLD0498A PIC 9(10)V9(08) COMP-6 + VALUE 4792455293.49441590. + 77 FLD0498C PIC 9(06)V9(01) COMP-6. + + 77 FLD0499A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0499C PIC 9(09)V9(15) COMP-3. + + * RESULTS-AREA + 78 XPC-FLD0001C + VALUE X'03'. + 78 XPC-FLD0002C + VALUE X'83954987736989405977539036030060'. + 78 XPC-FLD0003C + VALUE X'000000000000000000'. + 78 XPC-FLD0004C + VALUE X'484166'. + 78 XPC-FLD0005C + VALUE X'0002337334800C'. + 78 XPC-FLD0006C + VALUE X'01690000000000000000000000000000000F'. + 78 XPC-FLD0007C + VALUE X'00000112300C'. + 78 XPC-FLD0008C + VALUE X'000C'. + 78 XPC-FLD0009C + VALUE X'878954491957000000000000000000000F'. + 78 XPC-FLD0010C + VALUE X'000000932591202C'. + 78 XPC-FLD0011C + VALUE X'0829148300000000000000000000000000'. + 78 XPC-FLD0012C + VALUE X'000000870000000000000000000F'. + 78 XPC-FLD0013C + VALUE X'0082963000'. + 78 XPC-FLD0014C + VALUE X'09431212'. + 78 XPC-FLD0015C + VALUE X'000798473271412134'. + 78 XPC-FLD0016C + VALUE X'00000087275955785C'. + 78 XPC-FLD0017C + VALUE X'0000000000000000000000000000000000'. + 78 XPC-FLD0018C + VALUE X'6C'. + 78 XPC-FLD0019C + VALUE X'930528885682368D'. + 78 XPC-FLD0020C + VALUE X'064388745272004432873F'. + 78 XPC-FLD0021C + VALUE X'9C'. + 78 XPC-FLD0022C + VALUE X'00810040192546636172998830716F'. + 78 XPC-FLD0023C + VALUE X'0060000000000000000000000000000000000F'. + 78 XPC-FLD0024C + VALUE X'329406009124000C'. + 78 XPC-FLD0025C + VALUE X'0000000000'. + 78 XPC-FLD0026C + VALUE X'000000000000000C'. + 78 XPC-FLD0027C + VALUE X'00268670937520818498000000000000'. + 78 XPC-FLD0028C + VALUE X'4C'. + 78 XPC-FLD0029C + VALUE X'000001369700000000000000000F'. + 78 XPC-FLD0030C + VALUE X'000000000000000000000000000F'. + 78 XPC-FLD0031C + VALUE X'000000000000000000000000000F'. + 78 XPC-FLD0032C + VALUE X'0269599769460C'. + 78 XPC-FLD0033C + VALUE X'641903038069'. + 78 XPC-FLD0034C + VALUE X'000000050D'. + 78 XPC-FLD0035C + VALUE X'08162855'. + 78 XPC-FLD0036C + VALUE X'00009789384107274801127829277902'. + 78 XPC-FLD0037C + VALUE X'60836C'. + 78 XPC-FLD0038C + VALUE X'00000955897506417712539139586169'. + 78 XPC-FLD0039C + VALUE X'00089332'. + 78 XPC-FLD0040C + VALUE X'227D'. + 78 XPC-FLD0041C + VALUE X'0687709210194850428F'. + 78 XPC-FLD0042C + VALUE X'00076807345400734650'. + 78 XPC-FLD0043C + VALUE X'08049480000000000000000000000000000F'. + 78 XPC-FLD0044C + VALUE X'00002062243000'. + 78 XPC-FLD0045C + VALUE X'02859249581000'. + 78 XPC-FLD0046C + VALUE X'000000000000000000000000000000000F'. + 78 XPC-FLD0047C + VALUE X'002696659297000000'. + 78 XPC-FLD0048C + VALUE X'0839628C'. + 78 XPC-FLD0049C + VALUE X'07033645332063542800000000000000000000'. + 78 XPC-FLD0050C + VALUE X'0329667670988000'. + 78 XPC-FLD0051C + VALUE X'5703689413991348544000000000000000'. + 78 XPC-FLD0052C + VALUE X'036720048385760000000F'. + 78 XPC-FLD0053C + VALUE X'0022603246000C'. + 78 XPC-FLD0054C + VALUE X'000000000000'. + 78 XPC-FLD0055C + VALUE X'2223241766982828604426000F'. + 78 XPC-FLD0056C + VALUE X'0216199390'. + 78 XPC-FLD0057C + VALUE X'029C'. + 78 XPC-FLD0058C + VALUE X'0000000966574C'. + 78 XPC-FLD0059C + VALUE X'000256643861000000000000'. + 78 XPC-FLD0060C + VALUE X'000009'. + 78 XPC-FLD0061C + VALUE X'00000950000000000000000000000000'. + 78 XPC-FLD0062C + VALUE X'05792591938164770581900F'. + 78 XPC-FLD0063C + VALUE X'021069256000000000000000000F'. + 78 XPC-FLD0064C + VALUE X'08553C'. + 78 XPC-FLD0065C + VALUE X'04154C'. + 78 XPC-FLD0066C + VALUE X'000000000000000000000000000000000F'. + 78 XPC-FLD0067C + VALUE X'1D'. + 78 XPC-FLD0068C + VALUE X'05'. + 78 XPC-FLD0069C + VALUE X'0916'. + 78 XPC-FLD0070C + VALUE X'6547479C'. + 78 XPC-FLD0071C + VALUE X'0005'. + 78 XPC-FLD0072C + VALUE X'000000009925387953744267'. + 78 XPC-FLD0073C + VALUE X'00000009812328554525302504'. + 78 XPC-FLD0074C + VALUE X'5849035926792574002774927066639060000F'. + 78 XPC-FLD0075C + VALUE X'060837388C'. + 78 XPC-FLD0076C + VALUE X'0841800000000000000000000000000000000F'. + 78 XPC-FLD0077C + VALUE X'0420258698984000000000000000000000'. + 78 XPC-FLD0078C + VALUE X'00001860442000000000'. + 78 XPC-FLD0079C + VALUE X'223C'. + 78 XPC-FLD0080C + VALUE X'0079055876713C'. + 78 XPC-FLD0081C + VALUE X'00000000099513'. + 78 XPC-FLD0082C + VALUE X'063244191000000000000000000000'. + 78 XPC-FLD0083C + VALUE X'138412139C'. + 78 XPC-FLD0084C + VALUE X'0000008913083797'. + 78 XPC-FLD0085C + VALUE X'0000015779000000'. + 78 XPC-FLD0086C + VALUE X'000000000976654777473F'. + 78 XPC-FLD0087C + VALUE X'8605'. + 78 XPC-FLD0088C + VALUE X'809468198000'. + 78 XPC-FLD0089C + VALUE X'09422224462627877272780096970000000F'. + 78 XPC-FLD0090C + VALUE X'28271627310D'. + 78 XPC-FLD0091C + VALUE X'38808038090177000000000000'. + 78 XPC-FLD0092C + VALUE X'01465870000000000000000000000000'. + 78 XPC-FLD0093C + VALUE X'0083184869277572603962767061602F'. + 78 XPC-FLD0094C + VALUE X'000022606985000000000F'. + 78 XPC-FLD0095C + VALUE X'06811597607563408818265315858000'. + 78 XPC-FLD0096C + VALUE X'0000000000000000000000000000000000'. + 78 XPC-FLD0097C + VALUE X'000000850000000000000000000000'. + 78 XPC-FLD0098C + VALUE X'000876371310'. + 78 XPC-FLD0099C + VALUE X'46809917705D'. + 78 XPC-FLD0100C + VALUE X'014828181328845779700000'. + 78 XPC-FLD0101C + VALUE X'260535858D'. + 78 XPC-FLD0102C + VALUE X'000001388000000000000000'. + 78 XPC-FLD0103C + VALUE X'09'. + 78 XPC-FLD0104C + VALUE X'0000225430630000000C'. + 78 XPC-FLD0105C + VALUE X'2908138842'. + 78 XPC-FLD0106C + VALUE X'00000000700D'. + 78 XPC-FLD0107C + VALUE X'0774624437557797973497031000'. + 78 XPC-FLD0108C + VALUE X'01021088231C'. + 78 XPC-FLD0109C + VALUE X'01136000000000000000000000000000000F'. + 78 XPC-FLD0110C + VALUE X'07940109556734978868419716'. + 78 XPC-FLD0111C + VALUE X'00326472185831000000'. + 78 XPC-FLD0112C + VALUE X'07123805246C'. + 78 XPC-FLD0113C + VALUE X'9092'. + 78 XPC-FLD0114C + VALUE X'050641'. + 78 XPC-FLD0115C + VALUE X'00000096236C'. + 78 XPC-FLD0116C + VALUE X'03'. + 78 XPC-FLD0117C + VALUE X'009561'. + 78 XPC-FLD0118C + VALUE X'726C'. + 78 XPC-FLD0119C + VALUE X'0007887545'. + 78 XPC-FLD0120C + VALUE X'060C'. + 78 XPC-FLD0121C + VALUE X'0002338292200C'. + 78 XPC-FLD0122C + VALUE X'0018495180'. + 78 XPC-FLD0123C + VALUE X'00000005000000000000000000000F'. + 78 XPC-FLD0124C + VALUE X'00000000000000000C'. + 78 XPC-FLD0125C + VALUE X'000008800318267899139845'. + 78 XPC-FLD0126C + VALUE X'08079900'. + 78 XPC-FLD0127C + VALUE X'0089818601788201279934042986496933'. + 78 XPC-FLD0128C + VALUE X'9848958759'. + 78 XPC-FLD0129C + VALUE X'003346050810480000000000'. + 78 XPC-FLD0130C + VALUE X'000000000000'. + 78 XPC-FLD0131C + VALUE X'26916210050000000000000000'. + 78 XPC-FLD0132C + VALUE X'00012700'. + 78 XPC-FLD0133C + VALUE X'000000989C'. + 78 XPC-FLD0134C + VALUE X'0703854997414389171872528F'. + 78 XPC-FLD0135C + VALUE X'0833550001'. + 78 XPC-FLD0136C + VALUE X'000151690000000000000000000F'. + 78 XPC-FLD0137C + VALUE X'31939000000000000000000000000000000F'. + 78 XPC-FLD0138C + VALUE X'3828944908530000000000000000000000'. + 78 XPC-FLD0139C + VALUE X'06446533940000000000000000000000'. + 78 XPC-FLD0140C + VALUE X'00000000000000000000000000000000000F'. + 78 XPC-FLD0141C + VALUE X'02665121'. + 78 XPC-FLD0142C + VALUE X'01246C'. + 78 XPC-FLD0143C + VALUE X'06089871'. + 78 XPC-FLD0144C + VALUE X'46256916'. + 78 XPC-FLD0145C + VALUE X'0592809780429536'. + 78 XPC-FLD0146C + VALUE X'00000000910000000000000F'. + 78 XPC-FLD0147C + VALUE X'0000000008500000'. + 78 XPC-FLD0148C + VALUE X'000011890000'. + 78 XPC-FLD0149C + VALUE X'069C'. + 78 XPC-FLD0150C + VALUE X'06000000000000000000000000000000000000'. + 78 XPC-FLD0151C + VALUE X'26337494884196344102000000000F'. + 78 XPC-FLD0152C + VALUE X'006500000000000000000000000000000000'. + 78 XPC-FLD0153C + VALUE X'92463876729946470334198230000F'. + 78 XPC-FLD0154C + VALUE X'006185316446100478'. + 78 XPC-FLD0155C + VALUE X'08612867405699800000000000000000000F'. + 78 XPC-FLD0156C + VALUE X'0095383071407820274600908305728808'. + 78 XPC-FLD0157C + VALUE X'0659745695048369'. + 78 XPC-FLD0158C + VALUE X'41265698123411400000000F'. + 78 XPC-FLD0159C + VALUE X'0000000000000000000000000F'. + 78 XPC-FLD0160C + VALUE X'06561078'. + 78 XPC-FLD0161C + VALUE X'0078871709741627593626134284'. + 78 XPC-FLD0162C + VALUE X'0000000000700000000000'. + 78 XPC-FLD0163C + VALUE X'0618392824198294444038020F'. + 78 XPC-FLD0164C + VALUE X'4076'. + 78 XPC-FLD0165C + VALUE X'9164'. + 78 XPC-FLD0166C + VALUE X'605899'. + 78 XPC-FLD0167C + VALUE X'02534589620000000000000000000000'. + 78 XPC-FLD0168C + VALUE X'00000001200000000C'. + 78 XPC-FLD0169C + VALUE X'00834885736806376232976845'. + 78 XPC-FLD0170C + VALUE X'02466670953929366305600000000000000000'. + 78 XPC-FLD0171C + VALUE X'0675345293467529'. + 78 XPC-FLD0172C + VALUE X'0096021652336003293637389788273139'. + 78 XPC-FLD0173C + VALUE X'041247291433666300'. + 78 XPC-FLD0174C + VALUE X'00000001244000000000'. + 78 XPC-FLD0175C + VALUE X'056C'. + 78 XPC-FLD0176C + VALUE X'007902178745'. + 78 XPC-FLD0177C + VALUE X'0761883957'. + 78 XPC-FLD0178C + VALUE X'55502105334C'. + 78 XPC-FLD0179C + VALUE X'0564'. + 78 XPC-FLD0180C + VALUE X'000000859461576526592F'. + 78 XPC-FLD0181C + VALUE X'0000018890880000000C'. + 78 XPC-FLD0182C + VALUE X'0061401860346830039460900F'. + 78 XPC-FLD0183C + VALUE X'008C'. + 78 XPC-FLD0184C + VALUE X'059457428C'. + 78 XPC-FLD0185C + VALUE X'0001566600000000000000000000'. + 78 XPC-FLD0186C + VALUE X'0000700000000000000000000000000F'. + 78 XPC-FLD0187C + VALUE X'0604672028742360256892'. + 78 XPC-FLD0188C + VALUE X'08008236875695360357241270000F'. + 78 XPC-FLD0189C + VALUE X'0511507101623805082700'. + 78 XPC-FLD0190C + VALUE X'000238213754000000000000'. + 78 XPC-FLD0191C + VALUE X'0013720000000000000000000000000F'. + 78 XPC-FLD0192C + VALUE X'00000000098942'. + 78 XPC-FLD0193C + VALUE X'25294367709051900000000F'. + 78 XPC-FLD0194C + VALUE X'0417168379939779000000000F'. + 78 XPC-FLD0195C + VALUE X'045846'. + 78 XPC-FLD0196C + VALUE X'0000000C'. + 78 XPC-FLD0197C + VALUE X'09'. + 78 XPC-FLD0198C + VALUE X'93108C'. + 78 XPC-FLD0199C + VALUE X'248328724000000000000000000000'. + 78 XPC-FLD0200C + VALUE X'049359727906061917'. + 78 XPC-FLD0201C + VALUE X'0000128200000000000000000000000F'. + 78 XPC-FLD0202C + VALUE X'044375030000000000000000000000000000'. + 78 XPC-FLD0203C + VALUE X'06633826404025384700000000000000000F'. + 78 XPC-FLD0204C + VALUE X'00000097'. + 78 XPC-FLD0205C + VALUE X'648926914508991536933990'. + 78 XPC-FLD0206C + VALUE X'00186967700000000000000000'. + 78 XPC-FLD0207C + VALUE X'00083944392422874225534457082F'. + 78 XPC-FLD0208C + VALUE X'00000967'. + 78 XPC-FLD0209C + VALUE X'000092661149050802726900855077'. + 78 XPC-FLD0210C + VALUE X'08'. + 78 XPC-FLD0211C + VALUE X'00000000000000000C'. + 78 XPC-FLD0212C + VALUE X'089203279255731C'. + 78 XPC-FLD0213C + VALUE X'00000082000000000000000000000F'. + 78 XPC-FLD0214C + VALUE X'00000000000000000000000000'. + 78 XPC-FLD0215C + VALUE X'0009263C'. + 78 XPC-FLD0216C + VALUE X'2809537487'. + 78 XPC-FLD0217C + VALUE X'00745629624865839C'. + 78 XPC-FLD0218C + VALUE X'04600000000000000000000000000000000000'. + 78 XPC-FLD0219C + VALUE X'05787889921275072291'. + 78 XPC-FLD0220C + VALUE X'43525C'. + 78 XPC-FLD0221C + VALUE X'0000000000000000000000000000000000'. + 78 XPC-FLD0222C + VALUE X'82805C'. + 78 XPC-FLD0223C + VALUE X'00000000000000000000000000'. + 78 XPC-FLD0224C + VALUE X'000083818722675C'. + 78 XPC-FLD0225C + VALUE X'000013797000000000000F'. + 78 XPC-FLD0226C + VALUE X'000149000C'. + 78 XPC-FLD0227C + VALUE X'3055159408599976700000000000000000'. + 78 XPC-FLD0228C + VALUE X'6300000000000000000000000000000000000F'. + 78 XPC-FLD0229C + VALUE X'0000000987047360326050560175'. + 78 XPC-FLD0230C + VALUE X'092C'. + 78 XPC-FLD0231C + VALUE X'00008778168C'. + 78 XPC-FLD0232C + VALUE X'3082645328000000000000000000000F'. + 78 XPC-FLD0233C + VALUE X'075521568090'. + 78 XPC-FLD0234C + VALUE X'00338310526754000000000F'. + 78 XPC-FLD0235C + VALUE X'0000001412300000000C'. + 78 XPC-FLD0236C + VALUE X'000008818235282899151705748F'. + 78 XPC-FLD0237C + VALUE X'0203759000000000000000000000000000'. + 78 XPC-FLD0238C + VALUE X'05210964'. + 78 XPC-FLD0239C + VALUE X'67858577929248176108245F'. + 78 XPC-FLD0240C + VALUE X'8535764467660000000000000000000F'. + 78 XPC-FLD0241C + VALUE X'000001440700000000000000'. + 78 XPC-FLD0242C + VALUE X'3838549C'. + 78 XPC-FLD0243C + VALUE X'0000970409660969254295181940506154'. + 78 XPC-FLD0244C + VALUE X'0000000000000000000000'. + 78 XPC-FLD0245C + VALUE X'371716886145420000000000'. + 78 XPC-FLD0246C + VALUE X'00872169'. + 78 XPC-FLD0247C + VALUE X'008344948214770686600871840F'. + 78 XPC-FLD0248C + VALUE X'0000000888556418584546'. + 78 XPC-FLD0249C + VALUE X'6784708395950102000071524F'. + 78 XPC-FLD0250C + VALUE X'8324926731005675151000000000000000'. + 78 XPC-FLD0251C + VALUE X'5489100071950000000000000000000F'. + 78 XPC-FLD0252C + VALUE X'000183393D'. + 78 XPC-FLD0253C + VALUE X'08225938'. + 78 XPC-FLD0254C + VALUE X'189569238C'. + 78 XPC-FLD0255C + VALUE X'000000000948299297085F'. + 78 XPC-FLD0256C + VALUE X'09644065917220000000000000000000000F'. + 78 XPC-FLD0257C + VALUE X'491C'. + 78 XPC-FLD0258C + VALUE X'93351960881057394000000000000000'. + 78 XPC-FLD0259C + VALUE X'000000093755337C'. + 78 XPC-FLD0260C + VALUE X'00000866489849667547828F'. + 78 XPC-FLD0261C + VALUE X'37421392547904'. + 78 XPC-FLD0262C + VALUE X'00001701590000000000000000'. + 78 XPC-FLD0263C + VALUE X'046C'. + 78 XPC-FLD0264C + VALUE X'009357'. + 78 XPC-FLD0265C + VALUE X'02153010000000000000000000000000000000'. + 78 XPC-FLD0266C + VALUE X'0076935708562128723997375345780000000F'. + 78 XPC-FLD0267C + VALUE X'000000870C'. + 78 XPC-FLD0268C + VALUE X'0000000000000000000000000000000F'. + 78 XPC-FLD0269C + VALUE X'05'. + 78 XPC-FLD0270C + VALUE X'04936C'. + 78 XPC-FLD0271C + VALUE X'0815592744'. + 78 XPC-FLD0272C + VALUE X'0041151466707076400C'. + 78 XPC-FLD0273C + VALUE X'04698099460502486C'. + 78 XPC-FLD0274C + VALUE X'00021902494000000000'. + 78 XPC-FLD0275C + VALUE X'000115700C'. + 78 XPC-FLD0276C + VALUE X'021044697283423507983002309629227000'. + 78 XPC-FLD0277C + VALUE X'000000000974958216'. + 78 XPC-FLD0278C + VALUE X'07069934760000000000000000000000000F'. + 78 XPC-FLD0279C + VALUE X'20110000000000000000000000000000000F'. + 78 XPC-FLD0280C + VALUE X'025719689200000000000000000F'. + 78 XPC-FLD0281C + VALUE X'003428616893811000'. + 78 XPC-FLD0282C + VALUE X'001473254430291000000000000000'. + 78 XPC-FLD0283C + VALUE X'0000000C'. + 78 XPC-FLD0284C + VALUE X'01'. + 78 XPC-FLD0285C + VALUE X'0000092878828230193799520009'. + 78 XPC-FLD0286C + VALUE X'04269643'. + 78 XPC-FLD0287C + VALUE X'521413'. + 78 XPC-FLD0288C + VALUE X'452502240640246355951000000000000F'. + 78 XPC-FLD0289C + VALUE X'0000000009200000000000'. + 78 XPC-FLD0290C + VALUE X'207D'. + 78 XPC-FLD0291C + VALUE X'0000098593841243917534900020882F'. + 78 XPC-FLD0292C + VALUE X'09'. + 78 XPC-FLD0293C + VALUE X'000000093000'. + 78 XPC-FLD0294C + VALUE X'09'. + 78 XPC-FLD0295C + VALUE X'025025480D'. + 78 XPC-FLD0296C + VALUE X'000160918000000000000F'. + 78 XPC-FLD0297C + VALUE X'00030843552269000000'. + 78 XPC-FLD0298C + VALUE X'09881505100000000000000000000000000000'. + 78 XPC-FLD0299C + VALUE X'00648725735835784522720000'. + 78 XPC-FLD0300C + VALUE X'07395614230661028409841F'. + 78 XPC-FLD0301C + VALUE X'5D'. + 78 XPC-FLD0302C + VALUE X'0000000094976469'. + 78 XPC-FLD0303C + VALUE X'09'. + 78 XPC-FLD0304C + VALUE X'0000000008300000000000'. + 78 XPC-FLD0305C + VALUE X'4C'. + 78 XPC-FLD0306C + VALUE X'0000000008300000000D'. + 78 XPC-FLD0307C + VALUE X'075196597674160000000000000000000000'. + 78 XPC-FLD0308C + VALUE X'0676212000000000000000000000000000000F'. + 78 XPC-FLD0309C + VALUE X'096C'. + 78 XPC-FLD0310C + VALUE X'0377541451372100'. + 78 XPC-FLD0311C + VALUE X'6000000000000000000000000000000000000F'. + 78 XPC-FLD0312C + VALUE X'04'. + 78 XPC-FLD0313C + VALUE X'00008649336562'. + 78 XPC-FLD0314C + VALUE X'00000088000000000000000000'. + 78 XPC-FLD0315C + VALUE X'00793333674589681625555215'. + 78 XPC-FLD0316C + VALUE X'000019582740000000000F'. + 78 XPC-FLD0317C + VALUE X'0983225307652C'. + 78 XPC-FLD0318C + VALUE X'637469000000000000000000000000000F'. + 78 XPC-FLD0319C + VALUE X'0069931441978879860243978F'. + 78 XPC-FLD0320C + VALUE X'007197349588245658402F'. + 78 XPC-FLD0321C + VALUE X'0055048748534891610000000F'. + 78 XPC-FLD0322C + VALUE X'044200531022490540000000'. + 78 XPC-FLD0323C + VALUE X'0700000000000000000000000000000000000F'. + 78 XPC-FLD0324C + VALUE X'056016045047582097016F'. + 78 XPC-FLD0325C + VALUE X'000011690000000000000000000F'. + 78 XPC-FLD0326C + VALUE X'044C'. + 78 XPC-FLD0327C + VALUE X'000000900D'. + 78 XPC-FLD0328C + VALUE X'007114750477168C'. + 78 XPC-FLD0329C + VALUE X'0000000000000000000000000000000000000F'. + 78 XPC-FLD0330C + VALUE X'528074615817230000000000000000'. + 78 XPC-FLD0331C + VALUE X'0223281680'. + 78 XPC-FLD0332C + VALUE X'00000865629886'. + 78 XPC-FLD0333C + VALUE X'000009564C'. + 78 XPC-FLD0334C + VALUE X'028999492466'. + 78 XPC-FLD0335C + VALUE X'00030334218791000000'. + 78 XPC-FLD0336C + VALUE X'00085800255C'. + 78 XPC-FLD0337C + VALUE X'720039965448931451597047725F'. + 78 XPC-FLD0338C + VALUE X'000000000000000000000F'. + 78 XPC-FLD0339C + VALUE X'00001605520000000000000F'. + 78 XPC-FLD0340C + VALUE X'0283816514732C'. + 78 XPC-FLD0341C + VALUE X'676316159010109663180F'. + 78 XPC-FLD0342C + VALUE X'00023471430000000C'. + 78 XPC-FLD0343C + VALUE X'08663561'. + 78 XPC-FLD0344C + VALUE X'487899471050000000000000000000000F'. + 78 XPC-FLD0345C + VALUE X'0000000000000000'. + 78 XPC-FLD0346C + VALUE X'0078078600333687642187641F'. + 78 XPC-FLD0347C + VALUE X'165985'. + 78 XPC-FLD0348C + VALUE X'0033778742713300000000'. + 78 XPC-FLD0349C + VALUE X'06677966816100000000000000000000000F'. + 78 XPC-FLD0350C + VALUE X'00000070000000000000000000000000'. + 78 XPC-FLD0351C + VALUE X'00000849425769125191'. + 78 XPC-FLD0352C + VALUE X'00009378'. + 78 XPC-FLD0353C + VALUE X'88730000000000000000000000000000000F'. + 78 XPC-FLD0354C + VALUE X'02152460400C'. + 78 XPC-FLD0355C + VALUE X'08715C'. + 78 XPC-FLD0356C + VALUE X'98983370500000000000000000000000'. + 78 XPC-FLD0357C + VALUE X'0989'. + 78 XPC-FLD0358C + VALUE X'02984840394300000000000000'. + 78 XPC-FLD0359C + VALUE X'9598518521032133321568800000000000000F'. + 78 XPC-FLD0360C + VALUE X'0027761227'. + 78 XPC-FLD0361C + VALUE X'23089804406111236190213276131500'. + 78 XPC-FLD0362C + VALUE X'0000000000000000000000000000000000'. + 78 XPC-FLD0363C + VALUE X'05926207800000000000000000000000000F'. + 78 XPC-FLD0364C + VALUE X'0012340000000000000000000000000F'. + 78 XPC-FLD0365C + VALUE X'05519670096247205615100000'. + 78 XPC-FLD0366C + VALUE X'08224143642778768414913770357088'. + 78 XPC-FLD0367C + VALUE X'9754369C'. + 78 XPC-FLD0368C + VALUE X'03'. + 78 XPC-FLD0369C + VALUE X'00000000000C'. + 78 XPC-FLD0370C + VALUE X'0C'. + 78 XPC-FLD0371C + VALUE X'000C'. + 78 XPC-FLD0372C + VALUE X'5067586024551302692F'. + 78 XPC-FLD0373C + VALUE X'6607304158912C'. + 78 XPC-FLD0374C + VALUE X'000000000000000000000000000F'. + 78 XPC-FLD0375C + VALUE X'03'. + 78 XPC-FLD0376C + VALUE X'0000084980958923270F'. + 78 XPC-FLD0377C + VALUE X'00000967759547981370871205797F'. + 78 XPC-FLD0378C + VALUE X'0000000C'. + 78 XPC-FLD0379C + VALUE X'04'. + 78 XPC-FLD0380C + VALUE X'9C'. + 78 XPC-FLD0381C + VALUE X'0124'. + 78 XPC-FLD0382C + VALUE X'3185'. + 78 XPC-FLD0383C + VALUE X'0008846280283410202782690134881F'. + 78 XPC-FLD0384C + VALUE X'01'. + 78 XPC-FLD0385C + VALUE X'882641569234671408000000000000000F'. + 78 XPC-FLD0386C + VALUE X'01006446220522301260000000000F'. + 78 XPC-FLD0387C + VALUE X'0305164059310000000000000F'. + 78 XPC-FLD0388C + VALUE X'0425'. + 78 XPC-FLD0389C + VALUE X'4300560615719126000000'. + 78 XPC-FLD0390C + VALUE X'0007'. + 78 XPC-FLD0391C + VALUE X'03006664253C'. + 78 XPC-FLD0392C + VALUE X'000000000957627258'. + 78 XPC-FLD0393C + VALUE X'0005000000000000000000000000000000'. + 78 XPC-FLD0394C + VALUE X'0000001680780000000C'. + 78 XPC-FLD0395C + VALUE X'2C'. + 78 XPC-FLD0396C + VALUE X'4199398272807910'. + 78 XPC-FLD0397C + VALUE X'069C'. + 78 XPC-FLD0398C + VALUE X'00008411085C'. + 78 XPC-FLD0399C + VALUE X'0008621537'. + 78 XPC-FLD0400C + VALUE X'07030346791008200000000000000000'. + 78 XPC-FLD0401C + VALUE X'09'. + 78 XPC-FLD0402C + VALUE X'00008843413069892215316869'. + 78 XPC-FLD0403C + VALUE X'018521192780340000000000000000000000'. + 78 XPC-FLD0404C + VALUE X'8105929035137817700000000F'. + 78 XPC-FLD0405C + VALUE X'20744D'. + 78 XPC-FLD0406C + VALUE X'250301894000000000000000000000'. + 78 XPC-FLD0407C + VALUE X'08873808380059800000000000000000000000'. + 78 XPC-FLD0408C + VALUE X'3810009911'. + 78 XPC-FLD0409C + VALUE X'0028575188650000000000'. + 78 XPC-FLD0410C + VALUE X'8608772611305250000000000000000000000F'. + 78 XPC-FLD0411C + VALUE X'085733222699574884728690400000'. + 78 XPC-FLD0412C + VALUE X'7C'. + 78 XPC-FLD0413C + VALUE X'2C'. + 78 XPC-FLD0414C + VALUE X'84413C'. + 78 XPC-FLD0415C + VALUE X'9882276907018123770000000000000000'. + 78 XPC-FLD0416C + VALUE X'8C'. + 78 XPC-FLD0417C + VALUE X'094259186417160190085695603556814F'. + 78 XPC-FLD0418C + VALUE X'00'. + 78 XPC-FLD0419C + VALUE X'004156956195444910000F'. + 78 XPC-FLD0420C + VALUE X'1191370000000000000000000000000000'. + 78 XPC-FLD0421C + VALUE X'1247079C'. + 78 XPC-FLD0422C + VALUE X'720047000515101842660000000000000000'. + 78 XPC-FLD0423C + VALUE X'59541777429198150528570000'. + 78 XPC-FLD0424C + VALUE X'0511515415988558208500000000'. + 78 XPC-FLD0425C + VALUE X'04741628720817547270000F'. + 78 XPC-FLD0426C + VALUE X'0560145669580725313885'. + 78 XPC-FLD0427C + VALUE X'052846215641000000000000000000'. + 78 XPC-FLD0428C + VALUE X'03234918316627730661139139556000000000'. + 78 XPC-FLD0429C + VALUE X'0007833347606290'. + 78 XPC-FLD0430C + VALUE X'00308209985020'. + 78 XPC-FLD0431C + VALUE X'00000000000000000000000000000000000F'. + 78 XPC-FLD0432C + VALUE X'0307034C'. + 78 XPC-FLD0433C + VALUE X'00129558'. + 78 XPC-FLD0434C + VALUE X'67534156190000000000000000000000000F'. + 78 XPC-FLD0435C + VALUE X'00000000087000000000000F'. + 78 XPC-FLD0436C + VALUE X'0000000000000000000000000000000F'. + 78 XPC-FLD0437C + VALUE X'0632897272198471361193128F'. + 78 XPC-FLD0438C + VALUE X'940216365745390802999000000000000F'. + 78 XPC-FLD0439C + VALUE X'496113480543429519000F'. + 78 XPC-FLD0440C + VALUE X'000000088990750705'. + 78 XPC-FLD0441C + VALUE X'00071126905440655C'. + 78 XPC-FLD0442C + VALUE X'9951000000000000000000000000000000'. + 78 XPC-FLD0443C + VALUE X'74498425546487689000000F'. + 78 XPC-FLD0444C + VALUE X'0000000094673816662F'. + 78 XPC-FLD0445C + VALUE X'54165545445299512C'. + 78 XPC-FLD0446C + VALUE X'00448978466972116400000000'. + 78 XPC-FLD0447C + VALUE X'0000000600'. + 78 XPC-FLD0448C + VALUE X'00001865654000000000'. + 78 XPC-FLD0449C + VALUE X'0849880941870D'. + 78 XPC-FLD0450C + VALUE X'6255783755022833458880'. + 78 XPC-FLD0451C + VALUE X'000000000C'. + 78 XPC-FLD0452C + VALUE X'0002682648418000000000'. + 78 XPC-FLD0453C + VALUE X'465392911909000000000000000000000000'. + 78 XPC-FLD0454C + VALUE X'0D'. + 78 XPC-FLD0455C + VALUE X'000000000000000000000000000000000F'. + 78 XPC-FLD0456C + VALUE X'000093'. + 78 XPC-FLD0457C + VALUE X'03'. + 78 XPC-FLD0458C + VALUE X'000000006000'. + 78 XPC-FLD0459C + VALUE X'000019847990000000000F'. + 78 XPC-FLD0460C + VALUE X'00000000000000000000000000000F'. + 78 XPC-FLD0461C + VALUE X'000000000C'. + 78 XPC-FLD0462C + VALUE X'0956900000000000000000000000000000000F'. + 78 XPC-FLD0463C + VALUE X'0000085490666934'. + 78 XPC-FLD0464C + VALUE X'0870311903834293000000000000'. + 78 XPC-FLD0465C + VALUE X'05639855971063010280000000000000'. + 78 XPC-FLD0466C + VALUE X'081306'. + 78 XPC-FLD0467C + VALUE X'328700000000000000000000000000000F'. + 78 XPC-FLD0468C + VALUE X'044132145767'. + 78 XPC-FLD0469C + VALUE X'0070961503876956555F'. + 78 XPC-FLD0470C + VALUE X'000000091368100C'. + 78 XPC-FLD0471C + VALUE X'03'. + 78 XPC-FLD0472C + VALUE X'099086905033216800000000000000000F'. + 78 XPC-FLD0473C + VALUE X'074367162068054681878237488F'. + 78 XPC-FLD0474C + VALUE X'25744C'. + 78 XPC-FLD0475C + VALUE X'588724634299997C'. + 78 XPC-FLD0476C + VALUE X'08699334'. + 78 XPC-FLD0477C + VALUE X'007449248299155C'. + 78 XPC-FLD0478C + VALUE X'00726161625751'. + 78 XPC-FLD0479C + VALUE X'5020528966970000000000000000000F'. + 78 XPC-FLD0480C + VALUE X'0020301780000000000000000000'. + 78 XPC-FLD0481C + VALUE X'8000000000000000000000000000000000000F'. + 78 XPC-FLD0482C + VALUE X'0007090503795044722C'. + 78 XPC-FLD0483C + VALUE X'0000000079000C'. + 78 XPC-FLD0484C + VALUE X'0000000000000000000000'. + 78 XPC-FLD0485C + VALUE X'675729'. + 78 XPC-FLD0486C + VALUE X'000000139370000000'. + 78 XPC-FLD0487C + VALUE X'000209384200000000000000000F'. + 78 XPC-FLD0488C + VALUE X'05191989067966076000000000'. + 78 XPC-FLD0489C + VALUE X'00600000000000000000000000000000000000'. + 78 XPC-FLD0490C + VALUE X'5256658026'. + 78 XPC-FLD0491C + VALUE X'0000009182459205467069507F'. + 78 XPC-FLD0492C + VALUE X'0008192664570C'. + 78 XPC-FLD0493C + VALUE X'018038500000000000000000000000'. + 78 XPC-FLD0494C + VALUE X'0000087574541779147F'. + 78 XPC-FLD0495C + VALUE X'000000005000000000000000'. + 78 XPC-FLD0496C + VALUE X'06763C'. + 78 XPC-FLD0497C + VALUE X'00008362306435874340415637'. + 78 XPC-FLD0498C + VALUE X'04552934'. + 78 XPC-FLD0499C + VALUE X'0000000005000000000000000F'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE FLD0001A TO FLD0001C. + MOVE FLD0002A TO FLD0002C. + MOVE FLD0003A TO FLD0003C. + MOVE FLD0004A TO FLD0004C. + MOVE FLD0005A TO FLD0005C. + MOVE FLD0006A TO FLD0006C. + MOVE FLD0007A TO FLD0007C. + MOVE FLD0008A TO FLD0008C. + MOVE FLD0009A TO FLD0009C. + MOVE FLD0010A TO FLD0010C. + MOVE FLD0011A TO FLD0011C. + MOVE FLD0012A TO FLD0012C. + MOVE FLD0013A TO FLD0013C. + MOVE FLD0014A TO FLD0014C. + MOVE FLD0015A TO FLD0015C. + MOVE FLD0016A TO FLD0016C. + MOVE FLD0017A TO FLD0017C. + MOVE FLD0018A TO FLD0018C. + MOVE FLD0019A TO FLD0019C. + MOVE FLD0020A TO FLD0020C. + MOVE FLD0021A TO FLD0021C. + MOVE FLD0022A TO FLD0022C. + MOVE FLD0023A TO FLD0023C. + MOVE FLD0024A TO FLD0024C. + MOVE FLD0025A TO FLD0025C. + MOVE FLD0026A TO FLD0026C. + MOVE FLD0027A TO FLD0027C. + MOVE FLD0028A TO FLD0028C. + MOVE FLD0029A TO FLD0029C. + MOVE FLD0030A TO FLD0030C. + MOVE FLD0031A TO FLD0031C. + MOVE FLD0032A TO FLD0032C. + MOVE FLD0033A TO FLD0033C. + MOVE FLD0034A TO FLD0034C. + MOVE FLD0035A TO FLD0035C. + MOVE FLD0036A TO FLD0036C. + MOVE FLD0037A TO FLD0037C. + MOVE FLD0038A TO FLD0038C. + MOVE FLD0039A TO FLD0039C. + MOVE FLD0040A TO FLD0040C. + MOVE FLD0041A TO FLD0041C. + MOVE FLD0042A TO FLD0042C. + MOVE FLD0043A TO FLD0043C. + MOVE FLD0044A TO FLD0044C. + MOVE FLD0045A TO FLD0045C. + MOVE FLD0046A TO FLD0046C. + MOVE FLD0047A TO FLD0047C. + MOVE FLD0048A TO FLD0048C. + MOVE FLD0049A TO FLD0049C. + MOVE FLD0050A TO FLD0050C. + MOVE FLD0051A TO FLD0051C. + MOVE FLD0052A TO FLD0052C. + MOVE FLD0053A TO FLD0053C. + MOVE FLD0054A TO FLD0054C. + MOVE FLD0055A TO FLD0055C. + MOVE FLD0056A TO FLD0056C. + MOVE FLD0057A TO FLD0057C. + MOVE FLD0058A TO FLD0058C. + MOVE FLD0059A TO FLD0059C. + MOVE FLD0060A TO FLD0060C. + MOVE FLD0061A TO FLD0061C. + MOVE FLD0062A TO FLD0062C. + MOVE FLD0063A TO FLD0063C. + MOVE FLD0064A TO FLD0064C. + MOVE FLD0065A TO FLD0065C. + MOVE FLD0066A TO FLD0066C. + MOVE FLD0067A TO FLD0067C. + MOVE FLD0068A TO FLD0068C. + MOVE FLD0069A TO FLD0069C. + MOVE FLD0070A TO FLD0070C. + MOVE FLD0071A TO FLD0071C. + MOVE FLD0072A TO FLD0072C. + MOVE FLD0073A TO FLD0073C. + MOVE FLD0074A TO FLD0074C. + MOVE FLD0075A TO FLD0075C. + MOVE FLD0076A TO FLD0076C. + MOVE FLD0077A TO FLD0077C. + MOVE FLD0078A TO FLD0078C. + MOVE FLD0079A TO FLD0079C. + MOVE FLD0080A TO FLD0080C. + MOVE FLD0081A TO FLD0081C. + MOVE FLD0082A TO FLD0082C. + MOVE FLD0083A TO FLD0083C. + MOVE FLD0084A TO FLD0084C. + MOVE FLD0085A TO FLD0085C. + MOVE FLD0086A TO FLD0086C. + MOVE FLD0087A TO FLD0087C. + MOVE FLD0088A TO FLD0088C. + MOVE FLD0089A TO FLD0089C. + MOVE FLD0090A TO FLD0090C. + MOVE FLD0091A TO FLD0091C. + MOVE FLD0092A TO FLD0092C. + MOVE FLD0093A TO FLD0093C. + MOVE FLD0094A TO FLD0094C. + MOVE FLD0095A TO FLD0095C. + MOVE FLD0096A TO FLD0096C. + MOVE FLD0097A TO FLD0097C. + MOVE FLD0098A TO FLD0098C. + MOVE FLD0099A TO FLD0099C. + MOVE FLD0100A TO FLD0100C. + MOVE FLD0101A TO FLD0101C. + MOVE FLD0102A TO FLD0102C. + MOVE FLD0103A TO FLD0103C. + MOVE FLD0104A TO FLD0104C. + MOVE FLD0105A TO FLD0105C. + MOVE FLD0106A TO FLD0106C. + MOVE FLD0107A TO FLD0107C. + MOVE FLD0108A TO FLD0108C. + MOVE FLD0109A TO FLD0109C. + MOVE FLD0110A TO FLD0110C. + MOVE FLD0111A TO FLD0111C. + MOVE FLD0112A TO FLD0112C. + MOVE FLD0113A TO FLD0113C. + MOVE FLD0114A TO FLD0114C. + MOVE FLD0115A TO FLD0115C. + MOVE FLD0116A TO FLD0116C. + MOVE FLD0117A TO FLD0117C. + MOVE FLD0118A TO FLD0118C. + MOVE FLD0119A TO FLD0119C. + MOVE FLD0120A TO FLD0120C. + MOVE FLD0121A TO FLD0121C. + MOVE FLD0122A TO FLD0122C. + MOVE FLD0123A TO FLD0123C. + MOVE FLD0124A TO FLD0124C. + MOVE FLD0125A TO FLD0125C. + MOVE FLD0126A TO FLD0126C. + MOVE FLD0127A TO FLD0127C. + MOVE FLD0128A TO FLD0128C. + MOVE FLD0129A TO FLD0129C. + MOVE FLD0130A TO FLD0130C. + MOVE FLD0131A TO FLD0131C. + MOVE FLD0132A TO FLD0132C. + MOVE FLD0133A TO FLD0133C. + MOVE FLD0134A TO FLD0134C. + MOVE FLD0135A TO FLD0135C. + MOVE FLD0136A TO FLD0136C. + MOVE FLD0137A TO FLD0137C. + MOVE FLD0138A TO FLD0138C. + MOVE FLD0139A TO FLD0139C. + MOVE FLD0140A TO FLD0140C. + MOVE FLD0141A TO FLD0141C. + MOVE FLD0142A TO FLD0142C. + MOVE FLD0143A TO FLD0143C. + MOVE FLD0144A TO FLD0144C. + MOVE FLD0145A TO FLD0145C. + MOVE FLD0146A TO FLD0146C. + MOVE FLD0147A TO FLD0147C. + MOVE FLD0148A TO FLD0148C. + MOVE FLD0149A TO FLD0149C. + MOVE FLD0150A TO FLD0150C. + MOVE FLD0151A TO FLD0151C. + MOVE FLD0152A TO FLD0152C. + MOVE FLD0153A TO FLD0153C. + MOVE FLD0154A TO FLD0154C. + MOVE FLD0155A TO FLD0155C. + MOVE FLD0156A TO FLD0156C. + MOVE FLD0157A TO FLD0157C. + MOVE FLD0158A TO FLD0158C. + MOVE FLD0159A TO FLD0159C. + MOVE FLD0160A TO FLD0160C. + MOVE FLD0161A TO FLD0161C. + MOVE FLD0162A TO FLD0162C. + MOVE FLD0163A TO FLD0163C. + MOVE FLD0164A TO FLD0164C. + MOVE FLD0165A TO FLD0165C. + MOVE FLD0166A TO FLD0166C. + MOVE FLD0167A TO FLD0167C. + MOVE FLD0168A TO FLD0168C. + MOVE FLD0169A TO FLD0169C. + MOVE FLD0170A TO FLD0170C. + MOVE FLD0171A TO FLD0171C. + MOVE FLD0172A TO FLD0172C. + MOVE FLD0173A TO FLD0173C. + MOVE FLD0174A TO FLD0174C. + MOVE FLD0175A TO FLD0175C. + MOVE FLD0176A TO FLD0176C. + MOVE FLD0177A TO FLD0177C. + MOVE FLD0178A TO FLD0178C. + MOVE FLD0179A TO FLD0179C. + MOVE FLD0180A TO FLD0180C. + MOVE FLD0181A TO FLD0181C. + MOVE FLD0182A TO FLD0182C. + MOVE FLD0183A TO FLD0183C. + MOVE FLD0184A TO FLD0184C. + MOVE FLD0185A TO FLD0185C. + MOVE FLD0186A TO FLD0186C. + MOVE FLD0187A TO FLD0187C. + MOVE FLD0188A TO FLD0188C. + MOVE FLD0189A TO FLD0189C. + MOVE FLD0190A TO FLD0190C. + MOVE FLD0191A TO FLD0191C. + MOVE FLD0192A TO FLD0192C. + MOVE FLD0193A TO FLD0193C. + MOVE FLD0194A TO FLD0194C. + MOVE FLD0195A TO FLD0195C. + MOVE FLD0196A TO FLD0196C. + MOVE FLD0197A TO FLD0197C. + MOVE FLD0198A TO FLD0198C. + MOVE FLD0199A TO FLD0199C. + MOVE FLD0200A TO FLD0200C. + MOVE FLD0201A TO FLD0201C. + MOVE FLD0202A TO FLD0202C. + MOVE FLD0203A TO FLD0203C. + MOVE FLD0204A TO FLD0204C. + MOVE FLD0205A TO FLD0205C. + MOVE FLD0206A TO FLD0206C. + MOVE FLD0207A TO FLD0207C. + MOVE FLD0208A TO FLD0208C. + MOVE FLD0209A TO FLD0209C. + MOVE FLD0210A TO FLD0210C. + MOVE FLD0211A TO FLD0211C. + MOVE FLD0212A TO FLD0212C. + MOVE FLD0213A TO FLD0213C. + MOVE FLD0214A TO FLD0214C. + MOVE FLD0215A TO FLD0215C. + MOVE FLD0216A TO FLD0216C. + MOVE FLD0217A TO FLD0217C. + MOVE FLD0218A TO FLD0218C. + MOVE FLD0219A TO FLD0219C. + MOVE FLD0220A TO FLD0220C. + MOVE FLD0221A TO FLD0221C. + MOVE FLD0222A TO FLD0222C. + MOVE FLD0223A TO FLD0223C. + MOVE FLD0224A TO FLD0224C. + MOVE FLD0225A TO FLD0225C. + MOVE FLD0226A TO FLD0226C. + MOVE FLD0227A TO FLD0227C. + MOVE FLD0228A TO FLD0228C. + MOVE FLD0229A TO FLD0229C. + MOVE FLD0230A TO FLD0230C. + MOVE FLD0231A TO FLD0231C. + MOVE FLD0232A TO FLD0232C. + MOVE FLD0233A TO FLD0233C. + MOVE FLD0234A TO FLD0234C. + MOVE FLD0235A TO FLD0235C. + MOVE FLD0236A TO FLD0236C. + MOVE FLD0237A TO FLD0237C. + MOVE FLD0238A TO FLD0238C. + MOVE FLD0239A TO FLD0239C. + MOVE FLD0240A TO FLD0240C. + MOVE FLD0241A TO FLD0241C. + MOVE FLD0242A TO FLD0242C. + MOVE FLD0243A TO FLD0243C. + MOVE FLD0244A TO FLD0244C. + MOVE FLD0245A TO FLD0245C. + MOVE FLD0246A TO FLD0246C. + MOVE FLD0247A TO FLD0247C. + MOVE FLD0248A TO FLD0248C. + MOVE FLD0249A TO FLD0249C. + MOVE FLD0250A TO FLD0250C. + MOVE FLD0251A TO FLD0251C. + MOVE FLD0252A TO FLD0252C. + MOVE FLD0253A TO FLD0253C. + MOVE FLD0254A TO FLD0254C. + MOVE FLD0255A TO FLD0255C. + MOVE FLD0256A TO FLD0256C. + MOVE FLD0257A TO FLD0257C. + MOVE FLD0258A TO FLD0258C. + MOVE FLD0259A TO FLD0259C. + MOVE FLD0260A TO FLD0260C. + MOVE FLD0261A TO FLD0261C. + MOVE FLD0262A TO FLD0262C. + MOVE FLD0263A TO FLD0263C. + MOVE FLD0264A TO FLD0264C. + MOVE FLD0265A TO FLD0265C. + MOVE FLD0266A TO FLD0266C. + MOVE FLD0267A TO FLD0267C. + MOVE FLD0268A TO FLD0268C. + MOVE FLD0269A TO FLD0269C. + MOVE FLD0270A TO FLD0270C. + MOVE FLD0271A TO FLD0271C. + MOVE FLD0272A TO FLD0272C. + MOVE FLD0273A TO FLD0273C. + MOVE FLD0274A TO FLD0274C. + MOVE FLD0275A TO FLD0275C. + MOVE FLD0276A TO FLD0276C. + MOVE FLD0277A TO FLD0277C. + MOVE FLD0278A TO FLD0278C. + MOVE FLD0279A TO FLD0279C. + MOVE FLD0280A TO FLD0280C. + MOVE FLD0281A TO FLD0281C. + MOVE FLD0282A TO FLD0282C. + MOVE FLD0283A TO FLD0283C. + MOVE FLD0284A TO FLD0284C. + MOVE FLD0285A TO FLD0285C. + MOVE FLD0286A TO FLD0286C. + MOVE FLD0287A TO FLD0287C. + MOVE FLD0288A TO FLD0288C. + MOVE FLD0289A TO FLD0289C. + MOVE FLD0290A TO FLD0290C. + MOVE FLD0291A TO FLD0291C. + MOVE FLD0292A TO FLD0292C. + MOVE FLD0293A TO FLD0293C. + MOVE FLD0294A TO FLD0294C. + MOVE FLD0295A TO FLD0295C. + MOVE FLD0296A TO FLD0296C. + MOVE FLD0297A TO FLD0297C. + MOVE FLD0298A TO FLD0298C. + MOVE FLD0299A TO FLD0299C. + MOVE FLD0300A TO FLD0300C. + MOVE FLD0301A TO FLD0301C. + MOVE FLD0302A TO FLD0302C. + MOVE FLD0303A TO FLD0303C. + MOVE FLD0304A TO FLD0304C. + MOVE FLD0305A TO FLD0305C. + MOVE FLD0306A TO FLD0306C. + MOVE FLD0307A TO FLD0307C. + MOVE FLD0308A TO FLD0308C. + MOVE FLD0309A TO FLD0309C. + MOVE FLD0310A TO FLD0310C. + MOVE FLD0311A TO FLD0311C. + MOVE FLD0312A TO FLD0312C. + MOVE FLD0313A TO FLD0313C. + MOVE FLD0314A TO FLD0314C. + MOVE FLD0315A TO FLD0315C. + MOVE FLD0316A TO FLD0316C. + MOVE FLD0317A TO FLD0317C. + MOVE FLD0318A TO FLD0318C. + MOVE FLD0319A TO FLD0319C. + MOVE FLD0320A TO FLD0320C. + MOVE FLD0321A TO FLD0321C. + MOVE FLD0322A TO FLD0322C. + MOVE FLD0323A TO FLD0323C. + MOVE FLD0324A TO FLD0324C. + MOVE FLD0325A TO FLD0325C. + MOVE FLD0326A TO FLD0326C. + MOVE FLD0327A TO FLD0327C. + MOVE FLD0328A TO FLD0328C. + MOVE FLD0329A TO FLD0329C. + MOVE FLD0330A TO FLD0330C. + MOVE FLD0331A TO FLD0331C. + MOVE FLD0332A TO FLD0332C. + MOVE FLD0333A TO FLD0333C. + MOVE FLD0334A TO FLD0334C. + MOVE FLD0335A TO FLD0335C. + MOVE FLD0336A TO FLD0336C. + MOVE FLD0337A TO FLD0337C. + MOVE FLD0338A TO FLD0338C. + MOVE FLD0339A TO FLD0339C. + MOVE FLD0340A TO FLD0340C. + MOVE FLD0341A TO FLD0341C. + MOVE FLD0342A TO FLD0342C. + MOVE FLD0343A TO FLD0343C. + MOVE FLD0344A TO FLD0344C. + MOVE FLD0345A TO FLD0345C. + MOVE FLD0346A TO FLD0346C. + MOVE FLD0347A TO FLD0347C. + MOVE FLD0348A TO FLD0348C. + MOVE FLD0349A TO FLD0349C. + MOVE FLD0350A TO FLD0350C. + MOVE FLD0351A TO FLD0351C. + MOVE FLD0352A TO FLD0352C. + MOVE FLD0353A TO FLD0353C. + MOVE FLD0354A TO FLD0354C. + MOVE FLD0355A TO FLD0355C. + MOVE FLD0356A TO FLD0356C. + MOVE FLD0357A TO FLD0357C. + MOVE FLD0358A TO FLD0358C. + MOVE FLD0359A TO FLD0359C. + MOVE FLD0360A TO FLD0360C. + MOVE FLD0361A TO FLD0361C. + MOVE FLD0362A TO FLD0362C. + MOVE FLD0363A TO FLD0363C. + MOVE FLD0364A TO FLD0364C. + MOVE FLD0365A TO FLD0365C. + MOVE FLD0366A TO FLD0366C. + MOVE FLD0367A TO FLD0367C. + MOVE FLD0368A TO FLD0368C. + MOVE FLD0369A TO FLD0369C. + MOVE FLD0370A TO FLD0370C. + MOVE FLD0371A TO FLD0371C. + MOVE FLD0372A TO FLD0372C. + MOVE FLD0373A TO FLD0373C. + MOVE FLD0374A TO FLD0374C. + MOVE FLD0375A TO FLD0375C. + MOVE FLD0376A TO FLD0376C. + MOVE FLD0377A TO FLD0377C. + MOVE FLD0378A TO FLD0378C. + MOVE FLD0379A TO FLD0379C. + MOVE FLD0380A TO FLD0380C. + MOVE FLD0381A TO FLD0381C. + MOVE FLD0382A TO FLD0382C. + MOVE FLD0383A TO FLD0383C. + MOVE FLD0384A TO FLD0384C. + MOVE FLD0385A TO FLD0385C. + MOVE FLD0386A TO FLD0386C. + MOVE FLD0387A TO FLD0387C. + MOVE FLD0388A TO FLD0388C. + MOVE FLD0389A TO FLD0389C. + MOVE FLD0390A TO FLD0390C. + MOVE FLD0391A TO FLD0391C. + MOVE FLD0392A TO FLD0392C. + MOVE FLD0393A TO FLD0393C. + MOVE FLD0394A TO FLD0394C. + MOVE FLD0395A TO FLD0395C. + MOVE FLD0396A TO FLD0396C. + MOVE FLD0397A TO FLD0397C. + MOVE FLD0398A TO FLD0398C. + MOVE FLD0399A TO FLD0399C. + MOVE FLD0400A TO FLD0400C. + MOVE FLD0401A TO FLD0401C. + MOVE FLD0402A TO FLD0402C. + MOVE FLD0403A TO FLD0403C. + MOVE FLD0404A TO FLD0404C. + MOVE FLD0405A TO FLD0405C. + MOVE FLD0406A TO FLD0406C. + MOVE FLD0407A TO FLD0407C. + MOVE FLD0408A TO FLD0408C. + MOVE FLD0409A TO FLD0409C. + MOVE FLD0410A TO FLD0410C. + MOVE FLD0411A TO FLD0411C. + MOVE FLD0412A TO FLD0412C. + MOVE FLD0413A TO FLD0413C. + MOVE FLD0414A TO FLD0414C. + MOVE FLD0415A TO FLD0415C. + MOVE FLD0416A TO FLD0416C. + MOVE FLD0417A TO FLD0417C. + MOVE FLD0418A TO FLD0418C. + MOVE FLD0419A TO FLD0419C. + MOVE FLD0420A TO FLD0420C. + MOVE FLD0421A TO FLD0421C. + MOVE FLD0422A TO FLD0422C. + MOVE FLD0423A TO FLD0423C. + MOVE FLD0424A TO FLD0424C. + MOVE FLD0425A TO FLD0425C. + MOVE FLD0426A TO FLD0426C. + MOVE FLD0427A TO FLD0427C. + MOVE FLD0428A TO FLD0428C. + MOVE FLD0429A TO FLD0429C. + MOVE FLD0430A TO FLD0430C. + MOVE FLD0431A TO FLD0431C. + MOVE FLD0432A TO FLD0432C. + MOVE FLD0433A TO FLD0433C. + MOVE FLD0434A TO FLD0434C. + MOVE FLD0435A TO FLD0435C. + MOVE FLD0436A TO FLD0436C. + MOVE FLD0437A TO FLD0437C. + MOVE FLD0438A TO FLD0438C. + MOVE FLD0439A TO FLD0439C. + MOVE FLD0440A TO FLD0440C. + MOVE FLD0441A TO FLD0441C. + MOVE FLD0442A TO FLD0442C. + MOVE FLD0443A TO FLD0443C. + MOVE FLD0444A TO FLD0444C. + MOVE FLD0445A TO FLD0445C. + MOVE FLD0446A TO FLD0446C. + MOVE FLD0447A TO FLD0447C. + MOVE FLD0448A TO FLD0448C. + MOVE FLD0449A TO FLD0449C. + MOVE FLD0450A TO FLD0450C. + MOVE FLD0451A TO FLD0451C. + MOVE FLD0452A TO FLD0452C. + MOVE FLD0453A TO FLD0453C. + MOVE FLD0454A TO FLD0454C. + MOVE FLD0455A TO FLD0455C. + MOVE FLD0456A TO FLD0456C. + MOVE FLD0457A TO FLD0457C. + MOVE FLD0458A TO FLD0458C. + MOVE FLD0459A TO FLD0459C. + MOVE FLD0460A TO FLD0460C. + MOVE FLD0461A TO FLD0461C. + MOVE FLD0462A TO FLD0462C. + MOVE FLD0463A TO FLD0463C. + MOVE FLD0464A TO FLD0464C. + MOVE FLD0465A TO FLD0465C. + MOVE FLD0466A TO FLD0466C. + MOVE FLD0467A TO FLD0467C. + MOVE FLD0468A TO FLD0468C. + MOVE FLD0469A TO FLD0469C. + MOVE FLD0470A TO FLD0470C. + MOVE FLD0471A TO FLD0471C. + MOVE FLD0472A TO FLD0472C. + MOVE FLD0473A TO FLD0473C. + MOVE FLD0474A TO FLD0474C. + MOVE FLD0475A TO FLD0475C. + MOVE FLD0476A TO FLD0476C. + MOVE FLD0477A TO FLD0477C. + MOVE FLD0478A TO FLD0478C. + MOVE FLD0479A TO FLD0479C. + MOVE FLD0480A TO FLD0480C. + MOVE FLD0481A TO FLD0481C. + MOVE FLD0482A TO FLD0482C. + MOVE FLD0483A TO FLD0483C. + MOVE FLD0484A TO FLD0484C. + MOVE FLD0485A TO FLD0485C. + MOVE FLD0486A TO FLD0486C. + MOVE FLD0487A TO FLD0487C. + MOVE FLD0488A TO FLD0488C. + MOVE FLD0489A TO FLD0489C. + MOVE FLD0490A TO FLD0490C. + MOVE FLD0491A TO FLD0491C. + MOVE FLD0492A TO FLD0492C. + MOVE FLD0493A TO FLD0493C. + MOVE FLD0494A TO FLD0494C. + MOVE FLD0495A TO FLD0495C. + MOVE FLD0496A TO FLD0496C. + MOVE FLD0497A TO FLD0497C. + MOVE FLD0498A TO FLD0498C. + MOVE FLD0499A TO FLD0499C. + + *4000-COMPARE. + + IF FLD0001C (1:) NOT EQUAL XPC-FLD0001C + DISPLAY 'FLD0001C ==> ' HEX-OF (FLD0001C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0001C). + IF FLD0002C (1:) NOT EQUAL XPC-FLD0002C + DISPLAY 'FLD0002C ==> ' HEX-OF (FLD0002C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0002C). + IF FLD0003C (1:) NOT EQUAL XPC-FLD0003C + DISPLAY 'FLD0003C ==> ' HEX-OF (FLD0003C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0003C). + IF FLD0004C (1:) NOT EQUAL XPC-FLD0004C + DISPLAY 'FLD0004C ==> ' HEX-OF (FLD0004C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0004C). + IF FLD0005C (1:) NOT EQUAL XPC-FLD0005C + DISPLAY 'FLD0005C ==> ' HEX-OF (FLD0005C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0005C). + IF FLD0006C (1:) NOT EQUAL XPC-FLD0006C + DISPLAY 'FLD0006C ==> ' HEX-OF (FLD0006C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0006C). + IF FLD0007C (1:) NOT EQUAL XPC-FLD0007C + DISPLAY 'FLD0007C ==> ' HEX-OF (FLD0007C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0007C). + IF FLD0008C (1:) NOT EQUAL XPC-FLD0008C + DISPLAY 'FLD0008C ==> ' HEX-OF (FLD0008C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0008C). + IF FLD0009C (1:) NOT EQUAL XPC-FLD0009C + DISPLAY 'FLD0009C ==> ' HEX-OF (FLD0009C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0009C). + IF FLD0010C (1:) NOT EQUAL XPC-FLD0010C + DISPLAY 'FLD0010C ==> ' HEX-OF (FLD0010C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0010C). + IF FLD0011C (1:) NOT EQUAL XPC-FLD0011C + DISPLAY 'FLD0011C ==> ' HEX-OF (FLD0011C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0011C). + IF FLD0012C (1:) NOT EQUAL XPC-FLD0012C + DISPLAY 'FLD0012C ==> ' HEX-OF (FLD0012C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0012C). + IF FLD0013C (1:) NOT EQUAL XPC-FLD0013C + DISPLAY 'FLD0013C ==> ' HEX-OF (FLD0013C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0013C). + IF FLD0014C (1:) NOT EQUAL XPC-FLD0014C + DISPLAY 'FLD0014C ==> ' HEX-OF (FLD0014C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0014C). + IF FLD0015C (1:) NOT EQUAL XPC-FLD0015C + DISPLAY 'FLD0015C ==> ' HEX-OF (FLD0015C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0015C). + IF FLD0016C (1:) NOT EQUAL XPC-FLD0016C + DISPLAY 'FLD0016C ==> ' HEX-OF (FLD0016C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0016C). + IF FLD0017C (1:) NOT EQUAL XPC-FLD0017C + DISPLAY 'FLD0017C ==> ' HEX-OF (FLD0017C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0017C). + IF FLD0018C (1:) NOT EQUAL XPC-FLD0018C + DISPLAY 'FLD0018C ==> ' HEX-OF (FLD0018C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0018C). + IF FLD0019C (1:) NOT EQUAL XPC-FLD0019C + DISPLAY 'FLD0019C ==> ' HEX-OF (FLD0019C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0019C). + IF FLD0020C (1:) NOT EQUAL XPC-FLD0020C + DISPLAY 'FLD0020C ==> ' HEX-OF (FLD0020C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0020C). + IF FLD0021C (1:) NOT EQUAL XPC-FLD0021C + DISPLAY 'FLD0021C ==> ' HEX-OF (FLD0021C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0021C). + IF FLD0022C (1:) NOT EQUAL XPC-FLD0022C + DISPLAY 'FLD0022C ==> ' HEX-OF (FLD0022C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0022C). + IF FLD0023C (1:) NOT EQUAL XPC-FLD0023C + DISPLAY 'FLD0023C ==> ' HEX-OF (FLD0023C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0023C). + IF FLD0024C (1:) NOT EQUAL XPC-FLD0024C + DISPLAY 'FLD0024C ==> ' HEX-OF (FLD0024C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0024C). + IF FLD0025C (1:) NOT EQUAL XPC-FLD0025C + DISPLAY 'FLD0025C ==> ' HEX-OF (FLD0025C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0025C). + IF FLD0026C (1:) NOT EQUAL XPC-FLD0026C + DISPLAY 'FLD0026C ==> ' HEX-OF (FLD0026C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0026C). + IF FLD0027C (1:) NOT EQUAL XPC-FLD0027C + DISPLAY 'FLD0027C ==> ' HEX-OF (FLD0027C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0027C). + IF FLD0028C (1:) NOT EQUAL XPC-FLD0028C + DISPLAY 'FLD0028C ==> ' HEX-OF (FLD0028C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0028C). + IF FLD0029C (1:) NOT EQUAL XPC-FLD0029C + DISPLAY 'FLD0029C ==> ' HEX-OF (FLD0029C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0029C). + IF FLD0030C (1:) NOT EQUAL XPC-FLD0030C + DISPLAY 'FLD0030C ==> ' HEX-OF (FLD0030C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0030C). + IF FLD0031C (1:) NOT EQUAL XPC-FLD0031C + DISPLAY 'FLD0031C ==> ' HEX-OF (FLD0031C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0031C). + IF FLD0032C (1:) NOT EQUAL XPC-FLD0032C + DISPLAY 'FLD0032C ==> ' HEX-OF (FLD0032C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0032C). + IF FLD0033C (1:) NOT EQUAL XPC-FLD0033C + DISPLAY 'FLD0033C ==> ' HEX-OF (FLD0033C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0033C). + IF FLD0034C (1:) NOT EQUAL XPC-FLD0034C + DISPLAY 'FLD0034C ==> ' HEX-OF (FLD0034C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0034C). + IF FLD0035C (1:) NOT EQUAL XPC-FLD0035C + DISPLAY 'FLD0035C ==> ' HEX-OF (FLD0035C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0035C). + IF FLD0036C (1:) NOT EQUAL XPC-FLD0036C + DISPLAY 'FLD0036C ==> ' HEX-OF (FLD0036C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0036C). + IF FLD0037C (1:) NOT EQUAL XPC-FLD0037C + DISPLAY 'FLD0037C ==> ' HEX-OF (FLD0037C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0037C). + IF FLD0038C (1:) NOT EQUAL XPC-FLD0038C + DISPLAY 'FLD0038C ==> ' HEX-OF (FLD0038C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0038C). + IF FLD0039C (1:) NOT EQUAL XPC-FLD0039C + DISPLAY 'FLD0039C ==> ' HEX-OF (FLD0039C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0039C). + IF FLD0040C (1:) NOT EQUAL XPC-FLD0040C + DISPLAY 'FLD0040C ==> ' HEX-OF (FLD0040C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0040C). + IF FLD0041C (1:) NOT EQUAL XPC-FLD0041C + DISPLAY 'FLD0041C ==> ' HEX-OF (FLD0041C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0041C). + IF FLD0042C (1:) NOT EQUAL XPC-FLD0042C + DISPLAY 'FLD0042C ==> ' HEX-OF (FLD0042C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0042C). + IF FLD0043C (1:) NOT EQUAL XPC-FLD0043C + DISPLAY 'FLD0043C ==> ' HEX-OF (FLD0043C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0043C). + IF FLD0044C (1:) NOT EQUAL XPC-FLD0044C + DISPLAY 'FLD0044C ==> ' HEX-OF (FLD0044C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0044C). + IF FLD0045C (1:) NOT EQUAL XPC-FLD0045C + DISPLAY 'FLD0045C ==> ' HEX-OF (FLD0045C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0045C). + IF FLD0046C (1:) NOT EQUAL XPC-FLD0046C + DISPLAY 'FLD0046C ==> ' HEX-OF (FLD0046C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0046C). + IF FLD0047C (1:) NOT EQUAL XPC-FLD0047C + DISPLAY 'FLD0047C ==> ' HEX-OF (FLD0047C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0047C). + IF FLD0048C (1:) NOT EQUAL XPC-FLD0048C + DISPLAY 'FLD0048C ==> ' HEX-OF (FLD0048C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0048C). + IF FLD0049C (1:) NOT EQUAL XPC-FLD0049C + DISPLAY 'FLD0049C ==> ' HEX-OF (FLD0049C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0049C). + IF FLD0050C (1:) NOT EQUAL XPC-FLD0050C + DISPLAY 'FLD0050C ==> ' HEX-OF (FLD0050C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0050C). + IF FLD0051C (1:) NOT EQUAL XPC-FLD0051C + DISPLAY 'FLD0051C ==> ' HEX-OF (FLD0051C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0051C). + IF FLD0052C (1:) NOT EQUAL XPC-FLD0052C + DISPLAY 'FLD0052C ==> ' HEX-OF (FLD0052C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0052C). + IF FLD0053C (1:) NOT EQUAL XPC-FLD0053C + DISPLAY 'FLD0053C ==> ' HEX-OF (FLD0053C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0053C). + IF FLD0054C (1:) NOT EQUAL XPC-FLD0054C + DISPLAY 'FLD0054C ==> ' HEX-OF (FLD0054C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0054C). + IF FLD0055C (1:) NOT EQUAL XPC-FLD0055C + DISPLAY 'FLD0055C ==> ' HEX-OF (FLD0055C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0055C). + IF FLD0056C (1:) NOT EQUAL XPC-FLD0056C + DISPLAY 'FLD0056C ==> ' HEX-OF (FLD0056C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0056C). + IF FLD0057C (1:) NOT EQUAL XPC-FLD0057C + DISPLAY 'FLD0057C ==> ' HEX-OF (FLD0057C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0057C). + IF FLD0058C (1:) NOT EQUAL XPC-FLD0058C + DISPLAY 'FLD0058C ==> ' HEX-OF (FLD0058C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0058C). + IF FLD0059C (1:) NOT EQUAL XPC-FLD0059C + DISPLAY 'FLD0059C ==> ' HEX-OF (FLD0059C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0059C). + IF FLD0060C (1:) NOT EQUAL XPC-FLD0060C + DISPLAY 'FLD0060C ==> ' HEX-OF (FLD0060C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0060C). + IF FLD0061C (1:) NOT EQUAL XPC-FLD0061C + DISPLAY 'FLD0061C ==> ' HEX-OF (FLD0061C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0061C). + IF FLD0062C (1:) NOT EQUAL XPC-FLD0062C + DISPLAY 'FLD0062C ==> ' HEX-OF (FLD0062C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0062C). + IF FLD0063C (1:) NOT EQUAL XPC-FLD0063C + DISPLAY 'FLD0063C ==> ' HEX-OF (FLD0063C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0063C). + IF FLD0064C (1:) NOT EQUAL XPC-FLD0064C + DISPLAY 'FLD0064C ==> ' HEX-OF (FLD0064C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0064C). + IF FLD0065C (1:) NOT EQUAL XPC-FLD0065C + DISPLAY 'FLD0065C ==> ' HEX-OF (FLD0065C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0065C). + IF FLD0066C (1:) NOT EQUAL XPC-FLD0066C + DISPLAY 'FLD0066C ==> ' HEX-OF (FLD0066C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0066C). + IF FLD0067C (1:) NOT EQUAL XPC-FLD0067C + DISPLAY 'FLD0067C ==> ' HEX-OF (FLD0067C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0067C). + IF FLD0068C (1:) NOT EQUAL XPC-FLD0068C + DISPLAY 'FLD0068C ==> ' HEX-OF (FLD0068C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0068C). + IF FLD0069C (1:) NOT EQUAL XPC-FLD0069C + DISPLAY 'FLD0069C ==> ' HEX-OF (FLD0069C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0069C). + IF FLD0070C (1:) NOT EQUAL XPC-FLD0070C + DISPLAY 'FLD0070C ==> ' HEX-OF (FLD0070C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0070C). + IF FLD0071C (1:) NOT EQUAL XPC-FLD0071C + DISPLAY 'FLD0071C ==> ' HEX-OF (FLD0071C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0071C). + IF FLD0072C (1:) NOT EQUAL XPC-FLD0072C + DISPLAY 'FLD0072C ==> ' HEX-OF (FLD0072C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0072C). + IF FLD0073C (1:) NOT EQUAL XPC-FLD0073C + DISPLAY 'FLD0073C ==> ' HEX-OF (FLD0073C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0073C). + IF FLD0074C (1:) NOT EQUAL XPC-FLD0074C + DISPLAY 'FLD0074C ==> ' HEX-OF (FLD0074C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0074C). + IF FLD0075C (1:) NOT EQUAL XPC-FLD0075C + DISPLAY 'FLD0075C ==> ' HEX-OF (FLD0075C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0075C). + IF FLD0076C (1:) NOT EQUAL XPC-FLD0076C + DISPLAY 'FLD0076C ==> ' HEX-OF (FLD0076C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0076C). + IF FLD0077C (1:) NOT EQUAL XPC-FLD0077C + DISPLAY 'FLD0077C ==> ' HEX-OF (FLD0077C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0077C). + IF FLD0078C (1:) NOT EQUAL XPC-FLD0078C + DISPLAY 'FLD0078C ==> ' HEX-OF (FLD0078C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0078C). + IF FLD0079C (1:) NOT EQUAL XPC-FLD0079C + DISPLAY 'FLD0079C ==> ' HEX-OF (FLD0079C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0079C). + IF FLD0080C (1:) NOT EQUAL XPC-FLD0080C + DISPLAY 'FLD0080C ==> ' HEX-OF (FLD0080C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0080C). + IF FLD0081C (1:) NOT EQUAL XPC-FLD0081C + DISPLAY 'FLD0081C ==> ' HEX-OF (FLD0081C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0081C). + IF FLD0082C (1:) NOT EQUAL XPC-FLD0082C + DISPLAY 'FLD0082C ==> ' HEX-OF (FLD0082C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0082C). + IF FLD0083C (1:) NOT EQUAL XPC-FLD0083C + DISPLAY 'FLD0083C ==> ' HEX-OF (FLD0083C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0083C). + IF FLD0084C (1:) NOT EQUAL XPC-FLD0084C + DISPLAY 'FLD0084C ==> ' HEX-OF (FLD0084C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0084C). + IF FLD0085C (1:) NOT EQUAL XPC-FLD0085C + DISPLAY 'FLD0085C ==> ' HEX-OF (FLD0085C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0085C). + IF FLD0086C (1:) NOT EQUAL XPC-FLD0086C + DISPLAY 'FLD0086C ==> ' HEX-OF (FLD0086C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0086C). + IF FLD0087C (1:) NOT EQUAL XPC-FLD0087C + DISPLAY 'FLD0087C ==> ' HEX-OF (FLD0087C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0087C). + IF FLD0088C (1:) NOT EQUAL XPC-FLD0088C + DISPLAY 'FLD0088C ==> ' HEX-OF (FLD0088C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0088C). + IF FLD0089C (1:) NOT EQUAL XPC-FLD0089C + DISPLAY 'FLD0089C ==> ' HEX-OF (FLD0089C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0089C). + IF FLD0090C (1:) NOT EQUAL XPC-FLD0090C + DISPLAY 'FLD0090C ==> ' HEX-OF (FLD0090C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0090C). + IF FLD0091C (1:) NOT EQUAL XPC-FLD0091C + DISPLAY 'FLD0091C ==> ' HEX-OF (FLD0091C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0091C). + IF FLD0092C (1:) NOT EQUAL XPC-FLD0092C + DISPLAY 'FLD0092C ==> ' HEX-OF (FLD0092C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0092C). + IF FLD0093C (1:) NOT EQUAL XPC-FLD0093C + DISPLAY 'FLD0093C ==> ' HEX-OF (FLD0093C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0093C). + IF FLD0094C (1:) NOT EQUAL XPC-FLD0094C + DISPLAY 'FLD0094C ==> ' HEX-OF (FLD0094C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0094C). + IF FLD0095C (1:) NOT EQUAL XPC-FLD0095C + DISPLAY 'FLD0095C ==> ' HEX-OF (FLD0095C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0095C). + IF FLD0096C (1:) NOT EQUAL XPC-FLD0096C + DISPLAY 'FLD0096C ==> ' HEX-OF (FLD0096C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0096C). + IF FLD0097C (1:) NOT EQUAL XPC-FLD0097C + DISPLAY 'FLD0097C ==> ' HEX-OF (FLD0097C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0097C). + IF FLD0098C (1:) NOT EQUAL XPC-FLD0098C + DISPLAY 'FLD0098C ==> ' HEX-OF (FLD0098C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0098C). + IF FLD0099C (1:) NOT EQUAL XPC-FLD0099C + DISPLAY 'FLD0099C ==> ' HEX-OF (FLD0099C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0099C). + IF FLD0100C (1:) NOT EQUAL XPC-FLD0100C + DISPLAY 'FLD0100C ==> ' HEX-OF (FLD0100C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0100C). + IF FLD0101C (1:) NOT EQUAL XPC-FLD0101C + DISPLAY 'FLD0101C ==> ' HEX-OF (FLD0101C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0101C). + IF FLD0102C (1:) NOT EQUAL XPC-FLD0102C + DISPLAY 'FLD0102C ==> ' HEX-OF (FLD0102C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0102C). + IF FLD0103C (1:) NOT EQUAL XPC-FLD0103C + DISPLAY 'FLD0103C ==> ' HEX-OF (FLD0103C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0103C). + IF FLD0104C (1:) NOT EQUAL XPC-FLD0104C + DISPLAY 'FLD0104C ==> ' HEX-OF (FLD0104C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0104C). + IF FLD0105C (1:) NOT EQUAL XPC-FLD0105C + DISPLAY 'FLD0105C ==> ' HEX-OF (FLD0105C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0105C). + IF FLD0106C (1:) NOT EQUAL XPC-FLD0106C + DISPLAY 'FLD0106C ==> ' HEX-OF (FLD0106C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0106C). + IF FLD0107C (1:) NOT EQUAL XPC-FLD0107C + DISPLAY 'FLD0107C ==> ' HEX-OF (FLD0107C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0107C). + IF FLD0108C (1:) NOT EQUAL XPC-FLD0108C + DISPLAY 'FLD0108C ==> ' HEX-OF (FLD0108C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0108C). + IF FLD0109C (1:) NOT EQUAL XPC-FLD0109C + DISPLAY 'FLD0109C ==> ' HEX-OF (FLD0109C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0109C). + IF FLD0110C (1:) NOT EQUAL XPC-FLD0110C + DISPLAY 'FLD0110C ==> ' HEX-OF (FLD0110C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0110C). + IF FLD0111C (1:) NOT EQUAL XPC-FLD0111C + DISPLAY 'FLD0111C ==> ' HEX-OF (FLD0111C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0111C). + IF FLD0112C (1:) NOT EQUAL XPC-FLD0112C + DISPLAY 'FLD0112C ==> ' HEX-OF (FLD0112C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0112C). + IF FLD0113C (1:) NOT EQUAL XPC-FLD0113C + DISPLAY 'FLD0113C ==> ' HEX-OF (FLD0113C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0113C). + IF FLD0114C (1:) NOT EQUAL XPC-FLD0114C + DISPLAY 'FLD0114C ==> ' HEX-OF (FLD0114C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0114C). + IF FLD0115C (1:) NOT EQUAL XPC-FLD0115C + DISPLAY 'FLD0115C ==> ' HEX-OF (FLD0115C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0115C). + IF FLD0116C (1:) NOT EQUAL XPC-FLD0116C + DISPLAY 'FLD0116C ==> ' HEX-OF (FLD0116C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0116C). + IF FLD0117C (1:) NOT EQUAL XPC-FLD0117C + DISPLAY 'FLD0117C ==> ' HEX-OF (FLD0117C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0117C). + IF FLD0118C (1:) NOT EQUAL XPC-FLD0118C + DISPLAY 'FLD0118C ==> ' HEX-OF (FLD0118C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0118C). + IF FLD0119C (1:) NOT EQUAL XPC-FLD0119C + DISPLAY 'FLD0119C ==> ' HEX-OF (FLD0119C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0119C). + IF FLD0120C (1:) NOT EQUAL XPC-FLD0120C + DISPLAY 'FLD0120C ==> ' HEX-OF (FLD0120C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0120C). + IF FLD0121C (1:) NOT EQUAL XPC-FLD0121C + DISPLAY 'FLD0121C ==> ' HEX-OF (FLD0121C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0121C). + IF FLD0122C (1:) NOT EQUAL XPC-FLD0122C + DISPLAY 'FLD0122C ==> ' HEX-OF (FLD0122C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0122C). + IF FLD0123C (1:) NOT EQUAL XPC-FLD0123C + DISPLAY 'FLD0123C ==> ' HEX-OF (FLD0123C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0123C). + IF FLD0124C (1:) NOT EQUAL XPC-FLD0124C + DISPLAY 'FLD0124C ==> ' HEX-OF (FLD0124C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0124C). + IF FLD0125C (1:) NOT EQUAL XPC-FLD0125C + DISPLAY 'FLD0125C ==> ' HEX-OF (FLD0125C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0125C). + IF FLD0126C (1:) NOT EQUAL XPC-FLD0126C + DISPLAY 'FLD0126C ==> ' HEX-OF (FLD0126C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0126C). + IF FLD0127C (1:) NOT EQUAL XPC-FLD0127C + DISPLAY 'FLD0127C ==> ' HEX-OF (FLD0127C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0127C). + IF FLD0128C (1:) NOT EQUAL XPC-FLD0128C + DISPLAY 'FLD0128C ==> ' HEX-OF (FLD0128C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0128C). + IF FLD0129C (1:) NOT EQUAL XPC-FLD0129C + DISPLAY 'FLD0129C ==> ' HEX-OF (FLD0129C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0129C). + IF FLD0130C (1:) NOT EQUAL XPC-FLD0130C + DISPLAY 'FLD0130C ==> ' HEX-OF (FLD0130C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0130C). + IF FLD0131C (1:) NOT EQUAL XPC-FLD0131C + DISPLAY 'FLD0131C ==> ' HEX-OF (FLD0131C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0131C). + IF FLD0132C (1:) NOT EQUAL XPC-FLD0132C + DISPLAY 'FLD0132C ==> ' HEX-OF (FLD0132C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0132C). + IF FLD0133C (1:) NOT EQUAL XPC-FLD0133C + DISPLAY 'FLD0133C ==> ' HEX-OF (FLD0133C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0133C). + IF FLD0134C (1:) NOT EQUAL XPC-FLD0134C + DISPLAY 'FLD0134C ==> ' HEX-OF (FLD0134C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0134C). + IF FLD0135C (1:) NOT EQUAL XPC-FLD0135C + DISPLAY 'FLD0135C ==> ' HEX-OF (FLD0135C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0135C). + IF FLD0136C (1:) NOT EQUAL XPC-FLD0136C + DISPLAY 'FLD0136C ==> ' HEX-OF (FLD0136C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0136C). + IF FLD0137C (1:) NOT EQUAL XPC-FLD0137C + DISPLAY 'FLD0137C ==> ' HEX-OF (FLD0137C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0137C). + IF FLD0138C (1:) NOT EQUAL XPC-FLD0138C + DISPLAY 'FLD0138C ==> ' HEX-OF (FLD0138C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0138C). + IF FLD0139C (1:) NOT EQUAL XPC-FLD0139C + DISPLAY 'FLD0139C ==> ' HEX-OF (FLD0139C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0139C). + IF FLD0140C (1:) NOT EQUAL XPC-FLD0140C + DISPLAY 'FLD0140C ==> ' HEX-OF (FLD0140C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0140C). + IF FLD0141C (1:) NOT EQUAL XPC-FLD0141C + DISPLAY 'FLD0141C ==> ' HEX-OF (FLD0141C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0141C). + IF FLD0142C (1:) NOT EQUAL XPC-FLD0142C + DISPLAY 'FLD0142C ==> ' HEX-OF (FLD0142C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0142C). + IF FLD0143C (1:) NOT EQUAL XPC-FLD0143C + DISPLAY 'FLD0143C ==> ' HEX-OF (FLD0143C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0143C). + IF FLD0144C (1:) NOT EQUAL XPC-FLD0144C + DISPLAY 'FLD0144C ==> ' HEX-OF (FLD0144C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0144C). + IF FLD0145C (1:) NOT EQUAL XPC-FLD0145C + DISPLAY 'FLD0145C ==> ' HEX-OF (FLD0145C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0145C). + IF FLD0146C (1:) NOT EQUAL XPC-FLD0146C + DISPLAY 'FLD0146C ==> ' HEX-OF (FLD0146C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0146C). + IF FLD0147C (1:) NOT EQUAL XPC-FLD0147C + DISPLAY 'FLD0147C ==> ' HEX-OF (FLD0147C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0147C). + IF FLD0148C (1:) NOT EQUAL XPC-FLD0148C + DISPLAY 'FLD0148C ==> ' HEX-OF (FLD0148C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0148C). + IF FLD0149C (1:) NOT EQUAL XPC-FLD0149C + DISPLAY 'FLD0149C ==> ' HEX-OF (FLD0149C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0149C). + IF FLD0150C (1:) NOT EQUAL XPC-FLD0150C + DISPLAY 'FLD0150C ==> ' HEX-OF (FLD0150C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0150C). + IF FLD0151C (1:) NOT EQUAL XPC-FLD0151C + DISPLAY 'FLD0151C ==> ' HEX-OF (FLD0151C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0151C). + IF FLD0152C (1:) NOT EQUAL XPC-FLD0152C + DISPLAY 'FLD0152C ==> ' HEX-OF (FLD0152C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0152C). + IF FLD0153C (1:) NOT EQUAL XPC-FLD0153C + DISPLAY 'FLD0153C ==> ' HEX-OF (FLD0153C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0153C). + IF FLD0154C (1:) NOT EQUAL XPC-FLD0154C + DISPLAY 'FLD0154C ==> ' HEX-OF (FLD0154C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0154C). + IF FLD0155C (1:) NOT EQUAL XPC-FLD0155C + DISPLAY 'FLD0155C ==> ' HEX-OF (FLD0155C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0155C). + IF FLD0156C (1:) NOT EQUAL XPC-FLD0156C + DISPLAY 'FLD0156C ==> ' HEX-OF (FLD0156C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0156C). + IF FLD0157C (1:) NOT EQUAL XPC-FLD0157C + DISPLAY 'FLD0157C ==> ' HEX-OF (FLD0157C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0157C). + IF FLD0158C (1:) NOT EQUAL XPC-FLD0158C + DISPLAY 'FLD0158C ==> ' HEX-OF (FLD0158C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0158C). + IF FLD0159C (1:) NOT EQUAL XPC-FLD0159C + DISPLAY 'FLD0159C ==> ' HEX-OF (FLD0159C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0159C). + IF FLD0160C (1:) NOT EQUAL XPC-FLD0160C + DISPLAY 'FLD0160C ==> ' HEX-OF (FLD0160C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0160C). + IF FLD0161C (1:) NOT EQUAL XPC-FLD0161C + DISPLAY 'FLD0161C ==> ' HEX-OF (FLD0161C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0161C). + IF FLD0162C (1:) NOT EQUAL XPC-FLD0162C + DISPLAY 'FLD0162C ==> ' HEX-OF (FLD0162C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0162C). + IF FLD0163C (1:) NOT EQUAL XPC-FLD0163C + DISPLAY 'FLD0163C ==> ' HEX-OF (FLD0163C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0163C). + IF FLD0164C (1:) NOT EQUAL XPC-FLD0164C + DISPLAY 'FLD0164C ==> ' HEX-OF (FLD0164C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0164C). + IF FLD0165C (1:) NOT EQUAL XPC-FLD0165C + DISPLAY 'FLD0165C ==> ' HEX-OF (FLD0165C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0165C). + IF FLD0166C (1:) NOT EQUAL XPC-FLD0166C + DISPLAY 'FLD0166C ==> ' HEX-OF (FLD0166C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0166C). + IF FLD0167C (1:) NOT EQUAL XPC-FLD0167C + DISPLAY 'FLD0167C ==> ' HEX-OF (FLD0167C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0167C). + IF FLD0168C (1:) NOT EQUAL XPC-FLD0168C + DISPLAY 'FLD0168C ==> ' HEX-OF (FLD0168C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0168C). + IF FLD0169C (1:) NOT EQUAL XPC-FLD0169C + DISPLAY 'FLD0169C ==> ' HEX-OF (FLD0169C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0169C). + IF FLD0170C (1:) NOT EQUAL XPC-FLD0170C + DISPLAY 'FLD0170C ==> ' HEX-OF (FLD0170C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0170C). + IF FLD0171C (1:) NOT EQUAL XPC-FLD0171C + DISPLAY 'FLD0171C ==> ' HEX-OF (FLD0171C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0171C). + IF FLD0172C (1:) NOT EQUAL XPC-FLD0172C + DISPLAY 'FLD0172C ==> ' HEX-OF (FLD0172C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0172C). + IF FLD0173C (1:) NOT EQUAL XPC-FLD0173C + DISPLAY 'FLD0173C ==> ' HEX-OF (FLD0173C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0173C). + IF FLD0174C (1:) NOT EQUAL XPC-FLD0174C + DISPLAY 'FLD0174C ==> ' HEX-OF (FLD0174C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0174C). + IF FLD0175C (1:) NOT EQUAL XPC-FLD0175C + DISPLAY 'FLD0175C ==> ' HEX-OF (FLD0175C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0175C). + IF FLD0176C (1:) NOT EQUAL XPC-FLD0176C + DISPLAY 'FLD0176C ==> ' HEX-OF (FLD0176C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0176C). + IF FLD0177C (1:) NOT EQUAL XPC-FLD0177C + DISPLAY 'FLD0177C ==> ' HEX-OF (FLD0177C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0177C). + IF FLD0178C (1:) NOT EQUAL XPC-FLD0178C + DISPLAY 'FLD0178C ==> ' HEX-OF (FLD0178C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0178C). + IF FLD0179C (1:) NOT EQUAL XPC-FLD0179C + DISPLAY 'FLD0179C ==> ' HEX-OF (FLD0179C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0179C). + IF FLD0180C (1:) NOT EQUAL XPC-FLD0180C + DISPLAY 'FLD0180C ==> ' HEX-OF (FLD0180C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0180C). + IF FLD0181C (1:) NOT EQUAL XPC-FLD0181C + DISPLAY 'FLD0181C ==> ' HEX-OF (FLD0181C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0181C). + IF FLD0182C (1:) NOT EQUAL XPC-FLD0182C + DISPLAY 'FLD0182C ==> ' HEX-OF (FLD0182C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0182C). + IF FLD0183C (1:) NOT EQUAL XPC-FLD0183C + DISPLAY 'FLD0183C ==> ' HEX-OF (FLD0183C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0183C). + IF FLD0184C (1:) NOT EQUAL XPC-FLD0184C + DISPLAY 'FLD0184C ==> ' HEX-OF (FLD0184C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0184C). + IF FLD0185C (1:) NOT EQUAL XPC-FLD0185C + DISPLAY 'FLD0185C ==> ' HEX-OF (FLD0185C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0185C). + IF FLD0186C (1:) NOT EQUAL XPC-FLD0186C + DISPLAY 'FLD0186C ==> ' HEX-OF (FLD0186C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0186C). + IF FLD0187C (1:) NOT EQUAL XPC-FLD0187C + DISPLAY 'FLD0187C ==> ' HEX-OF (FLD0187C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0187C). + IF FLD0188C (1:) NOT EQUAL XPC-FLD0188C + DISPLAY 'FLD0188C ==> ' HEX-OF (FLD0188C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0188C). + IF FLD0189C (1:) NOT EQUAL XPC-FLD0189C + DISPLAY 'FLD0189C ==> ' HEX-OF (FLD0189C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0189C). + IF FLD0190C (1:) NOT EQUAL XPC-FLD0190C + DISPLAY 'FLD0190C ==> ' HEX-OF (FLD0190C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0190C). + IF FLD0191C (1:) NOT EQUAL XPC-FLD0191C + DISPLAY 'FLD0191C ==> ' HEX-OF (FLD0191C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0191C). + IF FLD0192C (1:) NOT EQUAL XPC-FLD0192C + DISPLAY 'FLD0192C ==> ' HEX-OF (FLD0192C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0192C). + IF FLD0193C (1:) NOT EQUAL XPC-FLD0193C + DISPLAY 'FLD0193C ==> ' HEX-OF (FLD0193C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0193C). + IF FLD0194C (1:) NOT EQUAL XPC-FLD0194C + DISPLAY 'FLD0194C ==> ' HEX-OF (FLD0194C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0194C). + IF FLD0195C (1:) NOT EQUAL XPC-FLD0195C + DISPLAY 'FLD0195C ==> ' HEX-OF (FLD0195C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0195C). + IF FLD0196C (1:) NOT EQUAL XPC-FLD0196C + DISPLAY 'FLD0196C ==> ' HEX-OF (FLD0196C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0196C). + IF FLD0197C (1:) NOT EQUAL XPC-FLD0197C + DISPLAY 'FLD0197C ==> ' HEX-OF (FLD0197C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0197C). + IF FLD0198C (1:) NOT EQUAL XPC-FLD0198C + DISPLAY 'FLD0198C ==> ' HEX-OF (FLD0198C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0198C). + IF FLD0199C (1:) NOT EQUAL XPC-FLD0199C + DISPLAY 'FLD0199C ==> ' HEX-OF (FLD0199C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0199C). + IF FLD0200C (1:) NOT EQUAL XPC-FLD0200C + DISPLAY 'FLD0200C ==> ' HEX-OF (FLD0200C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0200C). + IF FLD0201C (1:) NOT EQUAL XPC-FLD0201C + DISPLAY 'FLD0201C ==> ' HEX-OF (FLD0201C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0201C). + IF FLD0202C (1:) NOT EQUAL XPC-FLD0202C + DISPLAY 'FLD0202C ==> ' HEX-OF (FLD0202C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0202C). + IF FLD0203C (1:) NOT EQUAL XPC-FLD0203C + DISPLAY 'FLD0203C ==> ' HEX-OF (FLD0203C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0203C). + IF FLD0204C (1:) NOT EQUAL XPC-FLD0204C + DISPLAY 'FLD0204C ==> ' HEX-OF (FLD0204C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0204C). + IF FLD0205C (1:) NOT EQUAL XPC-FLD0205C + DISPLAY 'FLD0205C ==> ' HEX-OF (FLD0205C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0205C). + IF FLD0206C (1:) NOT EQUAL XPC-FLD0206C + DISPLAY 'FLD0206C ==> ' HEX-OF (FLD0206C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0206C). + IF FLD0207C (1:) NOT EQUAL XPC-FLD0207C + DISPLAY 'FLD0207C ==> ' HEX-OF (FLD0207C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0207C). + IF FLD0208C (1:) NOT EQUAL XPC-FLD0208C + DISPLAY 'FLD0208C ==> ' HEX-OF (FLD0208C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0208C). + IF FLD0209C (1:) NOT EQUAL XPC-FLD0209C + DISPLAY 'FLD0209C ==> ' HEX-OF (FLD0209C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0209C). + IF FLD0210C (1:) NOT EQUAL XPC-FLD0210C + DISPLAY 'FLD0210C ==> ' HEX-OF (FLD0210C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0210C). + IF FLD0211C (1:) NOT EQUAL XPC-FLD0211C + DISPLAY 'FLD0211C ==> ' HEX-OF (FLD0211C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0211C). + IF FLD0212C (1:) NOT EQUAL XPC-FLD0212C + DISPLAY 'FLD0212C ==> ' HEX-OF (FLD0212C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0212C). + IF FLD0213C (1:) NOT EQUAL XPC-FLD0213C + DISPLAY 'FLD0213C ==> ' HEX-OF (FLD0213C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0213C). + IF FLD0214C (1:) NOT EQUAL XPC-FLD0214C + DISPLAY 'FLD0214C ==> ' HEX-OF (FLD0214C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0214C). + IF FLD0215C (1:) NOT EQUAL XPC-FLD0215C + DISPLAY 'FLD0215C ==> ' HEX-OF (FLD0215C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0215C). + IF FLD0216C (1:) NOT EQUAL XPC-FLD0216C + DISPLAY 'FLD0216C ==> ' HEX-OF (FLD0216C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0216C). + IF FLD0217C (1:) NOT EQUAL XPC-FLD0217C + DISPLAY 'FLD0217C ==> ' HEX-OF (FLD0217C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0217C). + IF FLD0218C (1:) NOT EQUAL XPC-FLD0218C + DISPLAY 'FLD0218C ==> ' HEX-OF (FLD0218C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0218C). + IF FLD0219C (1:) NOT EQUAL XPC-FLD0219C + DISPLAY 'FLD0219C ==> ' HEX-OF (FLD0219C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0219C). + IF FLD0220C (1:) NOT EQUAL XPC-FLD0220C + DISPLAY 'FLD0220C ==> ' HEX-OF (FLD0220C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0220C). + IF FLD0221C (1:) NOT EQUAL XPC-FLD0221C + DISPLAY 'FLD0221C ==> ' HEX-OF (FLD0221C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0221C). + IF FLD0222C (1:) NOT EQUAL XPC-FLD0222C + DISPLAY 'FLD0222C ==> ' HEX-OF (FLD0222C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0222C). + IF FLD0223C (1:) NOT EQUAL XPC-FLD0223C + DISPLAY 'FLD0223C ==> ' HEX-OF (FLD0223C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0223C). + IF FLD0224C (1:) NOT EQUAL XPC-FLD0224C + DISPLAY 'FLD0224C ==> ' HEX-OF (FLD0224C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0224C). + IF FLD0225C (1:) NOT EQUAL XPC-FLD0225C + DISPLAY 'FLD0225C ==> ' HEX-OF (FLD0225C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0225C). + IF FLD0226C (1:) NOT EQUAL XPC-FLD0226C + DISPLAY 'FLD0226C ==> ' HEX-OF (FLD0226C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0226C). + IF FLD0227C (1:) NOT EQUAL XPC-FLD0227C + DISPLAY 'FLD0227C ==> ' HEX-OF (FLD0227C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0227C). + IF FLD0228C (1:) NOT EQUAL XPC-FLD0228C + DISPLAY 'FLD0228C ==> ' HEX-OF (FLD0228C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0228C). + IF FLD0229C (1:) NOT EQUAL XPC-FLD0229C + DISPLAY 'FLD0229C ==> ' HEX-OF (FLD0229C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0229C). + IF FLD0230C (1:) NOT EQUAL XPC-FLD0230C + DISPLAY 'FLD0230C ==> ' HEX-OF (FLD0230C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0230C). + IF FLD0231C (1:) NOT EQUAL XPC-FLD0231C + DISPLAY 'FLD0231C ==> ' HEX-OF (FLD0231C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0231C). + IF FLD0232C (1:) NOT EQUAL XPC-FLD0232C + DISPLAY 'FLD0232C ==> ' HEX-OF (FLD0232C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0232C). + IF FLD0233C (1:) NOT EQUAL XPC-FLD0233C + DISPLAY 'FLD0233C ==> ' HEX-OF (FLD0233C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0233C). + IF FLD0234C (1:) NOT EQUAL XPC-FLD0234C + DISPLAY 'FLD0234C ==> ' HEX-OF (FLD0234C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0234C). + IF FLD0235C (1:) NOT EQUAL XPC-FLD0235C + DISPLAY 'FLD0235C ==> ' HEX-OF (FLD0235C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0235C). + IF FLD0236C (1:) NOT EQUAL XPC-FLD0236C + DISPLAY 'FLD0236C ==> ' HEX-OF (FLD0236C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0236C). + IF FLD0237C (1:) NOT EQUAL XPC-FLD0237C + DISPLAY 'FLD0237C ==> ' HEX-OF (FLD0237C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0237C). + IF FLD0238C (1:) NOT EQUAL XPC-FLD0238C + DISPLAY 'FLD0238C ==> ' HEX-OF (FLD0238C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0238C). + IF FLD0239C (1:) NOT EQUAL XPC-FLD0239C + DISPLAY 'FLD0239C ==> ' HEX-OF (FLD0239C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0239C). + IF FLD0240C (1:) NOT EQUAL XPC-FLD0240C + DISPLAY 'FLD0240C ==> ' HEX-OF (FLD0240C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0240C). + IF FLD0241C (1:) NOT EQUAL XPC-FLD0241C + DISPLAY 'FLD0241C ==> ' HEX-OF (FLD0241C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0241C). + IF FLD0242C (1:) NOT EQUAL XPC-FLD0242C + DISPLAY 'FLD0242C ==> ' HEX-OF (FLD0242C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0242C). + IF FLD0243C (1:) NOT EQUAL XPC-FLD0243C + DISPLAY 'FLD0243C ==> ' HEX-OF (FLD0243C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0243C). + IF FLD0244C (1:) NOT EQUAL XPC-FLD0244C + DISPLAY 'FLD0244C ==> ' HEX-OF (FLD0244C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0244C). + IF FLD0245C (1:) NOT EQUAL XPC-FLD0245C + DISPLAY 'FLD0245C ==> ' HEX-OF (FLD0245C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0245C). + IF FLD0246C (1:) NOT EQUAL XPC-FLD0246C + DISPLAY 'FLD0246C ==> ' HEX-OF (FLD0246C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0246C). + IF FLD0247C (1:) NOT EQUAL XPC-FLD0247C + DISPLAY 'FLD0247C ==> ' HEX-OF (FLD0247C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0247C). + IF FLD0248C (1:) NOT EQUAL XPC-FLD0248C + DISPLAY 'FLD0248C ==> ' HEX-OF (FLD0248C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0248C). + IF FLD0249C (1:) NOT EQUAL XPC-FLD0249C + DISPLAY 'FLD0249C ==> ' HEX-OF (FLD0249C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0249C). + IF FLD0250C (1:) NOT EQUAL XPC-FLD0250C + DISPLAY 'FLD0250C ==> ' HEX-OF (FLD0250C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0250C). + IF FLD0251C (1:) NOT EQUAL XPC-FLD0251C + DISPLAY 'FLD0251C ==> ' HEX-OF (FLD0251C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0251C). + IF FLD0252C (1:) NOT EQUAL XPC-FLD0252C + DISPLAY 'FLD0252C ==> ' HEX-OF (FLD0252C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0252C). + IF FLD0253C (1:) NOT EQUAL XPC-FLD0253C + DISPLAY 'FLD0253C ==> ' HEX-OF (FLD0253C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0253C). + IF FLD0254C (1:) NOT EQUAL XPC-FLD0254C + DISPLAY 'FLD0254C ==> ' HEX-OF (FLD0254C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0254C). + IF FLD0255C (1:) NOT EQUAL XPC-FLD0255C + DISPLAY 'FLD0255C ==> ' HEX-OF (FLD0255C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0255C). + IF FLD0256C (1:) NOT EQUAL XPC-FLD0256C + DISPLAY 'FLD0256C ==> ' HEX-OF (FLD0256C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0256C). + IF FLD0257C (1:) NOT EQUAL XPC-FLD0257C + DISPLAY 'FLD0257C ==> ' HEX-OF (FLD0257C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0257C). + IF FLD0258C (1:) NOT EQUAL XPC-FLD0258C + DISPLAY 'FLD0258C ==> ' HEX-OF (FLD0258C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0258C). + IF FLD0259C (1:) NOT EQUAL XPC-FLD0259C + DISPLAY 'FLD0259C ==> ' HEX-OF (FLD0259C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0259C). + IF FLD0260C (1:) NOT EQUAL XPC-FLD0260C + DISPLAY 'FLD0260C ==> ' HEX-OF (FLD0260C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0260C). + IF FLD0261C (1:) NOT EQUAL XPC-FLD0261C + DISPLAY 'FLD0261C ==> ' HEX-OF (FLD0261C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0261C). + IF FLD0262C (1:) NOT EQUAL XPC-FLD0262C + DISPLAY 'FLD0262C ==> ' HEX-OF (FLD0262C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0262C). + IF FLD0263C (1:) NOT EQUAL XPC-FLD0263C + DISPLAY 'FLD0263C ==> ' HEX-OF (FLD0263C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0263C). + IF FLD0264C (1:) NOT EQUAL XPC-FLD0264C + DISPLAY 'FLD0264C ==> ' HEX-OF (FLD0264C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0264C). + IF FLD0265C (1:) NOT EQUAL XPC-FLD0265C + DISPLAY 'FLD0265C ==> ' HEX-OF (FLD0265C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0265C). + IF FLD0266C (1:) NOT EQUAL XPC-FLD0266C + DISPLAY 'FLD0266C ==> ' HEX-OF (FLD0266C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0266C). + IF FLD0267C (1:) NOT EQUAL XPC-FLD0267C + DISPLAY 'FLD0267C ==> ' HEX-OF (FLD0267C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0267C). + IF FLD0268C (1:) NOT EQUAL XPC-FLD0268C + DISPLAY 'FLD0268C ==> ' HEX-OF (FLD0268C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0268C). + IF FLD0269C (1:) NOT EQUAL XPC-FLD0269C + DISPLAY 'FLD0269C ==> ' HEX-OF (FLD0269C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0269C). + IF FLD0270C (1:) NOT EQUAL XPC-FLD0270C + DISPLAY 'FLD0270C ==> ' HEX-OF (FLD0270C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0270C). + IF FLD0271C (1:) NOT EQUAL XPC-FLD0271C + DISPLAY 'FLD0271C ==> ' HEX-OF (FLD0271C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0271C). + IF FLD0272C (1:) NOT EQUAL XPC-FLD0272C + DISPLAY 'FLD0272C ==> ' HEX-OF (FLD0272C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0272C). + IF FLD0273C (1:) NOT EQUAL XPC-FLD0273C + DISPLAY 'FLD0273C ==> ' HEX-OF (FLD0273C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0273C). + IF FLD0274C (1:) NOT EQUAL XPC-FLD0274C + DISPLAY 'FLD0274C ==> ' HEX-OF (FLD0274C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0274C). + IF FLD0275C (1:) NOT EQUAL XPC-FLD0275C + DISPLAY 'FLD0275C ==> ' HEX-OF (FLD0275C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0275C). + IF FLD0276C (1:) NOT EQUAL XPC-FLD0276C + DISPLAY 'FLD0276C ==> ' HEX-OF (FLD0276C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0276C). + IF FLD0277C (1:) NOT EQUAL XPC-FLD0277C + DISPLAY 'FLD0277C ==> ' HEX-OF (FLD0277C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0277C). + IF FLD0278C (1:) NOT EQUAL XPC-FLD0278C + DISPLAY 'FLD0278C ==> ' HEX-OF (FLD0278C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0278C). + IF FLD0279C (1:) NOT EQUAL XPC-FLD0279C + DISPLAY 'FLD0279C ==> ' HEX-OF (FLD0279C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0279C). + IF FLD0280C (1:) NOT EQUAL XPC-FLD0280C + DISPLAY 'FLD0280C ==> ' HEX-OF (FLD0280C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0280C). + IF FLD0281C (1:) NOT EQUAL XPC-FLD0281C + DISPLAY 'FLD0281C ==> ' HEX-OF (FLD0281C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0281C). + IF FLD0282C (1:) NOT EQUAL XPC-FLD0282C + DISPLAY 'FLD0282C ==> ' HEX-OF (FLD0282C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0282C). + IF FLD0283C (1:) NOT EQUAL XPC-FLD0283C + DISPLAY 'FLD0283C ==> ' HEX-OF (FLD0283C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0283C). + IF FLD0284C (1:) NOT EQUAL XPC-FLD0284C + DISPLAY 'FLD0284C ==> ' HEX-OF (FLD0284C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0284C). + IF FLD0285C (1:) NOT EQUAL XPC-FLD0285C + DISPLAY 'FLD0285C ==> ' HEX-OF (FLD0285C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0285C). + IF FLD0286C (1:) NOT EQUAL XPC-FLD0286C + DISPLAY 'FLD0286C ==> ' HEX-OF (FLD0286C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0286C). + IF FLD0287C (1:) NOT EQUAL XPC-FLD0287C + DISPLAY 'FLD0287C ==> ' HEX-OF (FLD0287C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0287C). + IF FLD0288C (1:) NOT EQUAL XPC-FLD0288C + DISPLAY 'FLD0288C ==> ' HEX-OF (FLD0288C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0288C). + IF FLD0289C (1:) NOT EQUAL XPC-FLD0289C + DISPLAY 'FLD0289C ==> ' HEX-OF (FLD0289C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0289C). + IF FLD0290C (1:) NOT EQUAL XPC-FLD0290C + DISPLAY 'FLD0290C ==> ' HEX-OF (FLD0290C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0290C). + IF FLD0291C (1:) NOT EQUAL XPC-FLD0291C + DISPLAY 'FLD0291C ==> ' HEX-OF (FLD0291C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0291C). + IF FLD0292C (1:) NOT EQUAL XPC-FLD0292C + DISPLAY 'FLD0292C ==> ' HEX-OF (FLD0292C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0292C). + IF FLD0293C (1:) NOT EQUAL XPC-FLD0293C + DISPLAY 'FLD0293C ==> ' HEX-OF (FLD0293C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0293C). + IF FLD0294C (1:) NOT EQUAL XPC-FLD0294C + DISPLAY 'FLD0294C ==> ' HEX-OF (FLD0294C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0294C). + IF FLD0295C (1:) NOT EQUAL XPC-FLD0295C + DISPLAY 'FLD0295C ==> ' HEX-OF (FLD0295C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0295C). + IF FLD0296C (1:) NOT EQUAL XPC-FLD0296C + DISPLAY 'FLD0296C ==> ' HEX-OF (FLD0296C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0296C). + IF FLD0297C (1:) NOT EQUAL XPC-FLD0297C + DISPLAY 'FLD0297C ==> ' HEX-OF (FLD0297C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0297C). + IF FLD0298C (1:) NOT EQUAL XPC-FLD0298C + DISPLAY 'FLD0298C ==> ' HEX-OF (FLD0298C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0298C). + IF FLD0299C (1:) NOT EQUAL XPC-FLD0299C + DISPLAY 'FLD0299C ==> ' HEX-OF (FLD0299C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0299C). + IF FLD0300C (1:) NOT EQUAL XPC-FLD0300C + DISPLAY 'FLD0300C ==> ' HEX-OF (FLD0300C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0300C). + IF FLD0301C (1:) NOT EQUAL XPC-FLD0301C + DISPLAY 'FLD0301C ==> ' HEX-OF (FLD0301C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0301C). + IF FLD0302C (1:) NOT EQUAL XPC-FLD0302C + DISPLAY 'FLD0302C ==> ' HEX-OF (FLD0302C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0302C). + IF FLD0303C (1:) NOT EQUAL XPC-FLD0303C + DISPLAY 'FLD0303C ==> ' HEX-OF (FLD0303C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0303C). + IF FLD0304C (1:) NOT EQUAL XPC-FLD0304C + DISPLAY 'FLD0304C ==> ' HEX-OF (FLD0304C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0304C). + IF FLD0305C (1:) NOT EQUAL XPC-FLD0305C + DISPLAY 'FLD0305C ==> ' HEX-OF (FLD0305C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0305C). + IF FLD0306C (1:) NOT EQUAL XPC-FLD0306C + DISPLAY 'FLD0306C ==> ' HEX-OF (FLD0306C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0306C). + IF FLD0307C (1:) NOT EQUAL XPC-FLD0307C + DISPLAY 'FLD0307C ==> ' HEX-OF (FLD0307C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0307C). + IF FLD0308C (1:) NOT EQUAL XPC-FLD0308C + DISPLAY 'FLD0308C ==> ' HEX-OF (FLD0308C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0308C). + IF FLD0309C (1:) NOT EQUAL XPC-FLD0309C + DISPLAY 'FLD0309C ==> ' HEX-OF (FLD0309C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0309C). + IF FLD0310C (1:) NOT EQUAL XPC-FLD0310C + DISPLAY 'FLD0310C ==> ' HEX-OF (FLD0310C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0310C). + IF FLD0311C (1:) NOT EQUAL XPC-FLD0311C + DISPLAY 'FLD0311C ==> ' HEX-OF (FLD0311C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0311C). + IF FLD0312C (1:) NOT EQUAL XPC-FLD0312C + DISPLAY 'FLD0312C ==> ' HEX-OF (FLD0312C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0312C). + IF FLD0313C (1:) NOT EQUAL XPC-FLD0313C + DISPLAY 'FLD0313C ==> ' HEX-OF (FLD0313C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0313C). + IF FLD0314C (1:) NOT EQUAL XPC-FLD0314C + DISPLAY 'FLD0314C ==> ' HEX-OF (FLD0314C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0314C). + IF FLD0315C (1:) NOT EQUAL XPC-FLD0315C + DISPLAY 'FLD0315C ==> ' HEX-OF (FLD0315C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0315C). + IF FLD0316C (1:) NOT EQUAL XPC-FLD0316C + DISPLAY 'FLD0316C ==> ' HEX-OF (FLD0316C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0316C). + IF FLD0317C (1:) NOT EQUAL XPC-FLD0317C + DISPLAY 'FLD0317C ==> ' HEX-OF (FLD0317C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0317C). + IF FLD0318C (1:) NOT EQUAL XPC-FLD0318C + DISPLAY 'FLD0318C ==> ' HEX-OF (FLD0318C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0318C). + IF FLD0319C (1:) NOT EQUAL XPC-FLD0319C + DISPLAY 'FLD0319C ==> ' HEX-OF (FLD0319C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0319C). + IF FLD0320C (1:) NOT EQUAL XPC-FLD0320C + DISPLAY 'FLD0320C ==> ' HEX-OF (FLD0320C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0320C). + IF FLD0321C (1:) NOT EQUAL XPC-FLD0321C + DISPLAY 'FLD0321C ==> ' HEX-OF (FLD0321C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0321C). + IF FLD0322C (1:) NOT EQUAL XPC-FLD0322C + DISPLAY 'FLD0322C ==> ' HEX-OF (FLD0322C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0322C). + IF FLD0323C (1:) NOT EQUAL XPC-FLD0323C + DISPLAY 'FLD0323C ==> ' HEX-OF (FLD0323C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0323C). + IF FLD0324C (1:) NOT EQUAL XPC-FLD0324C + DISPLAY 'FLD0324C ==> ' HEX-OF (FLD0324C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0324C). + IF FLD0325C (1:) NOT EQUAL XPC-FLD0325C + DISPLAY 'FLD0325C ==> ' HEX-OF (FLD0325C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0325C). + IF FLD0326C (1:) NOT EQUAL XPC-FLD0326C + DISPLAY 'FLD0326C ==> ' HEX-OF (FLD0326C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0326C). + IF FLD0327C (1:) NOT EQUAL XPC-FLD0327C + DISPLAY 'FLD0327C ==> ' HEX-OF (FLD0327C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0327C). + IF FLD0328C (1:) NOT EQUAL XPC-FLD0328C + DISPLAY 'FLD0328C ==> ' HEX-OF (FLD0328C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0328C). + IF FLD0329C (1:) NOT EQUAL XPC-FLD0329C + DISPLAY 'FLD0329C ==> ' HEX-OF (FLD0329C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0329C). + IF FLD0330C (1:) NOT EQUAL XPC-FLD0330C + DISPLAY 'FLD0330C ==> ' HEX-OF (FLD0330C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0330C). + IF FLD0331C (1:) NOT EQUAL XPC-FLD0331C + DISPLAY 'FLD0331C ==> ' HEX-OF (FLD0331C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0331C). + IF FLD0332C (1:) NOT EQUAL XPC-FLD0332C + DISPLAY 'FLD0332C ==> ' HEX-OF (FLD0332C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0332C). + IF FLD0333C (1:) NOT EQUAL XPC-FLD0333C + DISPLAY 'FLD0333C ==> ' HEX-OF (FLD0333C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0333C). + IF FLD0334C (1:) NOT EQUAL XPC-FLD0334C + DISPLAY 'FLD0334C ==> ' HEX-OF (FLD0334C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0334C). + IF FLD0335C (1:) NOT EQUAL XPC-FLD0335C + DISPLAY 'FLD0335C ==> ' HEX-OF (FLD0335C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0335C). + IF FLD0336C (1:) NOT EQUAL XPC-FLD0336C + DISPLAY 'FLD0336C ==> ' HEX-OF (FLD0336C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0336C). + IF FLD0337C (1:) NOT EQUAL XPC-FLD0337C + DISPLAY 'FLD0337C ==> ' HEX-OF (FLD0337C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0337C). + IF FLD0338C (1:) NOT EQUAL XPC-FLD0338C + DISPLAY 'FLD0338C ==> ' HEX-OF (FLD0338C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0338C). + IF FLD0339C (1:) NOT EQUAL XPC-FLD0339C + DISPLAY 'FLD0339C ==> ' HEX-OF (FLD0339C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0339C). + IF FLD0340C (1:) NOT EQUAL XPC-FLD0340C + DISPLAY 'FLD0340C ==> ' HEX-OF (FLD0340C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0340C). + IF FLD0341C (1:) NOT EQUAL XPC-FLD0341C + DISPLAY 'FLD0341C ==> ' HEX-OF (FLD0341C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0341C). + IF FLD0342C (1:) NOT EQUAL XPC-FLD0342C + DISPLAY 'FLD0342C ==> ' HEX-OF (FLD0342C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0342C). + IF FLD0343C (1:) NOT EQUAL XPC-FLD0343C + DISPLAY 'FLD0343C ==> ' HEX-OF (FLD0343C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0343C). + IF FLD0344C (1:) NOT EQUAL XPC-FLD0344C + DISPLAY 'FLD0344C ==> ' HEX-OF (FLD0344C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0344C). + IF FLD0345C (1:) NOT EQUAL XPC-FLD0345C + DISPLAY 'FLD0345C ==> ' HEX-OF (FLD0345C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0345C). + IF FLD0346C (1:) NOT EQUAL XPC-FLD0346C + DISPLAY 'FLD0346C ==> ' HEX-OF (FLD0346C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0346C). + IF FLD0347C (1:) NOT EQUAL XPC-FLD0347C + DISPLAY 'FLD0347C ==> ' HEX-OF (FLD0347C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0347C). + IF FLD0348C (1:) NOT EQUAL XPC-FLD0348C + DISPLAY 'FLD0348C ==> ' HEX-OF (FLD0348C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0348C). + IF FLD0349C (1:) NOT EQUAL XPC-FLD0349C + DISPLAY 'FLD0349C ==> ' HEX-OF (FLD0349C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0349C). + IF FLD0350C (1:) NOT EQUAL XPC-FLD0350C + DISPLAY 'FLD0350C ==> ' HEX-OF (FLD0350C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0350C). + IF FLD0351C (1:) NOT EQUAL XPC-FLD0351C + DISPLAY 'FLD0351C ==> ' HEX-OF (FLD0351C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0351C). + IF FLD0352C (1:) NOT EQUAL XPC-FLD0352C + DISPLAY 'FLD0352C ==> ' HEX-OF (FLD0352C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0352C). + IF FLD0353C (1:) NOT EQUAL XPC-FLD0353C + DISPLAY 'FLD0353C ==> ' HEX-OF (FLD0353C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0353C). + IF FLD0354C (1:) NOT EQUAL XPC-FLD0354C + DISPLAY 'FLD0354C ==> ' HEX-OF (FLD0354C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0354C). + IF FLD0355C (1:) NOT EQUAL XPC-FLD0355C + DISPLAY 'FLD0355C ==> ' HEX-OF (FLD0355C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0355C). + IF FLD0356C (1:) NOT EQUAL XPC-FLD0356C + DISPLAY 'FLD0356C ==> ' HEX-OF (FLD0356C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0356C). + IF FLD0357C (1:) NOT EQUAL XPC-FLD0357C + DISPLAY 'FLD0357C ==> ' HEX-OF (FLD0357C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0357C). + IF FLD0358C (1:) NOT EQUAL XPC-FLD0358C + DISPLAY 'FLD0358C ==> ' HEX-OF (FLD0358C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0358C). + IF FLD0359C (1:) NOT EQUAL XPC-FLD0359C + DISPLAY 'FLD0359C ==> ' HEX-OF (FLD0359C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0359C). + IF FLD0360C (1:) NOT EQUAL XPC-FLD0360C + DISPLAY 'FLD0360C ==> ' HEX-OF (FLD0360C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0360C). + IF FLD0361C (1:) NOT EQUAL XPC-FLD0361C + DISPLAY 'FLD0361C ==> ' HEX-OF (FLD0361C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0361C). + IF FLD0362C (1:) NOT EQUAL XPC-FLD0362C + DISPLAY 'FLD0362C ==> ' HEX-OF (FLD0362C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0362C). + IF FLD0363C (1:) NOT EQUAL XPC-FLD0363C + DISPLAY 'FLD0363C ==> ' HEX-OF (FLD0363C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0363C). + IF FLD0364C (1:) NOT EQUAL XPC-FLD0364C + DISPLAY 'FLD0364C ==> ' HEX-OF (FLD0364C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0364C). + IF FLD0365C (1:) NOT EQUAL XPC-FLD0365C + DISPLAY 'FLD0365C ==> ' HEX-OF (FLD0365C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0365C). + IF FLD0366C (1:) NOT EQUAL XPC-FLD0366C + DISPLAY 'FLD0366C ==> ' HEX-OF (FLD0366C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0366C). + IF FLD0367C (1:) NOT EQUAL XPC-FLD0367C + DISPLAY 'FLD0367C ==> ' HEX-OF (FLD0367C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0367C). + IF FLD0368C (1:) NOT EQUAL XPC-FLD0368C + DISPLAY 'FLD0368C ==> ' HEX-OF (FLD0368C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0368C). + IF FLD0369C (1:) NOT EQUAL XPC-FLD0369C + DISPLAY 'FLD0369C ==> ' HEX-OF (FLD0369C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0369C). + IF FLD0370C (1:) NOT EQUAL XPC-FLD0370C + DISPLAY 'FLD0370C ==> ' HEX-OF (FLD0370C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0370C). + IF FLD0371C (1:) NOT EQUAL XPC-FLD0371C + DISPLAY 'FLD0371C ==> ' HEX-OF (FLD0371C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0371C). + IF FLD0372C (1:) NOT EQUAL XPC-FLD0372C + DISPLAY 'FLD0372C ==> ' HEX-OF (FLD0372C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0372C). + IF FLD0373C (1:) NOT EQUAL XPC-FLD0373C + DISPLAY 'FLD0373C ==> ' HEX-OF (FLD0373C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0373C). + IF FLD0374C (1:) NOT EQUAL XPC-FLD0374C + DISPLAY 'FLD0374C ==> ' HEX-OF (FLD0374C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0374C). + IF FLD0375C (1:) NOT EQUAL XPC-FLD0375C + DISPLAY 'FLD0375C ==> ' HEX-OF (FLD0375C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0375C). + IF FLD0376C (1:) NOT EQUAL XPC-FLD0376C + DISPLAY 'FLD0376C ==> ' HEX-OF (FLD0376C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0376C). + IF FLD0377C (1:) NOT EQUAL XPC-FLD0377C + DISPLAY 'FLD0377C ==> ' HEX-OF (FLD0377C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0377C). + IF FLD0378C (1:) NOT EQUAL XPC-FLD0378C + DISPLAY 'FLD0378C ==> ' HEX-OF (FLD0378C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0378C). + IF FLD0379C (1:) NOT EQUAL XPC-FLD0379C + DISPLAY 'FLD0379C ==> ' HEX-OF (FLD0379C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0379C). + IF FLD0380C (1:) NOT EQUAL XPC-FLD0380C + DISPLAY 'FLD0380C ==> ' HEX-OF (FLD0380C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0380C). + IF FLD0381C (1:) NOT EQUAL XPC-FLD0381C + DISPLAY 'FLD0381C ==> ' HEX-OF (FLD0381C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0381C). + IF FLD0382C (1:) NOT EQUAL XPC-FLD0382C + DISPLAY 'FLD0382C ==> ' HEX-OF (FLD0382C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0382C). + IF FLD0383C (1:) NOT EQUAL XPC-FLD0383C + DISPLAY 'FLD0383C ==> ' HEX-OF (FLD0383C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0383C). + IF FLD0384C (1:) NOT EQUAL XPC-FLD0384C + DISPLAY 'FLD0384C ==> ' HEX-OF (FLD0384C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0384C). + IF FLD0385C (1:) NOT EQUAL XPC-FLD0385C + DISPLAY 'FLD0385C ==> ' HEX-OF (FLD0385C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0385C). + IF FLD0386C (1:) NOT EQUAL XPC-FLD0386C + DISPLAY 'FLD0386C ==> ' HEX-OF (FLD0386C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0386C). + IF FLD0387C (1:) NOT EQUAL XPC-FLD0387C + DISPLAY 'FLD0387C ==> ' HEX-OF (FLD0387C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0387C). + IF FLD0388C (1:) NOT EQUAL XPC-FLD0388C + DISPLAY 'FLD0388C ==> ' HEX-OF (FLD0388C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0388C). + IF FLD0389C (1:) NOT EQUAL XPC-FLD0389C + DISPLAY 'FLD0389C ==> ' HEX-OF (FLD0389C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0389C). + IF FLD0390C (1:) NOT EQUAL XPC-FLD0390C + DISPLAY 'FLD0390C ==> ' HEX-OF (FLD0390C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0390C). + IF FLD0391C (1:) NOT EQUAL XPC-FLD0391C + DISPLAY 'FLD0391C ==> ' HEX-OF (FLD0391C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0391C). + IF FLD0392C (1:) NOT EQUAL XPC-FLD0392C + DISPLAY 'FLD0392C ==> ' HEX-OF (FLD0392C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0392C). + IF FLD0393C (1:) NOT EQUAL XPC-FLD0393C + DISPLAY 'FLD0393C ==> ' HEX-OF (FLD0393C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0393C). + IF FLD0394C (1:) NOT EQUAL XPC-FLD0394C + DISPLAY 'FLD0394C ==> ' HEX-OF (FLD0394C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0394C). + IF FLD0395C (1:) NOT EQUAL XPC-FLD0395C + DISPLAY 'FLD0395C ==> ' HEX-OF (FLD0395C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0395C). + IF FLD0396C (1:) NOT EQUAL XPC-FLD0396C + DISPLAY 'FLD0396C ==> ' HEX-OF (FLD0396C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0396C). + IF FLD0397C (1:) NOT EQUAL XPC-FLD0397C + DISPLAY 'FLD0397C ==> ' HEX-OF (FLD0397C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0397C). + IF FLD0398C (1:) NOT EQUAL XPC-FLD0398C + DISPLAY 'FLD0398C ==> ' HEX-OF (FLD0398C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0398C). + IF FLD0399C (1:) NOT EQUAL XPC-FLD0399C + DISPLAY 'FLD0399C ==> ' HEX-OF (FLD0399C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0399C). + IF FLD0400C (1:) NOT EQUAL XPC-FLD0400C + DISPLAY 'FLD0400C ==> ' HEX-OF (FLD0400C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0400C). + IF FLD0401C (1:) NOT EQUAL XPC-FLD0401C + DISPLAY 'FLD0401C ==> ' HEX-OF (FLD0401C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0401C). + IF FLD0402C (1:) NOT EQUAL XPC-FLD0402C + DISPLAY 'FLD0402C ==> ' HEX-OF (FLD0402C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0402C). + IF FLD0403C (1:) NOT EQUAL XPC-FLD0403C + DISPLAY 'FLD0403C ==> ' HEX-OF (FLD0403C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0403C). + IF FLD0404C (1:) NOT EQUAL XPC-FLD0404C + DISPLAY 'FLD0404C ==> ' HEX-OF (FLD0404C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0404C). + IF FLD0405C (1:) NOT EQUAL XPC-FLD0405C + DISPLAY 'FLD0405C ==> ' HEX-OF (FLD0405C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0405C). + IF FLD0406C (1:) NOT EQUAL XPC-FLD0406C + DISPLAY 'FLD0406C ==> ' HEX-OF (FLD0406C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0406C). + IF FLD0407C (1:) NOT EQUAL XPC-FLD0407C + DISPLAY 'FLD0407C ==> ' HEX-OF (FLD0407C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0407C). + IF FLD0408C (1:) NOT EQUAL XPC-FLD0408C + DISPLAY 'FLD0408C ==> ' HEX-OF (FLD0408C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0408C). + IF FLD0409C (1:) NOT EQUAL XPC-FLD0409C + DISPLAY 'FLD0409C ==> ' HEX-OF (FLD0409C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0409C). + IF FLD0410C (1:) NOT EQUAL XPC-FLD0410C + DISPLAY 'FLD0410C ==> ' HEX-OF (FLD0410C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0410C). + IF FLD0411C (1:) NOT EQUAL XPC-FLD0411C + DISPLAY 'FLD0411C ==> ' HEX-OF (FLD0411C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0411C). + IF FLD0412C (1:) NOT EQUAL XPC-FLD0412C + DISPLAY 'FLD0412C ==> ' HEX-OF (FLD0412C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0412C). + IF FLD0413C (1:) NOT EQUAL XPC-FLD0413C + DISPLAY 'FLD0413C ==> ' HEX-OF (FLD0413C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0413C). + IF FLD0414C (1:) NOT EQUAL XPC-FLD0414C + DISPLAY 'FLD0414C ==> ' HEX-OF (FLD0414C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0414C). + IF FLD0415C (1:) NOT EQUAL XPC-FLD0415C + DISPLAY 'FLD0415C ==> ' HEX-OF (FLD0415C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0415C). + IF FLD0416C (1:) NOT EQUAL XPC-FLD0416C + DISPLAY 'FLD0416C ==> ' HEX-OF (FLD0416C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0416C). + IF FLD0417C (1:) NOT EQUAL XPC-FLD0417C + DISPLAY 'FLD0417C ==> ' HEX-OF (FLD0417C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0417C). + IF FLD0418C (1:) NOT EQUAL XPC-FLD0418C + DISPLAY 'FLD0418C ==> ' HEX-OF (FLD0418C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0418C). + IF FLD0419C (1:) NOT EQUAL XPC-FLD0419C + DISPLAY 'FLD0419C ==> ' HEX-OF (FLD0419C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0419C). + IF FLD0420C (1:) NOT EQUAL XPC-FLD0420C + DISPLAY 'FLD0420C ==> ' HEX-OF (FLD0420C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0420C). + IF FLD0421C (1:) NOT EQUAL XPC-FLD0421C + DISPLAY 'FLD0421C ==> ' HEX-OF (FLD0421C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0421C). + IF FLD0422C (1:) NOT EQUAL XPC-FLD0422C + DISPLAY 'FLD0422C ==> ' HEX-OF (FLD0422C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0422C). + IF FLD0423C (1:) NOT EQUAL XPC-FLD0423C + DISPLAY 'FLD0423C ==> ' HEX-OF (FLD0423C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0423C). + IF FLD0424C (1:) NOT EQUAL XPC-FLD0424C + DISPLAY 'FLD0424C ==> ' HEX-OF (FLD0424C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0424C). + IF FLD0425C (1:) NOT EQUAL XPC-FLD0425C + DISPLAY 'FLD0425C ==> ' HEX-OF (FLD0425C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0425C). + IF FLD0426C (1:) NOT EQUAL XPC-FLD0426C + DISPLAY 'FLD0426C ==> ' HEX-OF (FLD0426C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0426C). + IF FLD0427C (1:) NOT EQUAL XPC-FLD0427C + DISPLAY 'FLD0427C ==> ' HEX-OF (FLD0427C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0427C). + IF FLD0428C (1:) NOT EQUAL XPC-FLD0428C + DISPLAY 'FLD0428C ==> ' HEX-OF (FLD0428C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0428C). + IF FLD0429C (1:) NOT EQUAL XPC-FLD0429C + DISPLAY 'FLD0429C ==> ' HEX-OF (FLD0429C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0429C). + IF FLD0430C (1:) NOT EQUAL XPC-FLD0430C + DISPLAY 'FLD0430C ==> ' HEX-OF (FLD0430C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0430C). + IF FLD0431C (1:) NOT EQUAL XPC-FLD0431C + DISPLAY 'FLD0431C ==> ' HEX-OF (FLD0431C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0431C). + IF FLD0432C (1:) NOT EQUAL XPC-FLD0432C + DISPLAY 'FLD0432C ==> ' HEX-OF (FLD0432C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0432C). + IF FLD0433C (1:) NOT EQUAL XPC-FLD0433C + DISPLAY 'FLD0433C ==> ' HEX-OF (FLD0433C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0433C). + IF FLD0434C (1:) NOT EQUAL XPC-FLD0434C + DISPLAY 'FLD0434C ==> ' HEX-OF (FLD0434C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0434C). + IF FLD0435C (1:) NOT EQUAL XPC-FLD0435C + DISPLAY 'FLD0435C ==> ' HEX-OF (FLD0435C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0435C). + IF FLD0436C (1:) NOT EQUAL XPC-FLD0436C + DISPLAY 'FLD0436C ==> ' HEX-OF (FLD0436C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0436C). + IF FLD0437C (1:) NOT EQUAL XPC-FLD0437C + DISPLAY 'FLD0437C ==> ' HEX-OF (FLD0437C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0437C). + IF FLD0438C (1:) NOT EQUAL XPC-FLD0438C + DISPLAY 'FLD0438C ==> ' HEX-OF (FLD0438C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0438C). + IF FLD0439C (1:) NOT EQUAL XPC-FLD0439C + DISPLAY 'FLD0439C ==> ' HEX-OF (FLD0439C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0439C). + IF FLD0440C (1:) NOT EQUAL XPC-FLD0440C + DISPLAY 'FLD0440C ==> ' HEX-OF (FLD0440C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0440C). + IF FLD0441C (1:) NOT EQUAL XPC-FLD0441C + DISPLAY 'FLD0441C ==> ' HEX-OF (FLD0441C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0441C). + IF FLD0442C (1:) NOT EQUAL XPC-FLD0442C + DISPLAY 'FLD0442C ==> ' HEX-OF (FLD0442C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0442C). + IF FLD0443C (1:) NOT EQUAL XPC-FLD0443C + DISPLAY 'FLD0443C ==> ' HEX-OF (FLD0443C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0443C). + IF FLD0444C (1:) NOT EQUAL XPC-FLD0444C + DISPLAY 'FLD0444C ==> ' HEX-OF (FLD0444C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0444C). + IF FLD0445C (1:) NOT EQUAL XPC-FLD0445C + DISPLAY 'FLD0445C ==> ' HEX-OF (FLD0445C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0445C). + IF FLD0446C (1:) NOT EQUAL XPC-FLD0446C + DISPLAY 'FLD0446C ==> ' HEX-OF (FLD0446C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0446C). + IF FLD0447C (1:) NOT EQUAL XPC-FLD0447C + DISPLAY 'FLD0447C ==> ' HEX-OF (FLD0447C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0447C). + IF FLD0448C (1:) NOT EQUAL XPC-FLD0448C + DISPLAY 'FLD0448C ==> ' HEX-OF (FLD0448C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0448C). + IF FLD0449C (1:) NOT EQUAL XPC-FLD0449C + DISPLAY 'FLD0449C ==> ' HEX-OF (FLD0449C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0449C). + IF FLD0450C (1:) NOT EQUAL XPC-FLD0450C + DISPLAY 'FLD0450C ==> ' HEX-OF (FLD0450C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0450C). + IF FLD0451C (1:) NOT EQUAL XPC-FLD0451C + DISPLAY 'FLD0451C ==> ' HEX-OF (FLD0451C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0451C). + IF FLD0452C (1:) NOT EQUAL XPC-FLD0452C + DISPLAY 'FLD0452C ==> ' HEX-OF (FLD0452C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0452C). + IF FLD0453C (1:) NOT EQUAL XPC-FLD0453C + DISPLAY 'FLD0453C ==> ' HEX-OF (FLD0453C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0453C). + IF FLD0454C (1:) NOT EQUAL XPC-FLD0454C + DISPLAY 'FLD0454C ==> ' HEX-OF (FLD0454C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0454C). + IF FLD0455C (1:) NOT EQUAL XPC-FLD0455C + DISPLAY 'FLD0455C ==> ' HEX-OF (FLD0455C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0455C). + IF FLD0456C (1:) NOT EQUAL XPC-FLD0456C + DISPLAY 'FLD0456C ==> ' HEX-OF (FLD0456C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0456C). + IF FLD0457C (1:) NOT EQUAL XPC-FLD0457C + DISPLAY 'FLD0457C ==> ' HEX-OF (FLD0457C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0457C). + IF FLD0458C (1:) NOT EQUAL XPC-FLD0458C + DISPLAY 'FLD0458C ==> ' HEX-OF (FLD0458C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0458C). + IF FLD0459C (1:) NOT EQUAL XPC-FLD0459C + DISPLAY 'FLD0459C ==> ' HEX-OF (FLD0459C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0459C). + IF FLD0460C (1:) NOT EQUAL XPC-FLD0460C + DISPLAY 'FLD0460C ==> ' HEX-OF (FLD0460C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0460C). + IF FLD0461C (1:) NOT EQUAL XPC-FLD0461C + DISPLAY 'FLD0461C ==> ' HEX-OF (FLD0461C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0461C). + IF FLD0462C (1:) NOT EQUAL XPC-FLD0462C + DISPLAY 'FLD0462C ==> ' HEX-OF (FLD0462C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0462C). + IF FLD0463C (1:) NOT EQUAL XPC-FLD0463C + DISPLAY 'FLD0463C ==> ' HEX-OF (FLD0463C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0463C). + IF FLD0464C (1:) NOT EQUAL XPC-FLD0464C + DISPLAY 'FLD0464C ==> ' HEX-OF (FLD0464C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0464C). + IF FLD0465C (1:) NOT EQUAL XPC-FLD0465C + DISPLAY 'FLD0465C ==> ' HEX-OF (FLD0465C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0465C). + IF FLD0466C (1:) NOT EQUAL XPC-FLD0466C + DISPLAY 'FLD0466C ==> ' HEX-OF (FLD0466C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0466C). + IF FLD0467C (1:) NOT EQUAL XPC-FLD0467C + DISPLAY 'FLD0467C ==> ' HEX-OF (FLD0467C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0467C). + IF FLD0468C (1:) NOT EQUAL XPC-FLD0468C + DISPLAY 'FLD0468C ==> ' HEX-OF (FLD0468C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0468C). + IF FLD0469C (1:) NOT EQUAL XPC-FLD0469C + DISPLAY 'FLD0469C ==> ' HEX-OF (FLD0469C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0469C). + IF FLD0470C (1:) NOT EQUAL XPC-FLD0470C + DISPLAY 'FLD0470C ==> ' HEX-OF (FLD0470C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0470C). + IF FLD0471C (1:) NOT EQUAL XPC-FLD0471C + DISPLAY 'FLD0471C ==> ' HEX-OF (FLD0471C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0471C). + IF FLD0472C (1:) NOT EQUAL XPC-FLD0472C + DISPLAY 'FLD0472C ==> ' HEX-OF (FLD0472C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0472C). + IF FLD0473C (1:) NOT EQUAL XPC-FLD0473C + DISPLAY 'FLD0473C ==> ' HEX-OF (FLD0473C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0473C). + IF FLD0474C (1:) NOT EQUAL XPC-FLD0474C + DISPLAY 'FLD0474C ==> ' HEX-OF (FLD0474C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0474C). + IF FLD0475C (1:) NOT EQUAL XPC-FLD0475C + DISPLAY 'FLD0475C ==> ' HEX-OF (FLD0475C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0475C). + IF FLD0476C (1:) NOT EQUAL XPC-FLD0476C + DISPLAY 'FLD0476C ==> ' HEX-OF (FLD0476C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0476C). + IF FLD0477C (1:) NOT EQUAL XPC-FLD0477C + DISPLAY 'FLD0477C ==> ' HEX-OF (FLD0477C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0477C). + IF FLD0478C (1:) NOT EQUAL XPC-FLD0478C + DISPLAY 'FLD0478C ==> ' HEX-OF (FLD0478C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0478C). + IF FLD0479C (1:) NOT EQUAL XPC-FLD0479C + DISPLAY 'FLD0479C ==> ' HEX-OF (FLD0479C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0479C). + IF FLD0480C (1:) NOT EQUAL XPC-FLD0480C + DISPLAY 'FLD0480C ==> ' HEX-OF (FLD0480C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0480C). + IF FLD0481C (1:) NOT EQUAL XPC-FLD0481C + DISPLAY 'FLD0481C ==> ' HEX-OF (FLD0481C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0481C). + IF FLD0482C (1:) NOT EQUAL XPC-FLD0482C + DISPLAY 'FLD0482C ==> ' HEX-OF (FLD0482C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0482C). + IF FLD0483C (1:) NOT EQUAL XPC-FLD0483C + DISPLAY 'FLD0483C ==> ' HEX-OF (FLD0483C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0483C). + IF FLD0484C (1:) NOT EQUAL XPC-FLD0484C + DISPLAY 'FLD0484C ==> ' HEX-OF (FLD0484C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0484C). + IF FLD0485C (1:) NOT EQUAL XPC-FLD0485C + DISPLAY 'FLD0485C ==> ' HEX-OF (FLD0485C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0485C). + IF FLD0486C (1:) NOT EQUAL XPC-FLD0486C + DISPLAY 'FLD0486C ==> ' HEX-OF (FLD0486C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0486C). + IF FLD0487C (1:) NOT EQUAL XPC-FLD0487C + DISPLAY 'FLD0487C ==> ' HEX-OF (FLD0487C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0487C). + IF FLD0488C (1:) NOT EQUAL XPC-FLD0488C + DISPLAY 'FLD0488C ==> ' HEX-OF (FLD0488C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0488C). + IF FLD0489C (1:) NOT EQUAL XPC-FLD0489C + DISPLAY 'FLD0489C ==> ' HEX-OF (FLD0489C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0489C). + IF FLD0490C (1:) NOT EQUAL XPC-FLD0490C + DISPLAY 'FLD0490C ==> ' HEX-OF (FLD0490C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0490C). + IF FLD0491C (1:) NOT EQUAL XPC-FLD0491C + DISPLAY 'FLD0491C ==> ' HEX-OF (FLD0491C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0491C). + IF FLD0492C (1:) NOT EQUAL XPC-FLD0492C + DISPLAY 'FLD0492C ==> ' HEX-OF (FLD0492C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0492C). + IF FLD0493C (1:) NOT EQUAL XPC-FLD0493C + DISPLAY 'FLD0493C ==> ' HEX-OF (FLD0493C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0493C). + IF FLD0494C (1:) NOT EQUAL XPC-FLD0494C + DISPLAY 'FLD0494C ==> ' HEX-OF (FLD0494C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0494C). + IF FLD0495C (1:) NOT EQUAL XPC-FLD0495C + DISPLAY 'FLD0495C ==> ' HEX-OF (FLD0495C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0495C). + IF FLD0496C (1:) NOT EQUAL XPC-FLD0496C + DISPLAY 'FLD0496C ==> ' HEX-OF (FLD0496C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0496C). + IF FLD0497C (1:) NOT EQUAL XPC-FLD0497C + DISPLAY 'FLD0497C ==> ' HEX-OF (FLD0497C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0497C). + IF FLD0498C (1:) NOT EQUAL XPC-FLD0498C + DISPLAY 'FLD0498C ==> ' HEX-OF (FLD0498C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0498C). + IF FLD0499C (1:) NOT EQUAL XPC-FLD0499C + DISPLAY 'FLD0499C ==> ' HEX-OF (FLD0499C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0499C). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:7277: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:7277" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:7277" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:7278: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:7278" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:7278" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTEST-MOVE2. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0500A PIC S9(10)V9(08) COMP-3 + VALUE -4830218621.81680639. + 77 FLD0500C PIC 9(03) COMP-6. + + 77 FLD0501A PIC 9(09)V9(15) COMP-3 + VALUE 652910855.370784748430423. + 77 FLD0501C PIC 9(09)V9(14) COMP-6. + + 77 FLD0502A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0502C PIC 9(07)V9(22) COMP-6. + + 77 FLD0503A PIC 9(10)V9(11) COMP-6 + VALUE 5662523582.77427925159. + 77 FLD0503C PIC 9(04)V9(29) COMP-3. + + 77 FLD0504A PIC S9(08)V9(02) COMP-3 + VALUE -28360864.01. + 77 FLD0504C PIC 9(10)V9(09) COMP-3. + + 77 FLD0505A PIC 9(04)V9(30) COMP-3 + VALUE 9110.332843503369248949752545740921. + 77 FLD0505C PIC 9(10)V9(10) COMP-3. + + 77 FLD0506A PIC 9(10)V9(11) COMP-3 + VALUE 5546838940.35467472960. + 77 FLD0506C PIC S9(07)V9(01) COMP-3. + + 77 FLD0507A PIC 9(08)V9(18) COMP-6 + VALUE 70736506.262277043521891073. + 77 FLD0507C PIC 9(10)V9(09) COMP-3. + + 77 FLD0508A PIC 9(09)V9(16) COMP-6 + VALUE 658855971.9467786957025623. + 77 FLD0508C PIC S9(09)V9(07) COMP-3. + + 77 FLD0509A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0509C PIC 9(10)V9(08) COMP-6. + + 77 FLD0510A PIC 9(04) COMP-6 + VALUE 1295. + 77 FLD0510C PIC S9(03) COMP-3. + + 77 FLD0511A PIC 9(06)V9(25) COMP-6 + VALUE 815863.7850571600624860479911149. + 77 FLD0511C PIC 9(10)V9(09) COMP-6. + + 77 FLD0512A PIC 9(05) COMP-6 + VALUE 13945. + 77 FLD0512C PIC 9(01)V9(36) COMP-3. + + 77 FLD0513A PIC 9(09)V9(15) COMP-3 + VALUE 653773832.246937192103075. + 77 FLD0513C PIC 9(08)V9(20) COMP-3. + + 77 FLD0514A PIC 9(08)V9(18) COMP-3 + VALUE 70109343.593910689040882289. + 77 FLD0514C PIC 9(09)V9(04) COMP-6. + + 77 FLD0515A PIC 9(09)V9(16) COMP-6 + VALUE 658210435.7548693718271692. + 77 FLD0515C PIC 9(03)V9(32) COMP-3. + + 77 FLD0516A PIC 9(01)V9(36) COMP-6 + VALUE 9.884403805479323734672902901365887373. + 77 FLD0516C PIC 9(01) COMP-6. + + 77 FLD0517A PIC 9(10)V9(07) COMP-6 + VALUE 4497620438.0577999. + 77 FLD0517C PIC S9(10)V9(08) COMP-3. + + 77 FLD0518A PIC 9(09)V9(16) COMP-3 + VALUE 664556684.1155496895510168. + 77 FLD0518C PIC S9(02) COMP-3. + + 77 FLD0519A PIC 9(09)V9(14) COMP-3 + VALUE 630097608.79846921088898. + 77 FLD0519C PIC 9(08)V9(17) COMP-3. + + 77 FLD0520A PIC 9(04)V9(30) COMP-6 + VALUE 9052.329380117529744609328190563246. + 77 FLD0520C PIC 9(09)V9(14) COMP-3. + + 77 FLD0521A PIC 9(05) COMP-6 + VALUE 13956. + 77 FLD0521C PIC S9(05) COMP-3. + + 77 FLD0522A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0522C PIC S9(09)V9(04) COMP-3. + + 77 FLD0523A PIC 9(08)V9(18) COMP-6 + VALUE 70807149.512639711019801325. + 77 FLD0523C PIC S9(08)V9(02) COMP-3. + + 77 FLD0524A PIC S9(06)V9(01) COMP-3 + VALUE +201515.3. + 77 FLD0524C PIC 9(10)V9(09) COMP-3. + + 77 FLD0525A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0525C PIC 9(04)V9(29) COMP-6. + + 77 FLD0526A PIC 9(07)V9(22) COMP-3 + VALUE 7812896.0072540409864672028561. + 77 FLD0526C PIC 9(07)V9(02) COMP-6. + + 77 FLD0527A PIC 9(10)V9(12) COMP-6 + VALUE 5853770318.384275972434. + 77 FLD0527C PIC 9(10)V9(09) COMP-3. + + 77 FLD0528A PIC 9(10)V9(08) COMP-6 + VALUE 4856797949.89136714. + 77 FLD0528C PIC S9(04) COMP-3. + + 77 FLD0529A PIC 9(10)V9(10) COMP-6 + VALUE 5298570971.4885653731. + 77 FLD0529C PIC S9(10)V9(07) COMP-3. + + 77 FLD0530A PIC 9(05)V9(28) COMP-6 + VALUE 87536.5484141958027919372398173436. + 77 FLD0530C PIC S9(02) COMP-3. + + 77 FLD0531A PIC 9(09)V9(03) COMP-6 + VALUE 317487049.751. + 77 FLD0531C PIC S9(07)V9(01) COMP-3. + + 77 FLD0532A PIC 9(09)V9(15) COMP-3 + VALUE 653250626.044252880042506. + 77 FLD0532C PIC S9(01) COMP-3. + + 77 FLD0533A PIC 9(07)V9(02) COMP-6 + VALUE 2559928.55. + 77 FLD0533C PIC 9(03) COMP-6. + + 77 FLD0534A PIC 9(09)V9(06) COMP-6 + VALUE 408226706.354108. + 77 FLD0534C PIC 9(10)V9(09) COMP-3. + + 77 FLD0535A PIC 9(10)V9(11) COMP-6 + VALUE 5556101599.27967472981. + 77 FLD0535C PIC 9(05)V9(27) COMP-3. + + 77 FLD0536A PIC S9(08)V9(03) COMP-3 + VALUE -29061270.882. + 77 FLD0536C PIC S9(01) COMP-3. + + 77 FLD0537A PIC 9(08)V9(03) COMP-6 + VALUE 29943354.242. + 77 FLD0537C PIC 9(04) COMP-6. + + 77 FLD0538A PIC 9(03)V9(32) COMP-3 + VALUE 922.29859860523566439383102988358587. + 77 FLD0538C PIC 9(04)V9(29) COMP-6. + + 77 FLD0539A PIC 9(05)V9(27) COMP-6 + VALUE 85666.721070025741990860979058197. + 77 FLD0539C PIC 9(05)V9(27) COMP-3. + + 77 FLD0540A PIC S9(04) COMP-3 + VALUE +1227. + 77 FLD0540C PIC 9(01) COMP-6. + + 77 FLD0541A PIC 9(09)V9(05) COMP-6 + VALUE 387240740.80744. + 77 FLD0541C PIC 9(07)V9(22) COMP-6. + + 77 FLD0542A PIC 9(06)V9(25) COMP-3 + VALUE 831706.5789473143677668076634290. + 77 FLD0542C PIC 9(10)V9(11) COMP-3. + + 77 FLD0543A PIC 9(06)V9(01) COMP-6 + VALUE 188772.9. + 77 FLD0543C PIC 9(07)V9(02) COMP-6. + + 77 FLD0544A PIC 9(10)V9(09) COMP-3 + VALUE 5241766194.366106468. + 77 FLD0544C PIC 9(08)V9(02) COMP-6. + + 77 FLD0545A PIC 9(09)V9(14) COMP-3 + VALUE 622229285.46684597161942. + 77 FLD0545C PIC 9(08)V9(19) COMP-3. + + 77 FLD0546A PIC 9(06)V9(25) COMP-3 + VALUE 820358.8689269564193651262939965. + 77 FLD0546C PIC 9(09)V9(14) COMP-3. + + 77 FLD0547A PIC 9(06)V9(25) COMP-3 + VALUE 821925.7242001770658035297856258. + 77 FLD0547C PIC S9(09)V9(04) COMP-3. + + 77 FLD0548A PIC 9(07)V9(23) COMP-6 + VALUE 7955385.78445739497091437897324. + 77 FLD0548C PIC 9(09)V9(17) COMP-6. + + 77 FLD0549A PIC 9(07)V9(01) COMP-6 + VALUE 2367856.7. + 77 FLD0549C PIC 9(09)V9(06) COMP-6. + + 77 FLD0550A PIC 9(09)V9(15) COMP-6 + VALUE 656651700.520587522369453. + 77 FLD0550C PIC 9(02) COMP-6. + + 77 FLD0551A PIC 9(07)V9(02) COMP-6 + VALUE 2589973.73. + 77 FLD0551C PIC 9(09)V9(15) COMP-3. + + 77 FLD0552A PIC 9(10)V9(07) COMP-6 + VALUE 4579590761.6898545. + 77 FLD0552C PIC 9(05) COMP-6. + + 77 FLD0553A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0553C PIC S9(09)V9(04) COMP-3. + + 77 FLD0554A PIC 9(07)V9(02) COMP-6 + VALUE 2568219.15. + 77 FLD0554C PIC 9(03)V9(32) COMP-3. + + 77 FLD0555A PIC 9(09)V9(05) COMP-6 + VALUE 388184875.66560. + 77 FLD0555C PIC 9(10)V9(09) COMP-3. + + 77 FLD0556A PIC 9(04)V9(30) COMP-6 + VALUE 8983.209260005348140154524116951506. + 77 FLD0556C PIC 9(10)V9(11) COMP-6. + + 77 FLD0557A PIC 9(09)V9(15) COMP-3 + VALUE 650877011.601572519339242. + 77 FLD0557C PIC S9(05) COMP-3. + + 77 FLD0558A PIC 9(09)V9(13) COMP-6 + VALUE 595830550.3266489999703. + 77 FLD0558C PIC 9(06)V9(01) COMP-6. + + 77 FLD0559A PIC 9(10)V9(09) COMP-3 + VALUE 5242032248.235551916. + 77 FLD0559C PIC 9(07)V9(22) COMP-6. + + 77 FLD0560A PIC S9(09)V9(06) COMP-3 + VALUE +403640603.914505. + 77 FLD0560C PIC 9(09)V9(07) COMP-6. + + 77 FLD0561A PIC 9(05) COMP-6 + VALUE 14931. + 77 FLD0561C PIC 9(01) COMP-6. + + 77 FLD0562A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0562C PIC 9(02)V9(34) COMP-6. + + 77 FLD0563A PIC 9(10)V9(09) COMP-3 + VALUE 5040974749.501065943. + 77 FLD0563C PIC S9(08)V9(03) COMP-3. + + 77 FLD0564A PIC 9(09)V9(16) COMP-6 + VALUE 666123633.8391588462926051. + 77 FLD0564C PIC 9(03)V9(32) COMP-6. + + 77 FLD0565A PIC 9(04)V9(30) COMP-6 + VALUE 8999.472704059103822515908177592791. + 77 FLD0565C PIC 9(06)V9(01) COMP-6. + + 77 FLD0566A PIC 9(10)V9(10) COMP-6 + VALUE 5451645287.6426646501. + 77 FLD0566C PIC 9(09)V9(03) COMP-6. + + 77 FLD0567A PIC S9(07)V9(02) COMP-3 + VALUE -2621767.34. + 77 FLD0567C PIC 9(04)V9(29) COMP-6. + + 77 FLD0568A PIC S9(08)V9(02) COMP-3 + VALUE -28119737.76. + 77 FLD0568C PIC 9(09)V9(14) COMP-6. + + 77 FLD0569A PIC 9(10)V9(10) COMP-3 + VALUE 5301098669.5201622875. + 77 FLD0569C PIC S9(09)V9(06) COMP-3. + + 77 FLD0570A PIC 9(05) COMP-6 + VALUE 13775. + 77 FLD0570C PIC 9(08)V9(19) COMP-3. + + 77 FLD0571A PIC 9(10)V9(08) COMP-6 + VALUE 4995844884.12155025. + 77 FLD0571C PIC 9(09)V9(16) COMP-6. + + 77 FLD0572A PIC 9(06)V9(01) COMP-6 + VALUE 199648.9. + 77 FLD0572C PIC S9(06) COMP-3. + + 77 FLD0573A PIC 9(10)V9(11) COMP-6 + VALUE 5579051586.61930800079. + 77 FLD0573C PIC 9(01)V9(36) COMP-3. + + 77 FLD0574A PIC 9(10)V9(09) COMP-3 + VALUE 5021035726.447702352. + 77 FLD0574C PIC S9(01) COMP-3. + + 77 FLD0575A PIC 9(02)V9(34) COMP-3 + VALUE 96.0495649054037059499933093320578336. + 77 FLD0575C PIC S9(01) COMP-3. + + 77 FLD0576A PIC 9(09)V9(11) COMP-3 + VALUE 551289746.02273483895. + 77 FLD0576C PIC 9(10)V9(10) COMP-6. + + 77 FLD0577A PIC S9(10)V9(06) COMP-3 + VALUE +4245433083.607936. + 77 FLD0577C PIC 9(02)V9(34) COMP-6. + + 77 FLD0578A PIC S9(07)V9(02) COMP-3 + VALUE +2444375.29. + 77 FLD0578C PIC 9(05)V9(01) COMP-6. + + 77 FLD0579A PIC 9(09)V9(17) COMP-6 + VALUE 688719854.55414208576740975. + 77 FLD0579C PIC 9(10)V9(09) COMP-3. + + 77 FLD0580A PIC S9(08)V9(04) COMP-3 + VALUE +33455460.0291. + 77 FLD0580C PIC 9(02)V9(34) COMP-3. + + 77 FLD0581A PIC S9(08)V9(02) COMP-3 + VALUE -28271118.43. + 77 FLD0581C PIC 9(09)V9(15) COMP-6. + + 77 FLD0582A PIC 9(02)V9(34) COMP-3 + VALUE 95.0957041455027018983514608407858759. + 77 FLD0582C PIC 9(09)V9(14) COMP-6. + + 77 FLD0583A PIC 9(04)V9(30) COMP-3 + VALUE 9004.015213488590907431330379040446. + 77 FLD0583C PIC S9(01) COMP-3. + + 77 FLD0584A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0584C PIC 9(02)V9(34) COMP-6. + + 77 FLD0585A PIC S9(10)V9(06) COMP-3 + VALUE +4326355872.600766. + 77 FLD0585C PIC 9(03)V9(32) COMP-6. + + 77 FLD0586A PIC 9(05)V9(27) COMP-6 + VALUE 85722.001340062370378092282408033. + 77 FLD0586C PIC 9(07)V9(22) COMP-6. + + 77 FLD0587A PIC S9(09)V9(05) COMP-3 + VALUE -381433349.51035. + 77 FLD0587C PIC S9(04) COMP-3. + + 77 FLD0588A PIC 9(10)V9(09) COMP-6 + VALUE 5181115773.570048599. + 77 FLD0588C PIC 9(04)V9(30) COMP-3. + + 77 FLD0589A PIC S9(09)V9(06) COMP-3 + VALUE +401102073.275349. + 77 FLD0589C PIC S9(04) COMP-3. + + 77 FLD0590A PIC 9(08)V9(18) COMP-3 + VALUE 70309799.830174168899787900. + 77 FLD0590C PIC S9(06)V9(01) COMP-3. + + 77 FLD0591A PIC 9(09)V9(12) COMP-6 + VALUE 576933255.371857245386. + 77 FLD0591C PIC 9(10)V9(09) COMP-3. + + 77 FLD0592A PIC 9(09)V9(15) COMP-3 + VALUE 644514829.253344467829833. + 77 FLD0592C PIC S9(08)V9(03) COMP-3. + + 77 FLD0593A PIC 9(08)V9(19) COMP-3 + VALUE 72063942.4137167527995018190. + 77 FLD0593C PIC S9(02) COMP-3. + + 77 FLD0594A PIC S9(08)V9(02) COMP-3 + VALUE -27405154.91. + 77 FLD0594C PIC 9(07)V9(22) COMP-3. + + 77 FLD0595A PIC 9(08)V9(18) COMP-3 + VALUE 70489201.749069052560514592. + 77 FLD0595C PIC 9(06)V9(25) COMP-3. + + 77 FLD0596A PIC 9(04)V9(30) COMP-6 + VALUE 9050.358418523600789740157779306173. + 77 FLD0596C PIC 9(09)V9(15) COMP-6. + + 77 FLD0597A PIC S9(10)V9(07) COMP-3 + VALUE -4611492066.1642122. + 77 FLD0597C PIC 9(06)V9(25) COMP-6. + + 77 FLD0598A PIC 9(10)V9(12) COMP-6 + VALUE 5888650589.753158248740. + 77 FLD0598C PIC S9(09)V9(06) COMP-3. + + 77 FLD0599A PIC 9(05)V9(27) COMP-6 + VALUE 85689.140306102984379066356268594. + 77 FLD0599C PIC 9(01) COMP-6. + + 77 FLD0600A PIC S9(09)V9(06) COMP-3 + VALUE +401694362.049109. + 77 FLD0600C PIC 9(06)V9(24) COMP-3. + + 77 FLD0601A PIC 9(01)V9(36) COMP-6 + VALUE 9.763793413809590537866256454435642808. + 77 FLD0601C PIC 9(08)V9(03) COMP-6. + + 77 FLD0602A PIC 9(09)V9(17) COMP-6 + VALUE 685435627.00727922454291274. + 77 FLD0602C PIC 9(07)V9(02) COMP-6. + + 77 FLD0603A PIC 9(09)V9(16) COMP-6 + VALUE 679265807.5584466770280300. + 77 FLD0603C PIC S9(05)V9(01) COMP-3. + + 77 FLD0604A PIC 9(08)V9(19) COMP-6 + VALUE 72862711.3591577502127449861. + 77 FLD0604C PIC 9(10)V9(11) COMP-6. + + 77 FLD0605A PIC 9(04) COMP-6 + VALUE 1194. + 77 FLD0605C PIC 9(10)V9(06) COMP-6. + + 77 FLD0606A PIC 9(07)V9(23) COMP-6 + VALUE 7955557.56926823565144957228767. + 77 FLD0606C PIC S9(08)V9(04) COMP-3. + + 77 FLD0607A PIC 9(10)V9(08) COMP-6 + VALUE 4950511846.00309279. + 77 FLD0607C PIC 9(05) COMP-6. + + 77 FLD0608A PIC 9(09)V9(03) COMP-6 + VALUE 328182518.441. + 77 FLD0608C PIC 9(02)V9(34) COMP-6. + + 77 FLD0609A PIC 9(08)V9(04) COMP-6 + VALUE 33948712.4475. + 77 FLD0609C PIC 9(10)V9(07) COMP-6. + + 77 FLD0610A PIC 9(06)V9(24) COMP-6 + VALUE 807988.537497822956190418608457. + 77 FLD0610C PIC 9(08)V9(02) COMP-6. + + 77 FLD0611A PIC 9(07)V9(22) COMP-3 + VALUE 7747853.4043620861382350994972. + 77 FLD0611C PIC 9(01) COMP-6. + + 77 FLD0612A PIC 9(10)V9(11) COMP-3 + VALUE 5644161799.14422944108. + 77 FLD0612C PIC 9(07)V9(22) COMP-6. + + 77 FLD0613A PIC 9(05) COMP-6 + VALUE 15551. + 77 FLD0613C PIC S9(07)V9(01) COMP-3. + + 77 FLD0614A PIC 9(10)V9(09) COMP-3 + VALUE 5201647014.630440546. + 77 FLD0614C PIC 9(09)V9(13) COMP-6. + + 77 FLD0615A PIC S9(03) COMP-3 + VALUE +101. + 77 FLD0615C PIC S9(07)V9(01) COMP-3. + + 77 FLD0616A PIC 9(07)V9(22) COMP-3 + VALUE 7639230.3574527464782306651613. + 77 FLD0616C PIC 9(02) COMP-6. + + 77 FLD0617A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0617C PIC 9(01) COMP-6. + + 77 FLD0618A PIC 9(01)V9(36) COMP-3 + VALUE 9.817148549708982763206677191192284226. + 77 FLD0618C PIC 9(03) COMP-6. + + 77 FLD0619A PIC 9(06)V9(24) COMP-3 + VALUE 801850.998363624500875346257089. + 77 FLD0619C PIC 9(10)V9(10) COMP-3. + + 77 FLD0620A PIC 9(08)V9(19) COMP-6 + VALUE 71717267.3810957062023874186. + 77 FLD0620C PIC 9(09)V9(15) COMP-6. + + 77 FLD0621A PIC 9(04)V9(30) COMP-3 + VALUE 9035.013690395441443570234696380794. + 77 FLD0621C PIC 9(08)V9(19) COMP-3. + + 77 FLD0622A PIC 9(09)V9(13) COMP-3 + VALUE 592420192.5737704321761. + 77 FLD0622C PIC S9(09)V9(04) COMP-3. + + 77 FLD0623A PIC S9(03) COMP-3 + VALUE +104. + 77 FLD0623C PIC 9(09)V9(15) COMP-3. + + 77 FLD0624A PIC S9(06) COMP-3 + VALUE -162056. + 77 FLD0624C PIC 9(10)V9(06) COMP-6. + + 77 FLD0625A PIC 9(04) COMP-6 + VALUE 1296. + 77 FLD0625C PIC 9(07)V9(22) COMP-3. + + 77 FLD0626A PIC 9(04)V9(29) COMP-3 + VALUE 8839.60373056715265072114107169909. + 77 FLD0626C PIC S9(09)V9(05) COMP-3. + + 77 FLD0627A PIC 9(04) COMP-6 + VALUE 1093. + 77 FLD0627C PIC S9(07)V9(01) COMP-3. + + 77 FLD0628A PIC 9(01)V9(36) COMP-3 + VALUE 9.943034041886028573387079632084351032. + 77 FLD0628C PIC 9(08)V9(03) COMP-6. + + 77 FLD0629A PIC 9(03)V9(32) COMP-6 + VALUE 925.54391942612090904418664649710990. + 77 FLD0629C PIC 9(05)V9(28) COMP-3. + + 77 FLD0630A PIC S9(09)V9(06) COMP-3 + VALUE +400669561.119235. + 77 FLD0630C PIC 9(09)V9(12) COMP-6. + + 77 FLD0631A PIC 9(09)V9(15) COMP-3 + VALUE 644864894.904831453814608. + 77 FLD0631C PIC 9(05)V9(01) COMP-6. + + 77 FLD0632A PIC 9(08)V9(18) COMP-6 + VALUE 69998401.036213298009869276. + 77 FLD0632C PIC 9(10)V9(09) COMP-6. + + 77 FLD0633A PIC 9(08)V9(19) COMP-3 + VALUE 72186800.0789349095747127194. + 77 FLD0633C PIC S9(09)V9(03) COMP-3. + + 77 FLD0634A PIC S9(10)V9(06) COMP-3 + VALUE +4236607402.255205. + 77 FLD0634C PIC 9(07)V9(23) COMP-3. + + 77 FLD0635A PIC S9(06)V9(01) COMP-3 + VALUE -190863.2. + 77 FLD0635C PIC 9(10)V9(11) COMP-6. + + 77 FLD0636A PIC S9(07)V9(01) COMP-3 + VALUE +2326055.8. + 77 FLD0636C PIC 9(05) COMP-6. + + 77 FLD0637A PIC 9(08)V9(19) COMP-3 + VALUE 73470187.3111827330475875896. + 77 FLD0637C PIC 9(10)V9(10) COMP-3. + + 77 FLD0638A PIC 9(07)V9(22) COMP-6 + VALUE 7752451.2041246673721417437263. + 77 FLD0638C PIC 9(06)V9(25) COMP-3. + + 77 FLD0639A PIC S9(09)V9(03) COMP-3 + VALUE +320313574.327. + 77 FLD0639C PIC 9(01)V9(36) COMP-6. + + 77 FLD0640A PIC 9(04)V9(29) COMP-3 + VALUE 8818.61493829378950692898797569796. + 77 FLD0640C PIC 9(03)V9(32) COMP-3. + + 77 FLD0641A PIC 9(07)V9(22) COMP-6 + VALUE 7672056.2697199168322725881807. + 77 FLD0641C PIC 9(08)V9(19) COMP-6. + + 77 FLD0642A PIC 9(08)V9(18) COMP-6 + VALUE 70806494.663622721041917884. + 77 FLD0642C PIC 9(09)V9(13) COMP-3. + + 77 FLD0643A PIC 9(07)V9(01) COMP-6 + VALUE 2194714.9. + 77 FLD0643C PIC 9(08)V9(02) COMP-6. + + 77 FLD0644A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0644C PIC 9(03)V9(32) COMP-6. + + 77 FLD0645A PIC 9(03)V9(31) COMP-3 + VALUE 913.1000502995376688630813077907077. + 77 FLD0645C PIC 9(07)V9(02) COMP-6. + + 77 FLD0646A PIC 9(07)V9(21) COMP-3 + VALUE 7520596.805608434909373727350. + 77 FLD0646C PIC 9(09)V9(13) COMP-6. + + 77 FLD0647A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0647C PIC 9(09)V9(16) COMP-6. + + 77 FLD0648A PIC S9(04) COMP-3 + VALUE +1149. + 77 FLD0648C PIC 9(09)V9(15) COMP-3. + + 77 FLD0649A PIC 9(07)V9(23) COMP-3 + VALUE 7912687.10466688007798552462190. + 77 FLD0649C PIC 9(10)V9(09) COMP-3. + + 77 FLD0650A PIC 9(01)V9(36) COMP-6 + VALUE 9.878734262172308433491707546636462211. + 77 FLD0650C PIC 9(09)V9(16) COMP-3. + + 77 FLD0651A PIC 9(08)V9(18) COMP-6 + VALUE 69993795.648145529231243244. + 77 FLD0651C PIC S9(09)V9(05) COMP-3. + + 77 FLD0652A PIC 9(05)V9(01) COMP-6 + VALUE 16676.6. + 77 FLD0652C PIC S9(07)V9(01) COMP-3. + + 77 FLD0653A PIC 9(09)V9(14) COMP-3 + VALUE 620233215.83922497168828. + 77 FLD0653C PIC 9(06) COMP-6. + + 77 FLD0654A PIC 9(09)V9(15) COMP-6 + VALUE 639337130.284049814932245. + 77 FLD0654C PIC 9(08)V9(02) COMP-6. + + 77 FLD0655A PIC 9(06)V9(25) COMP-6 + VALUE 818013.3890362937254536745967925. + 77 FLD0655C PIC 9(09)V9(13) COMP-3. + + 77 FLD0656A PIC S9(06)V9(01) COMP-3 + VALUE +200859.7. + 77 FLD0656C PIC 9(09)V9(15) COMP-3. + + 77 FLD0657A PIC 9(03)V9(32) COMP-6 + VALUE 936.17194619070143168926279031438753. + 77 FLD0657C PIC 9(08)V9(18) COMP-3. + + 77 FLD0658A PIC 9(08)V9(18) COMP-3 + VALUE 70069365.832955088357891781. + 77 FLD0658C PIC 9(10)V9(10) COMP-3. + + 77 FLD0659A PIC 9(04)V9(30) COMP-3 + VALUE 9044.337793801533464943531726021319. + 77 FLD0659C PIC 9(08)V9(19) COMP-6. + + 77 FLD0660A PIC 9(10)V9(09) COMP-3 + VALUE 5240012407.843260833. + 77 FLD0660C PIC S9(05) COMP-3. + + 77 FLD0661A PIC 9(02)V9(34) COMP-6 + VALUE 96.5581569624071600621562083688331767. + 77 FLD0661C PIC 9(10)V9(11) COMP-3. + + 77 FLD0662A PIC S9(07)V9(01) COMP-3 + VALUE +2131985.0. + 77 FLD0662C PIC 9(09)V9(16) COMP-6. + + 77 FLD0663A PIC 9(05) COMP-6 + VALUE 15788. + 77 FLD0663C PIC 9(04)V9(29) COMP-6. + + 77 FLD0664A PIC S9(05) COMP-3 + VALUE +14371. + 77 FLD0664C PIC S9(09)V9(07) COMP-3. + + 77 FLD0665A PIC 9(07)V9(02) COMP-6 + VALUE 2455875.37. + 77 FLD0665C PIC 9(09)V9(16) COMP-3. + + 77 FLD0666A PIC 9(05)V9(27) COMP-3 + VALUE 86015.549175288641414738322055200. + 77 FLD0666C PIC 9(02) COMP-6. + + 77 FLD0667A PIC 9(02)V9(33) COMP-3 + VALUE 94.482499794694274619644147605868056. + 77 FLD0667C PIC 9(09)V9(15) COMP-3. + + 77 FLD0668A PIC 9(03)V9(32) COMP-6 + VALUE 935.15331845029669999291854765033349. + 77 FLD0668C PIC 9(10)V9(09) COMP-3. + + 77 FLD0669A PIC 9(01)V9(36) COMP-3 + VALUE 9.937328225295053441001869032334070652. + 77 FLD0669C PIC 9(10)V9(05) COMP-6. + + 77 FLD0670A PIC 9(07)V9(02) COMP-6 + VALUE 2567113.54. + 77 FLD0670C PIC 9(02)V9(34) COMP-3. + + 77 FLD0671A PIC 9(09)V9(03) COMP-6 + VALUE 326622169.718. + 77 FLD0671C PIC 9(06)V9(01) COMP-6. + + 77 FLD0672A PIC 9(10)V9(07) COMP-6 + VALUE 4564917934.3294549. + 77 FLD0672C PIC 9(09)V9(15) COMP-6. + + 77 FLD0673A PIC 9(10)V9(06) COMP-6 + VALUE 4285002333.462958. + 77 FLD0673C PIC 9(07)V9(02) COMP-6. + + 77 FLD0674A PIC 9(10)V9(10) COMP-6 + VALUE 5491650640.0821929467. + 77 FLD0674C PIC 9(06)V9(25) COMP-6. + + 77 FLD0675A PIC 9(05)V9(27) COMP-6 + VALUE 84609.285471017914304070473008323. + 77 FLD0675C PIC 9(10)V9(09) COMP-6. + + 77 FLD0676A PIC 9(03) COMP-6 + VALUE 096. + 77 FLD0676C PIC 9(02)V9(34) COMP-3. + + 77 FLD0677A PIC S9(07)V9(01) COMP-3 + VALUE +2248183.1. + 77 FLD0677C PIC 9(04)V9(29) COMP-3. + + 77 FLD0678A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0678C PIC 9(05)V9(27) COMP-6. + + 77 FLD0679A PIC S9(03) COMP-3 + VALUE -080. + 77 FLD0679C PIC 9(10)V9(07) COMP-6. + + 77 FLD0680A PIC S9(08)V9(02) COMP-3 + VALUE -28119381.66. + 77 FLD0680C PIC 9(10)V9(11) COMP-3. + + 77 FLD0681A PIC 9(08)V9(17) COMP-3 + VALUE 68244115.95644890304868113. + 77 FLD0681C PIC 9(06)V9(25) COMP-3. + + 77 FLD0682A PIC S9(10)V9(08) COMP-3 + VALUE -4949729784.45772315. + 77 FLD0682C PIC 9(06)V9(25) COMP-3. + + 77 FLD0683A PIC 9(05)V9(28) COMP-6 + VALUE 86894.3068817851549390240961656672. + 77 FLD0683C PIC 9(10)V9(12) COMP-3. + + 77 FLD0684A PIC 9(10)V9(13) COMP-6 + VALUE 6059233373.6406744915115. + 77 FLD0684C PIC 9(09)V9(07) COMP-6. + + 77 FLD0685A PIC S9(07)V9(02) COMP-3 + VALUE -2545714.99. + 77 FLD0685C PIC 9(07)V9(23) COMP-3. + + 77 FLD0686A PIC 9(09)V9(14) COMP-3 + VALUE 621044693.11257093355749. + 77 FLD0686C PIC 9(09)V9(13) COMP-3. + + 77 FLD0687A PIC S9(09)V9(05) COMP-3 + VALUE -394005874.76898. + 77 FLD0687C PIC 9(10)V9(08) COMP-6. + + 77 FLD0688A PIC 9(03)V9(32) COMP-3 + VALUE 932.26844955554755145499257196206599. + 77 FLD0688C PIC 9(04) COMP-6. + + 77 FLD0689A PIC 9(10)V9(07) COMP-6 + VALUE 4559306991.4341932. + 77 FLD0689C PIC S9(08)V9(04) COMP-3. + + 77 FLD0690A PIC 9(01)V9(36) COMP-6 + VALUE 9.793660005922469879990899244148749858. + 77 FLD0690C PIC S9(08)V9(02) COMP-3. + + 77 FLD0691A PIC 9(09)V9(07) COMP-6 + VALUE 439500550.5938089. + 77 FLD0691C PIC S9(10)V9(06) COMP-3. + + 77 FLD0692A PIC 9(09)V9(04) COMP-6 + VALUE 358382577.7464. + 77 FLD0692C PIC 9(09)V9(15) COMP-6. + + 77 FLD0693A PIC S9(07)V9(01) COMP-3 + VALUE +2127399.6. + 77 FLD0693C PIC S9(01) COMP-3. + + 77 FLD0694A PIC 9(09)V9(05) COMP-6 + VALUE 378019656.01658. + 77 FLD0694C PIC 9(01) COMP-6. + + 77 FLD0695A PIC S9(09)V9(04) COMP-3 + VALUE -354304867.1111. + 77 FLD0695C PIC 9(09)V9(15) COMP-6. + + 77 FLD0696A PIC 9(04)V9(30) COMP-6 + VALUE 9067.945209731629319094281527213752. + 77 FLD0696C PIC 9(09)V9(03) COMP-6. + + 77 FLD0697A PIC S9(09)V9(06) COMP-3 + VALUE +414586353.841170. + 77 FLD0697C PIC 9(10)V9(09) COMP-6. + + 77 FLD0698A PIC 9(08)V9(18) COMP-3 + VALUE 69447533.832122987362822641. + 77 FLD0698C PIC S9(03) COMP-3. + + 77 FLD0699A PIC 9(09)V9(13) COMP-6 + VALUE 597064952.5204202445749. + 77 FLD0699C PIC 9(09)V9(14) COMP-3. + + 77 FLD0700A PIC 9(06)V9(25) COMP-3 + VALUE 820234.3139012789885455845251271. + 77 FLD0700C PIC S9(01) COMP-3. + + 77 FLD0701A PIC 9(06)V9(24) COMP-6 + VALUE 809485.363390515577641792788199. + 77 FLD0701C PIC 9(02)V9(34) COMP-3. + + 77 FLD0702A PIC 9(04)V9(30) COMP-3 + VALUE 9021.848589518318695112952809722628. + 77 FLD0702C PIC 9(07)V9(01) COMP-6. + + 77 FLD0703A PIC S9(04) COMP-3 + VALUE +1126. + 77 FLD0703C PIC 9(08)V9(04) COMP-6. + + 77 FLD0704A PIC 9(10)V9(07) COMP-6 + VALUE 4696322933.5995404. + 77 FLD0704C PIC 9(09)V9(14) COMP-3. + + 77 FLD0705A PIC 9(10)V9(10) COMP-6 + VALUE 5381864238.0664638569. + 77 FLD0705C PIC 9(10)V9(07) COMP-6. + + 77 FLD0706A PIC 9(07)V9(22) COMP-3 + VALUE 7815442.4104873465584120140192. + 77 FLD0706C PIC S9(05)V9(01) COMP-3. + + 77 FLD0707A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0707C PIC 9(10)V9(09) COMP-3. + + 77 FLD0708A PIC 9(02)V9(34) COMP-3 + VALUE 95.1225570140109555339336111501324921. + 77 FLD0708C PIC 9(08)V9(04) COMP-6. + + 77 FLD0709A PIC S9(04) COMP-3 + VALUE +1124. + 77 FLD0709C PIC 9(09)V9(05) COMP-6. + + 77 FLD0710A PIC 9(01)V9(36) COMP-3 + VALUE 9.946833086486408515014545628218911588. + 77 FLD0710C PIC S9(09)V9(03) COMP-3. + + 77 FLD0711A PIC 9(09)V9(16) COMP-6 + VALUE 677754067.1912668512888444. + 77 FLD0711C PIC 9(02) COMP-6. + + 77 FLD0712A PIC 9(09)V9(14) COMP-3 + VALUE 610433230.32745544498567. + 77 FLD0712C PIC S9(10)V9(08) COMP-3. + + 77 FLD0713A PIC S9(08)V9(03) COMP-3 + VALUE -29280564.557. + 77 FLD0713C PIC 9(07)V9(01) COMP-6. + + 77 FLD0714A PIC 9(10)V9(07) COMP-6 + VALUE 4593980567.3719869. + 77 FLD0714C PIC 9(09)V9(04) COMP-6. + + 77 FLD0715A PIC 9(09)V9(06) COMP-6 + VALUE 406643755.503527. + 77 FLD0715C PIC 9(10)V9(10) COMP-6. + + 77 FLD0716A PIC S9(08)V9(03) COMP-3 + VALUE -29497495.128. + 77 FLD0716C PIC 9(03)V9(31) COMP-3. + + 77 FLD0717A PIC 9(05)V9(28) COMP-6 + VALUE 86936.9843469434133709228262887336. + 77 FLD0717C PIC 9(07)V9(21) COMP-6. + + 77 FLD0718A PIC 9(06) COMP-6 + VALUE 158746. + 77 FLD0718C PIC 9(10)V9(06) COMP-6. + + 77 FLD0719A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0719C PIC 9(07)V9(02) COMP-6. + + 77 FLD0720A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0720C PIC S9(09)V9(06) COMP-3. + + 77 FLD0721A PIC S9(09)V9(03) COMP-3 + VALUE +332294869.962. + 77 FLD0721C PIC 9(07)V9(01) COMP-6. + + 77 FLD0722A PIC S9(05)V9(01) COMP-3 + VALUE -17094.9. + 77 FLD0722C PIC 9(07)V9(21) COMP-3. + + 77 FLD0723A PIC 9(05)V9(28) COMP-3 + VALUE 87349.0901765646254872876852459739. + 77 FLD0723C PIC 9(02) COMP-6. + + 77 FLD0724A PIC 9(09)V9(03) COMP-6 + VALUE 317474559.928. + 77 FLD0724C PIC 9(10)V9(09) COMP-6. + + 77 FLD0725A PIC 9(03)V9(31) COMP-6 + VALUE 915.1169879467740964074096154945436. + 77 FLD0725C PIC S9(09)V9(07) COMP-3. + + 77 FLD0726A PIC 9(05) COMP-6 + VALUE 14771. + 77 FLD0726C PIC S9(09)V9(06) COMP-3. + + 77 FLD0727A PIC 9(10)V9(10) COMP-3 + VALUE 5412169008.2113094177. + 77 FLD0727C PIC 9(09)V9(16) COMP-6. + + 77 FLD0728A PIC 9(09)V9(07) COMP-6 + VALUE 439411444.5456123. + 77 FLD0728C PIC S9(09)V9(05) COMP-3. + + 77 FLD0729A PIC 9(02)V9(33) COMP-6 + VALUE 94.514768998125520127473464526701718. + 77 FLD0729C PIC 9(07)V9(23) COMP-6. + + 77 FLD0730A PIC 9(06)V9(25) COMP-3 + VALUE 822685.8594490329412707296796725. + 77 FLD0730C PIC 9(09)V9(14) COMP-3. + + 77 FLD0731A PIC 9(10)V9(12) COMP-3 + VALUE 5808279049.356201984011. + 77 FLD0731C PIC 9(09)V9(13) COMP-3. + + 77 FLD0732A PIC 9(03)V9(31) COMP-6 + VALUE 915.5080332184045710519626481982413. + 77 FLD0732C PIC S9(04) COMP-3. + + 77 FLD0733A PIC 9(09)V9(03) COMP-6 + VALUE 328019305.824. + 77 FLD0733C PIC 9(09)V9(15) COMP-6. + + 77 FLD0734A PIC S9(06) COMP-3 + VALUE -164821. + 77 FLD0734C PIC 9(02) COMP-6. + + 77 FLD0735A PIC S9(06)V9(01) COMP-3 + VALUE -190229.8. + 77 FLD0735C PIC 9(09)V9(15) COMP-3. + + 77 FLD0736A PIC 9(10)V9(09) COMP-3 + VALUE 5128678158.202983894. + 77 FLD0736C PIC 9(07)V9(23) COMP-6. + + 77 FLD0737A PIC S9(07)V9(02) COMP-3 + VALUE -2601084.10. + 77 FLD0737C PIC S9(07)V9(02) COMP-3. + + 77 FLD0738A PIC 9(10)V9(09) COMP-6 + VALUE 5071467647.954436275. + 77 FLD0738C PIC 9(02)V9(34) COMP-6. + + 77 FLD0739A PIC S9(09)V9(03) COMP-3 + VALUE +324797211.447. + 77 FLD0739C PIC S9(10)V9(08) COMP-3. + + 77 FLD0740A PIC S9(08)V9(03) COMP-3 + VALUE +30394739.303. + 77 FLD0740C PIC 9(05)V9(28) COMP-3. + + 77 FLD0741A PIC S9(09)V9(03) COMP-3 + VALUE +322386723.831. + 77 FLD0741C PIC S9(09)V9(03) COMP-3. + + 77 FLD0742A PIC 9(09)V9(06) COMP-6 + VALUE 419367234.713135. + 77 FLD0742C PIC S9(08)V9(03) COMP-3. + + 77 FLD0743A PIC 9(05)V9(27) COMP-6 + VALUE 85864.867305029812794003873932524. + 77 FLD0743C PIC 9(06)V9(01) COMP-6. + + 77 FLD0744A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0744C PIC 9(08)V9(02) COMP-6. + + 77 FLD0745A PIC 9(01)V9(36) COMP-6 + VALUE 9.759709501186564217789509712019935250. + 77 FLD0745C PIC 9(05) COMP-6. + + 77 FLD0746A PIC 9(10)V9(10) COMP-3 + VALUE 5435731573.3552813430. + 77 FLD0746C PIC 9(10)V9(09) COMP-3. + + 77 FLD0747A PIC 9(10)V9(11) COMP-6 + VALUE 5681676571.07930934579. + 77 FLD0747C PIC 9(03)V9(31) COMP-6. + + 77 FLD0748A PIC 9(03) COMP-6 + VALUE 086. + 77 FLD0748C PIC S9(05)V9(01) COMP-3. + + 77 FLD0749A PIC S9(10)V9(07) COMP-3 + VALUE -4609096560.3942379. + 77 FLD0749C PIC 9(06)V9(25) COMP-3. + + 77 FLD0750A PIC 9(07)V9(22) COMP-6 + VALUE 7666736.3171436386792834127845. + 77 FLD0750C PIC 9(08)V9(04) COMP-6. + + 77 FLD0751A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0751C PIC S9(05) COMP-3. + + 77 FLD0752A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0752C PIC 9(03)V9(32) COMP-3. + + 77 FLD0753A PIC 9(08)V9(19) COMP-3 + VALUE 73379118.3872512742247806727. + 77 FLD0753C PIC S9(01) COMP-3. + + 77 FLD0754A PIC S9(09)V9(03) COMP-3 + VALUE +322061792.108. + 77 FLD0754C PIC 9(07)V9(02) COMP-6. + + 77 FLD0755A PIC 9(06)V9(25) COMP-6 + VALUE 835592.8333445592492978448717622. + 77 FLD0755C PIC 9(10)V9(10) COMP-3. + + 77 FLD0756A PIC 9(09)V9(04) COMP-6 + VALUE 366295057.8421. + 77 FLD0756C PIC S9(05) COMP-3. + + 77 FLD0757A PIC 9(08)V9(19) COMP-3 + VALUE 71466976.1113856494283425035. + 77 FLD0757C PIC S9(07)V9(02) COMP-3. + + 77 FLD0758A PIC 9(07)V9(01) COMP-6 + VALUE 2293699.9. + 77 FLD0758C PIC S9(06) COMP-3. + + 77 FLD0759A PIC 9(03)V9(32) COMP-3 + VALUE 931.38963166127219928114300273591652. + 77 FLD0759C PIC 9(07)V9(21) COMP-3. + + 77 FLD0760A PIC 9(06)V9(01) COMP-6 + VALUE 188511.3. + 77 FLD0760C PIC 9(04)V9(30) COMP-3. + + 77 FLD0761A PIC 9(09)V9(17) COMP-3 + VALUE 690006529.44346418937726639. + 77 FLD0761C PIC 9(09)V9(14) COMP-6. + + 77 FLD0762A PIC 9(09)V9(16) COMP-3 + VALUE 671435372.9957326377686399. + 77 FLD0762C PIC 9(07)V9(02) COMP-6. + + 77 FLD0763A PIC 9(08)V9(19) COMP-3 + VALUE 71468145.3175585401638159055. + 77 FLD0763C PIC 9(06)V9(24) COMP-6. + + 77 FLD0764A PIC 9(10)V9(11) COMP-3 + VALUE 5535007698.50315821329. + 77 FLD0764C PIC 9(10)V9(08) COMP-6. + + 77 FLD0765A PIC 9(04)V9(29) COMP-6 + VALUE 8855.80582773889624093044403707608. + 77 FLD0765C PIC S9(04) COMP-3. + + 77 FLD0766A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0766C PIC 9(07)V9(01) COMP-6. + + 77 FLD0767A PIC S9(10)V9(08) COMP-3 + VALUE -4848285740.27346248. + 77 FLD0767C PIC S9(01) COMP-3. + + 77 FLD0768A PIC 9(09)V9(17) COMP-3 + VALUE 684230789.92735519854306858. + 77 FLD0768C PIC S9(02) COMP-3. + + 77 FLD0769A PIC 9(07)V9(02) COMP-6 + VALUE 2565731.27. + 77 FLD0769C PIC 9(09)V9(04) COMP-6. + + 77 FLD0770A PIC 9(09)V9(12) COMP-3 + VALUE 574214303.174467532997. + 77 FLD0770C PIC 9(10)V9(13) COMP-6. + + 77 FLD0771A PIC 9(08)V9(18) COMP-6 + VALUE 69721614.519732855175249142. + 77 FLD0771C PIC 9(09)V9(17) COMP-3. + + 77 FLD0772A PIC 9(10)V9(08) COMP-6 + VALUE 4868623585.10471993. + 77 FLD0772C PIC 9(10)V9(05) COMP-6. + + 77 FLD0773A PIC S9(07)V9(01) COMP-3 + VALUE +2339835.9. + 77 FLD0773C PIC 9(03)V9(32) COMP-3. + + 77 FLD0774A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0774C PIC S9(07)V9(02) COMP-3. + + 77 FLD0775A PIC 9(09)V9(06) COMP-6 + VALUE 418947899.183504. + 77 FLD0775C PIC 9(03)V9(32) COMP-3. + + 77 FLD0776A PIC 9(09)V9(06) COMP-6 + VALUE 418950765.017868. + 77 FLD0776C PIC 9(05)V9(27) COMP-6. + + 77 FLD0777A PIC S9(08)V9(03) COMP-3 + VALUE +31438250.184. + 77 FLD0777C PIC 9(10)V9(11) COMP-3. + + 77 FLD0778A PIC S9(06)V9(01) COMP-3 + VALUE -192739.4. + 77 FLD0778C PIC 9(03)V9(31) COMP-6. + + 77 FLD0779A PIC 9(04)V9(30) COMP-3 + VALUE 9029.333248069044692840634525055065. + 77 FLD0779C PIC S9(10)V9(08) COMP-3. + + 77 FLD0780A PIC 9(09)V9(03) COMP-6 + VALUE 318241207.749. + 77 FLD0780C PIC 9(06)V9(25) COMP-3. + + 77 FLD0781A PIC 9(10)V9(08) COMP-6 + VALUE 4967153543.73054196. + 77 FLD0781C PIC 9(08)V9(03) COMP-6. + + 77 FLD0782A PIC 9(05) COMP-6 + VALUE 13793. + 77 FLD0782C PIC 9(02)V9(34) COMP-6. + + 77 FLD0783A PIC 9(04)V9(29) COMP-3 + VALUE 8813.39219378433402773964644438819. + 77 FLD0783C PIC S9(10)V9(06) COMP-3. + + 77 FLD0784A PIC 9(09)V9(15) COMP-3 + VALUE 641964802.793786426526878. + 77 FLD0784C PIC 9(06)V9(25) COMP-3. + + 77 FLD0785A PIC 9(08)V9(17) COMP-3 + VALUE 68097654.34600172362422654. + 77 FLD0785C PIC 9(09)V9(03) COMP-6. + + 77 FLD0786A PIC 9(01)V9(36) COMP-3 + VALUE 9.820249933224565186407062356011010706. + 77 FLD0786C PIC 9(05)V9(27) COMP-3. + + 77 FLD0787A PIC 9(10)V9(11) COMP-6 + VALUE 5592847098.07636559730. + 77 FLD0787C PIC 9(06)V9(01) COMP-6. + + 77 FLD0788A PIC 9(02)V9(34) COMP-6 + VALUE 95.6557531637097668841818176588276401. + 77 FLD0788C PIC 9(07)V9(22) COMP-6. + + 77 FLD0789A PIC S9(05)V9(01) COMP-3 + VALUE -17101.7. + 77 FLD0789C PIC 9(09)V9(16) COMP-3. + + 77 FLD0790A PIC 9(07)V9(02) COMP-6 + VALUE 2384369.54. + 77 FLD0790C PIC S9(08)V9(03) COMP-3. + + 77 FLD0791A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0791C PIC 9(08)V9(20) COMP-6. + + 77 FLD0792A PIC 9(02)V9(34) COMP-6 + VALUE 95.5230059106088935649836457741912454. + 77 FLD0792C PIC 9(09)V9(05) COMP-6. + + 77 FLD0793A PIC 9(06)V9(01) COMP-6 + VALUE 199221.9. + 77 FLD0793C PIC 9(10)V9(11) COMP-6. + + 77 FLD0794A PIC S9(08)V9(04) COMP-3 + VALUE +33437009.5807. + 77 FLD0794C PIC S9(01) COMP-3. + + 77 FLD0795A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0795C PIC S9(08)V9(04) COMP-3. + + 77 FLD0796A PIC 9(07)V9(21) COMP-6 + VALUE 7565685.006144580171394409262. + 77 FLD0796C PIC 9(08)V9(19) COMP-6. + + 77 FLD0797A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0797C PIC 9(09)V9(04) COMP-6. + + 77 FLD0798A PIC S9(09)V9(03) COMP-3 + VALUE +332243375.906. + 77 FLD0798C PIC 9(09)V9(16) COMP-3. + + 77 FLD0799A PIC 9(09)V9(17) COMP-3 + VALUE 690866271.33683375934225523. + 77 FLD0799C PIC 9(09)V9(11) COMP-3. + + 77 FLD0800A PIC 9(08)V9(18) COMP-3 + VALUE 70036112.416705975647346349. + 77 FLD0800C PIC 9(08)V9(02) COMP-6. + + 77 FLD0801A PIC S9(09)V9(07) COMP-3 + VALUE +443093279.8052367. + 77 FLD0801C PIC 9(01)V9(36) COMP-3. + + 77 FLD0802A PIC S9(07)V9(02) COMP-3 + VALUE +2449505.23. + 77 FLD0802C PIC 9(04)V9(29) COMP-3. + + 77 FLD0803A PIC S9(05)V9(01) COMP-3 + VALUE -17467.0. + 77 FLD0803C PIC 9(10)V9(11) COMP-6. + + 77 FLD0804A PIC 9(07)V9(02) COMP-6 + VALUE 2599541.84. + 77 FLD0804C PIC 9(01) COMP-6. + + 77 FLD0805A PIC 9(07)V9(01) COMP-6 + VALUE 2358341.0. + 77 FLD0805C PIC 9(10)V9(08) COMP-6. + + 77 FLD0806A PIC 9(10)V9(11) COMP-3 + VALUE 5703927562.80738821850. + 77 FLD0806C PIC 9(09)V9(07) COMP-6. + + 77 FLD0807A PIC 9(09)V9(17) COMP-6 + VALUE 689326682.16034242991696601. + 77 FLD0807C PIC S9(03) COMP-3. + + 77 FLD0808A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0808C PIC 9(10)V9(07) COMP-6. + + 77 FLD0809A PIC 9(05)V9(28) COMP-6 + VALUE 86873.4196996681751201663246320094. + 77 FLD0809C PIC S9(09)V9(07) COMP-3. + + 77 FLD0810A PIC S9(04) COMP-3 + VALUE +1129. + 77 FLD0810C PIC S9(07)V9(01) COMP-3. + + 77 FLD0811A PIC 9(09)V9(15) COMP-6 + VALUE 648943185.643321429623142. + 77 FLD0811C PIC 9(01)V9(36) COMP-3. + + 77 FLD0812A PIC S9(08)V9(03) COMP-3 + VALUE -29270905.795. + 77 FLD0812C PIC 9(08)V9(02) COMP-6. + + 77 FLD0813A PIC 9(10)V9(08) COMP-6 + VALUE 4881724662.84412076. + 77 FLD0813C PIC S9(08)V9(03) COMP-3. + + 77 FLD0814A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0814C PIC 9(07)V9(21) COMP-3. + + 77 FLD0815A PIC 9(06)V9(25) COMP-6 + VALUE 838676.0467962863785373883729334. + 77 FLD0815C PIC 9(02)V9(34) COMP-3. + + 77 FLD0816A PIC 9(08)V9(18) COMP-6 + VALUE 70774184.783492177786001775. + 77 FLD0816C PIC 9(04)V9(29) COMP-6. + + 77 FLD0817A PIC 9(10)V9(09) COMP-6 + VALUE 5163345142.860672476. + 77 FLD0817C PIC 9(10)V9(09) COMP-6. + + 77 FLD0818A PIC 9(08)V9(03) COMP-6 + VALUE 30586164.664. + 77 FLD0818C PIC 9(08)V9(19) COMP-6. + + 77 FLD0819A PIC 9(01)V9(36) COMP-3 + VALUE 9.844708607145921108738662042014766484. + 77 FLD0819C PIC S9(03) COMP-3. + + 77 FLD0820A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0820C PIC 9(02)V9(34) COMP-6. + + 77 FLD0821A PIC 9(09)V9(11) COMP-3 + VALUE 550576956.44832715942. + 77 FLD0821C PIC S9(09)V9(05) COMP-3. + + 77 FLD0822A PIC S9(05) COMP-3 + VALUE +14037. + 77 FLD0822C PIC 9(04) COMP-6. + + 77 FLD0823A PIC 9(08)V9(20) COMP-6 + VALUE 73880168.20028298070610617287. + 77 FLD0823C PIC S9(09)V9(06) COMP-3. + + 77 FLD0824A PIC 9(10)V9(10) COMP-6 + VALUE 5351534260.3280557920. + 77 FLD0824C PIC 9(09)V9(14) COMP-6. + + 77 FLD0825A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0825C PIC S9(05)V9(01) COMP-3. + + 77 FLD0826A PIC S9(06)V9(01) COMP-3 + VALUE -190786.5. + 77 FLD0826C PIC S9(10)V9(08) COMP-3. + + 77 FLD0827A PIC 9(07)V9(22) COMP-6 + VALUE 7763847.1978375678261841130733. + 77 FLD0827C PIC 9(10)V9(07) COMP-6. + + 77 FLD0828A PIC S9(10)V9(07) COMP-3 + VALUE -4530916009.2405642. + 77 FLD0828C PIC S9(05) COMP-3. + + 77 FLD0829A PIC 9(09)V9(17) COMP-3 + VALUE 691486534.21926165041355716. + 77 FLD0829C PIC 9(07)V9(23) COMP-6. + + 77 FLD0830A PIC 9(04)V9(30) COMP-6 + VALUE 8965.722935126121395654763546190224. + 77 FLD0830C PIC 9(10)V9(11) COMP-6. + + 77 FLD0831A PIC 9(04)V9(30) COMP-6 + VALUE 8956.555580996397036841472072410397. + 77 FLD0831C PIC 9(09)V9(16) COMP-3. + + 77 FLD0832A PIC 9(04) COMP-6 + VALUE 1185. + 77 FLD0832C PIC 9(09)V9(06) COMP-6. + + 77 FLD0833A PIC 9(06)V9(24) COMP-3 + VALUE 804859.798300300854911881742737. + 77 FLD0833C PIC 9(09)V9(16) COMP-3. + + 77 FLD0834A PIC 9(09)V9(04) COMP-6 + VALUE 349209744.2881. + 77 FLD0834C PIC 9(08)V9(19) COMP-3. + + 77 FLD0835A PIC 9(08)V9(19) COMP-3 + VALUE 71178359.2779248075466114187. + 77 FLD0835C PIC 9(07)V9(22) COMP-6. + + 77 FLD0836A PIC 9(09)V9(07) COMP-6 + VALUE 446141389.3412962. + 77 FLD0836C PIC 9(09)V9(13) COMP-3. + + 77 FLD0837A PIC 9(04)V9(30) COMP-6 + VALUE 8982.008694278872384941792006429750. + 77 FLD0837C PIC S9(08)V9(03) COMP-3. + + 77 FLD0838A PIC 9(10)V9(12) COMP-6 + VALUE 5873188106.793812979233. + 77 FLD0838C PIC 9(07)V9(22) COMP-3. + + 77 FLD0839A PIC 9(08)V9(19) COMP-3 + VALUE 71324671.8649382605015318858. + 77 FLD0839C PIC 9(06)V9(01) COMP-6. + + 77 FLD0840A PIC S9(03) COMP-3 + VALUE -094. + 77 FLD0840C PIC 9(04) COMP-6. + + 77 FLD0841A PIC 9(08)V9(18) COMP-3 + VALUE 70179428.042996372383299785. + 77 FLD0841C PIC 9(06)V9(24) COMP-3. + + 77 FLD0842A PIC 9(09)V9(16) COMP-3 + VALUE 661649948.5739699704112126. + 77 FLD0842C PIC 9(02)V9(33) COMP-6. + + 77 FLD0843A PIC 9(06)V9(25) COMP-6 + VALUE 818928.0761087860405211813485948. + 77 FLD0843C PIC S9(08)V9(03) COMP-3. + + 77 FLD0844A PIC 9(07)V9(22) COMP-6 + VALUE 7754458.9142564990247308287507. + 77 FLD0844C PIC 9(10)V9(07) COMP-6. + + 77 FLD0845A PIC 9(10)V9(12) COMP-3 + VALUE 5903835745.060688200425. + 77 FLD0845C PIC 9(09)V9(15) COMP-3. + + 77 FLD0846A PIC 9(08)V9(03) COMP-6 + VALUE 29802576.878. + 77 FLD0846C PIC 9(10)V9(07) COMP-6. + + 77 FLD0847A PIC 9(05)V9(26) COMP-3 + VALUE 84041.42690564196938041163775778. + 77 FLD0847C PIC 9(08)V9(03) COMP-6. + + 77 FLD0848A PIC 9(07)V9(23) COMP-3 + VALUE 7949747.62786875510656159349309. + 77 FLD0848C PIC 9(08)V9(19) COMP-3. + + 77 FLD0849A PIC 9(09)V9(13) COMP-6 + VALUE 595598045.8961575019216. + 77 FLD0849C PIC 9(07)V9(21) COMP-3. + + 77 FLD0850A PIC 9(09)V9(06) COMP-6 + VALUE 418716850.605351. + 77 FLD0850C PIC 9(09)V9(15) COMP-3. + + 77 FLD0851A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0851C PIC 9(07)V9(01) COMP-6. + + 77 FLD0852A PIC 9(10)V9(11) COMP-3 + VALUE 5643399909.75319838462. + 77 FLD0852C PIC 9(08)V9(02) COMP-6. + + 77 FLD0853A PIC 9(06)V9(24) COMP-3 + VALUE 801200.590406665469345171004533. + 77 FLD0853C PIC S9(01) COMP-3. + + 77 FLD0854A PIC 9(01)V9(35) COMP-3 + VALUE 9.72377885073923198255840816273121163. + 77 FLD0854C PIC 9(01) COMP-6. + + 77 FLD0855A PIC 9(08)V9(19) COMP-6 + VALUE 73562901.0042854747375429269. + 77 FLD0855C PIC 9(05)V9(01) COMP-6. + + 77 FLD0856A PIC 9(09)V9(04) COMP-6 + VALUE 356144099.6704. + 77 FLD0856C PIC S9(05) COMP-3. + + 77 FLD0857A PIC 9(03)V9(31) COMP-6 + VALUE 915.3286634102202334872799838194623. + 77 FLD0857C PIC S9(02) COMP-3. + + 77 FLD0858A PIC 9(10)V9(11) COMP-6 + VALUE 5560594458.08950059131. + 77 FLD0858C PIC 9(08)V9(03) COMP-6. + + 77 FLD0859A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0859C PIC 9(02)V9(34) COMP-3. + + 77 FLD0860A PIC 9(07)V9(02) COMP-6 + VALUE 2576407.94. + 77 FLD0860C PIC 9(08)V9(04) COMP-6. + + 77 FLD0861A PIC S9(10)V9(07) COMP-3 + VALUE -4605509961.3842453. + 77 FLD0861C PIC 9(04) COMP-6. + + 77 FLD0862A PIC 9(07)V9(22) COMP-6 + VALUE 7652464.2157409383802502134130. + 77 FLD0862C PIC 9(09)V9(12) COMP-6. + + 77 FLD0863A PIC 9(05)V9(27) COMP-3 + VALUE 85070.091557533766835064170663827. + 77 FLD0863C PIC 9(10)V9(09) COMP-6. + + 77 FLD0864A PIC 9(10)V9(11) COMP-3 + VALUE 5711242885.34377577697. + 77 FLD0864C PIC 9(04)V9(29) COMP-6. + + 77 FLD0865A PIC 9(06)V9(24) COMP-6 + VALUE 807409.725415061507725056344497. + 77 FLD0865C PIC S9(03) COMP-3. + + 77 FLD0866A PIC 9(09)V9(05) COMP-6 + VALUE 376060050.51851. + 77 FLD0866C PIC 9(04)V9(30) COMP-6. + + 77 FLD0867A PIC S9(05) COMP-3 + VALUE +14084. + 77 FLD0867C PIC 9(08)V9(19) COMP-6. + + 77 FLD0868A PIC 9(07)V9(22) COMP-3 + VALUE 7648419.8420910554094831468319. + 77 FLD0868C PIC 9(10)V9(12) COMP-3. + + 77 FLD0869A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0869C PIC 9(08)V9(17) COMP-3. + + 77 FLD0870A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0870C PIC 9(09)V9(15) COMP-6. + + 77 FLD0871A PIC 9(09)V9(14) COMP-6 + VALUE 609764683.38536315982878. + 77 FLD0871C PIC 9(10)V9(09) COMP-3. + + 77 FLD0872A PIC 9(04)V9(29) COMP-3 + VALUE 8816.31176263962479389135751262074. + 77 FLD0872C PIC 9(10)V9(07) COMP-6. + + 77 FLD0873A PIC 9(07)V9(21) COMP-6 + VALUE 7561255.223942077163812314211. + 77 FLD0873C PIC 9(05) COMP-6. + + 77 FLD0874A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0874C PIC 9(06)V9(01) COMP-6. + + 77 FLD0875A PIC S9(06)V9(01) COMP-3 + VALUE +204126.0. + 77 FLD0875C PIC 9(02) COMP-6. + + 77 FLD0876A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0876C PIC 9(07)V9(23) COMP-3. + + 77 FLD0877A PIC 9(08)V9(18) COMP-6 + VALUE 69924605.886404200827399790. + 77 FLD0877C PIC 9(09)V9(15) COMP-3. + + 77 FLD0878A PIC 9(07)V9(22) COMP-3 + VALUE 7831260.9220719830993573395971. + 77 FLD0878C PIC 9(04)V9(29) COMP-3. + + 77 FLD0879A PIC 9(07)V9(02) COMP-6 + VALUE 2371533.81. + 77 FLD0879C PIC 9(05)V9(27) COMP-3. + + 77 FLD0880A PIC S9(10)V9(06) COMP-3 + VALUE +4237732309.742536. + 77 FLD0880C PIC 9(05)V9(26) COMP-6. + + 77 FLD0881A PIC 9(10)V9(11) COMP-6 + VALUE 5571129514.90407404264. + 77 FLD0881C PIC S9(09)V9(04) COMP-3. + + 77 FLD0882A PIC 9(10)V9(12) COMP-6 + VALUE 5888713345.878072713546. + 77 FLD0882C PIC 9(09)V9(16) COMP-6. + + 77 FLD0883A PIC 9(09)V9(16) COMP-3 + VALUE 672192258.1526228457349247. + 77 FLD0883C PIC 9(07)V9(21) COMP-6. + + 77 FLD0884A PIC 9(10)V9(08) COMP-6 + VALUE 4954020911.85092596. + 77 FLD0884C PIC 9(07)V9(21) COMP-3. + + 77 FLD0885A PIC S9(05) COMP-3 + VALUE +13360. + 77 FLD0885C PIC S9(05) COMP-3. + + 77 FLD0886A PIC S9(09)V9(05) COMP-3 + VALUE -374529584.88504. + 77 FLD0886C PIC S9(09)V9(05) COMP-3. + + 77 FLD0887A PIC S9(07)V9(01) COMP-3 + VALUE +2114795.5. + 77 FLD0887C PIC 9(06)V9(25) COMP-6. + + 77 FLD0888A PIC 9(08)V9(19) COMP-6 + VALUE 73580519.1914812417586233550. + 77 FLD0888C PIC 9(07)V9(02) COMP-6. + + 77 FLD0889A PIC S9(05) COMP-3 + VALUE -15225. + 77 FLD0889C PIC 9(02)V9(34) COMP-3. + + 77 FLD0890A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0890C PIC 9(08)V9(19) COMP-3. + + 77 FLD0891A PIC 9(02)V9(34) COMP-6 + VALUE 95.7956124985634538404610793804749846. + 77 FLD0891C PIC 9(08)V9(19) COMP-6. + + 77 FLD0892A PIC 9(10)V9(09) COMP-6 + VALUE 5079027644.377075434. + 77 FLD0892C PIC 9(03) COMP-6. + + 77 FLD0893A PIC 9(10)V9(12) COMP-3 + VALUE 5900775083.003402254888. + 77 FLD0893C PIC 9(02) COMP-6. + + 77 FLD0894A PIC 9(06)V9(25) COMP-6 + VALUE 819872.1409522375935807758651208. + 77 FLD0894C PIC 9(09)V9(15) COMP-6. + + 77 FLD0895A PIC 9(10)V9(09) COMP-6 + VALUE 5099949658.575000377. + 77 FLD0895C PIC 9(08)V9(02) COMP-6. + + 77 FLD0896A PIC 9(10)V9(07) COMP-6 + VALUE 4576511370.6787369. + 77 FLD0896C PIC S9(01) COMP-3. + + 77 FLD0897A PIC 9(01)V9(36) COMP-6 + VALUE 9.997543976245016894566219889384228736. + 77 FLD0897C PIC S9(09)V9(07) COMP-3. + + 77 FLD0898A PIC 9(09)V9(05) COMP-6 + VALUE 378033726.09171. + 77 FLD0898C PIC 9(06)V9(01) COMP-6. + + 77 FLD0899A PIC 9(08)V9(20) COMP-6 + VALUE 74918436.40783237834313013081. + 77 FLD0899C PIC 9(09)V9(07) COMP-6. + + 77 FLD0900A PIC 9(03)V9(32) COMP-6 + VALUE 929.41329164379282712360463847289793. + 77 FLD0900C PIC 9(06)V9(01) COMP-6. + + 77 FLD0901A PIC 9(10)V9(07) COMP-6 + VALUE 4563598931.5070740. + 77 FLD0901C PIC 9(01)V9(36) COMP-6. + + 77 FLD0902A PIC 9(05)V9(28) COMP-3 + VALUE 87405.6741908566081633580324705690. + 77 FLD0902C PIC 9(10)V9(09) COMP-3. + + 77 FLD0903A PIC 9(08)V9(02) COMP-6 + VALUE 28616952.10. + 77 FLD0903C PIC S9(02) COMP-3. + + 77 FLD0904A PIC S9(04) COMP-3 + VALUE +1137. + 77 FLD0904C PIC S9(01) COMP-3. + + 77 FLD0905A PIC 9(09)V9(04) COMP-6 + VALUE 357938124.4724. + 77 FLD0905C PIC 9(09)V9(04) COMP-6. + + 77 FLD0906A PIC 9(09)V9(16) COMP-6 + VALUE 669388906.6218295935684068. + 77 FLD0906C PIC 9(01) COMP-6. + + 77 FLD0907A PIC S9(09)V9(05) COMP-3 + VALUE -390800584.69506. + 77 FLD0907C PIC 9(10)V9(11) COMP-6. + + 77 FLD0908A PIC S9(10)V9(06) COMP-3 + VALUE +4306350776.286586. + 77 FLD0908C PIC 9(03)V9(31) COMP-3. + + 77 FLD0909A PIC 9(08)V9(03) COMP-6 + VALUE 30663800.453. + 77 FLD0909C PIC 9(01) COMP-6. + + 77 FLD0910A PIC S9(06)V9(01) COMP-3 + VALUE -193158.9. + 77 FLD0910C PIC 9(04)V9(30) COMP-6. + + 77 FLD0911A PIC S9(10)V9(07) COMP-3 + VALUE -4611964452.0728980. + 77 FLD0911C PIC 9(08)V9(20) COMP-3. + + 77 FLD0912A PIC 9(10)V9(09) COMP-3 + VALUE 5000191930.396378214. + 77 FLD0912C PIC 9(01) COMP-6. + + 77 FLD0913A PIC S9(04) COMP-3 + VALUE +1246. + 77 FLD0913C PIC 9(03) COMP-6. + + 77 FLD0914A PIC 9(03)V9(31) COMP-6 + VALUE 917.2012666333545505281676923914346. + 77 FLD0914C PIC 9(01)V9(36) COMP-3. + + 77 FLD0915A PIC 9(08)V9(20) COMP-6 + VALUE 74750906.49492384109464637731. + 77 FLD0915C PIC S9(04) COMP-3. + + 77 FLD0916A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0916C PIC 9(10)V9(06) COMP-6. + + 77 FLD0917A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0917C PIC 9(04) COMP-6. + + 77 FLD0918A PIC 9(04) COMP-6 + VALUE 1059. + 77 FLD0918C PIC 9(10)V9(11) COMP-6. + + 77 FLD0919A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0919C PIC S9(01) COMP-3. + + 77 FLD0920A PIC S9(05)V9(01) COMP-3 + VALUE -17474.9. + 77 FLD0920C PIC 9(09)V9(16) COMP-6. + + 77 FLD0921A PIC 9(10)V9(10) COMP-6 + VALUE 5463494999.0456427304. + 77 FLD0921C PIC S9(01) COMP-3. + + 77 FLD0922A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0922C PIC S9(05)V9(01) COMP-3. + + 77 FLD0923A PIC 9(06) COMP-6 + VALUE 159582. + 77 FLD0923C PIC S9(04) COMP-3. + + 77 FLD0924A PIC 9(10)V9(11) COMP-6 + VALUE 5650505738.70210182114. + 77 FLD0924C PIC 9(06)V9(25) COMP-3. + + 77 FLD0925A PIC S9(04) COMP-3 + VALUE +1236. + 77 FLD0925C PIC S9(01) COMP-3. + + 77 FLD0926A PIC 9(08)V9(18) COMP-6 + VALUE 69535643.175280814620720093. + 77 FLD0926C PIC S9(07)V9(02) COMP-3. + + 77 FLD0927A PIC 9(06)V9(24) COMP-3 + VALUE 800954.558131814597921049880824. + 77 FLD0927C PIC 9(10)V9(09) COMP-3. + + 77 FLD0928A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0928C PIC 9(07)V9(02) COMP-6. + + 77 FLD0929A PIC 9(05)V9(28) COMP-3 + VALUE 87174.0739403786824013309342262800. + 77 FLD0929C PIC 9(08)V9(19) COMP-3. + + 77 FLD0930A PIC 9(01)V9(36) COMP-3 + VALUE 9.911281003002671008417223674769047647. + 77 FLD0930C PIC 9(09)V9(13) COMP-3. + + 77 FLD0931A PIC 9(09)V9(12) COMP-3 + VALUE 573747057.720371378408. + 77 FLD0931C PIC S9(07)V9(02) COMP-3. + + 77 FLD0932A PIC 9(10)V9(09) COMP-6 + VALUE 5079506475.355934913. + 77 FLD0932C PIC 9(10)V9(09) COMP-6. + + 77 FLD0933A PIC 9(07)V9(22) COMP-6 + VALUE 7776883.1704294028028812135744. + 77 FLD0933C PIC 9(09)V9(03) COMP-6. + + 77 FLD0934A PIC 9(05)V9(01) COMP-6 + VALUE 16899.6. + 77 FLD0934C PIC 9(07)V9(02) COMP-6. + + 77 FLD0935A PIC 9(05)V9(01) COMP-6 + VALUE 16691.2. + 77 FLD0935C PIC 9(10)V9(08) COMP-6. + + 77 FLD0936A PIC 9(08)V9(03) COMP-6 + VALUE 29560937.131. + 77 FLD0936C PIC 9(02)V9(34) COMP-3. + + 77 FLD0937A PIC 9(02)V9(33) COMP-3 + VALUE 94.462893191714936147462822191300801. + 77 FLD0937C PIC 9(01) COMP-6. + + 77 FLD0938A PIC 9(09)V9(12) COMP-6 + VALUE 578242437.999430092254. + 77 FLD0938C PIC 9(08)V9(18) COMP-6. + + 77 FLD0939A PIC 9(10)V9(13) COMP-6 + VALUE 6084884727.3780637401330. + 77 FLD0939C PIC S9(01) COMP-3. + + 77 FLD0940A PIC 9(09)V9(12) COMP-6 + VALUE 577997061.609985873786. + 77 FLD0940C PIC 9(10)V9(08) COMP-6. + + 77 FLD0941A PIC 9(09)V9(16) COMP-3 + VALUE 670449367.9367865555107641. + 77 FLD0941C PIC 9(09)V9(04) COMP-6. + + 77 FLD0942A PIC 9(10)V9(10) COMP-3 + VALUE 5309347867.8071082121. + 77 FLD0942C PIC 9(03)V9(32) COMP-3. + + 77 FLD0943A PIC S9(09)V9(03) COMP-3 + VALUE +323766798.919. + 77 FLD0943C PIC S9(06)V9(01) COMP-3. + + 77 FLD0944A PIC 9(02)V9(34) COMP-6 + VALUE 95.7363239628727824559462078468641266. + 77 FLD0944C PIC S9(07)V9(02) COMP-3. + + 77 FLD0945A PIC 9(10)V9(10) COMP-3 + VALUE 5427766423.1255295934. + 77 FLD0945C PIC S9(10)V9(06) COMP-3. + + 77 FLD0946A PIC S9(07)V9(02) COMP-3 + VALUE -2603132.30. + 77 FLD0946C PIC 9(02)V9(34) COMP-3. + + 77 FLD0947A PIC 9(05)V9(27) COMP-6 + VALUE 85846.989065825540787812997223227. + 77 FLD0947C PIC 9(09)V9(16) COMP-3. + + 77 FLD0948A PIC 9(04) COMP-6 + VALUE 1058. + 77 FLD0948C PIC 9(07)V9(21) COMP-6. + + 77 FLD0949A PIC S9(10)V9(06) COMP-3 + VALUE +4307044196.647341. + 77 FLD0949C PIC 9(10)V9(07) COMP-6. + + 77 FLD0950A PIC 9(09)V9(14) COMP-3 + VALUE 614898523.03850200954116. + 77 FLD0950C PIC 9(04)V9(30) COMP-6. + + 77 FLD0951A PIC S9(08)V9(03) COMP-3 + VALUE +31116955.475. + 77 FLD0951C PIC 9(08)V9(20) COMP-6. + + 77 FLD0952A PIC 9(09)V9(03) COMP-6 + VALUE 315844571.317. + 77 FLD0952C PIC 9(02) COMP-6. + + 77 FLD0953A PIC 9(06) COMP-6 + VALUE 166635. + 77 FLD0953C PIC 9(10)V9(09) COMP-6. + + 77 FLD0954A PIC 9(10)V9(11) COMP-6 + VALUE 5577123049.60128579800. + 77 FLD0954C PIC 9(02)V9(34) COMP-3. + + 77 FLD0955A PIC S9(08)V9(02) COMP-3 + VALUE -27357789.23. + 77 FLD0955C PIC 9(06)V9(25) COMP-3. + + 77 FLD0956A PIC S9(08)V9(02) COMP-3 + VALUE -27355040.84. + 77 FLD0956C PIC 9(08)V9(18) COMP-3. + + 77 FLD0957A PIC 9(09)V9(15) COMP-6 + VALUE 637627083.330792543414133. + 77 FLD0957C PIC S9(04) COMP-3. + + 77 FLD0958A PIC S9(08)V9(03) COMP-3 + VALUE -29370744.150. + 77 FLD0958C PIC 9(10)V9(06) COMP-6. + + 77 FLD0959A PIC 9(06)V9(25) COMP-6 + VALUE 827211.6833605048791255853757320. + 77 FLD0959C PIC S9(01) COMP-3. + + 77 FLD0960A PIC 9(10)V9(11) COMP-6 + VALUE 5559976801.18206716315. + 77 FLD0960C PIC S9(01) COMP-3. + + 77 FLD0961A PIC 9(08)V9(19) COMP-6 + VALUE 72708740.7191407630868695832. + 77 FLD0961C PIC S9(04) COMP-3. + + 77 FLD0962A PIC 9(02)V9(34) COMP-6 + VALUE 96.8081984946274620718043024680810049. + 77 FLD0962C PIC 9(08)V9(17) COMP-3. + + 77 FLD0963A PIC 9(01)V9(36) COMP-3 + VALUE 9.803573230667260718362854277074802666. + 77 FLD0963C PIC 9(09)V9(16) COMP-6. + + 77 FLD0964A PIC 9(09)V9(15) COMP-6 + VALUE 639504907.969730918004813. + 77 FLD0964C PIC 9(09)V9(13) COMP-6. + + 77 FLD0965A PIC 9(05) COMP-6 + VALUE 13581. + 77 FLD0965C PIC 9(01) COMP-6. + + 77 FLD0966A PIC 9(06)V9(01) COMP-6 + VALUE 189200.6. + 77 FLD0966C PIC 9(06)V9(01) COMP-6. + + 77 FLD0967A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0967C PIC 9(09)V9(04) COMP-6. + + 77 FLD0968A PIC 9(09)V9(15) COMP-6 + VALUE 649996663.320669743058033. + 77 FLD0968C PIC S9(04) COMP-3. + + 77 FLD0969A PIC S9(05) COMP-3 + VALUE -15366. + 77 FLD0969C PIC 9(09)V9(13) COMP-3. + + 77 FLD0970A PIC 9(09)V9(14) COMP-3 + VALUE 631417540.20798013247173. + 77 FLD0970C PIC 9(02)V9(34) COMP-6. + + 77 FLD0971A PIC 9(07)V9(01) COMP-6 + VALUE 2161446.9. + 77 FLD0971C PIC S9(09)V9(06) COMP-3. + + 77 FLD0972A PIC 9(09)V9(15) COMP-6 + VALUE 647710182.878484586055378. + 77 FLD0972C PIC 9(05) COMP-6. + + 77 FLD0973A PIC 9(05) COMP-6 + VALUE 13817. + 77 FLD0973C PIC 9(06)V9(25) COMP-6. + + 77 FLD0974A PIC 9(04) COMP-6 + VALUE 1180. + 77 FLD0974C PIC S9(03) COMP-3. + + 77 FLD0975A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0975C PIC 9(09)V9(03) COMP-6. + + 77 FLD0976A PIC S9(07)V9(01) COMP-3 + VALUE +2206144.7. + 77 FLD0976C PIC 9(10)V9(09) COMP-6. + + 77 FLD0977A PIC 9(09)V9(03) COMP-6 + VALUE 327431372.704. + 77 FLD0977C PIC S9(09)V9(05) COMP-3. + + 77 FLD0978A PIC 9(09)V9(16) COMP-6 + VALUE 675062190.8116747338368668. + 77 FLD0978C PIC S9(09)V9(06) COMP-3. + + 77 FLD0979A PIC 9(03)V9(32) COMP-6 + VALUE 925.33169671466619643496187563869170. + 77 FLD0979C PIC 9(09)V9(05) COMP-6. + + 77 FLD0980A PIC 9(03)V9(32) COMP-6 + VALUE 935.82234581280043794748735308530740. + 77 FLD0980C PIC 9(09)V9(15) COMP-6. + + 77 FLD0981A PIC 9(06)V9(01) COMP-6 + VALUE 195132.7. + 77 FLD0981C PIC S9(09)V9(04) COMP-3. + + 77 FLD0982A PIC 9(06)V9(25) COMP-6 + VALUE 816610.1728260642955703474399342. + 77 FLD0982C PIC S9(08)V9(03) COMP-3. + + 77 FLD0983A PIC 9(10)V9(09) COMP-3 + VALUE 5114754992.436914005. + 77 FLD0983C PIC 9(02)V9(34) COMP-6. + + 77 FLD0984A PIC 9(09)V9(15) COMP-3 + VALUE 632949921.330981046807551. + 77 FLD0984C PIC 9(10)V9(09) COMP-6. + + 77 FLD0985A PIC 9(10)V9(06) COMP-6 + VALUE 4296662473.303992. + 77 FLD0985C PIC 9(05)V9(28) COMP-3. + + 77 FLD0986A PIC 9(05) COMP-6 + VALUE 14588. + 77 FLD0986C PIC 9(01) COMP-6. + + 77 FLD0987A PIC 9(01)V9(36) COMP-3 + VALUE 9.834402345123109956404050535638816654. + 77 FLD0987C PIC 9(06)V9(26) COMP-3. + + 77 FLD0988A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0988C PIC S9(05)V9(01) COMP-3. + + 77 FLD0989A PIC S9(04) COMP-3 + VALUE +1235. + 77 FLD0989C PIC 9(09)V9(13) COMP-3. + + 77 FLD0990A PIC 9(07)V9(22) COMP-3 + VALUE 7806084.0781040319313888176111. + 77 FLD0990C PIC 9(06)V9(01) COMP-6. + + 77 FLD0991A PIC 9(06)V9(24) COMP-6 + VALUE 807774.663029880435338725419569. + 77 FLD0991C PIC S9(09)V9(06) COMP-3. + + 77 FLD0992A PIC 9(07)V9(22) COMP-6 + VALUE 7784108.2583169551867285917978. + 77 FLD0992C PIC 9(04)V9(29) COMP-3. + + 77 FLD0993A PIC 9(08)V9(20) COMP-6 + VALUE 74534466.64416291111976420324. + 77 FLD0993C PIC S9(04) COMP-3. + + 77 FLD0994A PIC 9(06)V9(24) COMP-6 + VALUE 815107.307501011568717785849003. + 77 FLD0994C PIC S9(10)V9(08) COMP-3. + + 77 FLD0995A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0995C PIC 9(06)V9(01) COMP-6. + + 77 FLD0996A PIC 9(09)V9(14) COMP-6 + VALUE 619241405.61761309431432. + 77 FLD0996C PIC 9(09)V9(16) COMP-6. + + 77 FLD0997A PIC 9(10)V9(09) COMP-3 + VALUE 5006446394.611311356. + 77 FLD0997C PIC 9(10)V9(09) COMP-3. + + 77 FLD0998A PIC 9(09)V9(13) COMP-6 + VALUE 598229443.4201559374386. + 77 FLD0998C PIC S9(01) COMP-3. + + 77 FLD0999A PIC S9(03) COMP-3 + VALUE -081. + 77 FLD0999C PIC S9(01) COMP-3. + + * RESULTS-AREA + 78 XPC-FLD0500C + VALUE X'0621'. + 78 XPC-FLD0501C + VALUE X'065291085537078474843042'. + 78 XPC-FLD0502C + VALUE X'000000790000000000000000000000'. + 78 XPC-FLD0503C + VALUE X'358277427925159000000000000000000F'. + 78 XPC-FLD0504C + VALUE X'0028360864010000000F'. + 78 XPC-FLD0505C + VALUE X'000000091103328435033F'. + 78 XPC-FLD0506C + VALUE X'068389403C'. + 78 XPC-FLD0507C + VALUE X'0070736506262277043F'. + 78 XPC-FLD0508C + VALUE X'06588559719467786C'. + 78 XPC-FLD0509C + VALUE X'000000000000000000'. + 78 XPC-FLD0510C + VALUE X'295C'. + 78 XPC-FLD0511C + VALUE X'00000815863785057160'. + 78 XPC-FLD0512C + VALUE X'5000000000000000000000000000000000000F'. + 78 XPC-FLD0513C + VALUE X'05377383224693719210307500000F'. + 78 XPC-FLD0514C + VALUE X'00701093435939'. + 78 XPC-FLD0515C + VALUE X'43575486937182716920000000000000000F'. + 78 XPC-FLD0516C + VALUE X'09'. + 78 XPC-FLD0517C + VALUE X'0449762043805779990C'. + 78 XPC-FLD0518C + VALUE X'084C'. + 78 XPC-FLD0519C + VALUE X'3009760879846921088898000F'. + 78 XPC-FLD0520C + VALUE X'00000905232938011752974F'. + 78 XPC-FLD0521C + VALUE X'13956C'. + 78 XPC-FLD0522C + VALUE X'0000000000000C'. + 78 XPC-FLD0523C + VALUE X'07080714951C'. + 78 XPC-FLD0524C + VALUE X'0000201515300000000F'. + 78 XPC-FLD0525C + VALUE X'0000000000000000000000000000000000'. + 78 XPC-FLD0526C + VALUE X'0781289600'. + 78 XPC-FLD0527C + VALUE X'5853770318384275972F'. + 78 XPC-FLD0528C + VALUE X'07949C'. + 78 XPC-FLD0529C + VALUE X'52985709714885653C'. + 78 XPC-FLD0530C + VALUE X'036C'. + 78 XPC-FLD0531C + VALUE X'074870497C'. + 78 XPC-FLD0532C + VALUE X'6C'. + 78 XPC-FLD0533C + VALUE X'0928'. + 78 XPC-FLD0534C + VALUE X'0408226706354108000F'. + 78 XPC-FLD0535C + VALUE X'001599279674729810000000000000000F'. + 78 XPC-FLD0536C + VALUE X'0D'. + 78 XPC-FLD0537C + VALUE X'3354'. + 78 XPC-FLD0538C + VALUE X'0092229859860523566439383102988358'. + 78 XPC-FLD0539C + VALUE X'085666721070025741990860979058197F'. + 78 XPC-FLD0540C + VALUE X'07'. + 78 XPC-FLD0541C + VALUE X'072407408074400000000000000000'. + 78 XPC-FLD0542C + VALUE X'000083170657894731436F'. + 78 XPC-FLD0543C + VALUE X'0018877290'. + 78 XPC-FLD0544C + VALUE X'4176619436'. + 78 XPC-FLD0545C + VALUE X'222292854668459716194200000F'. + 78 XPC-FLD0546C + VALUE X'00082035886892695641936F'. + 78 XPC-FLD0547C + VALUE X'0008219257242C'. + 78 XPC-FLD0548C + VALUE X'00795538578445739497091437'. + 78 XPC-FLD0549C + VALUE X'0002367856700000'. + 78 XPC-FLD0550C + VALUE X'00'. + 78 XPC-FLD0551C + VALUE X'0002589973730000000000000F'. + 78 XPC-FLD0552C + VALUE X'090761'. + 78 XPC-FLD0553C + VALUE X'0000000000000C'. + 78 XPC-FLD0554C + VALUE X'21915000000000000000000000000000000F'. + 78 XPC-FLD0555C + VALUE X'0388184875665600000F'. + 78 XPC-FLD0556C + VALUE X'0000000898320926000534'. + 78 XPC-FLD0557C + VALUE X'77011C'. + 78 XPC-FLD0558C + VALUE X'08305503'. + 78 XPC-FLD0559C + VALUE X'020322482355519160000000000000'. + 78 XPC-FLD0560C + VALUE X'4036406039145050'. + 78 XPC-FLD0561C + VALUE X'01'. + 78 XPC-FLD0562C + VALUE X'000000000000000000000000000000000000'. + 78 XPC-FLD0563C + VALUE X'40974749501C'. + 78 XPC-FLD0564C + VALUE X'063383915884629260510000000000000000'. + 78 XPC-FLD0565C + VALUE X'00089994'. + 78 XPC-FLD0566C + VALUE X'451645287642'. + 78 XPC-FLD0567C + VALUE X'0176734000000000000000000000000000'. + 78 XPC-FLD0568C + VALUE X'002811973776000000000000'. + 78 XPC-FLD0569C + VALUE X'301098669520162C'. + 78 XPC-FLD0570C + VALUE X'000137750000000000000000000F'. + 78 XPC-FLD0571C + VALUE X'09958448841215502500000000'. + 78 XPC-FLD0572C + VALUE X'0199648C'. + 78 XPC-FLD0573C + VALUE X'6619308000790000000000000000000000000F'. + 78 XPC-FLD0574C + VALUE X'6C'. + 78 XPC-FLD0575C + VALUE X'6C'. + 78 XPC-FLD0576C + VALUE X'05512897460227348389'. + 78 XPC-FLD0577C + VALUE X'836079360000000000000000000000000000'. + 78 XPC-FLD0578C + VALUE X'443752'. + 78 XPC-FLD0579C + VALUE X'0688719854554142085F'. + 78 XPC-FLD0580C + VALUE X'0600291000000000000000000000000000000F'. + 78 XPC-FLD0581C + VALUE X'028271118430000000000000'. + 78 XPC-FLD0582C + VALUE X'000000009509570414550270'. + 78 XPC-FLD0583C + VALUE X'4C'. + 78 XPC-FLD0584C + VALUE X'000000000000000000000000000000000000'. + 78 XPC-FLD0585C + VALUE X'087260076600000000000000000000000000'. + 78 XPC-FLD0586C + VALUE X'000857220013400623703780922824'. + 78 XPC-FLD0587C + VALUE X'03349D'. + 78 XPC-FLD0588C + VALUE X'05773570048599000000000000000000000F'. + 78 XPC-FLD0589C + VALUE X'02073C'. + 78 XPC-FLD0590C + VALUE X'3097998C'. + 78 XPC-FLD0591C + VALUE X'0576933255371857245F'. + 78 XPC-FLD0592C + VALUE X'44514829253C'. + 78 XPC-FLD0593C + VALUE X'042C'. + 78 XPC-FLD0594C + VALUE X'74051549100000000000000000000F'. + 78 XPC-FLD0595C + VALUE X'4892017490690525605145920000000F'. + 78 XPC-FLD0596C + VALUE X'000009050358418523600789'. + 78 XPC-FLD0597C + VALUE X'04920661642122000000000000000000'. + 78 XPC-FLD0598C + VALUE X'888650589753158C'. + 78 XPC-FLD0599C + VALUE X'09'. + 78 XPC-FLD0600C + VALUE X'0694362049109000000000000000000F'. + 78 XPC-FLD0601C + VALUE X'000000009763'. + 78 XPC-FLD0602C + VALUE X'0543562700'. + 78 XPC-FLD0603C + VALUE X'0658075C'. + 78 XPC-FLD0604C + VALUE X'0007286271135915775021'. + 78 XPC-FLD0605C + VALUE X'0000001194000000'. + 78 XPC-FLD0606C + VALUE X'0079555575692C'. + 78 XPC-FLD0607C + VALUE X'011846'. + 78 XPC-FLD0608C + VALUE X'184410000000000000000000000000000000'. + 78 XPC-FLD0609C + VALUE X'000339487124475000'. + 78 XPC-FLD0610C + VALUE X'0080798853'. + 78 XPC-FLD0611C + VALUE X'03'. + 78 XPC-FLD0612C + VALUE X'041617991442294410800000000000'. + 78 XPC-FLD0613C + VALUE X'000155510C'. + 78 XPC-FLD0614C + VALUE X'2016470146304405460000'. + 78 XPC-FLD0615C + VALUE X'000001010C'. + 78 XPC-FLD0616C + VALUE X'30'. + 78 XPC-FLD0617C + VALUE X'00'. + 78 XPC-FLD0618C + VALUE X'0009'. + 78 XPC-FLD0619C + VALUE X'000008018509983636245F'. + 78 XPC-FLD0620C + VALUE X'071717267381095706202387'. + 78 XPC-FLD0621C + VALUE X'000090350136903954414435702F'. + 78 XPC-FLD0622C + VALUE X'5924201925737C'. + 78 XPC-FLD0623C + VALUE X'0000000104000000000000000F'. + 78 XPC-FLD0624C + VALUE X'0000162056000000'. + 78 XPC-FLD0625C + VALUE X'00012960000000000000000000000F'. + 78 XPC-FLD0626C + VALUE X'000000883960373C'. + 78 XPC-FLD0627C + VALUE X'000010930C'. + 78 XPC-FLD0628C + VALUE X'000000009943'. + 78 XPC-FLD0629C + VALUE X'009255439194261209090441866464971F'. + 78 XPC-FLD0630C + VALUE X'0400669561119235000000'. + 78 XPC-FLD0631C + VALUE X'648949'. + 78 XPC-FLD0632C + VALUE X'00069998401036213298'. + 78 XPC-FLD0633C + VALUE X'0072186800078C'. + 78 XPC-FLD0634C + VALUE X'0660740225520500000000000000000F'. + 78 XPC-FLD0635C + VALUE X'0000019086320000000000'. + 78 XPC-FLD0636C + VALUE X'026055'. + 78 XPC-FLD0637C + VALUE X'000734701873111827330F'. + 78 XPC-FLD0638C + VALUE X'7524512041246673721417437263000F'. + 78 XPC-FLD0639C + VALUE X'04327000000000000000000000000000000000'. + 78 XPC-FLD0640C + VALUE X'81861493829378950692898797569796000F'. + 78 XPC-FLD0641C + VALUE X'0076720562697199168322725881'. + 78 XPC-FLD0642C + VALUE X'00708064946636227210419F'. + 78 XPC-FLD0643C + VALUE X'0219471490'. + 78 XPC-FLD0644C + VALUE X'000700000000000000000000000000000000'. + 78 XPC-FLD0645C + VALUE X'0000091310'. + 78 XPC-FLD0646C + VALUE X'0075205968056084349093'. + 78 XPC-FLD0647C + VALUE X'00000000070000000000000000'. + 78 XPC-FLD0648C + VALUE X'0000001149000000000000000F'. + 78 XPC-FLD0649C + VALUE X'0007912687104666880F'. + 78 XPC-FLD0650C + VALUE X'0000000098787342621723084F'. + 78 XPC-FLD0651C + VALUE X'006999379564814C'. + 78 XPC-FLD0652C + VALUE X'000166766C'. + 78 XPC-FLD0653C + VALUE X'233215'. + 78 XPC-FLD0654C + VALUE X'3933713028'. + 78 XPC-FLD0655C + VALUE X'00008180133890362937254F'. + 78 XPC-FLD0656C + VALUE X'0000200859700000000000000F'. + 78 XPC-FLD0657C + VALUE X'000000936171946190701431689F'. + 78 XPC-FLD0658C + VALUE X'000700693658329550883F'. + 78 XPC-FLD0659C + VALUE X'0000090443377938015334649435'. + 78 XPC-FLD0660C + VALUE X'12407C'. + 78 XPC-FLD0661C + VALUE X'000000009655815696240F'. + 78 XPC-FLD0662C + VALUE X'00021319850000000000000000'. + 78 XPC-FLD0663C + VALUE X'0578800000000000000000000000000000'. + 78 XPC-FLD0664C + VALUE X'00000143710000000C'. + 78 XPC-FLD0665C + VALUE X'0024558753700000000000000F'. + 78 XPC-FLD0666C + VALUE X'15'. + 78 XPC-FLD0667C + VALUE X'0000000094482499794694274F'. + 78 XPC-FLD0668C + VALUE X'0000000935153318450F'. + 78 XPC-FLD0669C + VALUE X'0000000000993732'. + 78 XPC-FLD0670C + VALUE X'0135400000000000000000000000000000000F'. + 78 XPC-FLD0671C + VALUE X'06221697'. + 78 XPC-FLD0672C + VALUE X'564917934329454900000000'. + 78 XPC-FLD0673C + VALUE X'0500233346'. + 78 XPC-FLD0674C + VALUE X'06506400821929467000000000000000'. + 78 XPC-FLD0675C + VALUE X'00000084609285471017'. + 78 XPC-FLD0676C + VALUE X'0960000000000000000000000000000000000F'. + 78 XPC-FLD0677C + VALUE X'818310000000000000000000000000000F'. + 78 XPC-FLD0678C + VALUE X'00092000000000000000000000000000'. + 78 XPC-FLD0679C + VALUE X'000000000800000000'. + 78 XPC-FLD0680C + VALUE X'002811938166000000000F'. + 78 XPC-FLD0681C + VALUE X'2441159564489030486811300000000F'. + 78 XPC-FLD0682C + VALUE X'7297844577231500000000000000000F'. + 78 XPC-FLD0683C + VALUE X'00000086894306881785154F'. + 78 XPC-FLD0684C + VALUE X'0592333736406744'. + 78 XPC-FLD0685C + VALUE X'0254571499000000000000000000000F'. + 78 XPC-FLD0686C + VALUE X'06210446931125709335574F'. + 78 XPC-FLD0687C + VALUE X'039400587476898000'. + 78 XPC-FLD0688C + VALUE X'0932'. + 78 XPC-FLD0689C + VALUE X'0593069914341C'. + 78 XPC-FLD0690C + VALUE X'00000000979C'. + 78 XPC-FLD0691C + VALUE X'00439500550593808C'. + 78 XPC-FLD0692C + VALUE X'358382577746400000000000'. + 78 XPC-FLD0693C + VALUE X'9C'. + 78 XPC-FLD0694C + VALUE X'06'. + 78 XPC-FLD0695C + VALUE X'354304867111100000000000'. + 78 XPC-FLD0696C + VALUE X'000009067945'. + 78 XPC-FLD0697C + VALUE X'00414586353841170000'. + 78 XPC-FLD0698C + VALUE X'533C'. + 78 XPC-FLD0699C + VALUE X'59706495252042024457490F'. + 78 XPC-FLD0700C + VALUE X'4C'. + 78 XPC-FLD0701C + VALUE X'0853633905155776417927881990000000000F'. + 78 XPC-FLD0702C + VALUE X'00090218'. + 78 XPC-FLD0703C + VALUE X'000011260000'. + 78 XPC-FLD0704C + VALUE X'69632293359954040000000F'. + 78 XPC-FLD0705C + VALUE X'053818642380664638'. + 78 XPC-FLD0706C + VALUE X'0154424C'. + 78 XPC-FLD0707C + VALUE X'0000000000000000000F'. + 78 XPC-FLD0708C + VALUE X'000000951225'. + 78 XPC-FLD0709C + VALUE X'00000112400000'. + 78 XPC-FLD0710C + VALUE X'0000000009946C'. + 78 XPC-FLD0711C + VALUE X'67'. + 78 XPC-FLD0712C + VALUE X'0061043323032745544C'. + 78 XPC-FLD0713C + VALUE X'92805645'. + 78 XPC-FLD0714C + VALUE X'05939805673719'. + 78 XPC-FLD0715C + VALUE X'04066437555035270000'. + 78 XPC-FLD0716C + VALUE X'04951280000000000000000000000000000F'. + 78 XPC-FLD0717C + VALUE X'0086936984346943413370922826'. + 78 XPC-FLD0718C + VALUE X'0000158746000000'. + 78 XPC-FLD0719C + VALUE X'0000000000'. + 78 XPC-FLD0720C + VALUE X'000000087000000C'. + 78 XPC-FLD0721C + VALUE X'22948699'. + 78 XPC-FLD0722C + VALUE X'00017094900000000000000000000F'. + 78 XPC-FLD0723C + VALUE X'49'. + 78 XPC-FLD0724C + VALUE X'00317474559928000000'. + 78 XPC-FLD0725C + VALUE X'00000009151169879C'. + 78 XPC-FLD0726C + VALUE X'000014771000000C'. + 78 XPC-FLD0727C + VALUE X'04121690082113094177000000'. + 78 XPC-FLD0728C + VALUE X'043941144454561C'. + 78 XPC-FLD0729C + VALUE X'000009451476899812552012747346'. + 78 XPC-FLD0730C + VALUE X'00082268585944903294127F'. + 78 XPC-FLD0731C + VALUE X'08082790493562019840110F'. + 78 XPC-FLD0732C + VALUE X'00915C'. + 78 XPC-FLD0733C + VALUE X'328019305824000000000000'. + 78 XPC-FLD0734C + VALUE X'21'. + 78 XPC-FLD0735C + VALUE X'0000190229800000000000000F'. + 78 XPC-FLD0736C + VALUE X'867815820298389400000000000000'. + 78 XPC-FLD0737C + VALUE X'260108410D'. + 78 XPC-FLD0738C + VALUE X'479544362750000000000000000000000000'. + 78 XPC-FLD0739C + VALUE X'0032479721144700000C'. + 78 XPC-FLD0740C + VALUE X'947393030000000000000000000000000F'. + 78 XPC-FLD0741C + VALUE X'0322386723831C'. + 78 XPC-FLD0742C + VALUE X'19367234713C'. + 78 XPC-FLD0743C + VALUE X'00858648'. + 78 XPC-FLD0744C + VALUE X'0000000000'. + 78 XPC-FLD0745C + VALUE X'000009'. + 78 XPC-FLD0746C + VALUE X'5435731573355281343F'. + 78 XPC-FLD0747C + VALUE X'5710793093457900000000000000000000'. + 78 XPC-FLD0748C + VALUE X'0000860C'. + 78 XPC-FLD0749C + VALUE X'0965603942379000000000000000000F'. + 78 XPC-FLD0750C + VALUE X'076667363171'. + 78 XPC-FLD0751C + VALUE X'00006C'. + 78 XPC-FLD0752C + VALUE X'00700000000000000000000000000000000F'. + 78 XPC-FLD0753C + VALUE X'8C'. + 78 XPC-FLD0754C + VALUE X'0206179210'. + 78 XPC-FLD0755C + VALUE X'000008355928333445592F'. + 78 XPC-FLD0756C + VALUE X'95057C'. + 78 XPC-FLD0757C + VALUE X'146697611C'. + 78 XPC-FLD0758C + VALUE X'0293699C'. + 78 XPC-FLD0759C + VALUE X'00000931389631661272199281143F'. + 78 XPC-FLD0760C + VALUE X'08511300000000000000000000000000000F'. + 78 XPC-FLD0761C + VALUE X'069000652944346418937726'. + 78 XPC-FLD0762C + VALUE X'0143537299'. + 78 XPC-FLD0763C + VALUE X'468145317558540163815905500000'. + 78 XPC-FLD0764C + VALUE X'553500769850315821'. + 78 XPC-FLD0765C + VALUE X'08855C'. + 78 XPC-FLD0766C + VALUE X'00000000'. + 78 XPC-FLD0767C + VALUE X'0D'. + 78 XPC-FLD0768C + VALUE X'089C'. + 78 XPC-FLD0769C + VALUE X'00025657312700'. + 78 XPC-FLD0770C + VALUE X'005742143031744675329970'. + 78 XPC-FLD0771C + VALUE X'006972161451973285517524914F'. + 78 XPC-FLD0772C + VALUE X'0486862358510471'. + 78 XPC-FLD0773C + VALUE X'83590000000000000000000000000000000F'. + 78 XPC-FLD0774C + VALUE X'000000000C'. + 78 XPC-FLD0775C + VALUE X'89918350400000000000000000000000000F'. + 78 XPC-FLD0776C + VALUE X'50765017868000000000000000000000'. + 78 XPC-FLD0777C + VALUE X'003143825018400000000F'. + 78 XPC-FLD0778C + VALUE X'7394000000000000000000000000000000'. + 78 XPC-FLD0779C + VALUE X'0000000902933324806C'. + 78 XPC-FLD0780C + VALUE X'2412077490000000000000000000000F'. + 78 XPC-FLD0781C + VALUE X'067153543730'. + 78 XPC-FLD0782C + VALUE X'930000000000000000000000000000000000'. + 78 XPC-FLD0783C + VALUE X'00000008813392193C'. + 78 XPC-FLD0784C + VALUE X'9648027937864265268780000000000F'. + 78 XPC-FLD0785C + VALUE X'068097654346'. + 78 XPC-FLD0786C + VALUE X'000009820249933224565186407062356F'. + 78 XPC-FLD0787C + VALUE X'08470980'. + 78 XPC-FLD0788C + VALUE X'000000956557531637097668841818'. + 78 XPC-FLD0789C + VALUE X'0000171017000000000000000F'. + 78 XPC-FLD0790C + VALUE X'02384369540C'. + 78 XPC-FLD0791C + VALUE X'0000008800000000000000000000'. + 78 XPC-FLD0792C + VALUE X'00000009552300'. + 78 XPC-FLD0793C + VALUE X'0000019922190000000000'. + 78 XPC-FLD0794C + VALUE X'9C'. + 78 XPC-FLD0795C + VALUE X'0000000000000C'. + 78 XPC-FLD0796C + VALUE X'0075656850061445801713944092'. + 78 XPC-FLD0797C + VALUE X'00000000000000'. + 78 XPC-FLD0798C + VALUE X'3322433759060000000000000F'. + 78 XPC-FLD0799C + VALUE X'069086627133683375934F'. + 78 XPC-FLD0800C + VALUE X'7003611241'. + 78 XPC-FLD0801C + VALUE X'9805236700000000000000000000000000000F'. + 78 XPC-FLD0802C + VALUE X'950523000000000000000000000000000F'. + 78 XPC-FLD0803C + VALUE X'0000001746700000000000'. + 78 XPC-FLD0804C + VALUE X'01'. + 78 XPC-FLD0805C + VALUE X'000235834100000000'. + 78 XPC-FLD0806C + VALUE X'7039275628073882'. + 78 XPC-FLD0807C + VALUE X'682C'. + 78 XPC-FLD0808C + VALUE X'000000000000000000'. + 78 XPC-FLD0809C + VALUE X'00000868734196996C'. + 78 XPC-FLD0810C + VALUE X'000011290C'. + 78 XPC-FLD0811C + VALUE X'5643321429623142000000000000000000000F'. + 78 XPC-FLD0812C + VALUE X'2927090579'. + 78 XPC-FLD0813C + VALUE X'81724662844C'. + 78 XPC-FLD0814C + VALUE X'00000007000000000000000000000F'. + 78 XPC-FLD0815C + VALUE X'0760467962863785373883729334000000000F'. + 78 XPC-FLD0816C + VALUE X'0418478349217778600177500000000000'. + 78 XPC-FLD0817C + VALUE X'05163345142860672476'. + 78 XPC-FLD0818C + VALUE X'0305861646640000000000000000'. + 78 XPC-FLD0819C + VALUE X'009C'. + 78 XPC-FLD0820C + VALUE X'000000000000000000000000000000000000'. + 78 XPC-FLD0821C + VALUE X'055057695644832C'. + 78 XPC-FLD0822C + VALUE X'4037'. + 78 XPC-FLD0823C + VALUE X'073880168200282C'. + 78 XPC-FLD0824C + VALUE X'035153426032805579200000'. + 78 XPC-FLD0825C + VALUE X'0000000C'. + 78 XPC-FLD0826C + VALUE X'0000019078650000000D'. + 78 XPC-FLD0827C + VALUE X'000077638471978375'. + 78 XPC-FLD0828C + VALUE X'16009D'. + 78 XPC-FLD0829C + VALUE X'148653421926165041355716000000'. + 78 XPC-FLD0830C + VALUE X'0000000896572293512612'. + 78 XPC-FLD0831C + VALUE X'0000089565555809963970368F'. + 78 XPC-FLD0832C + VALUE X'0000001185000000'. + 78 XPC-FLD0833C + VALUE X'0008048597983003008549118F'. + 78 XPC-FLD0834C + VALUE X'492097442881000000000000000F'. + 78 XPC-FLD0835C + VALUE X'011783592779248075466114187000'. + 78 XPC-FLD0836C + VALUE X'04461413893412962000000F'. + 78 XPC-FLD0837C + VALUE X'00008982008C'. + 78 XPC-FLD0838C + VALUE X'31881067938129792330000000000F'. + 78 XPC-FLD0839C + VALUE X'03246718'. + 78 XPC-FLD0840C + VALUE X'0094'. + 78 XPC-FLD0841C + VALUE X'0179428042996372383299785000000F'. + 78 XPC-FLD0842C + VALUE X'048573969970411212600000000000000000'. + 78 XPC-FLD0843C + VALUE X'00818928076C'. + 78 XPC-FLD0844C + VALUE X'000077544589142564'. + 78 XPC-FLD0845C + VALUE X'0903835745060688200425000F'. + 78 XPC-FLD0846C + VALUE X'000298025768780000'. + 78 XPC-FLD0847C + VALUE X'000084041426'. + 78 XPC-FLD0848C + VALUE X'079497476278687551065615934F'. + 78 XPC-FLD0849C + VALUE X'05598045896157501921600000000F'. + 78 XPC-FLD0850C + VALUE X'0418716850605351000000000F'. + 78 XPC-FLD0851C + VALUE X'00000820'. + 78 XPC-FLD0852C + VALUE X'4339990975'. + 78 XPC-FLD0853C + VALUE X'0C'. + 78 XPC-FLD0854C + VALUE X'09'. + 78 XPC-FLD0855C + VALUE X'629010'. + 78 XPC-FLD0856C + VALUE X'44099C'. + 78 XPC-FLD0857C + VALUE X'015C'. + 78 XPC-FLD0858C + VALUE X'060594458089'. + 78 XPC-FLD0859C + VALUE X'0000000000000000000000000000000000000F'. + 78 XPC-FLD0860C + VALUE X'025764079400'. + 78 XPC-FLD0861C + VALUE X'9961'. + 78 XPC-FLD0862C + VALUE X'0007652464215740938380'. + 78 XPC-FLD0863C + VALUE X'00000085070091557533'. + 78 XPC-FLD0864C + VALUE X'0288534377577697000000000000000000'. + 78 XPC-FLD0865C + VALUE X'409C'. + 78 XPC-FLD0866C + VALUE X'0050518510000000000000000000000000'. + 78 XPC-FLD0867C + VALUE X'0000140840000000000000000000'. + 78 XPC-FLD0868C + VALUE X'00007648419842091055409F'. + 78 XPC-FLD0869C + VALUE X'0000000000000000000000000F'. + 78 XPC-FLD0870C + VALUE X'000000000000000000000000'. + 78 XPC-FLD0871C + VALUE X'0609764683385363159F'. + 78 XPC-FLD0872C + VALUE X'000000088163117626'. + 78 XPC-FLD0873C + VALUE X'061255'. + 78 XPC-FLD0874C + VALUE X'00000000'. + 78 XPC-FLD0875C + VALUE X'26'. + 78 XPC-FLD0876C + VALUE X'0000000000000000000000000000000F'. + 78 XPC-FLD0877C + VALUE X'0069924605886404200827399F'. + 78 XPC-FLD0878C + VALUE X'126092207198309935733959710000000F'. + 78 XPC-FLD0879C + VALUE X'071533810000000000000000000000000F'. + 78 XPC-FLD0880C + VALUE X'03230974253600000000000000000000'. + 78 XPC-FLD0881C + VALUE X'5711295149040C'. + 78 XPC-FLD0882C + VALUE X'08887133458780727135460000'. + 78 XPC-FLD0883C + VALUE X'2192258152622845734924700000'. + 78 XPC-FLD0884C + VALUE X'04020911850925960000000000000F'. + 78 XPC-FLD0885C + VALUE X'13360C'. + 78 XPC-FLD0886C + VALUE X'037452958488504D'. + 78 XPC-FLD0887C + VALUE X'01147955000000000000000000000000'. + 78 XPC-FLD0888C + VALUE X'0358051919'. + 78 XPC-FLD0889C + VALUE X'0250000000000000000000000000000000000F'. + 78 XPC-FLD0890C + VALUE X'000000000000000000000000000F'. + 78 XPC-FLD0891C + VALUE X'0000000957956124985634538404'. + 78 XPC-FLD0892C + VALUE X'0644'. + 78 XPC-FLD0893C + VALUE X'83'. + 78 XPC-FLD0894C + VALUE X'000819872140952237593580'. + 78 XPC-FLD0895C + VALUE X'9994965857'. + 78 XPC-FLD0896C + VALUE X'0C'. + 78 XPC-FLD0897C + VALUE X'00000000099975439C'. + 78 XPC-FLD0898C + VALUE X'00337260'. + 78 XPC-FLD0899C + VALUE X'0749184364078323'. + 78 XPC-FLD0900C + VALUE X'00009294'. + 78 XPC-FLD0901C + VALUE X'01507074000000000000000000000000000000'. + 78 XPC-FLD0902C + VALUE X'0000087405674190856F'. + 78 XPC-FLD0903C + VALUE X'052C'. + 78 XPC-FLD0904C + VALUE X'7C'. + 78 XPC-FLD0905C + VALUE X'03579381244724'. + 78 XPC-FLD0906C + VALUE X'06'. + 78 XPC-FLD0907C + VALUE X'0039080058469506000000'. + 78 XPC-FLD0908C + VALUE X'07762865860000000000000000000000000F'. + 78 XPC-FLD0909C + VALUE X'00'. + 78 XPC-FLD0910C + VALUE X'3158900000000000000000000000000000'. + 78 XPC-FLD0911C + VALUE X'01196445207289800000000000000F'. + 78 XPC-FLD0912C + VALUE X'00'. + 78 XPC-FLD0913C + VALUE X'0246'. + 78 XPC-FLD0914C + VALUE X'7201266633354550528167692391434600000F'. + 78 XPC-FLD0915C + VALUE X'00906C'. + 78 XPC-FLD0916C + VALUE X'0000000000000000'. + 78 XPC-FLD0917C + VALUE X'0000'. + 78 XPC-FLD0918C + VALUE X'0000000105900000000000'. + 78 XPC-FLD0919C + VALUE X'6D'. + 78 XPC-FLD0920C + VALUE X'00000174749000000000000000'. + 78 XPC-FLD0921C + VALUE X'9C'. + 78 XPC-FLD0922C + VALUE X'0000000C'. + 78 XPC-FLD0923C + VALUE X'09582C'. + 78 XPC-FLD0924C + VALUE X'5057387021018211400000000000000F'. + 78 XPC-FLD0925C + VALUE X'6C'. + 78 XPC-FLD0926C + VALUE X'953564317C'. + 78 XPC-FLD0927C + VALUE X'0000800954558131814F'. + 78 XPC-FLD0928C + VALUE X'0000000000'. + 78 XPC-FLD0929C + VALUE X'000871740739403786824013309F'. + 78 XPC-FLD0930C + VALUE X'00000000099112810030026F'. + 78 XPC-FLD0931C + VALUE X'374705772C'. + 78 XPC-FLD0932C + VALUE X'05079506475355934913'. + 78 XPC-FLD0933C + VALUE X'007776883170'. + 78 XPC-FLD0934C + VALUE X'0001689960'. + 78 XPC-FLD0935C + VALUE X'000001669120000000'. + 78 XPC-FLD0936C + VALUE X'0371310000000000000000000000000000000F'. + 78 XPC-FLD0937C + VALUE X'04'. + 78 XPC-FLD0938C + VALUE X'78242437999430092254000000'. + 78 XPC-FLD0939C + VALUE X'7C'. + 78 XPC-FLD0940C + VALUE X'057799706160998587'. + 78 XPC-FLD0941C + VALUE X'06704493679367'. + 78 XPC-FLD0942C + VALUE X'86780710821210000000000000000000000F'. + 78 XPC-FLD0943C + VALUE X'7667989C'. + 78 XPC-FLD0944C + VALUE X'000009573C'. + 78 XPC-FLD0945C + VALUE X'05427766423125529C'. + 78 XPC-FLD0946C + VALUE X'0323000000000000000000000000000000000F'. + 78 XPC-FLD0947C + VALUE X'0000858469890658255407878F'. + 78 XPC-FLD0948C + VALUE X'0001058000000000000000000000'. + 78 XPC-FLD0949C + VALUE X'043070441966473410'. + 78 XPC-FLD0950C + VALUE X'8523038502009541160000000000000000'. + 78 XPC-FLD0951C + VALUE X'3111695547500000000000000000'. + 78 XPC-FLD0952C + VALUE X'71'. + 78 XPC-FLD0953C + VALUE X'00000166635000000000'. + 78 XPC-FLD0954C + VALUE X'0496012857980000000000000000000000000F'. + 78 XPC-FLD0955C + VALUE X'3577892300000000000000000000000F'. + 78 XPC-FLD0956C + VALUE X'027355040840000000000000000F'. + 78 XPC-FLD0957C + VALUE X'07083C'. + 78 XPC-FLD0958C + VALUE X'0029370744150000'. + 78 XPC-FLD0959C + VALUE X'1C'. + 78 XPC-FLD0960C + VALUE X'1C'. + 78 XPC-FLD0961C + VALUE X'08740C'. + 78 XPC-FLD0962C + VALUE X'0000009680819849462746207F'. + 78 XPC-FLD0963C + VALUE X'00000000098035732306672607'. + 78 XPC-FLD0964C + VALUE X'6395049079697309180048'. + 78 XPC-FLD0965C + VALUE X'01'. + 78 XPC-FLD0966C + VALUE X'01892006'. + 78 XPC-FLD0967C + VALUE X'00000000060000'. + 78 XPC-FLD0968C + VALUE X'06663C'. + 78 XPC-FLD0969C + VALUE X'00000153660000000000000F'. + 78 XPC-FLD0970C + VALUE X'402079801324717300000000000000000000'. + 78 XPC-FLD0971C + VALUE X'002161446900000C'. + 78 XPC-FLD0972C + VALUE X'010182'. + 78 XPC-FLD0973C + VALUE X'00138170000000000000000000000000'. + 78 XPC-FLD0974C + VALUE X'180C'. + 78 XPC-FLD0975C + VALUE X'000000006000'. + 78 XPC-FLD0976C + VALUE X'00002206144700000000'. + 78 XPC-FLD0977C + VALUE X'032743137270400C'. + 78 XPC-FLD0978C + VALUE X'675062190811674C'. + 78 XPC-FLD0979C + VALUE X'00000092533169'. + 78 XPC-FLD0980C + VALUE X'000000935822345812800437'. + 78 XPC-FLD0981C + VALUE X'0001951327000C'. + 78 XPC-FLD0982C + VALUE X'00816610172C'. + 78 XPC-FLD0983C + VALUE X'924369140050000000000000000000000000'. + 78 XPC-FLD0984C + VALUE X'00632949921330981046'. + 78 XPC-FLD0985C + VALUE X'624733039920000000000000000000000F'. + 78 XPC-FLD0986C + VALUE X'08'. + 78 XPC-FLD0987C + VALUE X'000000983440234512310995640405053F'. + 78 XPC-FLD0988C + VALUE X'0000000C'. + 78 XPC-FLD0989C + VALUE X'00000012350000000000000F'. + 78 XPC-FLD0990C + VALUE X'08060840'. + 78 XPC-FLD0991C + VALUE X'000807774663029C'. + 78 XPC-FLD0992C + VALUE X'410825831695518672859179780000000F'. + 78 XPC-FLD0993C + VALUE X'04466C'. + 78 XPC-FLD0994C + VALUE X'0000081510730750101C'. + 78 XPC-FLD0995C + VALUE X'00000000'. + 78 XPC-FLD0996C + VALUE X'06192414056176130943143200'. + 78 XPC-FLD0997C + VALUE X'5006446394611311356F'. + 78 XPC-FLD0998C + VALUE X'3C'. + 78 XPC-FLD0999C + VALUE X'1D'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + + MOVE FLD0500A TO FLD0500C. + MOVE FLD0501A TO FLD0501C. + MOVE FLD0502A TO FLD0502C. + MOVE FLD0503A TO FLD0503C. + MOVE FLD0504A TO FLD0504C. + MOVE FLD0505A TO FLD0505C. + MOVE FLD0506A TO FLD0506C. + MOVE FLD0507A TO FLD0507C. + MOVE FLD0508A TO FLD0508C. + MOVE FLD0509A TO FLD0509C. + MOVE FLD0510A TO FLD0510C. + MOVE FLD0511A TO FLD0511C. + MOVE FLD0512A TO FLD0512C. + MOVE FLD0513A TO FLD0513C. + MOVE FLD0514A TO FLD0514C. + MOVE FLD0515A TO FLD0515C. + MOVE FLD0516A TO FLD0516C. + MOVE FLD0517A TO FLD0517C. + MOVE FLD0518A TO FLD0518C. + MOVE FLD0519A TO FLD0519C. + MOVE FLD0520A TO FLD0520C. + MOVE FLD0521A TO FLD0521C. + MOVE FLD0522A TO FLD0522C. + MOVE FLD0523A TO FLD0523C. + MOVE FLD0524A TO FLD0524C. + MOVE FLD0525A TO FLD0525C. + MOVE FLD0526A TO FLD0526C. + MOVE FLD0527A TO FLD0527C. + MOVE FLD0528A TO FLD0528C. + MOVE FLD0529A TO FLD0529C. + MOVE FLD0530A TO FLD0530C. + MOVE FLD0531A TO FLD0531C. + MOVE FLD0532A TO FLD0532C. + MOVE FLD0533A TO FLD0533C. + MOVE FLD0534A TO FLD0534C. + MOVE FLD0535A TO FLD0535C. + MOVE FLD0536A TO FLD0536C. + MOVE FLD0537A TO FLD0537C. + MOVE FLD0538A TO FLD0538C. + MOVE FLD0539A TO FLD0539C. + MOVE FLD0540A TO FLD0540C. + MOVE FLD0541A TO FLD0541C. + MOVE FLD0542A TO FLD0542C. + MOVE FLD0543A TO FLD0543C. + MOVE FLD0544A TO FLD0544C. + MOVE FLD0545A TO FLD0545C. + MOVE FLD0546A TO FLD0546C. + MOVE FLD0547A TO FLD0547C. + MOVE FLD0548A TO FLD0548C. + MOVE FLD0549A TO FLD0549C. + MOVE FLD0550A TO FLD0550C. + MOVE FLD0551A TO FLD0551C. + MOVE FLD0552A TO FLD0552C. + MOVE FLD0553A TO FLD0553C. + MOVE FLD0554A TO FLD0554C. + MOVE FLD0555A TO FLD0555C. + MOVE FLD0556A TO FLD0556C. + MOVE FLD0557A TO FLD0557C. + MOVE FLD0558A TO FLD0558C. + MOVE FLD0559A TO FLD0559C. + MOVE FLD0560A TO FLD0560C. + MOVE FLD0561A TO FLD0561C. + MOVE FLD0562A TO FLD0562C. + MOVE FLD0563A TO FLD0563C. + MOVE FLD0564A TO FLD0564C. + MOVE FLD0565A TO FLD0565C. + MOVE FLD0566A TO FLD0566C. + MOVE FLD0567A TO FLD0567C. + MOVE FLD0568A TO FLD0568C. + MOVE FLD0569A TO FLD0569C. + MOVE FLD0570A TO FLD0570C. + MOVE FLD0571A TO FLD0571C. + MOVE FLD0572A TO FLD0572C. + MOVE FLD0573A TO FLD0573C. + MOVE FLD0574A TO FLD0574C. + MOVE FLD0575A TO FLD0575C. + MOVE FLD0576A TO FLD0576C. + MOVE FLD0577A TO FLD0577C. + MOVE FLD0578A TO FLD0578C. + MOVE FLD0579A TO FLD0579C. + MOVE FLD0580A TO FLD0580C. + MOVE FLD0581A TO FLD0581C. + MOVE FLD0582A TO FLD0582C. + MOVE FLD0583A TO FLD0583C. + MOVE FLD0584A TO FLD0584C. + MOVE FLD0585A TO FLD0585C. + MOVE FLD0586A TO FLD0586C. + MOVE FLD0587A TO FLD0587C. + MOVE FLD0588A TO FLD0588C. + MOVE FLD0589A TO FLD0589C. + MOVE FLD0590A TO FLD0590C. + MOVE FLD0591A TO FLD0591C. + MOVE FLD0592A TO FLD0592C. + MOVE FLD0593A TO FLD0593C. + MOVE FLD0594A TO FLD0594C. + MOVE FLD0595A TO FLD0595C. + MOVE FLD0596A TO FLD0596C. + MOVE FLD0597A TO FLD0597C. + MOVE FLD0598A TO FLD0598C. + MOVE FLD0599A TO FLD0599C. + MOVE FLD0600A TO FLD0600C. + MOVE FLD0601A TO FLD0601C. + MOVE FLD0602A TO FLD0602C. + MOVE FLD0603A TO FLD0603C. + MOVE FLD0604A TO FLD0604C. + MOVE FLD0605A TO FLD0605C. + MOVE FLD0606A TO FLD0606C. + MOVE FLD0607A TO FLD0607C. + MOVE FLD0608A TO FLD0608C. + MOVE FLD0609A TO FLD0609C. + MOVE FLD0610A TO FLD0610C. + MOVE FLD0611A TO FLD0611C. + MOVE FLD0612A TO FLD0612C. + MOVE FLD0613A TO FLD0613C. + MOVE FLD0614A TO FLD0614C. + MOVE FLD0615A TO FLD0615C. + MOVE FLD0616A TO FLD0616C. + MOVE FLD0617A TO FLD0617C. + MOVE FLD0618A TO FLD0618C. + MOVE FLD0619A TO FLD0619C. + MOVE FLD0620A TO FLD0620C. + MOVE FLD0621A TO FLD0621C. + MOVE FLD0622A TO FLD0622C. + MOVE FLD0623A TO FLD0623C. + MOVE FLD0624A TO FLD0624C. + MOVE FLD0625A TO FLD0625C. + MOVE FLD0626A TO FLD0626C. + MOVE FLD0627A TO FLD0627C. + MOVE FLD0628A TO FLD0628C. + MOVE FLD0629A TO FLD0629C. + MOVE FLD0630A TO FLD0630C. + MOVE FLD0631A TO FLD0631C. + MOVE FLD0632A TO FLD0632C. + MOVE FLD0633A TO FLD0633C. + MOVE FLD0634A TO FLD0634C. + MOVE FLD0635A TO FLD0635C. + MOVE FLD0636A TO FLD0636C. + MOVE FLD0637A TO FLD0637C. + MOVE FLD0638A TO FLD0638C. + MOVE FLD0639A TO FLD0639C. + MOVE FLD0640A TO FLD0640C. + MOVE FLD0641A TO FLD0641C. + MOVE FLD0642A TO FLD0642C. + MOVE FLD0643A TO FLD0643C. + MOVE FLD0644A TO FLD0644C. + MOVE FLD0645A TO FLD0645C. + MOVE FLD0646A TO FLD0646C. + MOVE FLD0647A TO FLD0647C. + MOVE FLD0648A TO FLD0648C. + MOVE FLD0649A TO FLD0649C. + MOVE FLD0650A TO FLD0650C. + MOVE FLD0651A TO FLD0651C. + MOVE FLD0652A TO FLD0652C. + MOVE FLD0653A TO FLD0653C. + MOVE FLD0654A TO FLD0654C. + MOVE FLD0655A TO FLD0655C. + MOVE FLD0656A TO FLD0656C. + MOVE FLD0657A TO FLD0657C. + MOVE FLD0658A TO FLD0658C. + MOVE FLD0659A TO FLD0659C. + MOVE FLD0660A TO FLD0660C. + MOVE FLD0661A TO FLD0661C. + MOVE FLD0662A TO FLD0662C. + MOVE FLD0663A TO FLD0663C. + MOVE FLD0664A TO FLD0664C. + MOVE FLD0665A TO FLD0665C. + MOVE FLD0666A TO FLD0666C. + MOVE FLD0667A TO FLD0667C. + MOVE FLD0668A TO FLD0668C. + MOVE FLD0669A TO FLD0669C. + MOVE FLD0670A TO FLD0670C. + MOVE FLD0671A TO FLD0671C. + MOVE FLD0672A TO FLD0672C. + MOVE FLD0673A TO FLD0673C. + MOVE FLD0674A TO FLD0674C. + MOVE FLD0675A TO FLD0675C. + MOVE FLD0676A TO FLD0676C. + MOVE FLD0677A TO FLD0677C. + MOVE FLD0678A TO FLD0678C. + MOVE FLD0679A TO FLD0679C. + MOVE FLD0680A TO FLD0680C. + MOVE FLD0681A TO FLD0681C. + MOVE FLD0682A TO FLD0682C. + MOVE FLD0683A TO FLD0683C. + MOVE FLD0684A TO FLD0684C. + MOVE FLD0685A TO FLD0685C. + MOVE FLD0686A TO FLD0686C. + MOVE FLD0687A TO FLD0687C. + MOVE FLD0688A TO FLD0688C. + MOVE FLD0689A TO FLD0689C. + MOVE FLD0690A TO FLD0690C. + MOVE FLD0691A TO FLD0691C. + MOVE FLD0692A TO FLD0692C. + MOVE FLD0693A TO FLD0693C. + MOVE FLD0694A TO FLD0694C. + MOVE FLD0695A TO FLD0695C. + MOVE FLD0696A TO FLD0696C. + MOVE FLD0697A TO FLD0697C. + MOVE FLD0698A TO FLD0698C. + MOVE FLD0699A TO FLD0699C. + MOVE FLD0700A TO FLD0700C. + MOVE FLD0701A TO FLD0701C. + MOVE FLD0702A TO FLD0702C. + MOVE FLD0703A TO FLD0703C. + MOVE FLD0704A TO FLD0704C. + MOVE FLD0705A TO FLD0705C. + MOVE FLD0706A TO FLD0706C. + MOVE FLD0707A TO FLD0707C. + MOVE FLD0708A TO FLD0708C. + MOVE FLD0709A TO FLD0709C. + MOVE FLD0710A TO FLD0710C. + MOVE FLD0711A TO FLD0711C. + MOVE FLD0712A TO FLD0712C. + MOVE FLD0713A TO FLD0713C. + MOVE FLD0714A TO FLD0714C. + MOVE FLD0715A TO FLD0715C. + MOVE FLD0716A TO FLD0716C. + MOVE FLD0717A TO FLD0717C. + MOVE FLD0718A TO FLD0718C. + MOVE FLD0719A TO FLD0719C. + MOVE FLD0720A TO FLD0720C. + MOVE FLD0721A TO FLD0721C. + MOVE FLD0722A TO FLD0722C. + MOVE FLD0723A TO FLD0723C. + MOVE FLD0724A TO FLD0724C. + MOVE FLD0725A TO FLD0725C. + MOVE FLD0726A TO FLD0726C. + MOVE FLD0727A TO FLD0727C. + MOVE FLD0728A TO FLD0728C. + MOVE FLD0729A TO FLD0729C. + MOVE FLD0730A TO FLD0730C. + MOVE FLD0731A TO FLD0731C. + MOVE FLD0732A TO FLD0732C. + MOVE FLD0733A TO FLD0733C. + MOVE FLD0734A TO FLD0734C. + MOVE FLD0735A TO FLD0735C. + MOVE FLD0736A TO FLD0736C. + MOVE FLD0737A TO FLD0737C. + MOVE FLD0738A TO FLD0738C. + MOVE FLD0739A TO FLD0739C. + MOVE FLD0740A TO FLD0740C. + MOVE FLD0741A TO FLD0741C. + MOVE FLD0742A TO FLD0742C. + MOVE FLD0743A TO FLD0743C. + MOVE FLD0744A TO FLD0744C. + MOVE FLD0745A TO FLD0745C. + MOVE FLD0746A TO FLD0746C. + MOVE FLD0747A TO FLD0747C. + MOVE FLD0748A TO FLD0748C. + MOVE FLD0749A TO FLD0749C. + MOVE FLD0750A TO FLD0750C. + MOVE FLD0751A TO FLD0751C. + MOVE FLD0752A TO FLD0752C. + MOVE FLD0753A TO FLD0753C. + MOVE FLD0754A TO FLD0754C. + MOVE FLD0755A TO FLD0755C. + MOVE FLD0756A TO FLD0756C. + MOVE FLD0757A TO FLD0757C. + MOVE FLD0758A TO FLD0758C. + MOVE FLD0759A TO FLD0759C. + MOVE FLD0760A TO FLD0760C. + MOVE FLD0761A TO FLD0761C. + MOVE FLD0762A TO FLD0762C. + MOVE FLD0763A TO FLD0763C. + MOVE FLD0764A TO FLD0764C. + MOVE FLD0765A TO FLD0765C. + MOVE FLD0766A TO FLD0766C. + MOVE FLD0767A TO FLD0767C. + MOVE FLD0768A TO FLD0768C. + MOVE FLD0769A TO FLD0769C. + MOVE FLD0770A TO FLD0770C. + MOVE FLD0771A TO FLD0771C. + MOVE FLD0772A TO FLD0772C. + MOVE FLD0773A TO FLD0773C. + MOVE FLD0774A TO FLD0774C. + MOVE FLD0775A TO FLD0775C. + MOVE FLD0776A TO FLD0776C. + MOVE FLD0777A TO FLD0777C. + MOVE FLD0778A TO FLD0778C. + MOVE FLD0779A TO FLD0779C. + MOVE FLD0780A TO FLD0780C. + MOVE FLD0781A TO FLD0781C. + MOVE FLD0782A TO FLD0782C. + MOVE FLD0783A TO FLD0783C. + MOVE FLD0784A TO FLD0784C. + MOVE FLD0785A TO FLD0785C. + MOVE FLD0786A TO FLD0786C. + MOVE FLD0787A TO FLD0787C. + MOVE FLD0788A TO FLD0788C. + MOVE FLD0789A TO FLD0789C. + MOVE FLD0790A TO FLD0790C. + MOVE FLD0791A TO FLD0791C. + MOVE FLD0792A TO FLD0792C. + MOVE FLD0793A TO FLD0793C. + MOVE FLD0794A TO FLD0794C. + MOVE FLD0795A TO FLD0795C. + MOVE FLD0796A TO FLD0796C. + MOVE FLD0797A TO FLD0797C. + MOVE FLD0798A TO FLD0798C. + MOVE FLD0799A TO FLD0799C. + MOVE FLD0800A TO FLD0800C. + MOVE FLD0801A TO FLD0801C. + MOVE FLD0802A TO FLD0802C. + MOVE FLD0803A TO FLD0803C. + MOVE FLD0804A TO FLD0804C. + MOVE FLD0805A TO FLD0805C. + MOVE FLD0806A TO FLD0806C. + MOVE FLD0807A TO FLD0807C. + MOVE FLD0808A TO FLD0808C. + MOVE FLD0809A TO FLD0809C. + MOVE FLD0810A TO FLD0810C. + MOVE FLD0811A TO FLD0811C. + MOVE FLD0812A TO FLD0812C. + MOVE FLD0813A TO FLD0813C. + MOVE FLD0814A TO FLD0814C. + MOVE FLD0815A TO FLD0815C. + MOVE FLD0816A TO FLD0816C. + MOVE FLD0817A TO FLD0817C. + MOVE FLD0818A TO FLD0818C. + MOVE FLD0819A TO FLD0819C. + MOVE FLD0820A TO FLD0820C. + MOVE FLD0821A TO FLD0821C. + MOVE FLD0822A TO FLD0822C. + MOVE FLD0823A TO FLD0823C. + MOVE FLD0824A TO FLD0824C. + MOVE FLD0825A TO FLD0825C. + MOVE FLD0826A TO FLD0826C. + MOVE FLD0827A TO FLD0827C. + MOVE FLD0828A TO FLD0828C. + MOVE FLD0829A TO FLD0829C. + MOVE FLD0830A TO FLD0830C. + MOVE FLD0831A TO FLD0831C. + MOVE FLD0832A TO FLD0832C. + MOVE FLD0833A TO FLD0833C. + MOVE FLD0834A TO FLD0834C. + MOVE FLD0835A TO FLD0835C. + MOVE FLD0836A TO FLD0836C. + MOVE FLD0837A TO FLD0837C. + MOVE FLD0838A TO FLD0838C. + MOVE FLD0839A TO FLD0839C. + MOVE FLD0840A TO FLD0840C. + MOVE FLD0841A TO FLD0841C. + MOVE FLD0842A TO FLD0842C. + MOVE FLD0843A TO FLD0843C. + MOVE FLD0844A TO FLD0844C. + MOVE FLD0845A TO FLD0845C. + MOVE FLD0846A TO FLD0846C. + MOVE FLD0847A TO FLD0847C. + MOVE FLD0848A TO FLD0848C. + MOVE FLD0849A TO FLD0849C. + MOVE FLD0850A TO FLD0850C. + MOVE FLD0851A TO FLD0851C. + MOVE FLD0852A TO FLD0852C. + MOVE FLD0853A TO FLD0853C. + MOVE FLD0854A TO FLD0854C. + MOVE FLD0855A TO FLD0855C. + MOVE FLD0856A TO FLD0856C. + MOVE FLD0857A TO FLD0857C. + MOVE FLD0858A TO FLD0858C. + MOVE FLD0859A TO FLD0859C. + MOVE FLD0860A TO FLD0860C. + MOVE FLD0861A TO FLD0861C. + MOVE FLD0862A TO FLD0862C. + MOVE FLD0863A TO FLD0863C. + MOVE FLD0864A TO FLD0864C. + MOVE FLD0865A TO FLD0865C. + MOVE FLD0866A TO FLD0866C. + MOVE FLD0867A TO FLD0867C. + MOVE FLD0868A TO FLD0868C. + MOVE FLD0869A TO FLD0869C. + MOVE FLD0870A TO FLD0870C. + MOVE FLD0871A TO FLD0871C. + MOVE FLD0872A TO FLD0872C. + MOVE FLD0873A TO FLD0873C. + MOVE FLD0874A TO FLD0874C. + MOVE FLD0875A TO FLD0875C. + MOVE FLD0876A TO FLD0876C. + MOVE FLD0877A TO FLD0877C. + MOVE FLD0878A TO FLD0878C. + MOVE FLD0879A TO FLD0879C. + MOVE FLD0880A TO FLD0880C. + MOVE FLD0881A TO FLD0881C. + MOVE FLD0882A TO FLD0882C. + MOVE FLD0883A TO FLD0883C. + MOVE FLD0884A TO FLD0884C. + MOVE FLD0885A TO FLD0885C. + MOVE FLD0886A TO FLD0886C. + MOVE FLD0887A TO FLD0887C. + MOVE FLD0888A TO FLD0888C. + MOVE FLD0889A TO FLD0889C. + MOVE FLD0890A TO FLD0890C. + MOVE FLD0891A TO FLD0891C. + MOVE FLD0892A TO FLD0892C. + MOVE FLD0893A TO FLD0893C. + MOVE FLD0894A TO FLD0894C. + MOVE FLD0895A TO FLD0895C. + MOVE FLD0896A TO FLD0896C. + MOVE FLD0897A TO FLD0897C. + MOVE FLD0898A TO FLD0898C. + MOVE FLD0899A TO FLD0899C. + MOVE FLD0900A TO FLD0900C. + MOVE FLD0901A TO FLD0901C. + MOVE FLD0902A TO FLD0902C. + MOVE FLD0903A TO FLD0903C. + MOVE FLD0904A TO FLD0904C. + MOVE FLD0905A TO FLD0905C. + MOVE FLD0906A TO FLD0906C. + MOVE FLD0907A TO FLD0907C. + MOVE FLD0908A TO FLD0908C. + MOVE FLD0909A TO FLD0909C. + MOVE FLD0910A TO FLD0910C. + MOVE FLD0911A TO FLD0911C. + MOVE FLD0912A TO FLD0912C. + MOVE FLD0913A TO FLD0913C. + MOVE FLD0914A TO FLD0914C. + MOVE FLD0915A TO FLD0915C. + MOVE FLD0916A TO FLD0916C. + MOVE FLD0917A TO FLD0917C. + MOVE FLD0918A TO FLD0918C. + MOVE FLD0919A TO FLD0919C. + MOVE FLD0920A TO FLD0920C. + MOVE FLD0921A TO FLD0921C. + MOVE FLD0922A TO FLD0922C. + MOVE FLD0923A TO FLD0923C. + MOVE FLD0924A TO FLD0924C. + MOVE FLD0925A TO FLD0925C. + MOVE FLD0926A TO FLD0926C. + MOVE FLD0927A TO FLD0927C. + MOVE FLD0928A TO FLD0928C. + MOVE FLD0929A TO FLD0929C. + MOVE FLD0930A TO FLD0930C. + MOVE FLD0931A TO FLD0931C. + MOVE FLD0932A TO FLD0932C. + MOVE FLD0933A TO FLD0933C. + MOVE FLD0934A TO FLD0934C. + MOVE FLD0935A TO FLD0935C. + MOVE FLD0936A TO FLD0936C. + MOVE FLD0937A TO FLD0937C. + MOVE FLD0938A TO FLD0938C. + MOVE FLD0939A TO FLD0939C. + MOVE FLD0940A TO FLD0940C. + MOVE FLD0941A TO FLD0941C. + MOVE FLD0942A TO FLD0942C. + MOVE FLD0943A TO FLD0943C. + MOVE FLD0944A TO FLD0944C. + MOVE FLD0945A TO FLD0945C. + MOVE FLD0946A TO FLD0946C. + MOVE FLD0947A TO FLD0947C. + MOVE FLD0948A TO FLD0948C. + MOVE FLD0949A TO FLD0949C. + MOVE FLD0950A TO FLD0950C. + MOVE FLD0951A TO FLD0951C. + MOVE FLD0952A TO FLD0952C. + MOVE FLD0953A TO FLD0953C. + MOVE FLD0954A TO FLD0954C. + MOVE FLD0955A TO FLD0955C. + MOVE FLD0956A TO FLD0956C. + MOVE FLD0957A TO FLD0957C. + MOVE FLD0958A TO FLD0958C. + MOVE FLD0959A TO FLD0959C. + MOVE FLD0960A TO FLD0960C. + MOVE FLD0961A TO FLD0961C. + MOVE FLD0962A TO FLD0962C. + MOVE FLD0963A TO FLD0963C. + MOVE FLD0964A TO FLD0964C. + MOVE FLD0965A TO FLD0965C. + MOVE FLD0966A TO FLD0966C. + MOVE FLD0967A TO FLD0967C. + MOVE FLD0968A TO FLD0968C. + MOVE FLD0969A TO FLD0969C. + MOVE FLD0970A TO FLD0970C. + MOVE FLD0971A TO FLD0971C. + MOVE FLD0972A TO FLD0972C. + MOVE FLD0973A TO FLD0973C. + MOVE FLD0974A TO FLD0974C. + MOVE FLD0975A TO FLD0975C. + MOVE FLD0976A TO FLD0976C. + MOVE FLD0977A TO FLD0977C. + MOVE FLD0978A TO FLD0978C. + MOVE FLD0979A TO FLD0979C. + MOVE FLD0980A TO FLD0980C. + MOVE FLD0981A TO FLD0981C. + MOVE FLD0982A TO FLD0982C. + MOVE FLD0983A TO FLD0983C. + MOVE FLD0984A TO FLD0984C. + MOVE FLD0985A TO FLD0985C. + MOVE FLD0986A TO FLD0986C. + MOVE FLD0987A TO FLD0987C. + MOVE FLD0988A TO FLD0988C. + MOVE FLD0989A TO FLD0989C. + MOVE FLD0990A TO FLD0990C. + MOVE FLD0991A TO FLD0991C. + MOVE FLD0992A TO FLD0992C. + MOVE FLD0993A TO FLD0993C. + MOVE FLD0994A TO FLD0994C. + MOVE FLD0995A TO FLD0995C. + MOVE FLD0996A TO FLD0996C. + MOVE FLD0997A TO FLD0997C. + MOVE FLD0998A TO FLD0998C. + MOVE FLD0999A TO FLD0999C. + + *4000-COMPARE. + + IF FLD0500C (1:) NOT EQUAL XPC-FLD0500C + DISPLAY 'FLD0500C ==> ' HEX-OF (FLD0500C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0500C). + IF FLD0501C (1:) NOT EQUAL XPC-FLD0501C + DISPLAY 'FLD0501C ==> ' HEX-OF (FLD0501C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0501C). + IF FLD0502C (1:) NOT EQUAL XPC-FLD0502C + DISPLAY 'FLD0502C ==> ' HEX-OF (FLD0502C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0502C). + IF FLD0503C (1:) NOT EQUAL XPC-FLD0503C + DISPLAY 'FLD0503C ==> ' HEX-OF (FLD0503C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0503C). + IF FLD0504C (1:) NOT EQUAL XPC-FLD0504C + DISPLAY 'FLD0504C ==> ' HEX-OF (FLD0504C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0504C). + IF FLD0505C (1:) NOT EQUAL XPC-FLD0505C + DISPLAY 'FLD0505C ==> ' HEX-OF (FLD0505C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0505C). + IF FLD0506C (1:) NOT EQUAL XPC-FLD0506C + DISPLAY 'FLD0506C ==> ' HEX-OF (FLD0506C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0506C). + IF FLD0507C (1:) NOT EQUAL XPC-FLD0507C + DISPLAY 'FLD0507C ==> ' HEX-OF (FLD0507C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0507C). + IF FLD0508C (1:) NOT EQUAL XPC-FLD0508C + DISPLAY 'FLD0508C ==> ' HEX-OF (FLD0508C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0508C). + IF FLD0509C (1:) NOT EQUAL XPC-FLD0509C + DISPLAY 'FLD0509C ==> ' HEX-OF (FLD0509C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0509C). + IF FLD0510C (1:) NOT EQUAL XPC-FLD0510C + DISPLAY 'FLD0510C ==> ' HEX-OF (FLD0510C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0510C). + IF FLD0511C (1:) NOT EQUAL XPC-FLD0511C + DISPLAY 'FLD0511C ==> ' HEX-OF (FLD0511C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0511C). + IF FLD0512C (1:) NOT EQUAL XPC-FLD0512C + DISPLAY 'FLD0512C ==> ' HEX-OF (FLD0512C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0512C). + IF FLD0513C (1:) NOT EQUAL XPC-FLD0513C + DISPLAY 'FLD0513C ==> ' HEX-OF (FLD0513C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0513C). + IF FLD0514C (1:) NOT EQUAL XPC-FLD0514C + DISPLAY 'FLD0514C ==> ' HEX-OF (FLD0514C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0514C). + IF FLD0515C (1:) NOT EQUAL XPC-FLD0515C + DISPLAY 'FLD0515C ==> ' HEX-OF (FLD0515C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0515C). + IF FLD0516C (1:) NOT EQUAL XPC-FLD0516C + DISPLAY 'FLD0516C ==> ' HEX-OF (FLD0516C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0516C). + IF FLD0517C (1:) NOT EQUAL XPC-FLD0517C + DISPLAY 'FLD0517C ==> ' HEX-OF (FLD0517C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0517C). + IF FLD0518C (1:) NOT EQUAL XPC-FLD0518C + DISPLAY 'FLD0518C ==> ' HEX-OF (FLD0518C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0518C). + IF FLD0519C (1:) NOT EQUAL XPC-FLD0519C + DISPLAY 'FLD0519C ==> ' HEX-OF (FLD0519C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0519C). + IF FLD0520C (1:) NOT EQUAL XPC-FLD0520C + DISPLAY 'FLD0520C ==> ' HEX-OF (FLD0520C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0520C). + IF FLD0521C (1:) NOT EQUAL XPC-FLD0521C + DISPLAY 'FLD0521C ==> ' HEX-OF (FLD0521C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0521C). + IF FLD0522C (1:) NOT EQUAL XPC-FLD0522C + DISPLAY 'FLD0522C ==> ' HEX-OF (FLD0522C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0522C). + IF FLD0523C (1:) NOT EQUAL XPC-FLD0523C + DISPLAY 'FLD0523C ==> ' HEX-OF (FLD0523C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0523C). + IF FLD0524C (1:) NOT EQUAL XPC-FLD0524C + DISPLAY 'FLD0524C ==> ' HEX-OF (FLD0524C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0524C). + IF FLD0525C (1:) NOT EQUAL XPC-FLD0525C + DISPLAY 'FLD0525C ==> ' HEX-OF (FLD0525C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0525C). + IF FLD0526C (1:) NOT EQUAL XPC-FLD0526C + DISPLAY 'FLD0526C ==> ' HEX-OF (FLD0526C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0526C). + IF FLD0527C (1:) NOT EQUAL XPC-FLD0527C + DISPLAY 'FLD0527C ==> ' HEX-OF (FLD0527C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0527C). + IF FLD0528C (1:) NOT EQUAL XPC-FLD0528C + DISPLAY 'FLD0528C ==> ' HEX-OF (FLD0528C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0528C). + IF FLD0529C (1:) NOT EQUAL XPC-FLD0529C + DISPLAY 'FLD0529C ==> ' HEX-OF (FLD0529C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0529C). + IF FLD0530C (1:) NOT EQUAL XPC-FLD0530C + DISPLAY 'FLD0530C ==> ' HEX-OF (FLD0530C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0530C). + IF FLD0531C (1:) NOT EQUAL XPC-FLD0531C + DISPLAY 'FLD0531C ==> ' HEX-OF (FLD0531C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0531C). + IF FLD0532C (1:) NOT EQUAL XPC-FLD0532C + DISPLAY 'FLD0532C ==> ' HEX-OF (FLD0532C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0532C). + IF FLD0533C (1:) NOT EQUAL XPC-FLD0533C + DISPLAY 'FLD0533C ==> ' HEX-OF (FLD0533C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0533C). + IF FLD0534C (1:) NOT EQUAL XPC-FLD0534C + DISPLAY 'FLD0534C ==> ' HEX-OF (FLD0534C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0534C). + IF FLD0535C (1:) NOT EQUAL XPC-FLD0535C + DISPLAY 'FLD0535C ==> ' HEX-OF (FLD0535C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0535C). + IF FLD0536C (1:) NOT EQUAL XPC-FLD0536C + DISPLAY 'FLD0536C ==> ' HEX-OF (FLD0536C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0536C). + IF FLD0537C (1:) NOT EQUAL XPC-FLD0537C + DISPLAY 'FLD0537C ==> ' HEX-OF (FLD0537C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0537C). + IF FLD0538C (1:) NOT EQUAL XPC-FLD0538C + DISPLAY 'FLD0538C ==> ' HEX-OF (FLD0538C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0538C). + IF FLD0539C (1:) NOT EQUAL XPC-FLD0539C + DISPLAY 'FLD0539C ==> ' HEX-OF (FLD0539C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0539C). + IF FLD0540C (1:) NOT EQUAL XPC-FLD0540C + DISPLAY 'FLD0540C ==> ' HEX-OF (FLD0540C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0540C). + IF FLD0541C (1:) NOT EQUAL XPC-FLD0541C + DISPLAY 'FLD0541C ==> ' HEX-OF (FLD0541C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0541C). + IF FLD0542C (1:) NOT EQUAL XPC-FLD0542C + DISPLAY 'FLD0542C ==> ' HEX-OF (FLD0542C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0542C). + IF FLD0543C (1:) NOT EQUAL XPC-FLD0543C + DISPLAY 'FLD0543C ==> ' HEX-OF (FLD0543C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0543C). + IF FLD0544C (1:) NOT EQUAL XPC-FLD0544C + DISPLAY 'FLD0544C ==> ' HEX-OF (FLD0544C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0544C). + IF FLD0545C (1:) NOT EQUAL XPC-FLD0545C + DISPLAY 'FLD0545C ==> ' HEX-OF (FLD0545C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0545C). + IF FLD0546C (1:) NOT EQUAL XPC-FLD0546C + DISPLAY 'FLD0546C ==> ' HEX-OF (FLD0546C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0546C). + IF FLD0547C (1:) NOT EQUAL XPC-FLD0547C + DISPLAY 'FLD0547C ==> ' HEX-OF (FLD0547C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0547C). + IF FLD0548C (1:) NOT EQUAL XPC-FLD0548C + DISPLAY 'FLD0548C ==> ' HEX-OF (FLD0548C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0548C). + IF FLD0549C (1:) NOT EQUAL XPC-FLD0549C + DISPLAY 'FLD0549C ==> ' HEX-OF (FLD0549C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0549C). + IF FLD0550C (1:) NOT EQUAL XPC-FLD0550C + DISPLAY 'FLD0550C ==> ' HEX-OF (FLD0550C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0550C). + IF FLD0551C (1:) NOT EQUAL XPC-FLD0551C + DISPLAY 'FLD0551C ==> ' HEX-OF (FLD0551C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0551C). + IF FLD0552C (1:) NOT EQUAL XPC-FLD0552C + DISPLAY 'FLD0552C ==> ' HEX-OF (FLD0552C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0552C). + IF FLD0553C (1:) NOT EQUAL XPC-FLD0553C + DISPLAY 'FLD0553C ==> ' HEX-OF (FLD0553C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0553C). + IF FLD0554C (1:) NOT EQUAL XPC-FLD0554C + DISPLAY 'FLD0554C ==> ' HEX-OF (FLD0554C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0554C). + IF FLD0555C (1:) NOT EQUAL XPC-FLD0555C + DISPLAY 'FLD0555C ==> ' HEX-OF (FLD0555C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0555C). + IF FLD0556C (1:) NOT EQUAL XPC-FLD0556C + DISPLAY 'FLD0556C ==> ' HEX-OF (FLD0556C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0556C). + IF FLD0557C (1:) NOT EQUAL XPC-FLD0557C + DISPLAY 'FLD0557C ==> ' HEX-OF (FLD0557C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0557C). + IF FLD0558C (1:) NOT EQUAL XPC-FLD0558C + DISPLAY 'FLD0558C ==> ' HEX-OF (FLD0558C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0558C). + IF FLD0559C (1:) NOT EQUAL XPC-FLD0559C + DISPLAY 'FLD0559C ==> ' HEX-OF (FLD0559C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0559C). + IF FLD0560C (1:) NOT EQUAL XPC-FLD0560C + DISPLAY 'FLD0560C ==> ' HEX-OF (FLD0560C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0560C). + IF FLD0561C (1:) NOT EQUAL XPC-FLD0561C + DISPLAY 'FLD0561C ==> ' HEX-OF (FLD0561C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0561C). + IF FLD0562C (1:) NOT EQUAL XPC-FLD0562C + DISPLAY 'FLD0562C ==> ' HEX-OF (FLD0562C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0562C). + IF FLD0563C (1:) NOT EQUAL XPC-FLD0563C + DISPLAY 'FLD0563C ==> ' HEX-OF (FLD0563C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0563C). + IF FLD0564C (1:) NOT EQUAL XPC-FLD0564C + DISPLAY 'FLD0564C ==> ' HEX-OF (FLD0564C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0564C). + IF FLD0565C (1:) NOT EQUAL XPC-FLD0565C + DISPLAY 'FLD0565C ==> ' HEX-OF (FLD0565C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0565C). + IF FLD0566C (1:) NOT EQUAL XPC-FLD0566C + DISPLAY 'FLD0566C ==> ' HEX-OF (FLD0566C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0566C). + IF FLD0567C (1:) NOT EQUAL XPC-FLD0567C + DISPLAY 'FLD0567C ==> ' HEX-OF (FLD0567C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0567C). + IF FLD0568C (1:) NOT EQUAL XPC-FLD0568C + DISPLAY 'FLD0568C ==> ' HEX-OF (FLD0568C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0568C). + IF FLD0569C (1:) NOT EQUAL XPC-FLD0569C + DISPLAY 'FLD0569C ==> ' HEX-OF (FLD0569C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0569C). + IF FLD0570C (1:) NOT EQUAL XPC-FLD0570C + DISPLAY 'FLD0570C ==> ' HEX-OF (FLD0570C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0570C). + IF FLD0571C (1:) NOT EQUAL XPC-FLD0571C + DISPLAY 'FLD0571C ==> ' HEX-OF (FLD0571C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0571C). + IF FLD0572C (1:) NOT EQUAL XPC-FLD0572C + DISPLAY 'FLD0572C ==> ' HEX-OF (FLD0572C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0572C). + IF FLD0573C (1:) NOT EQUAL XPC-FLD0573C + DISPLAY 'FLD0573C ==> ' HEX-OF (FLD0573C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0573C). + IF FLD0574C (1:) NOT EQUAL XPC-FLD0574C + DISPLAY 'FLD0574C ==> ' HEX-OF (FLD0574C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0574C). + IF FLD0575C (1:) NOT EQUAL XPC-FLD0575C + DISPLAY 'FLD0575C ==> ' HEX-OF (FLD0575C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0575C). + IF FLD0576C (1:) NOT EQUAL XPC-FLD0576C + DISPLAY 'FLD0576C ==> ' HEX-OF (FLD0576C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0576C). + IF FLD0577C (1:) NOT EQUAL XPC-FLD0577C + DISPLAY 'FLD0577C ==> ' HEX-OF (FLD0577C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0577C). + IF FLD0578C (1:) NOT EQUAL XPC-FLD0578C + DISPLAY 'FLD0578C ==> ' HEX-OF (FLD0578C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0578C). + IF FLD0579C (1:) NOT EQUAL XPC-FLD0579C + DISPLAY 'FLD0579C ==> ' HEX-OF (FLD0579C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0579C). + IF FLD0580C (1:) NOT EQUAL XPC-FLD0580C + DISPLAY 'FLD0580C ==> ' HEX-OF (FLD0580C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0580C). + IF FLD0581C (1:) NOT EQUAL XPC-FLD0581C + DISPLAY 'FLD0581C ==> ' HEX-OF (FLD0581C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0581C). + IF FLD0582C (1:) NOT EQUAL XPC-FLD0582C + DISPLAY 'FLD0582C ==> ' HEX-OF (FLD0582C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0582C). + IF FLD0583C (1:) NOT EQUAL XPC-FLD0583C + DISPLAY 'FLD0583C ==> ' HEX-OF (FLD0583C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0583C). + IF FLD0584C (1:) NOT EQUAL XPC-FLD0584C + DISPLAY 'FLD0584C ==> ' HEX-OF (FLD0584C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0584C). + IF FLD0585C (1:) NOT EQUAL XPC-FLD0585C + DISPLAY 'FLD0585C ==> ' HEX-OF (FLD0585C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0585C). + IF FLD0586C (1:) NOT EQUAL XPC-FLD0586C + DISPLAY 'FLD0586C ==> ' HEX-OF (FLD0586C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0586C). + IF FLD0587C (1:) NOT EQUAL XPC-FLD0587C + DISPLAY 'FLD0587C ==> ' HEX-OF (FLD0587C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0587C). + IF FLD0588C (1:) NOT EQUAL XPC-FLD0588C + DISPLAY 'FLD0588C ==> ' HEX-OF (FLD0588C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0588C). + IF FLD0589C (1:) NOT EQUAL XPC-FLD0589C + DISPLAY 'FLD0589C ==> ' HEX-OF (FLD0589C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0589C). + IF FLD0590C (1:) NOT EQUAL XPC-FLD0590C + DISPLAY 'FLD0590C ==> ' HEX-OF (FLD0590C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0590C). + IF FLD0591C (1:) NOT EQUAL XPC-FLD0591C + DISPLAY 'FLD0591C ==> ' HEX-OF (FLD0591C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0591C). + IF FLD0592C (1:) NOT EQUAL XPC-FLD0592C + DISPLAY 'FLD0592C ==> ' HEX-OF (FLD0592C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0592C). + IF FLD0593C (1:) NOT EQUAL XPC-FLD0593C + DISPLAY 'FLD0593C ==> ' HEX-OF (FLD0593C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0593C). + IF FLD0594C (1:) NOT EQUAL XPC-FLD0594C + DISPLAY 'FLD0594C ==> ' HEX-OF (FLD0594C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0594C). + IF FLD0595C (1:) NOT EQUAL XPC-FLD0595C + DISPLAY 'FLD0595C ==> ' HEX-OF (FLD0595C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0595C). + IF FLD0596C (1:) NOT EQUAL XPC-FLD0596C + DISPLAY 'FLD0596C ==> ' HEX-OF (FLD0596C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0596C). + IF FLD0597C (1:) NOT EQUAL XPC-FLD0597C + DISPLAY 'FLD0597C ==> ' HEX-OF (FLD0597C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0597C). + IF FLD0598C (1:) NOT EQUAL XPC-FLD0598C + DISPLAY 'FLD0598C ==> ' HEX-OF (FLD0598C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0598C). + IF FLD0599C (1:) NOT EQUAL XPC-FLD0599C + DISPLAY 'FLD0599C ==> ' HEX-OF (FLD0599C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0599C). + IF FLD0600C (1:) NOT EQUAL XPC-FLD0600C + DISPLAY 'FLD0600C ==> ' HEX-OF (FLD0600C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0600C). + IF FLD0601C (1:) NOT EQUAL XPC-FLD0601C + DISPLAY 'FLD0601C ==> ' HEX-OF (FLD0601C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0601C). + IF FLD0602C (1:) NOT EQUAL XPC-FLD0602C + DISPLAY 'FLD0602C ==> ' HEX-OF (FLD0602C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0602C). + IF FLD0603C (1:) NOT EQUAL XPC-FLD0603C + DISPLAY 'FLD0603C ==> ' HEX-OF (FLD0603C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0603C). + IF FLD0604C (1:) NOT EQUAL XPC-FLD0604C + DISPLAY 'FLD0604C ==> ' HEX-OF (FLD0604C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0604C). + IF FLD0605C (1:) NOT EQUAL XPC-FLD0605C + DISPLAY 'FLD0605C ==> ' HEX-OF (FLD0605C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0605C). + IF FLD0606C (1:) NOT EQUAL XPC-FLD0606C + DISPLAY 'FLD0606C ==> ' HEX-OF (FLD0606C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0606C). + IF FLD0607C (1:) NOT EQUAL XPC-FLD0607C + DISPLAY 'FLD0607C ==> ' HEX-OF (FLD0607C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0607C). + IF FLD0608C (1:) NOT EQUAL XPC-FLD0608C + DISPLAY 'FLD0608C ==> ' HEX-OF (FLD0608C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0608C). + IF FLD0609C (1:) NOT EQUAL XPC-FLD0609C + DISPLAY 'FLD0609C ==> ' HEX-OF (FLD0609C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0609C). + IF FLD0610C (1:) NOT EQUAL XPC-FLD0610C + DISPLAY 'FLD0610C ==> ' HEX-OF (FLD0610C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0610C). + IF FLD0611C (1:) NOT EQUAL XPC-FLD0611C + DISPLAY 'FLD0611C ==> ' HEX-OF (FLD0611C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0611C). + IF FLD0612C (1:) NOT EQUAL XPC-FLD0612C + DISPLAY 'FLD0612C ==> ' HEX-OF (FLD0612C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0612C). + IF FLD0613C (1:) NOT EQUAL XPC-FLD0613C + DISPLAY 'FLD0613C ==> ' HEX-OF (FLD0613C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0613C). + IF FLD0614C (1:) NOT EQUAL XPC-FLD0614C + DISPLAY 'FLD0614C ==> ' HEX-OF (FLD0614C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0614C). + IF FLD0615C (1:) NOT EQUAL XPC-FLD0615C + DISPLAY 'FLD0615C ==> ' HEX-OF (FLD0615C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0615C). + IF FLD0616C (1:) NOT EQUAL XPC-FLD0616C + DISPLAY 'FLD0616C ==> ' HEX-OF (FLD0616C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0616C). + IF FLD0617C (1:) NOT EQUAL XPC-FLD0617C + DISPLAY 'FLD0617C ==> ' HEX-OF (FLD0617C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0617C). + IF FLD0618C (1:) NOT EQUAL XPC-FLD0618C + DISPLAY 'FLD0618C ==> ' HEX-OF (FLD0618C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0618C). + IF FLD0619C (1:) NOT EQUAL XPC-FLD0619C + DISPLAY 'FLD0619C ==> ' HEX-OF (FLD0619C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0619C). + IF FLD0620C (1:) NOT EQUAL XPC-FLD0620C + DISPLAY 'FLD0620C ==> ' HEX-OF (FLD0620C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0620C). + IF FLD0621C (1:) NOT EQUAL XPC-FLD0621C + DISPLAY 'FLD0621C ==> ' HEX-OF (FLD0621C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0621C). + IF FLD0622C (1:) NOT EQUAL XPC-FLD0622C + DISPLAY 'FLD0622C ==> ' HEX-OF (FLD0622C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0622C). + IF FLD0623C (1:) NOT EQUAL XPC-FLD0623C + DISPLAY 'FLD0623C ==> ' HEX-OF (FLD0623C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0623C). + IF FLD0624C (1:) NOT EQUAL XPC-FLD0624C + DISPLAY 'FLD0624C ==> ' HEX-OF (FLD0624C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0624C). + IF FLD0625C (1:) NOT EQUAL XPC-FLD0625C + DISPLAY 'FLD0625C ==> ' HEX-OF (FLD0625C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0625C). + IF FLD0626C (1:) NOT EQUAL XPC-FLD0626C + DISPLAY 'FLD0626C ==> ' HEX-OF (FLD0626C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0626C). + IF FLD0627C (1:) NOT EQUAL XPC-FLD0627C + DISPLAY 'FLD0627C ==> ' HEX-OF (FLD0627C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0627C). + IF FLD0628C (1:) NOT EQUAL XPC-FLD0628C + DISPLAY 'FLD0628C ==> ' HEX-OF (FLD0628C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0628C). + IF FLD0629C (1:) NOT EQUAL XPC-FLD0629C + DISPLAY 'FLD0629C ==> ' HEX-OF (FLD0629C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0629C). + IF FLD0630C (1:) NOT EQUAL XPC-FLD0630C + DISPLAY 'FLD0630C ==> ' HEX-OF (FLD0630C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0630C). + IF FLD0631C (1:) NOT EQUAL XPC-FLD0631C + DISPLAY 'FLD0631C ==> ' HEX-OF (FLD0631C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0631C). + IF FLD0632C (1:) NOT EQUAL XPC-FLD0632C + DISPLAY 'FLD0632C ==> ' HEX-OF (FLD0632C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0632C). + IF FLD0633C (1:) NOT EQUAL XPC-FLD0633C + DISPLAY 'FLD0633C ==> ' HEX-OF (FLD0633C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0633C). + IF FLD0634C (1:) NOT EQUAL XPC-FLD0634C + DISPLAY 'FLD0634C ==> ' HEX-OF (FLD0634C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0634C). + IF FLD0635C (1:) NOT EQUAL XPC-FLD0635C + DISPLAY 'FLD0635C ==> ' HEX-OF (FLD0635C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0635C). + IF FLD0636C (1:) NOT EQUAL XPC-FLD0636C + DISPLAY 'FLD0636C ==> ' HEX-OF (FLD0636C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0636C). + IF FLD0637C (1:) NOT EQUAL XPC-FLD0637C + DISPLAY 'FLD0637C ==> ' HEX-OF (FLD0637C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0637C). + IF FLD0638C (1:) NOT EQUAL XPC-FLD0638C + DISPLAY 'FLD0638C ==> ' HEX-OF (FLD0638C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0638C). + IF FLD0639C (1:) NOT EQUAL XPC-FLD0639C + DISPLAY 'FLD0639C ==> ' HEX-OF (FLD0639C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0639C). + IF FLD0640C (1:) NOT EQUAL XPC-FLD0640C + DISPLAY 'FLD0640C ==> ' HEX-OF (FLD0640C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0640C). + IF FLD0641C (1:) NOT EQUAL XPC-FLD0641C + DISPLAY 'FLD0641C ==> ' HEX-OF (FLD0641C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0641C). + IF FLD0642C (1:) NOT EQUAL XPC-FLD0642C + DISPLAY 'FLD0642C ==> ' HEX-OF (FLD0642C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0642C). + IF FLD0643C (1:) NOT EQUAL XPC-FLD0643C + DISPLAY 'FLD0643C ==> ' HEX-OF (FLD0643C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0643C). + IF FLD0644C (1:) NOT EQUAL XPC-FLD0644C + DISPLAY 'FLD0644C ==> ' HEX-OF (FLD0644C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0644C). + IF FLD0645C (1:) NOT EQUAL XPC-FLD0645C + DISPLAY 'FLD0645C ==> ' HEX-OF (FLD0645C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0645C). + IF FLD0646C (1:) NOT EQUAL XPC-FLD0646C + DISPLAY 'FLD0646C ==> ' HEX-OF (FLD0646C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0646C). + IF FLD0647C (1:) NOT EQUAL XPC-FLD0647C + DISPLAY 'FLD0647C ==> ' HEX-OF (FLD0647C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0647C). + IF FLD0648C (1:) NOT EQUAL XPC-FLD0648C + DISPLAY 'FLD0648C ==> ' HEX-OF (FLD0648C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0648C). + IF FLD0649C (1:) NOT EQUAL XPC-FLD0649C + DISPLAY 'FLD0649C ==> ' HEX-OF (FLD0649C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0649C). + IF FLD0650C (1:) NOT EQUAL XPC-FLD0650C + DISPLAY 'FLD0650C ==> ' HEX-OF (FLD0650C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0650C). + IF FLD0651C (1:) NOT EQUAL XPC-FLD0651C + DISPLAY 'FLD0651C ==> ' HEX-OF (FLD0651C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0651C). + IF FLD0652C (1:) NOT EQUAL XPC-FLD0652C + DISPLAY 'FLD0652C ==> ' HEX-OF (FLD0652C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0652C). + IF FLD0653C (1:) NOT EQUAL XPC-FLD0653C + DISPLAY 'FLD0653C ==> ' HEX-OF (FLD0653C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0653C). + IF FLD0654C (1:) NOT EQUAL XPC-FLD0654C + DISPLAY 'FLD0654C ==> ' HEX-OF (FLD0654C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0654C). + IF FLD0655C (1:) NOT EQUAL XPC-FLD0655C + DISPLAY 'FLD0655C ==> ' HEX-OF (FLD0655C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0655C). + IF FLD0656C (1:) NOT EQUAL XPC-FLD0656C + DISPLAY 'FLD0656C ==> ' HEX-OF (FLD0656C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0656C). + IF FLD0657C (1:) NOT EQUAL XPC-FLD0657C + DISPLAY 'FLD0657C ==> ' HEX-OF (FLD0657C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0657C). + IF FLD0658C (1:) NOT EQUAL XPC-FLD0658C + DISPLAY 'FLD0658C ==> ' HEX-OF (FLD0658C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0658C). + IF FLD0659C (1:) NOT EQUAL XPC-FLD0659C + DISPLAY 'FLD0659C ==> ' HEX-OF (FLD0659C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0659C). + IF FLD0660C (1:) NOT EQUAL XPC-FLD0660C + DISPLAY 'FLD0660C ==> ' HEX-OF (FLD0660C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0660C). + IF FLD0661C (1:) NOT EQUAL XPC-FLD0661C + DISPLAY 'FLD0661C ==> ' HEX-OF (FLD0661C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0661C). + IF FLD0662C (1:) NOT EQUAL XPC-FLD0662C + DISPLAY 'FLD0662C ==> ' HEX-OF (FLD0662C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0662C). + IF FLD0663C (1:) NOT EQUAL XPC-FLD0663C + DISPLAY 'FLD0663C ==> ' HEX-OF (FLD0663C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0663C). + IF FLD0664C (1:) NOT EQUAL XPC-FLD0664C + DISPLAY 'FLD0664C ==> ' HEX-OF (FLD0664C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0664C). + IF FLD0665C (1:) NOT EQUAL XPC-FLD0665C + DISPLAY 'FLD0665C ==> ' HEX-OF (FLD0665C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0665C). + IF FLD0666C (1:) NOT EQUAL XPC-FLD0666C + DISPLAY 'FLD0666C ==> ' HEX-OF (FLD0666C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0666C). + IF FLD0667C (1:) NOT EQUAL XPC-FLD0667C + DISPLAY 'FLD0667C ==> ' HEX-OF (FLD0667C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0667C). + IF FLD0668C (1:) NOT EQUAL XPC-FLD0668C + DISPLAY 'FLD0668C ==> ' HEX-OF (FLD0668C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0668C). + IF FLD0669C (1:) NOT EQUAL XPC-FLD0669C + DISPLAY 'FLD0669C ==> ' HEX-OF (FLD0669C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0669C). + IF FLD0670C (1:) NOT EQUAL XPC-FLD0670C + DISPLAY 'FLD0670C ==> ' HEX-OF (FLD0670C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0670C). + IF FLD0671C (1:) NOT EQUAL XPC-FLD0671C + DISPLAY 'FLD0671C ==> ' HEX-OF (FLD0671C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0671C). + IF FLD0672C (1:) NOT EQUAL XPC-FLD0672C + DISPLAY 'FLD0672C ==> ' HEX-OF (FLD0672C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0672C). + IF FLD0673C (1:) NOT EQUAL XPC-FLD0673C + DISPLAY 'FLD0673C ==> ' HEX-OF (FLD0673C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0673C). + IF FLD0674C (1:) NOT EQUAL XPC-FLD0674C + DISPLAY 'FLD0674C ==> ' HEX-OF (FLD0674C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0674C). + IF FLD0675C (1:) NOT EQUAL XPC-FLD0675C + DISPLAY 'FLD0675C ==> ' HEX-OF (FLD0675C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0675C). + IF FLD0676C (1:) NOT EQUAL XPC-FLD0676C + DISPLAY 'FLD0676C ==> ' HEX-OF (FLD0676C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0676C). + IF FLD0677C (1:) NOT EQUAL XPC-FLD0677C + DISPLAY 'FLD0677C ==> ' HEX-OF (FLD0677C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0677C). + IF FLD0678C (1:) NOT EQUAL XPC-FLD0678C + DISPLAY 'FLD0678C ==> ' HEX-OF (FLD0678C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0678C). + IF FLD0679C (1:) NOT EQUAL XPC-FLD0679C + DISPLAY 'FLD0679C ==> ' HEX-OF (FLD0679C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0679C). + IF FLD0680C (1:) NOT EQUAL XPC-FLD0680C + DISPLAY 'FLD0680C ==> ' HEX-OF (FLD0680C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0680C). + IF FLD0681C (1:) NOT EQUAL XPC-FLD0681C + DISPLAY 'FLD0681C ==> ' HEX-OF (FLD0681C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0681C). + IF FLD0682C (1:) NOT EQUAL XPC-FLD0682C + DISPLAY 'FLD0682C ==> ' HEX-OF (FLD0682C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0682C). + IF FLD0683C (1:) NOT EQUAL XPC-FLD0683C + DISPLAY 'FLD0683C ==> ' HEX-OF (FLD0683C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0683C). + IF FLD0684C (1:) NOT EQUAL XPC-FLD0684C + DISPLAY 'FLD0684C ==> ' HEX-OF (FLD0684C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0684C). + IF FLD0685C (1:) NOT EQUAL XPC-FLD0685C + DISPLAY 'FLD0685C ==> ' HEX-OF (FLD0685C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0685C). + IF FLD0686C (1:) NOT EQUAL XPC-FLD0686C + DISPLAY 'FLD0686C ==> ' HEX-OF (FLD0686C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0686C). + IF FLD0687C (1:) NOT EQUAL XPC-FLD0687C + DISPLAY 'FLD0687C ==> ' HEX-OF (FLD0687C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0687C). + IF FLD0688C (1:) NOT EQUAL XPC-FLD0688C + DISPLAY 'FLD0688C ==> ' HEX-OF (FLD0688C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0688C). + IF FLD0689C (1:) NOT EQUAL XPC-FLD0689C + DISPLAY 'FLD0689C ==> ' HEX-OF (FLD0689C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0689C). + IF FLD0690C (1:) NOT EQUAL XPC-FLD0690C + DISPLAY 'FLD0690C ==> ' HEX-OF (FLD0690C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0690C). + IF FLD0691C (1:) NOT EQUAL XPC-FLD0691C + DISPLAY 'FLD0691C ==> ' HEX-OF (FLD0691C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0691C). + IF FLD0692C (1:) NOT EQUAL XPC-FLD0692C + DISPLAY 'FLD0692C ==> ' HEX-OF (FLD0692C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0692C). + IF FLD0693C (1:) NOT EQUAL XPC-FLD0693C + DISPLAY 'FLD0693C ==> ' HEX-OF (FLD0693C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0693C). + IF FLD0694C (1:) NOT EQUAL XPC-FLD0694C + DISPLAY 'FLD0694C ==> ' HEX-OF (FLD0694C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0694C). + IF FLD0695C (1:) NOT EQUAL XPC-FLD0695C + DISPLAY 'FLD0695C ==> ' HEX-OF (FLD0695C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0695C). + IF FLD0696C (1:) NOT EQUAL XPC-FLD0696C + DISPLAY 'FLD0696C ==> ' HEX-OF (FLD0696C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0696C). + IF FLD0697C (1:) NOT EQUAL XPC-FLD0697C + DISPLAY 'FLD0697C ==> ' HEX-OF (FLD0697C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0697C). + IF FLD0698C (1:) NOT EQUAL XPC-FLD0698C + DISPLAY 'FLD0698C ==> ' HEX-OF (FLD0698C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0698C). + IF FLD0699C (1:) NOT EQUAL XPC-FLD0699C + DISPLAY 'FLD0699C ==> ' HEX-OF (FLD0699C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0699C). + IF FLD0700C (1:) NOT EQUAL XPC-FLD0700C + DISPLAY 'FLD0700C ==> ' HEX-OF (FLD0700C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0700C). + IF FLD0701C (1:) NOT EQUAL XPC-FLD0701C + DISPLAY 'FLD0701C ==> ' HEX-OF (FLD0701C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0701C). + IF FLD0702C (1:) NOT EQUAL XPC-FLD0702C + DISPLAY 'FLD0702C ==> ' HEX-OF (FLD0702C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0702C). + IF FLD0703C (1:) NOT EQUAL XPC-FLD0703C + DISPLAY 'FLD0703C ==> ' HEX-OF (FLD0703C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0703C). + IF FLD0704C (1:) NOT EQUAL XPC-FLD0704C + DISPLAY 'FLD0704C ==> ' HEX-OF (FLD0704C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0704C). + IF FLD0705C (1:) NOT EQUAL XPC-FLD0705C + DISPLAY 'FLD0705C ==> ' HEX-OF (FLD0705C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0705C). + IF FLD0706C (1:) NOT EQUAL XPC-FLD0706C + DISPLAY 'FLD0706C ==> ' HEX-OF (FLD0706C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0706C). + IF FLD0707C (1:) NOT EQUAL XPC-FLD0707C + DISPLAY 'FLD0707C ==> ' HEX-OF (FLD0707C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0707C). + IF FLD0708C (1:) NOT EQUAL XPC-FLD0708C + DISPLAY 'FLD0708C ==> ' HEX-OF (FLD0708C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0708C). + IF FLD0709C (1:) NOT EQUAL XPC-FLD0709C + DISPLAY 'FLD0709C ==> ' HEX-OF (FLD0709C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0709C). + IF FLD0710C (1:) NOT EQUAL XPC-FLD0710C + DISPLAY 'FLD0710C ==> ' HEX-OF (FLD0710C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0710C). + IF FLD0711C (1:) NOT EQUAL XPC-FLD0711C + DISPLAY 'FLD0711C ==> ' HEX-OF (FLD0711C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0711C). + IF FLD0712C (1:) NOT EQUAL XPC-FLD0712C + DISPLAY 'FLD0712C ==> ' HEX-OF (FLD0712C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0712C). + IF FLD0713C (1:) NOT EQUAL XPC-FLD0713C + DISPLAY 'FLD0713C ==> ' HEX-OF (FLD0713C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0713C). + IF FLD0714C (1:) NOT EQUAL XPC-FLD0714C + DISPLAY 'FLD0714C ==> ' HEX-OF (FLD0714C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0714C). + IF FLD0715C (1:) NOT EQUAL XPC-FLD0715C + DISPLAY 'FLD0715C ==> ' HEX-OF (FLD0715C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0715C). + IF FLD0716C (1:) NOT EQUAL XPC-FLD0716C + DISPLAY 'FLD0716C ==> ' HEX-OF (FLD0716C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0716C). + IF FLD0717C (1:) NOT EQUAL XPC-FLD0717C + DISPLAY 'FLD0717C ==> ' HEX-OF (FLD0717C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0717C). + IF FLD0718C (1:) NOT EQUAL XPC-FLD0718C + DISPLAY 'FLD0718C ==> ' HEX-OF (FLD0718C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0718C). + IF FLD0719C (1:) NOT EQUAL XPC-FLD0719C + DISPLAY 'FLD0719C ==> ' HEX-OF (FLD0719C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0719C). + IF FLD0720C (1:) NOT EQUAL XPC-FLD0720C + DISPLAY 'FLD0720C ==> ' HEX-OF (FLD0720C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0720C). + IF FLD0721C (1:) NOT EQUAL XPC-FLD0721C + DISPLAY 'FLD0721C ==> ' HEX-OF (FLD0721C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0721C). + IF FLD0722C (1:) NOT EQUAL XPC-FLD0722C + DISPLAY 'FLD0722C ==> ' HEX-OF (FLD0722C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0722C). + IF FLD0723C (1:) NOT EQUAL XPC-FLD0723C + DISPLAY 'FLD0723C ==> ' HEX-OF (FLD0723C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0723C). + IF FLD0724C (1:) NOT EQUAL XPC-FLD0724C + DISPLAY 'FLD0724C ==> ' HEX-OF (FLD0724C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0724C). + IF FLD0725C (1:) NOT EQUAL XPC-FLD0725C + DISPLAY 'FLD0725C ==> ' HEX-OF (FLD0725C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0725C). + IF FLD0726C (1:) NOT EQUAL XPC-FLD0726C + DISPLAY 'FLD0726C ==> ' HEX-OF (FLD0726C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0726C). + IF FLD0727C (1:) NOT EQUAL XPC-FLD0727C + DISPLAY 'FLD0727C ==> ' HEX-OF (FLD0727C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0727C). + IF FLD0728C (1:) NOT EQUAL XPC-FLD0728C + DISPLAY 'FLD0728C ==> ' HEX-OF (FLD0728C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0728C). + IF FLD0729C (1:) NOT EQUAL XPC-FLD0729C + DISPLAY 'FLD0729C ==> ' HEX-OF (FLD0729C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0729C). + IF FLD0730C (1:) NOT EQUAL XPC-FLD0730C + DISPLAY 'FLD0730C ==> ' HEX-OF (FLD0730C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0730C). + IF FLD0731C (1:) NOT EQUAL XPC-FLD0731C + DISPLAY 'FLD0731C ==> ' HEX-OF (FLD0731C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0731C). + IF FLD0732C (1:) NOT EQUAL XPC-FLD0732C + DISPLAY 'FLD0732C ==> ' HEX-OF (FLD0732C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0732C). + IF FLD0733C (1:) NOT EQUAL XPC-FLD0733C + DISPLAY 'FLD0733C ==> ' HEX-OF (FLD0733C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0733C). + IF FLD0734C (1:) NOT EQUAL XPC-FLD0734C + DISPLAY 'FLD0734C ==> ' HEX-OF (FLD0734C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0734C). + IF FLD0735C (1:) NOT EQUAL XPC-FLD0735C + DISPLAY 'FLD0735C ==> ' HEX-OF (FLD0735C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0735C). + IF FLD0736C (1:) NOT EQUAL XPC-FLD0736C + DISPLAY 'FLD0736C ==> ' HEX-OF (FLD0736C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0736C). + IF FLD0737C (1:) NOT EQUAL XPC-FLD0737C + DISPLAY 'FLD0737C ==> ' HEX-OF (FLD0737C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0737C). + IF FLD0738C (1:) NOT EQUAL XPC-FLD0738C + DISPLAY 'FLD0738C ==> ' HEX-OF (FLD0738C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0738C). + IF FLD0739C (1:) NOT EQUAL XPC-FLD0739C + DISPLAY 'FLD0739C ==> ' HEX-OF (FLD0739C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0739C). + IF FLD0740C (1:) NOT EQUAL XPC-FLD0740C + DISPLAY 'FLD0740C ==> ' HEX-OF (FLD0740C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0740C). + IF FLD0741C (1:) NOT EQUAL XPC-FLD0741C + DISPLAY 'FLD0741C ==> ' HEX-OF (FLD0741C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0741C). + IF FLD0742C (1:) NOT EQUAL XPC-FLD0742C + DISPLAY 'FLD0742C ==> ' HEX-OF (FLD0742C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0742C). + IF FLD0743C (1:) NOT EQUAL XPC-FLD0743C + DISPLAY 'FLD0743C ==> ' HEX-OF (FLD0743C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0743C). + IF FLD0744C (1:) NOT EQUAL XPC-FLD0744C + DISPLAY 'FLD0744C ==> ' HEX-OF (FLD0744C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0744C). + IF FLD0745C (1:) NOT EQUAL XPC-FLD0745C + DISPLAY 'FLD0745C ==> ' HEX-OF (FLD0745C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0745C). + IF FLD0746C (1:) NOT EQUAL XPC-FLD0746C + DISPLAY 'FLD0746C ==> ' HEX-OF (FLD0746C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0746C). + IF FLD0747C (1:) NOT EQUAL XPC-FLD0747C + DISPLAY 'FLD0747C ==> ' HEX-OF (FLD0747C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0747C). + IF FLD0748C (1:) NOT EQUAL XPC-FLD0748C + DISPLAY 'FLD0748C ==> ' HEX-OF (FLD0748C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0748C). + IF FLD0749C (1:) NOT EQUAL XPC-FLD0749C + DISPLAY 'FLD0749C ==> ' HEX-OF (FLD0749C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0749C). + IF FLD0750C (1:) NOT EQUAL XPC-FLD0750C + DISPLAY 'FLD0750C ==> ' HEX-OF (FLD0750C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0750C). + IF FLD0751C (1:) NOT EQUAL XPC-FLD0751C + DISPLAY 'FLD0751C ==> ' HEX-OF (FLD0751C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0751C). + IF FLD0752C (1:) NOT EQUAL XPC-FLD0752C + DISPLAY 'FLD0752C ==> ' HEX-OF (FLD0752C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0752C). + IF FLD0753C (1:) NOT EQUAL XPC-FLD0753C + DISPLAY 'FLD0753C ==> ' HEX-OF (FLD0753C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0753C). + IF FLD0754C (1:) NOT EQUAL XPC-FLD0754C + DISPLAY 'FLD0754C ==> ' HEX-OF (FLD0754C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0754C). + IF FLD0755C (1:) NOT EQUAL XPC-FLD0755C + DISPLAY 'FLD0755C ==> ' HEX-OF (FLD0755C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0755C). + IF FLD0756C (1:) NOT EQUAL XPC-FLD0756C + DISPLAY 'FLD0756C ==> ' HEX-OF (FLD0756C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0756C). + IF FLD0757C (1:) NOT EQUAL XPC-FLD0757C + DISPLAY 'FLD0757C ==> ' HEX-OF (FLD0757C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0757C). + IF FLD0758C (1:) NOT EQUAL XPC-FLD0758C + DISPLAY 'FLD0758C ==> ' HEX-OF (FLD0758C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0758C). + IF FLD0759C (1:) NOT EQUAL XPC-FLD0759C + DISPLAY 'FLD0759C ==> ' HEX-OF (FLD0759C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0759C). + IF FLD0760C (1:) NOT EQUAL XPC-FLD0760C + DISPLAY 'FLD0760C ==> ' HEX-OF (FLD0760C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0760C). + IF FLD0761C (1:) NOT EQUAL XPC-FLD0761C + DISPLAY 'FLD0761C ==> ' HEX-OF (FLD0761C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0761C). + IF FLD0762C (1:) NOT EQUAL XPC-FLD0762C + DISPLAY 'FLD0762C ==> ' HEX-OF (FLD0762C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0762C). + IF FLD0763C (1:) NOT EQUAL XPC-FLD0763C + DISPLAY 'FLD0763C ==> ' HEX-OF (FLD0763C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0763C). + IF FLD0764C (1:) NOT EQUAL XPC-FLD0764C + DISPLAY 'FLD0764C ==> ' HEX-OF (FLD0764C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0764C). + IF FLD0765C (1:) NOT EQUAL XPC-FLD0765C + DISPLAY 'FLD0765C ==> ' HEX-OF (FLD0765C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0765C). + IF FLD0766C (1:) NOT EQUAL XPC-FLD0766C + DISPLAY 'FLD0766C ==> ' HEX-OF (FLD0766C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0766C). + IF FLD0767C (1:) NOT EQUAL XPC-FLD0767C + DISPLAY 'FLD0767C ==> ' HEX-OF (FLD0767C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0767C). + IF FLD0768C (1:) NOT EQUAL XPC-FLD0768C + DISPLAY 'FLD0768C ==> ' HEX-OF (FLD0768C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0768C). + IF FLD0769C (1:) NOT EQUAL XPC-FLD0769C + DISPLAY 'FLD0769C ==> ' HEX-OF (FLD0769C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0769C). + IF FLD0770C (1:) NOT EQUAL XPC-FLD0770C + DISPLAY 'FLD0770C ==> ' HEX-OF (FLD0770C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0770C). + IF FLD0771C (1:) NOT EQUAL XPC-FLD0771C + DISPLAY 'FLD0771C ==> ' HEX-OF (FLD0771C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0771C). + IF FLD0772C (1:) NOT EQUAL XPC-FLD0772C + DISPLAY 'FLD0772C ==> ' HEX-OF (FLD0772C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0772C). + IF FLD0773C (1:) NOT EQUAL XPC-FLD0773C + DISPLAY 'FLD0773C ==> ' HEX-OF (FLD0773C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0773C). + IF FLD0774C (1:) NOT EQUAL XPC-FLD0774C + DISPLAY 'FLD0774C ==> ' HEX-OF (FLD0774C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0774C). + IF FLD0775C (1:) NOT EQUAL XPC-FLD0775C + DISPLAY 'FLD0775C ==> ' HEX-OF (FLD0775C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0775C). + IF FLD0776C (1:) NOT EQUAL XPC-FLD0776C + DISPLAY 'FLD0776C ==> ' HEX-OF (FLD0776C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0776C). + IF FLD0777C (1:) NOT EQUAL XPC-FLD0777C + DISPLAY 'FLD0777C ==> ' HEX-OF (FLD0777C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0777C). + IF FLD0778C (1:) NOT EQUAL XPC-FLD0778C + DISPLAY 'FLD0778C ==> ' HEX-OF (FLD0778C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0778C). + IF FLD0779C (1:) NOT EQUAL XPC-FLD0779C + DISPLAY 'FLD0779C ==> ' HEX-OF (FLD0779C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0779C). + IF FLD0780C (1:) NOT EQUAL XPC-FLD0780C + DISPLAY 'FLD0780C ==> ' HEX-OF (FLD0780C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0780C). + IF FLD0781C (1:) NOT EQUAL XPC-FLD0781C + DISPLAY 'FLD0781C ==> ' HEX-OF (FLD0781C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0781C). + IF FLD0782C (1:) NOT EQUAL XPC-FLD0782C + DISPLAY 'FLD0782C ==> ' HEX-OF (FLD0782C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0782C). + IF FLD0783C (1:) NOT EQUAL XPC-FLD0783C + DISPLAY 'FLD0783C ==> ' HEX-OF (FLD0783C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0783C). + IF FLD0784C (1:) NOT EQUAL XPC-FLD0784C + DISPLAY 'FLD0784C ==> ' HEX-OF (FLD0784C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0784C). + IF FLD0785C (1:) NOT EQUAL XPC-FLD0785C + DISPLAY 'FLD0785C ==> ' HEX-OF (FLD0785C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0785C). + IF FLD0786C (1:) NOT EQUAL XPC-FLD0786C + DISPLAY 'FLD0786C ==> ' HEX-OF (FLD0786C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0786C). + IF FLD0787C (1:) NOT EQUAL XPC-FLD0787C + DISPLAY 'FLD0787C ==> ' HEX-OF (FLD0787C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0787C). + IF FLD0788C (1:) NOT EQUAL XPC-FLD0788C + DISPLAY 'FLD0788C ==> ' HEX-OF (FLD0788C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0788C). + IF FLD0789C (1:) NOT EQUAL XPC-FLD0789C + DISPLAY 'FLD0789C ==> ' HEX-OF (FLD0789C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0789C). + IF FLD0790C (1:) NOT EQUAL XPC-FLD0790C + DISPLAY 'FLD0790C ==> ' HEX-OF (FLD0790C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0790C). + IF FLD0791C (1:) NOT EQUAL XPC-FLD0791C + DISPLAY 'FLD0791C ==> ' HEX-OF (FLD0791C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0791C). + IF FLD0792C (1:) NOT EQUAL XPC-FLD0792C + DISPLAY 'FLD0792C ==> ' HEX-OF (FLD0792C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0792C). + IF FLD0793C (1:) NOT EQUAL XPC-FLD0793C + DISPLAY 'FLD0793C ==> ' HEX-OF (FLD0793C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0793C). + IF FLD0794C (1:) NOT EQUAL XPC-FLD0794C + DISPLAY 'FLD0794C ==> ' HEX-OF (FLD0794C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0794C). + IF FLD0795C (1:) NOT EQUAL XPC-FLD0795C + DISPLAY 'FLD0795C ==> ' HEX-OF (FLD0795C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0795C). + IF FLD0796C (1:) NOT EQUAL XPC-FLD0796C + DISPLAY 'FLD0796C ==> ' HEX-OF (FLD0796C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0796C). + IF FLD0797C (1:) NOT EQUAL XPC-FLD0797C + DISPLAY 'FLD0797C ==> ' HEX-OF (FLD0797C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0797C). + IF FLD0798C (1:) NOT EQUAL XPC-FLD0798C + DISPLAY 'FLD0798C ==> ' HEX-OF (FLD0798C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0798C). + IF FLD0799C (1:) NOT EQUAL XPC-FLD0799C + DISPLAY 'FLD0799C ==> ' HEX-OF (FLD0799C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0799C). + IF FLD0800C (1:) NOT EQUAL XPC-FLD0800C + DISPLAY 'FLD0800C ==> ' HEX-OF (FLD0800C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0800C). + IF FLD0801C (1:) NOT EQUAL XPC-FLD0801C + DISPLAY 'FLD0801C ==> ' HEX-OF (FLD0801C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0801C). + IF FLD0802C (1:) NOT EQUAL XPC-FLD0802C + DISPLAY 'FLD0802C ==> ' HEX-OF (FLD0802C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0802C). + IF FLD0803C (1:) NOT EQUAL XPC-FLD0803C + DISPLAY 'FLD0803C ==> ' HEX-OF (FLD0803C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0803C). + IF FLD0804C (1:) NOT EQUAL XPC-FLD0804C + DISPLAY 'FLD0804C ==> ' HEX-OF (FLD0804C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0804C). + IF FLD0805C (1:) NOT EQUAL XPC-FLD0805C + DISPLAY 'FLD0805C ==> ' HEX-OF (FLD0805C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0805C). + IF FLD0806C (1:) NOT EQUAL XPC-FLD0806C + DISPLAY 'FLD0806C ==> ' HEX-OF (FLD0806C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0806C). + IF FLD0807C (1:) NOT EQUAL XPC-FLD0807C + DISPLAY 'FLD0807C ==> ' HEX-OF (FLD0807C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0807C). + IF FLD0808C (1:) NOT EQUAL XPC-FLD0808C + DISPLAY 'FLD0808C ==> ' HEX-OF (FLD0808C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0808C). + IF FLD0809C (1:) NOT EQUAL XPC-FLD0809C + DISPLAY 'FLD0809C ==> ' HEX-OF (FLD0809C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0809C). + IF FLD0810C (1:) NOT EQUAL XPC-FLD0810C + DISPLAY 'FLD0810C ==> ' HEX-OF (FLD0810C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0810C). + IF FLD0811C (1:) NOT EQUAL XPC-FLD0811C + DISPLAY 'FLD0811C ==> ' HEX-OF (FLD0811C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0811C). + IF FLD0812C (1:) NOT EQUAL XPC-FLD0812C + DISPLAY 'FLD0812C ==> ' HEX-OF (FLD0812C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0812C). + IF FLD0813C (1:) NOT EQUAL XPC-FLD0813C + DISPLAY 'FLD0813C ==> ' HEX-OF (FLD0813C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0813C). + IF FLD0814C (1:) NOT EQUAL XPC-FLD0814C + DISPLAY 'FLD0814C ==> ' HEX-OF (FLD0814C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0814C). + IF FLD0815C (1:) NOT EQUAL XPC-FLD0815C + DISPLAY 'FLD0815C ==> ' HEX-OF (FLD0815C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0815C). + IF FLD0816C (1:) NOT EQUAL XPC-FLD0816C + DISPLAY 'FLD0816C ==> ' HEX-OF (FLD0816C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0816C). + IF FLD0817C (1:) NOT EQUAL XPC-FLD0817C + DISPLAY 'FLD0817C ==> ' HEX-OF (FLD0817C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0817C). + IF FLD0818C (1:) NOT EQUAL XPC-FLD0818C + DISPLAY 'FLD0818C ==> ' HEX-OF (FLD0818C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0818C). + IF FLD0819C (1:) NOT EQUAL XPC-FLD0819C + DISPLAY 'FLD0819C ==> ' HEX-OF (FLD0819C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0819C). + IF FLD0820C (1:) NOT EQUAL XPC-FLD0820C + DISPLAY 'FLD0820C ==> ' HEX-OF (FLD0820C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0820C). + IF FLD0821C (1:) NOT EQUAL XPC-FLD0821C + DISPLAY 'FLD0821C ==> ' HEX-OF (FLD0821C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0821C). + IF FLD0822C (1:) NOT EQUAL XPC-FLD0822C + DISPLAY 'FLD0822C ==> ' HEX-OF (FLD0822C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0822C). + IF FLD0823C (1:) NOT EQUAL XPC-FLD0823C + DISPLAY 'FLD0823C ==> ' HEX-OF (FLD0823C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0823C). + IF FLD0824C (1:) NOT EQUAL XPC-FLD0824C + DISPLAY 'FLD0824C ==> ' HEX-OF (FLD0824C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0824C). + IF FLD0825C (1:) NOT EQUAL XPC-FLD0825C + DISPLAY 'FLD0825C ==> ' HEX-OF (FLD0825C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0825C). + IF FLD0826C (1:) NOT EQUAL XPC-FLD0826C + DISPLAY 'FLD0826C ==> ' HEX-OF (FLD0826C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0826C). + IF FLD0827C (1:) NOT EQUAL XPC-FLD0827C + DISPLAY 'FLD0827C ==> ' HEX-OF (FLD0827C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0827C). + IF FLD0828C (1:) NOT EQUAL XPC-FLD0828C + DISPLAY 'FLD0828C ==> ' HEX-OF (FLD0828C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0828C). + IF FLD0829C (1:) NOT EQUAL XPC-FLD0829C + DISPLAY 'FLD0829C ==> ' HEX-OF (FLD0829C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0829C). + IF FLD0830C (1:) NOT EQUAL XPC-FLD0830C + DISPLAY 'FLD0830C ==> ' HEX-OF (FLD0830C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0830C). + IF FLD0831C (1:) NOT EQUAL XPC-FLD0831C + DISPLAY 'FLD0831C ==> ' HEX-OF (FLD0831C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0831C). + IF FLD0832C (1:) NOT EQUAL XPC-FLD0832C + DISPLAY 'FLD0832C ==> ' HEX-OF (FLD0832C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0832C). + IF FLD0833C (1:) NOT EQUAL XPC-FLD0833C + DISPLAY 'FLD0833C ==> ' HEX-OF (FLD0833C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0833C). + IF FLD0834C (1:) NOT EQUAL XPC-FLD0834C + DISPLAY 'FLD0834C ==> ' HEX-OF (FLD0834C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0834C). + IF FLD0835C (1:) NOT EQUAL XPC-FLD0835C + DISPLAY 'FLD0835C ==> ' HEX-OF (FLD0835C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0835C). + IF FLD0836C (1:) NOT EQUAL XPC-FLD0836C + DISPLAY 'FLD0836C ==> ' HEX-OF (FLD0836C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0836C). + IF FLD0837C (1:) NOT EQUAL XPC-FLD0837C + DISPLAY 'FLD0837C ==> ' HEX-OF (FLD0837C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0837C). + IF FLD0838C (1:) NOT EQUAL XPC-FLD0838C + DISPLAY 'FLD0838C ==> ' HEX-OF (FLD0838C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0838C). + IF FLD0839C (1:) NOT EQUAL XPC-FLD0839C + DISPLAY 'FLD0839C ==> ' HEX-OF (FLD0839C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0839C). + IF FLD0840C (1:) NOT EQUAL XPC-FLD0840C + DISPLAY 'FLD0840C ==> ' HEX-OF (FLD0840C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0840C). + IF FLD0841C (1:) NOT EQUAL XPC-FLD0841C + DISPLAY 'FLD0841C ==> ' HEX-OF (FLD0841C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0841C). + IF FLD0842C (1:) NOT EQUAL XPC-FLD0842C + DISPLAY 'FLD0842C ==> ' HEX-OF (FLD0842C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0842C). + IF FLD0843C (1:) NOT EQUAL XPC-FLD0843C + DISPLAY 'FLD0843C ==> ' HEX-OF (FLD0843C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0843C). + IF FLD0844C (1:) NOT EQUAL XPC-FLD0844C + DISPLAY 'FLD0844C ==> ' HEX-OF (FLD0844C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0844C). + IF FLD0845C (1:) NOT EQUAL XPC-FLD0845C + DISPLAY 'FLD0845C ==> ' HEX-OF (FLD0845C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0845C). + IF FLD0846C (1:) NOT EQUAL XPC-FLD0846C + DISPLAY 'FLD0846C ==> ' HEX-OF (FLD0846C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0846C). + IF FLD0847C (1:) NOT EQUAL XPC-FLD0847C + DISPLAY 'FLD0847C ==> ' HEX-OF (FLD0847C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0847C). + IF FLD0848C (1:) NOT EQUAL XPC-FLD0848C + DISPLAY 'FLD0848C ==> ' HEX-OF (FLD0848C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0848C). + IF FLD0849C (1:) NOT EQUAL XPC-FLD0849C + DISPLAY 'FLD0849C ==> ' HEX-OF (FLD0849C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0849C). + IF FLD0850C (1:) NOT EQUAL XPC-FLD0850C + DISPLAY 'FLD0850C ==> ' HEX-OF (FLD0850C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0850C). + IF FLD0851C (1:) NOT EQUAL XPC-FLD0851C + DISPLAY 'FLD0851C ==> ' HEX-OF (FLD0851C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0851C). + IF FLD0852C (1:) NOT EQUAL XPC-FLD0852C + DISPLAY 'FLD0852C ==> ' HEX-OF (FLD0852C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0852C). + IF FLD0853C (1:) NOT EQUAL XPC-FLD0853C + DISPLAY 'FLD0853C ==> ' HEX-OF (FLD0853C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0853C). + IF FLD0854C (1:) NOT EQUAL XPC-FLD0854C + DISPLAY 'FLD0854C ==> ' HEX-OF (FLD0854C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0854C). + IF FLD0855C (1:) NOT EQUAL XPC-FLD0855C + DISPLAY 'FLD0855C ==> ' HEX-OF (FLD0855C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0855C). + IF FLD0856C (1:) NOT EQUAL XPC-FLD0856C + DISPLAY 'FLD0856C ==> ' HEX-OF (FLD0856C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0856C). + IF FLD0857C (1:) NOT EQUAL XPC-FLD0857C + DISPLAY 'FLD0857C ==> ' HEX-OF (FLD0857C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0857C). + IF FLD0858C (1:) NOT EQUAL XPC-FLD0858C + DISPLAY 'FLD0858C ==> ' HEX-OF (FLD0858C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0858C). + IF FLD0859C (1:) NOT EQUAL XPC-FLD0859C + DISPLAY 'FLD0859C ==> ' HEX-OF (FLD0859C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0859C). + IF FLD0860C (1:) NOT EQUAL XPC-FLD0860C + DISPLAY 'FLD0860C ==> ' HEX-OF (FLD0860C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0860C). + IF FLD0861C (1:) NOT EQUAL XPC-FLD0861C + DISPLAY 'FLD0861C ==> ' HEX-OF (FLD0861C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0861C). + IF FLD0862C (1:) NOT EQUAL XPC-FLD0862C + DISPLAY 'FLD0862C ==> ' HEX-OF (FLD0862C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0862C). + IF FLD0863C (1:) NOT EQUAL XPC-FLD0863C + DISPLAY 'FLD0863C ==> ' HEX-OF (FLD0863C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0863C). + IF FLD0864C (1:) NOT EQUAL XPC-FLD0864C + DISPLAY 'FLD0864C ==> ' HEX-OF (FLD0864C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0864C). + IF FLD0865C (1:) NOT EQUAL XPC-FLD0865C + DISPLAY 'FLD0865C ==> ' HEX-OF (FLD0865C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0865C). + IF FLD0866C (1:) NOT EQUAL XPC-FLD0866C + DISPLAY 'FLD0866C ==> ' HEX-OF (FLD0866C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0866C). + IF FLD0867C (1:) NOT EQUAL XPC-FLD0867C + DISPLAY 'FLD0867C ==> ' HEX-OF (FLD0867C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0867C). + IF FLD0868C (1:) NOT EQUAL XPC-FLD0868C + DISPLAY 'FLD0868C ==> ' HEX-OF (FLD0868C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0868C). + IF FLD0869C (1:) NOT EQUAL XPC-FLD0869C + DISPLAY 'FLD0869C ==> ' HEX-OF (FLD0869C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0869C). + IF FLD0870C (1:) NOT EQUAL XPC-FLD0870C + DISPLAY 'FLD0870C ==> ' HEX-OF (FLD0870C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0870C). + IF FLD0871C (1:) NOT EQUAL XPC-FLD0871C + DISPLAY 'FLD0871C ==> ' HEX-OF (FLD0871C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0871C). + IF FLD0872C (1:) NOT EQUAL XPC-FLD0872C + DISPLAY 'FLD0872C ==> ' HEX-OF (FLD0872C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0872C). + IF FLD0873C (1:) NOT EQUAL XPC-FLD0873C + DISPLAY 'FLD0873C ==> ' HEX-OF (FLD0873C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0873C). + IF FLD0874C (1:) NOT EQUAL XPC-FLD0874C + DISPLAY 'FLD0874C ==> ' HEX-OF (FLD0874C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0874C). + IF FLD0875C (1:) NOT EQUAL XPC-FLD0875C + DISPLAY 'FLD0875C ==> ' HEX-OF (FLD0875C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0875C). + IF FLD0876C (1:) NOT EQUAL XPC-FLD0876C + DISPLAY 'FLD0876C ==> ' HEX-OF (FLD0876C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0876C). + IF FLD0877C (1:) NOT EQUAL XPC-FLD0877C + DISPLAY 'FLD0877C ==> ' HEX-OF (FLD0877C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0877C). + IF FLD0878C (1:) NOT EQUAL XPC-FLD0878C + DISPLAY 'FLD0878C ==> ' HEX-OF (FLD0878C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0878C). + IF FLD0879C (1:) NOT EQUAL XPC-FLD0879C + DISPLAY 'FLD0879C ==> ' HEX-OF (FLD0879C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0879C). + IF FLD0880C (1:) NOT EQUAL XPC-FLD0880C + DISPLAY 'FLD0880C ==> ' HEX-OF (FLD0880C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0880C). + IF FLD0881C (1:) NOT EQUAL XPC-FLD0881C + DISPLAY 'FLD0881C ==> ' HEX-OF (FLD0881C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0881C). + IF FLD0882C (1:) NOT EQUAL XPC-FLD0882C + DISPLAY 'FLD0882C ==> ' HEX-OF (FLD0882C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0882C). + IF FLD0883C (1:) NOT EQUAL XPC-FLD0883C + DISPLAY 'FLD0883C ==> ' HEX-OF (FLD0883C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0883C). + IF FLD0884C (1:) NOT EQUAL XPC-FLD0884C + DISPLAY 'FLD0884C ==> ' HEX-OF (FLD0884C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0884C). + IF FLD0885C (1:) NOT EQUAL XPC-FLD0885C + DISPLAY 'FLD0885C ==> ' HEX-OF (FLD0885C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0885C). + IF FLD0886C (1:) NOT EQUAL XPC-FLD0886C + DISPLAY 'FLD0886C ==> ' HEX-OF (FLD0886C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0886C). + IF FLD0887C (1:) NOT EQUAL XPC-FLD0887C + DISPLAY 'FLD0887C ==> ' HEX-OF (FLD0887C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0887C). + IF FLD0888C (1:) NOT EQUAL XPC-FLD0888C + DISPLAY 'FLD0888C ==> ' HEX-OF (FLD0888C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0888C). + IF FLD0889C (1:) NOT EQUAL XPC-FLD0889C + DISPLAY 'FLD0889C ==> ' HEX-OF (FLD0889C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0889C). + IF FLD0890C (1:) NOT EQUAL XPC-FLD0890C + DISPLAY 'FLD0890C ==> ' HEX-OF (FLD0890C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0890C). + IF FLD0891C (1:) NOT EQUAL XPC-FLD0891C + DISPLAY 'FLD0891C ==> ' HEX-OF (FLD0891C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0891C). + IF FLD0892C (1:) NOT EQUAL XPC-FLD0892C + DISPLAY 'FLD0892C ==> ' HEX-OF (FLD0892C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0892C). + IF FLD0893C (1:) NOT EQUAL XPC-FLD0893C + DISPLAY 'FLD0893C ==> ' HEX-OF (FLD0893C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0893C). + IF FLD0894C (1:) NOT EQUAL XPC-FLD0894C + DISPLAY 'FLD0894C ==> ' HEX-OF (FLD0894C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0894C). + IF FLD0895C (1:) NOT EQUAL XPC-FLD0895C + DISPLAY 'FLD0895C ==> ' HEX-OF (FLD0895C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0895C). + IF FLD0896C (1:) NOT EQUAL XPC-FLD0896C + DISPLAY 'FLD0896C ==> ' HEX-OF (FLD0896C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0896C). + IF FLD0897C (1:) NOT EQUAL XPC-FLD0897C + DISPLAY 'FLD0897C ==> ' HEX-OF (FLD0897C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0897C). + IF FLD0898C (1:) NOT EQUAL XPC-FLD0898C + DISPLAY 'FLD0898C ==> ' HEX-OF (FLD0898C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0898C). + IF FLD0899C (1:) NOT EQUAL XPC-FLD0899C + DISPLAY 'FLD0899C ==> ' HEX-OF (FLD0899C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0899C). + IF FLD0900C (1:) NOT EQUAL XPC-FLD0900C + DISPLAY 'FLD0900C ==> ' HEX-OF (FLD0900C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0900C). + IF FLD0901C (1:) NOT EQUAL XPC-FLD0901C + DISPLAY 'FLD0901C ==> ' HEX-OF (FLD0901C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0901C). + IF FLD0902C (1:) NOT EQUAL XPC-FLD0902C + DISPLAY 'FLD0902C ==> ' HEX-OF (FLD0902C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0902C). + IF FLD0903C (1:) NOT EQUAL XPC-FLD0903C + DISPLAY 'FLD0903C ==> ' HEX-OF (FLD0903C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0903C). + IF FLD0904C (1:) NOT EQUAL XPC-FLD0904C + DISPLAY 'FLD0904C ==> ' HEX-OF (FLD0904C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0904C). + IF FLD0905C (1:) NOT EQUAL XPC-FLD0905C + DISPLAY 'FLD0905C ==> ' HEX-OF (FLD0905C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0905C). + IF FLD0906C (1:) NOT EQUAL XPC-FLD0906C + DISPLAY 'FLD0906C ==> ' HEX-OF (FLD0906C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0906C). + IF FLD0907C (1:) NOT EQUAL XPC-FLD0907C + DISPLAY 'FLD0907C ==> ' HEX-OF (FLD0907C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0907C). + IF FLD0908C (1:) NOT EQUAL XPC-FLD0908C + DISPLAY 'FLD0908C ==> ' HEX-OF (FLD0908C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0908C). + IF FLD0909C (1:) NOT EQUAL XPC-FLD0909C + DISPLAY 'FLD0909C ==> ' HEX-OF (FLD0909C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0909C). + IF FLD0910C (1:) NOT EQUAL XPC-FLD0910C + DISPLAY 'FLD0910C ==> ' HEX-OF (FLD0910C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0910C). + IF FLD0911C (1:) NOT EQUAL XPC-FLD0911C + DISPLAY 'FLD0911C ==> ' HEX-OF (FLD0911C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0911C). + IF FLD0912C (1:) NOT EQUAL XPC-FLD0912C + DISPLAY 'FLD0912C ==> ' HEX-OF (FLD0912C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0912C). + IF FLD0913C (1:) NOT EQUAL XPC-FLD0913C + DISPLAY 'FLD0913C ==> ' HEX-OF (FLD0913C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0913C). + IF FLD0914C (1:) NOT EQUAL XPC-FLD0914C + DISPLAY 'FLD0914C ==> ' HEX-OF (FLD0914C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0914C). + IF FLD0915C (1:) NOT EQUAL XPC-FLD0915C + DISPLAY 'FLD0915C ==> ' HEX-OF (FLD0915C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0915C). + IF FLD0916C (1:) NOT EQUAL XPC-FLD0916C + DISPLAY 'FLD0916C ==> ' HEX-OF (FLD0916C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0916C). + IF FLD0917C (1:) NOT EQUAL XPC-FLD0917C + DISPLAY 'FLD0917C ==> ' HEX-OF (FLD0917C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0917C). + IF FLD0918C (1:) NOT EQUAL XPC-FLD0918C + DISPLAY 'FLD0918C ==> ' HEX-OF (FLD0918C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0918C). + IF FLD0919C (1:) NOT EQUAL XPC-FLD0919C + DISPLAY 'FLD0919C ==> ' HEX-OF (FLD0919C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0919C). + IF FLD0920C (1:) NOT EQUAL XPC-FLD0920C + DISPLAY 'FLD0920C ==> ' HEX-OF (FLD0920C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0920C). + IF FLD0921C (1:) NOT EQUAL XPC-FLD0921C + DISPLAY 'FLD0921C ==> ' HEX-OF (FLD0921C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0921C). + IF FLD0922C (1:) NOT EQUAL XPC-FLD0922C + DISPLAY 'FLD0922C ==> ' HEX-OF (FLD0922C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0922C). + IF FLD0923C (1:) NOT EQUAL XPC-FLD0923C + DISPLAY 'FLD0923C ==> ' HEX-OF (FLD0923C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0923C). + IF FLD0924C (1:) NOT EQUAL XPC-FLD0924C + DISPLAY 'FLD0924C ==> ' HEX-OF (FLD0924C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0924C). + IF FLD0925C (1:) NOT EQUAL XPC-FLD0925C + DISPLAY 'FLD0925C ==> ' HEX-OF (FLD0925C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0925C). + IF FLD0926C (1:) NOT EQUAL XPC-FLD0926C + DISPLAY 'FLD0926C ==> ' HEX-OF (FLD0926C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0926C). + IF FLD0927C (1:) NOT EQUAL XPC-FLD0927C + DISPLAY 'FLD0927C ==> ' HEX-OF (FLD0927C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0927C). + IF FLD0928C (1:) NOT EQUAL XPC-FLD0928C + DISPLAY 'FLD0928C ==> ' HEX-OF (FLD0928C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0928C). + IF FLD0929C (1:) NOT EQUAL XPC-FLD0929C + DISPLAY 'FLD0929C ==> ' HEX-OF (FLD0929C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0929C). + IF FLD0930C (1:) NOT EQUAL XPC-FLD0930C + DISPLAY 'FLD0930C ==> ' HEX-OF (FLD0930C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0930C). + IF FLD0931C (1:) NOT EQUAL XPC-FLD0931C + DISPLAY 'FLD0931C ==> ' HEX-OF (FLD0931C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0931C). + IF FLD0932C (1:) NOT EQUAL XPC-FLD0932C + DISPLAY 'FLD0932C ==> ' HEX-OF (FLD0932C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0932C). + IF FLD0933C (1:) NOT EQUAL XPC-FLD0933C + DISPLAY 'FLD0933C ==> ' HEX-OF (FLD0933C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0933C). + IF FLD0934C (1:) NOT EQUAL XPC-FLD0934C + DISPLAY 'FLD0934C ==> ' HEX-OF (FLD0934C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0934C). + IF FLD0935C (1:) NOT EQUAL XPC-FLD0935C + DISPLAY 'FLD0935C ==> ' HEX-OF (FLD0935C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0935C). + IF FLD0936C (1:) NOT EQUAL XPC-FLD0936C + DISPLAY 'FLD0936C ==> ' HEX-OF (FLD0936C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0936C). + IF FLD0937C (1:) NOT EQUAL XPC-FLD0937C + DISPLAY 'FLD0937C ==> ' HEX-OF (FLD0937C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0937C). + IF FLD0938C (1:) NOT EQUAL XPC-FLD0938C + DISPLAY 'FLD0938C ==> ' HEX-OF (FLD0938C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0938C). + IF FLD0939C (1:) NOT EQUAL XPC-FLD0939C + DISPLAY 'FLD0939C ==> ' HEX-OF (FLD0939C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0939C). + IF FLD0940C (1:) NOT EQUAL XPC-FLD0940C + DISPLAY 'FLD0940C ==> ' HEX-OF (FLD0940C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0940C). + IF FLD0941C (1:) NOT EQUAL XPC-FLD0941C + DISPLAY 'FLD0941C ==> ' HEX-OF (FLD0941C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0941C). + IF FLD0942C (1:) NOT EQUAL XPC-FLD0942C + DISPLAY 'FLD0942C ==> ' HEX-OF (FLD0942C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0942C). + IF FLD0943C (1:) NOT EQUAL XPC-FLD0943C + DISPLAY 'FLD0943C ==> ' HEX-OF (FLD0943C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0943C). + IF FLD0944C (1:) NOT EQUAL XPC-FLD0944C + DISPLAY 'FLD0944C ==> ' HEX-OF (FLD0944C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0944C). + IF FLD0945C (1:) NOT EQUAL XPC-FLD0945C + DISPLAY 'FLD0945C ==> ' HEX-OF (FLD0945C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0945C). + IF FLD0946C (1:) NOT EQUAL XPC-FLD0946C + DISPLAY 'FLD0946C ==> ' HEX-OF (FLD0946C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0946C). + IF FLD0947C (1:) NOT EQUAL XPC-FLD0947C + DISPLAY 'FLD0947C ==> ' HEX-OF (FLD0947C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0947C). + IF FLD0948C (1:) NOT EQUAL XPC-FLD0948C + DISPLAY 'FLD0948C ==> ' HEX-OF (FLD0948C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0948C). + IF FLD0949C (1:) NOT EQUAL XPC-FLD0949C + DISPLAY 'FLD0949C ==> ' HEX-OF (FLD0949C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0949C). + IF FLD0950C (1:) NOT EQUAL XPC-FLD0950C + DISPLAY 'FLD0950C ==> ' HEX-OF (FLD0950C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0950C). + IF FLD0951C (1:) NOT EQUAL XPC-FLD0951C + DISPLAY 'FLD0951C ==> ' HEX-OF (FLD0951C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0951C). + IF FLD0952C (1:) NOT EQUAL XPC-FLD0952C + DISPLAY 'FLD0952C ==> ' HEX-OF (FLD0952C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0952C). + IF FLD0953C (1:) NOT EQUAL XPC-FLD0953C + DISPLAY 'FLD0953C ==> ' HEX-OF (FLD0953C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0953C). + IF FLD0954C (1:) NOT EQUAL XPC-FLD0954C + DISPLAY 'FLD0954C ==> ' HEX-OF (FLD0954C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0954C). + IF FLD0955C (1:) NOT EQUAL XPC-FLD0955C + DISPLAY 'FLD0955C ==> ' HEX-OF (FLD0955C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0955C). + IF FLD0956C (1:) NOT EQUAL XPC-FLD0956C + DISPLAY 'FLD0956C ==> ' HEX-OF (FLD0956C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0956C). + IF FLD0957C (1:) NOT EQUAL XPC-FLD0957C + DISPLAY 'FLD0957C ==> ' HEX-OF (FLD0957C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0957C). + IF FLD0958C (1:) NOT EQUAL XPC-FLD0958C + DISPLAY 'FLD0958C ==> ' HEX-OF (FLD0958C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0958C). + IF FLD0959C (1:) NOT EQUAL XPC-FLD0959C + DISPLAY 'FLD0959C ==> ' HEX-OF (FLD0959C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0959C). + IF FLD0960C (1:) NOT EQUAL XPC-FLD0960C + DISPLAY 'FLD0960C ==> ' HEX-OF (FLD0960C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0960C). + IF FLD0961C (1:) NOT EQUAL XPC-FLD0961C + DISPLAY 'FLD0961C ==> ' HEX-OF (FLD0961C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0961C). + IF FLD0962C (1:) NOT EQUAL XPC-FLD0962C + DISPLAY 'FLD0962C ==> ' HEX-OF (FLD0962C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0962C). + IF FLD0963C (1:) NOT EQUAL XPC-FLD0963C + DISPLAY 'FLD0963C ==> ' HEX-OF (FLD0963C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0963C). + IF FLD0964C (1:) NOT EQUAL XPC-FLD0964C + DISPLAY 'FLD0964C ==> ' HEX-OF (FLD0964C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0964C). + IF FLD0965C (1:) NOT EQUAL XPC-FLD0965C + DISPLAY 'FLD0965C ==> ' HEX-OF (FLD0965C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0965C). + IF FLD0966C (1:) NOT EQUAL XPC-FLD0966C + DISPLAY 'FLD0966C ==> ' HEX-OF (FLD0966C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0966C). + IF FLD0967C (1:) NOT EQUAL XPC-FLD0967C + DISPLAY 'FLD0967C ==> ' HEX-OF (FLD0967C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0967C). + IF FLD0968C (1:) NOT EQUAL XPC-FLD0968C + DISPLAY 'FLD0968C ==> ' HEX-OF (FLD0968C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0968C). + IF FLD0969C (1:) NOT EQUAL XPC-FLD0969C + DISPLAY 'FLD0969C ==> ' HEX-OF (FLD0969C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0969C). + IF FLD0970C (1:) NOT EQUAL XPC-FLD0970C + DISPLAY 'FLD0970C ==> ' HEX-OF (FLD0970C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0970C). + IF FLD0971C (1:) NOT EQUAL XPC-FLD0971C + DISPLAY 'FLD0971C ==> ' HEX-OF (FLD0971C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0971C). + IF FLD0972C (1:) NOT EQUAL XPC-FLD0972C + DISPLAY 'FLD0972C ==> ' HEX-OF (FLD0972C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0972C). + IF FLD0973C (1:) NOT EQUAL XPC-FLD0973C + DISPLAY 'FLD0973C ==> ' HEX-OF (FLD0973C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0973C). + IF FLD0974C (1:) NOT EQUAL XPC-FLD0974C + DISPLAY 'FLD0974C ==> ' HEX-OF (FLD0974C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0974C). + IF FLD0975C (1:) NOT EQUAL XPC-FLD0975C + DISPLAY 'FLD0975C ==> ' HEX-OF (FLD0975C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0975C). + IF FLD0976C (1:) NOT EQUAL XPC-FLD0976C + DISPLAY 'FLD0976C ==> ' HEX-OF (FLD0976C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0976C). + IF FLD0977C (1:) NOT EQUAL XPC-FLD0977C + DISPLAY 'FLD0977C ==> ' HEX-OF (FLD0977C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0977C). + IF FLD0978C (1:) NOT EQUAL XPC-FLD0978C + DISPLAY 'FLD0978C ==> ' HEX-OF (FLD0978C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0978C). + IF FLD0979C (1:) NOT EQUAL XPC-FLD0979C + DISPLAY 'FLD0979C ==> ' HEX-OF (FLD0979C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0979C). + IF FLD0980C (1:) NOT EQUAL XPC-FLD0980C + DISPLAY 'FLD0980C ==> ' HEX-OF (FLD0980C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0980C). + IF FLD0981C (1:) NOT EQUAL XPC-FLD0981C + DISPLAY 'FLD0981C ==> ' HEX-OF (FLD0981C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0981C). + IF FLD0982C (1:) NOT EQUAL XPC-FLD0982C + DISPLAY 'FLD0982C ==> ' HEX-OF (FLD0982C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0982C). + IF FLD0983C (1:) NOT EQUAL XPC-FLD0983C + DISPLAY 'FLD0983C ==> ' HEX-OF (FLD0983C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0983C). + IF FLD0984C (1:) NOT EQUAL XPC-FLD0984C + DISPLAY 'FLD0984C ==> ' HEX-OF (FLD0984C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0984C). + IF FLD0985C (1:) NOT EQUAL XPC-FLD0985C + DISPLAY 'FLD0985C ==> ' HEX-OF (FLD0985C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0985C). + IF FLD0986C (1:) NOT EQUAL XPC-FLD0986C + DISPLAY 'FLD0986C ==> ' HEX-OF (FLD0986C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0986C). + IF FLD0987C (1:) NOT EQUAL XPC-FLD0987C + DISPLAY 'FLD0987C ==> ' HEX-OF (FLD0987C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0987C). + IF FLD0988C (1:) NOT EQUAL XPC-FLD0988C + DISPLAY 'FLD0988C ==> ' HEX-OF (FLD0988C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0988C). + IF FLD0989C (1:) NOT EQUAL XPC-FLD0989C + DISPLAY 'FLD0989C ==> ' HEX-OF (FLD0989C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0989C). + IF FLD0990C (1:) NOT EQUAL XPC-FLD0990C + DISPLAY 'FLD0990C ==> ' HEX-OF (FLD0990C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0990C). + IF FLD0991C (1:) NOT EQUAL XPC-FLD0991C + DISPLAY 'FLD0991C ==> ' HEX-OF (FLD0991C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0991C). + IF FLD0992C (1:) NOT EQUAL XPC-FLD0992C + DISPLAY 'FLD0992C ==> ' HEX-OF (FLD0992C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0992C). + IF FLD0993C (1:) NOT EQUAL XPC-FLD0993C + DISPLAY 'FLD0993C ==> ' HEX-OF (FLD0993C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0993C). + IF FLD0994C (1:) NOT EQUAL XPC-FLD0994C + DISPLAY 'FLD0994C ==> ' HEX-OF (FLD0994C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0994C). + IF FLD0995C (1:) NOT EQUAL XPC-FLD0995C + DISPLAY 'FLD0995C ==> ' HEX-OF (FLD0995C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0995C). + IF FLD0996C (1:) NOT EQUAL XPC-FLD0996C + DISPLAY 'FLD0996C ==> ' HEX-OF (FLD0996C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0996C). + IF FLD0997C (1:) NOT EQUAL XPC-FLD0997C + DISPLAY 'FLD0997C ==> ' HEX-OF (FLD0997C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0997C). + IF FLD0998C (1:) NOT EQUAL XPC-FLD0998C + DISPLAY 'FLD0998C ==> ' HEX-OF (FLD0998C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0998C). + IF FLD0999C (1:) NOT EQUAL XPC-FLD0999C + DISPLAY 'FLD0999C ==> ' HEX-OF (FLD0999C) + x'0a' 'EXPECTED ==> ' HEX-OF (XPC-FLD0999C). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:12320: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "data_packed.at:12320" +( $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/data_packed.at:12320" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:12321: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_packed.at:12321" +( $at_check_trace; $COBCRUN_DIRECT ./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/data_packed.at:12321" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1305 +#AT_START_1306 +at_fn_group_banner 1306 'data_packed.at:12326' \ + "BCD ADD and SUBTRACT w/o SIZE ERROR" " " 5 +at_xfail=no +( + printf "%s\n" "1306. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was originally generated and contributed by Chuck Haatvedt. +# It tests a huge amount of ADD / SUBTRACT between BCD fields with different +# attributes (size, decimal places, sign, sign nible) and checks for the +# expected hexadecimal value as well as the raise of a SIZE ERROR +# after the computation. +# The initial test was split later to be compilable without issues on +# "small tin" and also to make it easier for checking tools to insert +# additional debug code - without forcing the compiler to work too hard +# to compile / link that. +# As this code only tests BCD there is a duplicate in data_display.at +# that tests the same with cob_decimal. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTNR. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0001A PIC 9(08)V9(19) COMP-3 + VALUE 72210483.5706116943150334464. + 77 FLD0001B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0001E PIC X VALUE 'N'. + + 77 FLD0002A PIC 9(05)V9(26) COMP-6 + VALUE 83954.98773698940597753903603006. + 77 FLD0002B PIC 9(05)V9(27) COMP-6 + VALUE 85526.912891598327881581553810974. + 77 FLD0002E PIC X VALUE 'N'. + + 77 FLD0003A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0003B PIC 9(10)V9(08) COMP-6 + VALUE 4976916625.40136914. + 77 FLD0003E PIC X VALUE 'N'. + + 77 FLD0004A PIC S9(08)V9(03) COMP-3 + VALUE +31348416.669. + 77 FLD0004B PIC 9(05)V9(01) COMP-6 + VALUE 16799.5. + 77 FLD0004E PIC X VALUE 'N'. + + 77 FLD0005A PIC S9(07)V9(01) COMP-3 + VALUE +2337334.8. + 77 FLD0005B PIC S9(09)V9(03) COMP-3 + VALUE +324331791.973. + 77 FLD0005E PIC X VALUE 'N'. + + 77 FLD0006A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0006B PIC 9(03)V9(31) COMP-3 + VALUE 912.5850054312464321171205483551602. + 77 FLD0006E PIC X VALUE 'N'. + + 77 FLD0007A PIC S9(04) COMP-3 + VALUE +1123. + 77 FLD0007B PIC S9(08)V9(02) COMP-3 + VALUE -27032151.91. + 77 FLD0007E PIC X VALUE 'N'. + + 77 FLD0008A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0008B PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0008E PIC X VALUE 'N'. + + 77 FLD0009A PIC 9(10)V9(07) COMP-6 + VALUE 4695987895.4491957. + 77 FLD0009B PIC 9(05)V9(28) COMP-3 + VALUE 87164.4396861416259625343627703841. + 77 FLD0009E PIC X VALUE 'N'. + + 77 FLD0010A PIC 9(03)V9(32) COMP-3 + VALUE 932.59120224122482589734772773226723. + 77 FLD0010B PIC S9(09)V9(06) COMP-3 + VALUE +401314086.816856. + 77 FLD0010E PIC X VALUE 'N'. + + 77 FLD0011A PIC 9(09)V9(04) COMP-6 + VALUE 356168291.4830. + 77 FLD0011B PIC 9(04)V9(29) COMP-6 + VALUE 8869.25340695890795927880390081554. + 77 FLD0011E PIC X VALUE 'N'. + + 77 FLD0012A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0012B PIC 9(08)V9(19) COMP-3 + VALUE 71485769.2486604356929547066. + 77 FLD0012E PIC X VALUE 'N'. + + 77 FLD0013A PIC 9(06)V9(25) COMP-6 + VALUE 829630.0004717120923913853403064. + 77 FLD0013B PIC 9(07)V9(02) COMP-6 + VALUE 2497013.60. + 77 FLD0013E PIC X VALUE 'N'. + + 77 FLD0014A PIC 9(09)V9(13) COMP-3 + VALUE 592943121.2490873237541. + 77 FLD0014B PIC 9(06)V9(01) COMP-6 + VALUE 186764.7. + 77 FLD0014E PIC X VALUE 'N'. + + 77 FLD0015A PIC 9(07)V9(23) COMP-6 + VALUE 7984732.71412134533164817185024. + 77 FLD0015B PIC 9(10)V9(08) COMP-6 + VALUE 4953047329.19498391. + 77 FLD0015E PIC X VALUE 'N'. + + 77 FLD0016A PIC 9(05)V9(28) COMP-3 + VALUE 87275.9557853607148558694461826235. + 77 FLD0016B PIC S9(10)V9(06) COMP-3 + VALUE +4316165362.791636. + 77 FLD0016E PIC X VALUE 'N'. + + 77 FLD0017A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0017B PIC 9(04)V9(30) COMP-6 + VALUE 8983.341087204116393039043941826093. + 77 FLD0017E PIC X VALUE 'N'. + + 77 FLD0018A PIC 9(07)V9(21) COMP-3 + VALUE 7619026.805277494540646898713. + 77 FLD0018B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0018E PIC X VALUE 'N'. + + 77 FLD0019A PIC S9(10)V9(08) COMP-3 + VALUE -4930528885.68236813. + 77 FLD0019B PIC S9(09)V9(06) COMP-3 + VALUE +402620216.542097. + 77 FLD0019E PIC X VALUE 'N'. + + 77 FLD0020A PIC 9(09)V9(15) COMP-3 + VALUE 643887452.720044328735582. + 77 FLD0020B PIC 9(09)V9(11) COMP-3 + VALUE 552340679.26366126055. + 77 FLD0020E PIC X VALUE 'N'. + + 77 FLD0021A PIC 9(01)V9(36) COMP-6 + VALUE 9.880441680787707126043528660375159233. + 77 FLD0021B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0021E PIC X VALUE 'N'. + + 77 FLD0022A PIC 9(06)V9(24) COMP-3 + VALUE 810040.192546636172998830716096. + 77 FLD0022B PIC 9(07)V9(21) COMP-3 + VALUE 7610660.641468062204140210269. + 77 FLD0022E PIC X VALUE 'N'. + + 77 FLD0023A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0023B PIC 9(02)V9(34) COMP-3 + VALUE 95.1865432391802879230624512274516746. + 77 FLD0023E PIC X VALUE 'N'. + + 77 FLD0024A PIC 9(09)V9(03) COMP-6 + VALUE 329406009.124. + 77 FLD0024B PIC S9(09)V9(06) COMP-3 + VALUE +410668612.232476. + 77 FLD0024E PIC X VALUE 'N'. + + 77 FLD0025A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0025B PIC 9(07)V9(02) COMP-6 + VALUE 2497488.27. + 77 FLD0025E PIC X VALUE 'N'. + + 77 FLD0026A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0026B PIC S9(09)V9(05) COMP-3 + VALUE -383757196.20564. + 77 FLD0026E PIC X VALUE 'N'. + + 77 FLD0027A PIC 9(09)V9(13) COMP-3 + VALUE 601026867.0937520818498. + 77 FLD0027B PIC 9(06)V9(25) COMP-6 + VALUE 815849.1045356750515082921992870. + 77 FLD0027E PIC X VALUE 'N'. + + 77 FLD0028A PIC 9(04)V9(29) COMP-6 + VALUE 8794.72782911061568000832266989164. + 77 FLD0028B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0028E PIC X VALUE 'N'. + + 77 FLD0029A PIC 9(05) COMP-6 + VALUE 13697. + 77 FLD0029B PIC 9(09)V9(17) COMP-3 + VALUE 684374480.18294422258378517. + 77 FLD0029E PIC X VALUE 'N'. + + 77 FLD0030A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0030B PIC 9(08)V9(18) COMP-3 + VALUE 70264210.169553353857452293. + 77 FLD0030E PIC X VALUE 'N'. + + 77 FLD0031A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0031B PIC 9(08)V9(18) COMP-3 + VALUE 70450280.588407820925311852. + 77 FLD0031E PIC X VALUE 'N'. + + 77 FLD0032A PIC 9(10)V9(10) COMP-6 + VALUE 5269599769.4606222516. + 77 FLD0032B PIC S9(09)V9(03) COMP-3 + VALUE +322379197.669. + 77 FLD0032E PIC X VALUE 'N'. + + 77 FLD0033A PIC 9(09)V9(15) COMP-3 + VALUE 641903038.069859710468278. + 77 FLD0033B PIC 9(09)V9(03) COMP-6 + VALUE 318353502.142. + 77 FLD0033E PIC X VALUE 'N'. + + 77 FLD0034A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0034B PIC S9(07)V9(01) COMP-3 + VALUE +2126766.9. + 77 FLD0034E PIC X VALUE 'N'. + + 77 FLD0035A PIC 9(06)V9(25) COMP-6 + VALUE 816285.5924199176049782522568420. + 77 FLD0035B PIC 9(07)V9(01) COMP-6 + VALUE 2276316.1. + 77 FLD0035E PIC X VALUE 'N'. + + 77 FLD0036A PIC 9(01)V9(36) COMP-6 + VALUE 9.789384107274801127829277902492322027. + 77 FLD0036B PIC 9(05)V9(27) COMP-6 + VALUE 84790.535447228665422159110676147. + 77 FLD0036E PIC X VALUE 'N'. + + 77 FLD0037A PIC 9(10)V9(11) COMP-6 + VALUE 5559560836.79804091701. + 77 FLD0037B PIC S9(05) COMP-3 + VALUE -15352. + 77 FLD0037E PIC X VALUE 'N'. + + 77 FLD0038A PIC 9(02)V9(34) COMP-6 + VALUE 95.5897506417712539139586169767426326. + 77 FLD0038B PIC 9(06)V9(25) COMP-6 + VALUE 819342.2486726212872198971126636. + 77 FLD0038E PIC X VALUE 'N'. + + 77 FLD0039A PIC 9(04)V9(29) COMP-3 + VALUE 8933.20399454893721014059337903745. + 77 FLD0039B PIC 9(06)V9(01) COMP-6 + VALUE 205344.3. + 77 FLD0039E PIC X VALUE 'N'. + + 77 FLD0040A PIC S9(06) COMP-3 + VALUE -162227. + 77 FLD0040B PIC S9(03) COMP-3 + VALUE +101. + 77 FLD0040E PIC X VALUE 'N'. + + 77 FLD0041A PIC 9(09)V9(17) COMP-6 + VALUE 687709210.19485042879892944. + 77 FLD0041B PIC 9(10)V9(09) COMP-3 + VALUE 5032246021.307608119. + 77 FLD0041E PIC X VALUE 'N'. + + 77 FLD0042A PIC 9(07)V9(22) COMP-6 + VALUE 7680734.5400734650109342283030. + 77 FLD0042B PIC 9(10)V9(10) COMP-6 + VALUE 5398987461.4943655917. + 77 FLD0042E PIC X VALUE 'N'. + + 77 FLD0043A PIC S9(08)V9(02) COMP-3 + VALUE -28038049.48. + 77 FLD0043B PIC 9(04)V9(30) COMP-3 + VALUE 9102.051349475740460448491830902639. + 77 FLD0043E PIC X VALUE 'N'. + + 77 FLD0044A PIC 9(06)V9(01) COMP-6 + VALUE 206224.3. + 77 FLD0044B PIC 9(09)V9(04) COMP-6 + VALUE 359534215.7883. + 77 FLD0044E PIC X VALUE 'N'. + + 77 FLD0045A PIC 9(08)V9(02) COMP-6 + VALUE 28592495.81. + 77 FLD0045B PIC 9(09)V9(05) COMP-6 + VALUE 377058873.76830. + 77 FLD0045E PIC X VALUE 'N'. + + 77 FLD0046A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0046B PIC 9(05)V9(27) COMP-3 + VALUE 86000.025910646182847330010190489. + 77 FLD0046E PIC X VALUE 'N'. + + 77 FLD0047A PIC 9(08)V9(02) COMP-6 + VALUE 26966592.97. + 77 FLD0047B PIC 9(10)V9(08) COMP-6 + VALUE 4982239515.90845814. + 77 FLD0047E PIC X VALUE 'N'. + + 77 FLD0048A PIC 9(05)V9(26) COMP-6 + VALUE 83962.84254838164429202151950448. + 77 FLD0048B PIC S9(05)V9(01) COMP-3 + VALUE -17309.9. + 77 FLD0048E PIC X VALUE 'N'. + + 77 FLD0049A PIC 9(09)V9(16) COMP-6 + VALUE 677621907.0336453320635428. + 77 FLD0049B PIC 9(01)V9(36) COMP-6 + VALUE 9.784571866912429305429554915463086217. + 77 FLD0049E PIC X VALUE 'N'. + + 77 FLD0050A PIC 9(09)V9(03) COMP-6 + VALUE 329667670.988. + 77 FLD0050B PIC 9(09)V9(06) COMP-6 + VALUE 408790070.710566. + 77 FLD0050E PIC X VALUE 'N'. + + 77 FLD0051A PIC 9(09)V9(15) COMP-3 + VALUE 643375703.689413991348544. + 77 FLD0051B PIC 9(04)V9(30) COMP-6 + VALUE 9064.871948640588206203005938732530. + 77 FLD0051E PIC X VALUE 'N'. + + 77 FLD0052A PIC 9(09)V9(04) COMP-6 + VALUE 367200483.8576. + 77 FLD0052B PIC 9(09)V9(11) COMP-3 + VALUE 550990476.15163754265. + 77 FLD0052E PIC X VALUE 'N'. + + 77 FLD0053A PIC 9(07)V9(01) COMP-6 + VALUE 2260324.6. + 77 FLD0053B PIC S9(09)V9(04) COMP-3 + VALUE -361176713.4701. + 77 FLD0053E PIC X VALUE 'N'. + + 77 FLD0054A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0054B PIC 9(09)V9(03) COMP-6 + VALUE 319288758.232. + 77 FLD0054E PIC X VALUE 'N'. + + 77 FLD0055A PIC 9(09)V9(14) COMP-3 + VALUE 622232417.66982828604426. + 77 FLD0055B PIC 9(08)V9(17) COMP-3 + VALUE 68254498.02012105715576240. + 77 FLD0055E PIC X VALUE 'N'. + + 77 FLD0056A PIC 9(07)V9(01) COMP-6 + VALUE 2161993.9. + 77 FLD0056B PIC 9(08)V9(02) COMP-6 + VALUE 27806089.73. + 77 FLD0056E PIC X VALUE 'N'. + + 77 FLD0057A PIC 9(03)V9(32) COMP-6 + VALUE 929.20878243011406638629523513372987. + 77 FLD0057B PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0057E PIC X VALUE 'N'. + + 77 FLD0058A PIC 9(02)V9(34) COMP-6 + VALUE 96.6574119281082611010447180888149887. + 77 FLD0058B PIC S9(09)V9(04) COMP-3 + VALUE +343623662.0368. + 77 FLD0058E PIC X VALUE 'N'. + + 77 FLD0059A PIC 9(07)V9(02) COMP-6 + VALUE 2566438.61. + 77 FLD0059B PIC 9(09)V9(14) COMP-6 + VALUE 625762300.58564874525472. + 77 FLD0059E PIC X VALUE 'N'. + + 77 FLD0060A PIC 9(01)V9(36) COMP-6 + VALUE 9.888752946983269120906356874911580234. + 77 FLD0060B PIC 9(06) COMP-6 + VALUE 159150. + 77 FLD0060E PIC X VALUE 'N'. + + 77 FLD0061A PIC 9(03) COMP-6 + VALUE 095. + 77 FLD0061B PIC 9(06)V9(25) COMP-6 + VALUE 816564.2123096498172785118185856. + 77 FLD0061E PIC X VALUE 'N'. + + 77 FLD0062A PIC 9(10)V9(11) COMP-6 + VALUE 5579259193.81647705819. + 77 FLD0062B PIC 9(09)V9(13) COMP-3 + VALUE 602304146.8914084317631. + 77 FLD0062E PIC X VALUE 'N'. + + 77 FLD0063A PIC S9(07)V9(01) COMP-3 + VALUE +2106925.6. + 77 FLD0063B PIC 9(08)V9(19) COMP-3 + VALUE 73193550.7264897311507922950. + 77 FLD0063E PIC X VALUE 'N'. + + 77 FLD0064A PIC 9(06)V9(25) COMP-6 + VALUE 828553.1635867423583263757791428. + 77 FLD0064B PIC S9(04) COMP-3 + VALUE +1113. + 77 FLD0064E PIC X VALUE 'N'. + + 77 FLD0065A PIC 9(08)V9(02) COMP-6 + VALUE 26934154.73. + 77 FLD0065B PIC S9(04) COMP-3 + VALUE +1223. + 77 FLD0065E PIC X VALUE 'N'. + + 77 FLD0066A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0066B PIC 9(05)V9(27) COMP-3 + VALUE 85085.260849998822774153950376785. + 77 FLD0066E PIC X VALUE 'N'. + + 77 FLD0067A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0067B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0067E PIC X VALUE 'N'. + + 77 FLD0068A PIC 9(06)V9(25) COMP-6 + VALUE 838055.6814082209537986045688739. + 77 FLD0068B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0068E PIC X VALUE 'N'. + + 77 FLD0069A PIC 9(10)V9(08) COMP-6 + VALUE 4880885916.76487937. + 77 FLD0069B PIC 9(03) COMP-6 + VALUE 097. + 77 FLD0069E PIC X VALUE 'N'. + + 77 FLD0070A PIC 9(08)V9(18) COMP-6 + VALUE 69654747.914044090606466852. + 77 FLD0070B PIC S9(06)V9(01) COMP-3 + VALUE -192591.5. + 77 FLD0070E PIC X VALUE 'N'. + + 77 FLD0071A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0071B PIC 9(04) COMP-6 + VALUE 1269. + 77 FLD0071E PIC X VALUE 'N'. + + 77 FLD0072A PIC 9(01)V9(36) COMP-3 + VALUE 9.925387953744267965916492357791867107. + 77 FLD0072B PIC 9(09)V9(15) COMP-6 + VALUE 655377323.717403204028641. + 77 FLD0072E PIC X VALUE 'N'. + + 77 FLD0073A PIC 9(01)V9(36) COMP-3 + VALUE 9.812328554525302504174533169134519994. + 77 FLD0073B PIC 9(08)V9(18) COMP-6 + VALUE 70717230.890474991333860543. + 77 FLD0073E PIC X VALUE 'N'. + + 77 FLD0074A PIC 9(03)V9(32) COMP-6 + VALUE 925.84903592679257400277492706663906. + 77 FLD0074B PIC 9(01)V9(36) COMP-3 + VALUE 9.839916331263631743553332853480242192. + 77 FLD0074E PIC X VALUE 'N'. + + 77 FLD0075A PIC 9(10)V9(10) COMP-3 + VALUE 5446083738.8683014381. + 77 FLD0075B PIC S9(07)V9(01) COMP-3 + VALUE +2205661.8. + 77 FLD0075E PIC X VALUE 'N'. + + 77 FLD0076A PIC S9(07)V9(02) COMP-3 + VALUE +2412584.18. + 77 FLD0076B PIC 9(02)V9(34) COMP-3 + VALUE 95.1877730461857529675739897356834262. + 77 FLD0076E PIC X VALUE 'N'. + + 77 FLD0077A PIC 9(10)V9(08) COMP-6 + VALUE 4971042025.86989840. + 77 FLD0077B PIC 9(05)V9(28) COMP-6 + VALUE 87747.7884783979700245026833727024. + 77 FLD0077E PIC X VALUE 'N'. + + 77 FLD0078A PIC 9(06)V9(01) COMP-6 + VALUE 186044.2. + 77 FLD0078B PIC 9(10)V9(10) COMP-6 + VALUE 5264094377.6727222580. + 77 FLD0078E PIC X VALUE 'N'. + + 77 FLD0079A PIC 9(09)V9(15) COMP-6 + VALUE 638119223.314542294289708. + 77 FLD0079B PIC S9(03) COMP-3 + VALUE +101. + 77 FLD0079E PIC X VALUE 'N'. + + 77 FLD0080A PIC 9(07)V9(23) COMP-3 + VALUE 7905587.67133311302011122734256. + 77 FLD0080B PIC S9(09)V9(04) COMP-3 + VALUE -363247849.5626. + 77 FLD0080E PIC X VALUE 'N'. + + 77 FLD0081A PIC 9(01)V9(36) COMP-6 + VALUE 9.951308658902108250643436804239172488. + 77 FLD0081B PIC 9(09)V9(04) COMP-6 + VALUE 367206952.3371. + 77 FLD0081E PIC X VALUE 'N'. + + 77 FLD0082A PIC S9(08)V9(02) COMP-3 + VALUE -26324419.10. + 77 FLD0082B PIC 9(07)V9(22) COMP-6 + VALUE 7666475.1738066827524420432382. + 77 FLD0082E PIC X VALUE 'N'. + + 77 FLD0083A PIC 9(09)V9(14) COMP-3 + VALUE 631384121.39469823891602. + 77 FLD0083B PIC S9(07)V9(02) COMP-3 + VALUE -2518657.33. + 77 FLD0083E PIC X VALUE 'N'. + + 77 FLD0084A PIC 9(04)V9(29) COMP-3 + VALUE 8913.08379718931953483718189090723. + 77 FLD0084B PIC 9(09)V9(06) COMP-6 + VALUE 405118244.918866. + 77 FLD0084E PIC X VALUE 'N'. + + 77 FLD0085A PIC 9(05) COMP-6 + VALUE 15779. + 77 FLD0085B PIC 9(10)V9(06) COMP-6 + VALUE 4354227755.611629. + 77 FLD0085E PIC X VALUE 'N'. + + 77 FLD0086A PIC 9(01)V9(36) COMP-6 + VALUE 9.766547774737049936177868403319735080. + 77 FLD0086B PIC 9(10)V9(11) COMP-3 + VALUE 5711670223.78104349833. + 77 FLD0086E PIC X VALUE 'N'. + + 77 FLD0087A PIC 9(09)V9(14) COMP-6 + VALUE 617158605.01368802193411. + 77 FLD0087B PIC 9(04) COMP-6 + VALUE 1168. + 77 FLD0087E PIC X VALUE 'N'. + + 77 FLD0088A PIC 9(10)V9(12) COMP-3 + VALUE 5809468198.000283800652. + 77 FLD0088B PIC 9(09)V9(03) COMP-6 + VALUE 327927843.481. + 77 FLD0088E PIC X VALUE 'N'. + + 77 FLD0089A PIC 9(06)V9(24) COMP-3 + VALUE 802942.222446262787727278009697. + 77 FLD0089B PIC 9(03)V9(31) COMP-3 + VALUE 913.0556640200002682661306607769802. + 77 FLD0089E PIC X VALUE 'N'. + + 77 FLD0090A PIC S9(08)V9(02) COMP-3 + VALUE -28271627.31. + 77 FLD0090B PIC S9(08)V9(03) COMP-3 + VALUE -29023436.992. + 77 FLD0090E PIC X VALUE 'N'. + + 77 FLD0091A PIC 9(09)V9(07) COMP-6 + VALUE 438808038.0901770. + 77 FLD0091B PIC 9(08)V9(18) COMP-6 + VALUE 69809163.794725925811235356. + 77 FLD0091E PIC X VALUE 'N'. + + 77 FLD0092A PIC S9(07)V9(01) COMP-3 + VALUE +2146587.0. + 77 FLD0092B PIC 9(06)V9(25) COMP-6 + VALUE 828676.9901534452031910404912196. + 77 FLD0092E PIC X VALUE 'N'. + + 77 FLD0093A PIC 9(06)V9(25) COMP-3 + VALUE 831848.6927757260396276706160278. + 77 FLD0093B PIC 9(07)V9(23) COMP-3 + VALUE 7909193.25337388512409120266966. + 77 FLD0093E PIC X VALUE 'N'. + + 77 FLD0094A PIC 9(07)V9(01) COMP-6 + VALUE 2260698.5. + 77 FLD0094B PIC 9(10)V9(10) COMP-3 + VALUE 5308926344.5354850645. + 77 FLD0094E PIC X VALUE 'N'. + + 77 FLD0095A PIC 9(07)V9(22) COMP-6 + VALUE 7681159.7607563408818265315858. + 77 FLD0095B PIC 9(06)V9(25) COMP-6 + VALUE 835614.2190518044410296738533361. + 77 FLD0095E PIC X VALUE 'N'. + + 77 FLD0096A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0096B PIC 9(05)V9(28) COMP-6 + VALUE 87505.3049076218392166026660561328. + 77 FLD0096E PIC X VALUE 'N'. + + 77 FLD0097A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0097B PIC 9(07)V9(22) COMP-6 + VALUE 7663819.4132902548449948199049. + 77 FLD0097E PIC X VALUE 'N'. + + 77 FLD0098A PIC 9(05)V9(28) COMP-6 + VALUE 87637.1310136299430659789777564583. + 77 FLD0098B PIC 9(08)V9(04) COMP-6 + VALUE 33500668.0379. + 77 FLD0098E PIC X VALUE 'N'. + + 77 FLD0099A PIC S9(10)V9(08) COMP-3 + VALUE -4946809917.70565292. + 77 FLD0099B PIC S9(08)V9(03) COMP-3 + VALUE +30007106.715. + 77 FLD0099E PIC X VALUE 'N'. + + 77 FLD0100A PIC 9(10)V9(09) COMP-3 + VALUE 5148281813.288457797. + 77 FLD0100B PIC 9(09)V9(14) COMP-6 + VALUE 609442213.66168171982735. + 77 FLD0100E PIC X VALUE 'N'. + + 77 FLD0101A PIC S9(07)V9(02) COMP-3 + VALUE -2605358.58. + 77 FLD0101B PIC S9(07)V9(02) COMP-3 + VALUE -2515761.93. + 77 FLD0101E PIC X VALUE 'N'. + + 77 FLD0102A PIC 9(05) COMP-6 + VALUE 13880. + 77 FLD0102B PIC 9(09)V9(14) COMP-6 + VALUE 626009568.32775289662151. + 77 FLD0102E PIC X VALUE 'N'. + + 77 FLD0103A PIC 9(03)V9(32) COMP-6 + VALUE 929.51599988912647631877916865050792. + 77 FLD0103B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0103E PIC X VALUE 'N'. + + 77 FLD0104A PIC 9(07)V9(01) COMP-6 + VALUE 2254306.3. + 77 FLD0104B PIC S9(10)V9(08) COMP-3 + VALUE -4810300752.02174334. + 77 FLD0104E PIC X VALUE 'N'. + + 77 FLD0105A PIC S9(08)V9(03) COMP-3 + VALUE -29081388.428. + 77 FLD0105B PIC 9(08)V9(02) COMP-6 + VALUE 27558698.77. + 77 FLD0105E PIC X VALUE 'N'. + + 77 FLD0106A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0106B PIC S9(08)V9(02) COMP-3 + VALUE -26362185.29. + 77 FLD0106E PIC X VALUE 'N'. + + 77 FLD0107A PIC 9(09)V9(16) COMP-6 + VALUE 677462443.7557797973497031. + 77 FLD0107B PIC 9(08)V9(19) COMP-6 + VALUE 71705910.5997380985542122289. + 77 FLD0107E PIC X VALUE 'N'. + + 77 FLD0108A PIC 9(09)V9(14) COMP-3 + VALUE 610210882.31341436003418. + 77 FLD0108B PIC S9(08)V9(02) COMP-3 + VALUE -28421053.19. + 77 FLD0108E PIC X VALUE 'N'. + + 77 FLD0109A PIC S9(04) COMP-3 + VALUE +1136. + 77 FLD0109B PIC 9(04)V9(30) COMP-3 + VALUE 9020.720262660837374113498299266211. + 77 FLD0109E PIC X VALUE 'N'. + + 77 FLD0110A PIC 9(07)V9(23) COMP-3 + VALUE 7940109.55673497886841971649118. + 77 FLD0110B PIC 9(08)V9(18) COMP-6 + VALUE 69721135.284383173313926818. + 77 FLD0110E PIC X VALUE 'N'. + + 77 FLD0111A PIC 9(09)V9(03) COMP-6 + VALUE 326472185.831. + 77 FLD0111B PIC 9(10)V9(09) COMP-6 + VALUE 5255901748.964217912. + 77 FLD0111E PIC X VALUE 'N'. + + 77 FLD0112A PIC 9(08)V9(19) COMP-3 + VALUE 71238052.4624002697819946661. + 77 FLD0112B PIC S9(08)V9(02) COMP-3 + VALUE -27133920.74. + 77 FLD0112E PIC X VALUE 'N'. + + 77 FLD0113A PIC 9(04)V9(30) COMP-6 + VALUE 9092.566324157485002643852567416615. + 77 FLD0113B PIC 9(04) COMP-6 + VALUE 1277. + 77 FLD0113E PIC X VALUE 'N'. + + 77 FLD0114A PIC 9(09)V9(07) COMP-6 + VALUE 437805064.1539988. + 77 FLD0114B PIC 9(05)V9(01) COMP-6 + VALUE 17667.3. + 77 FLD0114E PIC X VALUE 'N'. + + 77 FLD0115A PIC 9(02)V9(34) COMP-3 + VALUE 96.2362934933669089687668929400388151. + 77 FLD0115B PIC S9(08)V9(03) COMP-3 + VALUE +30236682.408. + 77 FLD0115E PIC X VALUE 'N'. + + 77 FLD0116A PIC 9(07)V9(22) COMP-3 + VALUE 7646463.4359510952332783517704. + 77 FLD0116B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0116E PIC X VALUE 'N'. + + 77 FLD0117A PIC 9(09)V9(14) COMP-6 + VALUE 617509561.34001855346582. + 77 FLD0117B PIC 9(05) COMP-6 + VALUE 13612. + 77 FLD0117E PIC X VALUE 'N'. + + 77 FLD0118A PIC 9(10)V9(10) COMP-3 + VALUE 5408402726.5490597358. + 77 FLD0118B PIC S9(03) COMP-3 + VALUE -080. + 77 FLD0118E PIC X VALUE 'N'. + + 77 FLD0119A PIC S9(08)V9(03) COMP-3 + VALUE +30078875.458. + 77 FLD0119B PIC 9(07)V9(02) COMP-6 + VALUE 2460449.05. + 77 FLD0119E PIC X VALUE 'N'. + + 77 FLD0120A PIC 9(06)V9(25) COMP-3 + VALUE 830160.1137616416714593015058198. + 77 FLD0120B PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0120E PIC X VALUE 'N'. + + 77 FLD0121A PIC S9(07)V9(01) COMP-3 + VALUE +2338292.2. + 77 FLD0121B PIC S9(09)V9(03) COMP-3 + VALUE +320991974.822. + 77 FLD0121E PIC X VALUE 'N'. + + 77 FLD0122A PIC S9(06)V9(01) COMP-3 + VALUE -184951.8. + 77 FLD0122B PIC 9(08)V9(02) COMP-6 + VALUE 26752619.72. + 77 FLD0122E PIC X VALUE 'N'. + + 77 FLD0123A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0123B PIC 9(07)V9(21) COMP-3 + VALUE 7502027.502690824523057244732. + 77 FLD0123E PIC X VALUE 'N'. + + 77 FLD0124A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0124B PIC S9(10)V9(06) COMP-3 + VALUE +4223876720.963152. + 77 FLD0124E PIC X VALUE 'N'. + + 77 FLD0125A PIC 9(04)V9(29) COMP-3 + VALUE 8800.31826789913984576685379579430. + 77 FLD0125B PIC 9(09)V9(15) COMP-6 + VALUE 637787216.045794358443288. + 77 FLD0125E PIC X VALUE 'N'. + + 77 FLD0126A PIC 9(06)V9(24) COMP-6 + VALUE 807990.071015203703552742808824. + 77 FLD0126B PIC 9(07)V9(01) COMP-6 + VALUE 2285688.0. + 77 FLD0126E PIC X VALUE 'N'. + + 77 FLD0127A PIC 9(04)V9(30) COMP-6 + VALUE 8981.860178820127993404298649693373. + 77 FLD0127B PIC 9(05)V9(28) COMP-6 + VALUE 87878.0390073648609572387613297905. + 77 FLD0127E PIC X VALUE 'N'. + + 77 FLD0128A PIC 9(10)V9(06) COMP-6 + VALUE 4298489587.591516. + 77 FLD0128B PIC 9(08)V9(02) COMP-6 + VALUE 26904320.50. + 77 FLD0128E PIC X VALUE 'N'. + + 77 FLD0129A PIC S9(08)V9(04) COMP-3 + VALUE +33460508.1048. + 77 FLD0129B PIC 9(09)V9(14) COMP-6 + VALUE 629564859.51748508700376. + 77 FLD0129E PIC X VALUE 'N'. + + 77 FLD0130A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0130B PIC 9(08)V9(03) COMP-6 + VALUE 30500681.275. + 77 FLD0130E PIC X VALUE 'N'. + + 77 FLD0131A PIC 9(08)V9(02) COMP-6 + VALUE 26916210.05. + 77 FLD0131B PIC 9(08)V9(18) COMP-6 + VALUE 70626515.642831921848454612. + 77 FLD0131E PIC X VALUE 'N'. + + 77 FLD0132A PIC 9(04) COMP-6 + VALUE 1270. + 77 FLD0132B PIC 9(07)V9(01) COMP-6 + VALUE 2163498.7. + 77 FLD0132E PIC X VALUE 'N'. + + 77 FLD0133A PIC 9(01)V9(36) COMP-6 + VALUE 9.890353542063604619372085835493635386. + 77 FLD0133B PIC S9(07)V9(02) COMP-3 + VALUE -2528421.98. + 77 FLD0133E PIC X VALUE 'N'. + + 77 FLD0134A PIC 9(08)V9(18) COMP-3 + VALUE 70385499.741438917187252855. + 77 FLD0134B PIC 9(09)V9(16) COMP-3 + VALUE 673960062.4739148226893803. + 77 FLD0134E PIC X VALUE 'N'. + + 77 FLD0135A PIC 9(10)V9(07) COMP-6 + VALUE 4678335500.0128495. + 77 FLD0135B PIC 9(07)V9(02) COMP-6 + VALUE 2561321.97. + 77 FLD0135E PIC X VALUE 'N'. + + 77 FLD0136A PIC S9(05) COMP-3 + VALUE -15169. + 77 FLD0136B PIC 9(08)V9(19) COMP-3 + VALUE 72091249.9695820607747975827. + 77 FLD0136E PIC X VALUE 'N'. + + 77 FLD0137A PIC S9(08)V9(02) COMP-3 + VALUE -27190319.39. + 77 FLD0137B PIC 9(03)V9(32) COMP-3 + VALUE 921.23024961283406231160597599227912. + 77 FLD0137E PIC X VALUE 'N'. + + 77 FLD0138A PIC S9(10)V9(08) COMP-3 + VALUE -4824223828.94490853. + 77 FLD0138B PIC 9(04)V9(30) COMP-6 + VALUE 8976.142294415691003095503219810780. + 77 FLD0138E PIC X VALUE 'N'. + + 77 FLD0139A PIC 9(09)V9(03) COMP-6 + VALUE 319644653.394. + 77 FLD0139B PIC 9(06)V9(25) COMP-6 + VALUE 818318.3537620841718762676464393. + 77 FLD0139E PIC X VALUE 'N'. + + 77 FLD0140A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0140B PIC 9(03)V9(31) COMP-3 + VALUE 913.4502802484925076953459210926666. + 77 FLD0140E PIC X VALUE 'N'. + + 77 FLD0141A PIC 9(09)V9(14) COMP-3 + VALUE 612266512.11346116987499. + 77 FLD0141B PIC 9(06)V9(01) COMP-6 + VALUE 198046.5. + 77 FLD0141E PIC X VALUE 'N'. + + 77 FLD0142A PIC 9(09)V9(04) COMP-6 + VALUE 356201246.7531. + 77 FLD0142B PIC S9(04) COMP-3 + VALUE +1134. + 77 FLD0142E PIC X VALUE 'N'. + + 77 FLD0143A PIC S9(07)V9(02) COMP-3 + VALUE -2608987.15. + 77 FLD0143B PIC 9(06)V9(01) COMP-6 + VALUE 205887.8. + 77 FLD0143E PIC X VALUE 'N'. + + 77 FLD0144A PIC 9(10)V9(11) COMP-6 + VALUE 5664625691.64754570216. + 77 FLD0144B PIC 9(07)V9(01) COMP-6 + VALUE 2170292.3. + 77 FLD0144E PIC X VALUE 'N'. + + 77 FLD0145A PIC 9(09)V9(13) COMP-3 + VALUE 592809780.4295365813587. + 77 FLD0145B PIC 9(09)V9(06) COMP-6 + VALUE 416669902.306984. + 77 FLD0145E PIC X VALUE 'N'. + + 77 FLD0146A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0146B PIC 9(09)V9(13) COMP-3 + VALUE 592675280.7490164309811. + 77 FLD0146E PIC X VALUE 'N'. + + 77 FLD0147A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0147B PIC 9(10)V9(05) COMP-6 + VALUE 3974420340.21838. + 77 FLD0147E PIC X VALUE 'N'. + + 77 FLD0148A PIC 9(04) COMP-6 + VALUE 1189. + 77 FLD0148B PIC 9(08)V9(04) COMP-6 + VALUE 33583306.9980. + 77 FLD0148E PIC X VALUE 'N'. + + 77 FLD0149A PIC 9(05)V9(27) COMP-3 + VALUE 86469.811002464236349140946913394. + 77 FLD0149B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0149E PIC X VALUE 'N'. + + 77 FLD0150A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0150B PIC 9(01)V9(36) COMP-6 + VALUE 9.779789481524289174174668914929497987. + 77 FLD0150E PIC X VALUE 'N'. + + 77 FLD0151A PIC 9(09)V9(13) COMP-3 + VALUE 602633749.4884196344102. + 77 FLD0151B PIC 9(07)V9(22) COMP-3 + VALUE 7715228.5011189425389943608024. + 77 FLD0151E PIC X VALUE 'N'. + + 77 FLD0152A PIC S9(08)V9(02) COMP-3 + VALUE -28005400.65. + 77 FLD0152B PIC 9(02)V9(34) COMP-6 + VALUE 96.9689035330467796747200281970435753. + 77 FLD0152E PIC X VALUE 'N'. + + 77 FLD0153A PIC 9(08)V9(18) COMP-3 + VALUE 69246387.672994647033419823. + 77 FLD0153B PIC 9(07)V9(22) COMP-3 + VALUE 7700147.9845998110906890588012. + 77 FLD0153E PIC X VALUE 'N'. + + 77 FLD0154A PIC 9(09)V9(14) COMP-6 + VALUE 618531644.61004783714059. + 77 FLD0154B PIC 9(10)V9(07) COMP-6 + VALUE 4667533939.9326892. + 77 FLD0154E PIC X VALUE 'N'. + + 77 FLD0155A PIC 9(10)V9(12) COMP-3 + VALUE 5816028861.286740569980. + 77 FLD0155B PIC 9(03)V9(31) COMP-3 + VALUE 920.9824083062539967770021576143335. + 77 FLD0155E PIC X VALUE 'N'. + + 77 FLD0156A PIC 9(02)V9(34) COMP-3 + VALUE 95.3830714078202746009083057288080453. + 77 FLD0156B PIC 9(04)V9(30) COMP-6 + VALUE 9080.971133779824899789900882751680. + 77 FLD0156E PIC X VALUE 'N'. + + 77 FLD0157A PIC 9(09)V9(16) COMP-6 + VALUE 659745695.0483697735165833. + 77 FLD0157B PIC 9(10)V9(06) COMP-6 + VALUE 4359875032.276696. + 77 FLD0157E PIC X VALUE 'N'. + + 77 FLD0158A PIC S9(09)V9(06) COMP-3 + VALUE +412656981.234114. + 77 FLD0158B PIC 9(09)V9(14) COMP-3 + VALUE 611832243.66474420197192. + 77 FLD0158E PIC X VALUE 'N'. + + 77 FLD0159A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0159B PIC 9(09)V9(15) COMP-3 + VALUE 643529357.674236912600918. + 77 FLD0159E PIC X VALUE 'N'. + + 77 FLD0160A PIC 9(08)V9(20) COMP-6 + VALUE 74656107.83998073429756914265. + 77 FLD0160B PIC 9(06)V9(01) COMP-6 + VALUE 207077.8. + 77 FLD0160E PIC X VALUE 'N'. + + 77 FLD0161A PIC 9(07)V9(22) COMP-6 + VALUE 7887170.9741627593626134284932. + 77 FLD0161B PIC 9(08)V9(19) COMP-6 + VALUE 71702582.3615881408024108623. + 77 FLD0161E PIC X VALUE 'N'. + + 77 FLD0162A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0162B PIC 9(10)V9(11) COMP-6 + VALUE 5668143857.58160899086. + 77 FLD0162E PIC X VALUE 'N'. + + 77 FLD0163A PIC 9(09)V9(14) COMP-6 + VALUE 618392824.19829444403802. + 77 FLD0163B PIC 9(09)V9(15) COMP-3 + VALUE 650815786.826470232817598. + 77 FLD0163E PIC X VALUE 'N'. + + 77 FLD0164A PIC S9(06)V9(01) COMP-3 + VALUE +204076.7. + 77 FLD0164B PIC 9(04) COMP-6 + VALUE 1076. + 77 FLD0164E PIC X VALUE 'N'. + + 77 FLD0165A PIC 9(09)V9(14) COMP-3 + VALUE 610409164.63927785695631. + 77 FLD0165B PIC 9(04) COMP-6 + VALUE 1267. + 77 FLD0165E PIC X VALUE 'N'. + + 77 FLD0166A PIC 9(07)V9(02) COMP-6 + VALUE 2460589.98. + 77 FLD0166B PIC 9(05)V9(01) COMP-6 + VALUE 17630.0. + 77 FLD0166E PIC X VALUE 'N'. + + 77 FLD0167A PIC S9(09)V9(03) COMP-3 + VALUE +323253458.962. + 77 FLD0167B PIC 9(06)V9(25) COMP-6 + VALUE 838285.1322478405142746282763255. + 77 FLD0167E PIC X VALUE 'N'. + + 77 FLD0168A PIC S9(04) COMP-3 + VALUE +1200. + 77 FLD0168B PIC S9(10)V9(06) COMP-3 + VALUE +4326937205.661665. + 77 FLD0168E PIC X VALUE 'N'. + + 77 FLD0169A PIC 9(06)V9(25) COMP-3 + VALUE 834885.7368063762329768451309064. + 77 FLD0169B PIC 9(08)V9(18) COMP-6 + VALUE 70699865.109667991980302304. + 77 FLD0169E PIC X VALUE 'N'. + + 77 FLD0170A PIC 9(08)V9(19) COMP-3 + VALUE 72325482.4666709539293663056. + 77 FLD0170B PIC 9(01)V9(36) COMP-6 + VALUE 9.863493423765207213094186045054811984. + 77 FLD0170E PIC X VALUE 'N'. + + 77 FLD0171A PIC 9(09)V9(16) COMP-6 + VALUE 675345293.4675296948086042. + 77 FLD0171B PIC 9(10)V9(06) COMP-6 + VALUE 4258478422.558273. + 77 FLD0171E PIC X VALUE 'N'. + + 77 FLD0172A PIC 9(02)V9(34) COMP-3 + VALUE 96.0216523360032936373897882731398567. + 77 FLD0172B PIC 9(04)V9(30) COMP-6 + VALUE 8999.798406174591702821885519369971. + 77 FLD0172E PIC X VALUE 'N'. + + 77 FLD0173A PIC S9(09)V9(06) COMP-3 + VALUE +412472914.336663. + 77 FLD0173B PIC 9(10)V9(08) COMP-6 + VALUE 4786981213.45750904. + 77 FLD0173E PIC X VALUE 'N'. + + 77 FLD0174A PIC S9(04) COMP-3 + VALUE +1244. + 77 FLD0174B PIC 9(10)V9(09) COMP-6 + VALUE 5152586737.087611057. + 77 FLD0174E PIC X VALUE 'N'. + + 77 FLD0175A PIC S9(05) COMP-3 + VALUE +13456. + 77 FLD0175B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0175E PIC X VALUE 'N'. + + 77 FLD0176A PIC 9(07)V9(23) COMP-3 + VALUE 7902178.74582138546379894705751. + 77 FLD0176B PIC 9(08)V9(03) COMP-6 + VALUE 29797398.003. + 77 FLD0176E PIC X VALUE 'N'. + + 77 FLD0177A PIC 9(07)V9(21) COMP-3 + VALUE 7618839.577049143496623173632. + 77 FLD0177B PIC 9(07)V9(02) COMP-6 + VALUE 2373414.07. + 77 FLD0177E PIC X VALUE 'N'. + + 77 FLD0178A PIC 9(09)V9(04) COMP-6 + VALUE 355502105.3348. + 77 FLD0178B PIC S9(08)V9(03) COMP-3 + VALUE +31397739.222. + 77 FLD0178E PIC X VALUE 'N'. + + 77 FLD0179A PIC 9(09)V9(05) COMP-6 + VALUE 388560564.63472. + 77 FLD0179B PIC 9(03) COMP-6 + VALUE 099. + 77 FLD0179E PIC X VALUE 'N'. + + 77 FLD0180A PIC 9(05)V9(27) COMP-6 + VALUE 85946.157652659294079455776227405. + 77 FLD0180B PIC 9(10)V9(10) COMP-3 + VALUE 5435189439.3573940700. + 77 FLD0180E PIC X VALUE 'N'. + + 77 FLD0181A PIC 9(06)V9(01) COMP-6 + VALUE 188908.8. + 77 FLD0181B PIC S9(10)V9(08) COMP-3 + VALUE -4740924741.33910868. + 77 FLD0181E PIC X VALUE 'N'. + + 77 FLD0182A PIC 9(10)V9(13) COMP-6 + VALUE 6061401860.3468300394609. + 77 FLD0182B PIC 9(09)V9(15) COMP-3 + VALUE 643493508.008180281620980. + 77 FLD0182E PIC X VALUE 'N'. + + 77 FLD0183A PIC 9(07)V9(23) COMP-3 + VALUE 7910108.10526126539876656806882. + 77 FLD0183B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0183E PIC X VALUE 'N'. + + 77 FLD0184A PIC 9(09)V9(15) COMP-6 + VALUE 635945742.812533687526865. + 77 FLD0184B PIC S9(07)V9(01) COMP-3 + VALUE +2343773.6. + 77 FLD0184E PIC X VALUE 'N'. + + 77 FLD0185A PIC 9(05) COMP-6 + VALUE 15666. + 77 FLD0185B PIC 9(08)V9(20) COMP-6 + VALUE 73935660.38753716096465495866. + 77 FLD0185E PIC X VALUE 'N'. + + 77 FLD0186A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0186B PIC 9(05)V9(26) COMP-3 + VALUE 84084.08947119312415452441200613. + 77 FLD0186E PIC X VALUE 'N'. + + 77 FLD0187A PIC 9(09)V9(13) COMP-3 + VALUE 604672028.7423602568921. + 77 FLD0187B PIC 9(10)V9(12) COMP-6 + VALUE 5893278013.192120301511. + 77 FLD0187E PIC X VALUE 'N'. + + 77 FLD0188A PIC 9(08)V9(17) COMP-3 + VALUE 68008236.87569536035724127. + 77 FLD0188B PIC 9(07)V9(21) COMP-3 + VALUE 7537078.198448752264226868646. + 77 FLD0188E PIC X VALUE 'N'. + + 77 FLD0189A PIC 9(10)V9(09) COMP-3 + VALUE 5115071016.238050827. + 77 FLD0189B PIC 9(10)V9(11) COMP-6 + VALUE 5668524677.20726727051. + 77 FLD0189E PIC X VALUE 'N'. + + 77 FLD0190A PIC 9(07)V9(02) COMP-6 + VALUE 2382137.54. + 77 FLD0190B PIC 9(09)V9(14) COMP-6 + VALUE 627148648.94273569806415. + 77 FLD0190E PIC X VALUE 'N'. + + 77 FLD0191A PIC 9(05) COMP-6 + VALUE 13720. + 77 FLD0191B PIC 9(06)V9(24) COMP-3 + VALUE 803717.168989411478996487403492. + 77 FLD0191E PIC X VALUE 'N'. + + 77 FLD0192A PIC 9(01)V9(36) COMP-6 + VALUE 9.894259454195439840162862310535274446. + 77 FLD0192B PIC 9(09)V9(04) COMP-6 + VALUE 358034239.3955. + 77 FLD0192E PIC X VALUE 'N'. + + 77 FLD0193A PIC 9(10)V9(06) COMP-6 + VALUE 4252943677.090519. + 77 FLD0193B PIC 9(09)V9(14) COMP-3 + VALUE 612048644.17243076690766. + 77 FLD0193E PIC X VALUE 'N'. + + 77 FLD0194A PIC 9(09)V9(06) COMP-6 + VALUE 417168379.939779. + 77 FLD0194B PIC 9(09)V9(15) COMP-3 + VALUE 634454032.998696626499679. + 77 FLD0194E PIC X VALUE 'N'. + + 77 FLD0195A PIC 9(08)V9(02) COMP-6 + VALUE 26645846.45. + 77 FLD0195B PIC 9(05) COMP-6 + VALUE 14921. + 77 FLD0195E PIC X VALUE 'N'. + + 77 FLD0196A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0196B PIC S9(05)V9(01) COMP-3 + VALUE -18000.7. + 77 FLD0196E PIC X VALUE 'N'. + + 77 FLD0197A PIC 9(01)V9(36) COMP-3 + VALUE 9.847788375924405590566834689525421708. + 77 FLD0197B PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0197E PIC X VALUE 'N'. + + 77 FLD0198A PIC 9(09)V9(13) COMP-3 + VALUE 593293108.5591157671643. + 77 FLD0198B PIC S9(05) COMP-3 + VALUE +14072. + 77 FLD0198E PIC X VALUE 'N'. + + 77 FLD0199A PIC 9(07)V9(02) COMP-6 + VALUE 2483287.24. + 77 FLD0199B PIC 9(07)V9(23) COMP-6 + VALUE 7969040.17410605347571106449322. + 77 FLD0199E PIC X VALUE 'N'. + + 77 FLD0200A PIC S9(10)V9(08) COMP-3 + VALUE -4935972790.60619176. + 77 FLD0200B PIC 9(10)V9(07) COMP-6 + VALUE 4582475224.7206340. + 77 FLD0200E PIC X VALUE 'N'. + + 77 FLD0201A PIC 9(04) COMP-6 + VALUE 1282. + 77 FLD0201B PIC 9(07)V9(23) COMP-3 + VALUE 7926313.90444417882612526682351. + 77 FLD0201E PIC X VALUE 'N'. + + 77 FLD0202A PIC S9(09)V9(04) COMP-3 + VALUE -360603443.7503. + 77 FLD0202B PIC 9(03)V9(32) COMP-6 + VALUE 935.68197555010013122256395945441909. + 77 FLD0202E PIC X VALUE 'N'. + + 77 FLD0203A PIC 9(09)V9(14) COMP-6 + VALUE 628607663.38264040253847. + 77 FLD0203B PIC 9(03)V9(31) COMP-3 + VALUE 920.1886012491730104656539879215415. + 77 FLD0203E PIC X VALUE 'N'. + + 77 FLD0204A PIC 9(01)V9(35) COMP-3 + VALUE 9.73054030732718233664968465745914727. + 77 FLD0204B PIC 9(07)V9(01) COMP-6 + VALUE 2363275.3. + 77 FLD0204E PIC X VALUE 'N'. + + 77 FLD0205A PIC 9(09)V9(15) COMP-6 + VALUE 648926914.508991536933990. + 77 FLD0205B PIC 9(09)V9(15) COMP-6 + VALUE 639814213.238647178094709. + 77 FLD0205E PIC X VALUE 'N'. + + 77 FLD0206A PIC 9(06)V9(01) COMP-6 + VALUE 186967.7. + 77 FLD0206B PIC 9(08)V9(18) COMP-6 + VALUE 70826356.466434425840361654. + 77 FLD0206E PIC X VALUE 'N'. + + 77 FLD0207A PIC 9(05)V9(26) COMP-6 + VALUE 83944.39242287422553445708217623. + 77 FLD0207B PIC 9(07)V9(21) COMP-3 + VALUE 7607846.993308088334728722657. + 77 FLD0207E PIC X VALUE 'N'. + + 77 FLD0208A PIC 9(02)V9(34) COMP-6 + VALUE 96.7940040016311842308027735271025449. + 77 FLD0208B PIC 9(07)V9(01) COMP-6 + VALUE 2151595.4. + 77 FLD0208E PIC X VALUE 'N'. + + 77 FLD0209A PIC 9(03)V9(32) COMP-6 + VALUE 926.61149050802726900855077474261634. + 77 FLD0209B PIC 9(07)V9(23) COMP-6 + VALUE 7951784.48263920700789242346218. + 77 FLD0209E PIC X VALUE 'N'. + + 77 FLD0210A PIC 9(08)V9(19) COMP-3 + VALUE 72323528.1456575562764044207. + 77 FLD0210B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0210E PIC X VALUE 'N'. + + 77 FLD0211A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0211B PIC S9(09)V9(07) COMP-3 + VALUE +442113770.7554604. + 77 FLD0211E PIC X VALUE 'N'. + + 77 FLD0212A PIC 9(10)V9(08) COMP-6 + VALUE 4892032792.55731038. + 77 FLD0212B PIC S9(09)V9(05) COMP-3 + VALUE -372935567.70682. + 77 FLD0212E PIC X VALUE 'N'. + + 77 FLD0213A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0213B PIC 9(07)V9(21) COMP-3 + VALUE 7525721.770631302875997903356. + 77 FLD0213E PIC X VALUE 'N'. + + 77 FLD0214A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0214B PIC 9(09)V9(16) COMP-6 + VALUE 666893270.4655321508369070. + 77 FLD0214E PIC X VALUE 'N'. + + 77 FLD0215A PIC 9(03)V9(32) COMP-6 + VALUE 926.34033699271633999217101518297567. + 77 FLD0215B PIC S9(05)V9(01) COMP-3 + VALUE -18226.5. + 77 FLD0215E PIC X VALUE 'N'. + + 77 FLD0216A PIC S9(08)V9(02) COMP-3 + VALUE -28095374.87. + 77 FLD0216B PIC 9(08)V9(02) COMP-6 + VALUE 28541793.87. + 77 FLD0216E PIC X VALUE 'N'. + + 77 FLD0217A PIC 9(08)V9(20) COMP-6 + VALUE 74562962.48658396130792880285. + 77 FLD0217B PIC S9(09)V9(07) COMP-3 + VALUE +444563659.0422049. + 77 FLD0217E PIC X VALUE 'N'. + + 77 FLD0218A PIC S9(05)V9(01) COMP-3 + VALUE -18094.6. + 77 FLD0218B PIC 9(01)V9(36) COMP-6 + VALUE 9.867255193327033602201936446363106369. + 77 FLD0218E PIC X VALUE 'N'. + + 77 FLD0219A PIC 9(09)V9(12) COMP-6 + VALUE 578788992.127507229135. + 77 FLD0219B PIC 9(10)V9(10) COMP-6 + VALUE 5297903516.0907261836. + 77 FLD0219E PIC X VALUE 'N'. + + 77 FLD0220A PIC 9(09)V9(12) COMP-3 + VALUE 573343525.907533679841. + 77 FLD0220B PIC S9(05) COMP-3 + VALUE +14161. + 77 FLD0220E PIC X VALUE 'N'. + + 77 FLD0221A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0221B PIC 9(04)V9(29) COMP-6 + VALUE 8789.10367794605407176788958167890. + 77 FLD0221E PIC X VALUE 'N'. + + 77 FLD0222A PIC 9(09)V9(14) COMP-6 + VALUE 628182805.25174396977661. + 77 FLD0222B PIC S9(05) COMP-3 + VALUE -15228. + 77 FLD0222E PIC X VALUE 'N'. + + 77 FLD0223A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0223B PIC 9(08)V9(18) COMP-6 + VALUE 69950927.082806102497158917. + 77 FLD0223E PIC X VALUE 'N'. + + 77 FLD0224A PIC 9(06)V9(25) COMP-6 + VALUE 838187.2267509891116787912324070. + 77 FLD0224B PIC S9(09)V9(05) COMP-3 + VALUE -382169497.04991. + 77 FLD0224E PIC X VALUE 'N'. + + 77 FLD0225A PIC 9(05) COMP-6 + VALUE 13797. + 77 FLD0225B PIC 9(09)V9(12) COMP-3 + VALUE 572598612.808938978169. + 77 FLD0225E PIC X VALUE 'N'. + + 77 FLD0226A PIC 9(05) COMP-6 + VALUE 14900. + 77 FLD0226B PIC S9(07)V9(01) COMP-3 + VALUE +2129995.4. + 77 FLD0226E PIC X VALUE 'N'. + + 77 FLD0227A PIC 9(09)V9(14) COMP-6 + VALUE 629583055.15940859997670. + 77 FLD0227B PIC 9(04)V9(30) COMP-6 + VALUE 8983.577034983017961522477889957372. + 77 FLD0227E PIC X VALUE 'N'. + + 77 FLD0228A PIC S9(07)V9(01) COMP-3 + VALUE +2225916.3. + 77 FLD0228B PIC 9(01)V9(36) COMP-3 + VALUE 9.739690596877397243957830141880549490. + 77 FLD0228E PIC X VALUE 'N'. + + 77 FLD0229A PIC 9(01)V9(36) COMP-6 + VALUE 9.870473603260505601753038718015886843. + 77 FLD0229B PIC 9(08)V9(20) COMP-6 + VALUE 73838029.76208535540081356884. + 77 FLD0229E PIC X VALUE 'N'. + + 77 FLD0230A PIC S9(06)V9(01) COMP-3 + VALUE +201492.2. + 77 FLD0230B PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0230E PIC X VALUE 'N'. + + 77 FLD0231A PIC 9(05)V9(28) COMP-6 + VALUE 87781.6812716511907233041256404248. + 77 FLD0231B PIC S9(08)V9(02) COMP-3 + VALUE -27182116.43. + 77 FLD0231E PIC X VALUE 'N'. + + 77 FLD0232A PIC 9(09)V9(04) COMP-6 + VALUE 356308264.5328. + 77 FLD0232B PIC 9(06)V9(25) COMP-3 + VALUE 833280.3014261945806495646138500. + 77 FLD0232E PIC X VALUE 'N'. + + 77 FLD0233A PIC 9(07)V9(21) COMP-6 + VALUE 7552156.809035388551620826547. + 77 FLD0233B PIC 9(08)V9(04) COMP-6 + VALUE 33739768.3403. + 77 FLD0233E PIC X VALUE 'N'. + + 77 FLD0234A PIC 9(08)V9(04) COMP-6 + VALUE 33831052.6754. + 77 FLD0234B PIC 9(09)V9(13) COMP-3 + VALUE 593899144.9424572133253. + 77 FLD0234E PIC X VALUE 'N'. + + 77 FLD0235A PIC S9(05) COMP-3 + VALUE +14123. + 77 FLD0235B PIC S9(10)V9(08) COMP-3 + VALUE -4808329310.19295639. + 77 FLD0235E PIC X VALUE 'N'. + + 77 FLD0236A PIC 9(04)V9(29) COMP-3 + VALUE 8818.23528289915170574886360554955. + 77 FLD0236B PIC 9(08)V9(18) COMP-3 + VALUE 70480160.116860446350983693. + 77 FLD0236E PIC X VALUE 'N'. + + 77 FLD0237A PIC 9(08)V9(02) COMP-6 + VALUE 28742037.59. + 77 FLD0237B PIC 9(04)V9(29) COMP-6 + VALUE 8850.90488581330880890618573175743. + 77 FLD0237E PIC X VALUE 'N'. + + 77 FLD0238A PIC 9(09)V9(15) COMP-3 + VALUE 634521096.430120334908053. + 77 FLD0238B PIC 9(06)V9(01) COMP-6 + VALUE 198396.3. + 77 FLD0238E PIC X VALUE 'N'. + + 77 FLD0239A PIC 9(09)V9(16) COMP-6 + VALUE 678585779.2924817610824561. + 77 FLD0239B PIC 9(09)V9(14) COMP-3 + VALUE 614739880.97122655993587. + 77 FLD0239E PIC X VALUE 'N'. + + 77 FLD0240A PIC 9(10)V9(06) COMP-6 + VALUE 4289853576.446766. + 77 FLD0240B PIC 9(06)V9(25) COMP-3 + VALUE 833165.4817075836438888813972880. + 77 FLD0240E PIC X VALUE 'N'. + + 77 FLD0241A PIC S9(05) COMP-3 + VALUE +14407. + 77 FLD0241B PIC 9(09)V9(14) COMP-6 + VALUE 608742950.23205993171444. + 77 FLD0241E PIC X VALUE 'N'. + + 77 FLD0242A PIC 9(10)V9(12) COMP-6 + VALUE 5860383854.989427154791. + 77 FLD0242B PIC S9(06)V9(01) COMP-3 + VALUE +201770.8. + 77 FLD0242E PIC X VALUE 'N'. + + 77 FLD0243A PIC 9(02)V9(34) COMP-3 + VALUE 97.0409660969254295181940506154205650. + 77 FLD0243B PIC 9(05)V9(28) COMP-6 + VALUE 86928.4847432245544318618613033322. + 77 FLD0243E PIC X VALUE 'N'. + + 77 FLD0244A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0244B PIC 9(09)V9(13) COMP-6 + VALUE 596454149.7067354924865. + 77 FLD0244E PIC X VALUE 'N'. + + 77 FLD0245A PIC S9(09)V9(05) COMP-3 + VALUE -371716886.14542. + 77 FLD0245B PIC 9(09)V9(15) COMP-6 + VALUE 636050719.355519267317333. + 77 FLD0245E PIC X VALUE 'N'. + + 77 FLD0246A PIC 9(05)V9(28) COMP-3 + VALUE 87216.9313623637143528810611314838. + 77 FLD0246B PIC 9(06)V9(01) COMP-6 + VALUE 208199.5. + 77 FLD0246E PIC X VALUE 'N'. + + 77 FLD0247A PIC 9(06)V9(25) COMP-3 + VALUE 834494.8214770686600871840710169. + 77 FLD0247B PIC 9(08)V9(19) COMP-3 + VALUE 73372232.8570783122181353519. + 77 FLD0247E PIC X VALUE 'N'. + + 77 FLD0248A PIC 9(04)V9(29) COMP-6 + VALUE 8885.56418584546814365410227765096. + 77 FLD0248B PIC 9(10)V9(11) COMP-6 + VALUE 5683594830.11341870550. + 77 FLD0248E PIC X VALUE 'N'. + + 77 FLD0249A PIC 9(09)V9(16) COMP-6 + VALUE 678470839.5950102000071524. + 77 FLD0249B PIC 9(09)V9(16) COMP-3 + VALUE 673175418.3146980707874718. + 77 FLD0249E PIC X VALUE 'N'. + + 77 FLD0250A PIC 9(09)V9(15) COMP-3 + VALUE 643468324.926731005675151. + 77 FLD0250B PIC 9(04)V9(30) COMP-6 + VALUE 9057.675398841628089385835664870683. + 77 FLD0250E PIC X VALUE 'N'. + + 77 FLD0251A PIC S9(09)V9(06) COMP-3 + VALUE +402548910.007195. + 77 FLD0251B PIC 9(06)V9(25) COMP-3 + VALUE 830149.1080513825338016431487631. + 77 FLD0251E PIC X VALUE 'N'. + + 77 FLD0252A PIC S9(05)V9(01) COMP-3 + VALUE -18339.3. + 77 FLD0252B PIC S9(07)V9(01) COMP-3 + VALUE +2343087.3. + 77 FLD0252E PIC X VALUE 'N'. + + 77 FLD0253A PIC 9(06)V9(25) COMP-3 + VALUE 822593.8518184680026124055984837. + 77 FLD0253B PIC 9(07)V9(01) COMP-6 + VALUE 2159897.7. + 77 FLD0253E PIC X VALUE 'N'. + + 77 FLD0254A PIC 9(10)V9(10) COMP-3 + VALUE 5401895692.3872574193. + 77 FLD0254B PIC S9(07)V9(02) COMP-3 + VALUE +2405256.16. + 77 FLD0254E PIC X VALUE 'N'. + + 77 FLD0255A PIC 9(02)V9(34) COMP-6 + VALUE 94.8299297085154591080424779647728428. + 77 FLD0255B PIC 9(10)V9(10) COMP-3 + VALUE 5408143412.7739858030. + 77 FLD0255E PIC X VALUE 'N'. + + 77 FLD0256A PIC S9(09)V9(08) COMP-3 + VALUE -473179644.06591722. + 77 FLD0256B PIC 9(04)V9(30) COMP-3 + VALUE 9107.434804383051085707734273455571. + 77 FLD0256E PIC X VALUE 'N'. + + 77 FLD0257A PIC 9(09)V9(12) COMP-6 + VALUE 577029491.737192756772. + 77 FLD0257B PIC S9(03) COMP-3 + VALUE -084. + 77 FLD0257E PIC X VALUE 'N'. + + 77 FLD0258A PIC 9(10)V9(12) COMP-3 + VALUE 5908893351.960881057394. + 77 FLD0258B PIC 9(05)V9(27) COMP-6 + VALUE 84978.202175808337237583600654033. + 77 FLD0258E PIC X VALUE 'N'. + + 77 FLD0259A PIC 9(03)V9(32) COMP-6 + VALUE 937.55337057593879368511124994256533. + 77 FLD0259B PIC S9(09)V9(05) COMP-3 + VALUE -374669242.27931. + 77 FLD0259E PIC X VALUE 'N'. + + 77 FLD0260A PIC 9(05)V9(27) COMP-6 + VALUE 86648.984966754782899300835197209. + 77 FLD0260B PIC 9(09)V9(13) COMP-3 + VALUE 601823310.0433563187436. + 77 FLD0260E PIC X VALUE 'N'. + + 77 FLD0261A PIC S9(09)V9(05) COMP-3 + VALUE -374213925.47904. + 77 FLD0261B PIC 9(09)V9(05) COMP-6 + VALUE 379885544.06227. + 77 FLD0261E PIC X VALUE 'N'. + + 77 FLD0262A PIC S9(05)V9(01) COMP-3 + VALUE -17015.9. + 77 FLD0262B PIC 9(09)V9(17) COMP-6 + VALUE 687559565.36759821329241049. + 77 FLD0262E PIC X VALUE 'N'. + + 77 FLD0263A PIC 9(05)V9(26) COMP-3 + VALUE 84046.29767805690265802809335582. + 77 FLD0263B PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0263E PIC X VALUE 'N'. + + 77 FLD0264A PIC 9(03)V9(32) COMP-6 + VALUE 935.78568596491340514376133796758949. + 77 FLD0264B PIC 9(05)V9(01) COMP-6 + VALUE 17620.4. + 77 FLD0264E PIC X VALUE 'N'. + + 77 FLD0265A PIC S9(09)V9(05) COMP-3 + VALUE -380334582.15301. + 77 FLD0265B PIC 9(01)V9(36) COMP-6 + VALUE 9.854231270822284560750858872779645025. + 77 FLD0265E PIC X VALUE 'N'. + + 77 FLD0266A PIC 9(05)V9(27) COMP-6 + VALUE 84707.693570856212872399737534578. + 77 FLD0266B PIC 9(02)V9(34) COMP-3 + VALUE 96.1883348354436562566149859776487573. + 77 FLD0266E PIC X VALUE 'N'. + + 77 FLD0267A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0267B PIC S9(07)V9(01) COMP-3 + VALUE +2348814.4. + 77 FLD0267E PIC X VALUE 'N'. + + 77 FLD0268A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0268B PIC 9(06)V9(25) COMP-3 + VALUE 821150.0957830146774085733341053. + 77 FLD0268E PIC X VALUE 'N'. + + 77 FLD0269A PIC 9(08)V9(18) COMP-6 + VALUE 69955495.182247551255727557. + 77 FLD0269B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0269E PIC X VALUE 'N'. + + 77 FLD0270A PIC 9(08)V9(18) COMP-6 + VALUE 69584936.933990082508216801. + 77 FLD0270B PIC S9(04) COMP-3 + VALUE +1200. + 77 FLD0270E PIC X VALUE 'N'. + + 77 FLD0271A PIC 9(10)V9(07) COMP-6 + VALUE 4478155927.4435323. + 77 FLD0271B PIC 9(07)V9(02) COMP-6 + VALUE 2371664.59. + 77 FLD0271E PIC X VALUE 'N'. + + 77 FLD0272A PIC S9(09)V9(06) COMP-3 + VALUE +411514667.070764. + 77 FLD0272B PIC S9(10)V9(08) COMP-3 + VALUE -4748492295.95657285. + 77 FLD0272E PIC X VALUE 'N'. + + 77 FLD0273A PIC 9(10)V9(07) COMP-6 + VALUE 4698099460.5024867. + 77 FLD0273B PIC S9(10)V9(06) COMP-3 + VALUE +4338009792.593093. + 77 FLD0273E PIC X VALUE 'N'. + + 77 FLD0274A PIC 9(07)V9(01) COMP-6 + VALUE 2190249.4. + 77 FLD0274B PIC 9(10)V9(10) COMP-6 + VALUE 5271665070.2586675958. + 77 FLD0274E PIC X VALUE 'N'. + + 77 FLD0275A PIC 9(04) COMP-6 + VALUE 1157. + 77 FLD0275B PIC S9(07)V9(02) COMP-3 + VALUE +2422980.94. + 77 FLD0275E PIC X VALUE 'N'. + + 77 FLD0276A PIC 9(04)V9(30) COMP-3 + VALUE 9021.044697283423507983002309629227. + 77 FLD0276B PIC 9(02)V9(33) COMP-6 + VALUE 94.591784695476577304873444518307223. + 77 FLD0276E PIC X VALUE 'N'. + + 77 FLD0277A PIC 9(01)V9(36) COMP-3 + VALUE 9.749582162084949876756923003995325416. + 77 FLD0277B PIC 9(10)V9(08) COMP-6 + VALUE 4992154586.01645512. + 77 FLD0277E PIC X VALUE 'N'. + + 77 FLD0278A PIC 9(10)V9(06) COMP-6 + VALUE 4251062706.993476. + 77 FLD0278B PIC 9(03)V9(31) COMP-3 + VALUE 914.7657257947739983805490737722720. + 77 FLD0278E PIC X VALUE 'N'. + + 77 FLD0279A PIC S9(08)V9(02) COMP-3 + VALUE -27159201.10. + 77 FLD0279B PIC 9(03)V9(32) COMP-3 + VALUE 921.08160397424898579998853165307082. + 77 FLD0279E PIC X VALUE 'N'. + + 77 FLD0280A PIC 9(07)V9(02) COMP-6 + VALUE 2571968.92. + 77 FLD0280B PIC 9(08)V9(19) COMP-3 + VALUE 71229222.1254675839148262639. + 77 FLD0280E PIC X VALUE 'N'. + + 77 FLD0281A PIC S9(09)V9(04) COMP-3 + VALUE +342861689.3811. + 77 FLD0281B PIC 9(10)V9(07) COMP-6 + VALUE 4662459797.7205073. + 77 FLD0281E PIC X VALUE 'N'. + + 77 FLD0282A PIC S9(10)V9(07) COMP-3 + VALUE -4600147325.4430291. + 77 FLD0282B PIC 9(07)V9(22) COMP-6 + VALUE 7889304.3658446049271049105300. + 77 FLD0282E PIC X VALUE 'N'. + + 77 FLD0283A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0283B PIC S9(05)V9(01) COMP-3 + VALUE -18273.9. + 77 FLD0283E PIC X VALUE 'N'. + + 77 FLD0284A PIC 9(09)V9(17) COMP-6 + VALUE 689733171.20512533939802324. + 77 FLD0284B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0284E PIC X VALUE 'N'. + + 77 FLD0285A PIC 9(03)V9(32) COMP-6 + VALUE 928.78828230193799520009179104818031. + 77 FLD0285B PIC 9(08)V9(20) COMP-6 + VALUE 73692142.62351649891158444916. + 77 FLD0285E PIC X VALUE 'N'. + + 77 FLD0286A PIC 9(08)V9(18) COMP-3 + VALUE 70426964.322731444578806758. + 77 FLD0286B PIC 9(07)V9(01) COMP-6 + VALUE 2181620.7. + 77 FLD0286E PIC X VALUE 'N'. + + 77 FLD0287A PIC S9(07)V9(02) COMP-3 + VALUE -2521413.84. + 77 FLD0287B PIC 9(06) COMP-6 + VALUE 158585. + 77 FLD0287E PIC X VALUE 'N'. + + 77 FLD0288A PIC 9(09)V9(17) COMP-6 + VALUE 688074525.02240640246355951. + 77 FLD0288B PIC 9(04)V9(29) COMP-3 + VALUE 8936.92752615119712089608583482913. + 77 FLD0288E PIC X VALUE 'N'. + + 77 FLD0289A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0289B PIC 9(10)V9(11) COMP-6 + VALUE 5676330984.14293657540. + 77 FLD0289E PIC X VALUE 'N'. + + 77 FLD0290A PIC S9(09)V9(05) COMP-3 + VALUE -382951207.35442. + 77 FLD0290B PIC S9(03) COMP-3 + VALUE -094. + 77 FLD0290E PIC X VALUE 'N'. + + 77 FLD0291A PIC 9(01)V9(36) COMP-6 + VALUE 9.859384124391753490002088256005663424. + 77 FLD0291B PIC 9(06)V9(25) COMP-3 + VALUE 830008.1335268413296191170047677. + 77 FLD0291E PIC X VALUE 'N'. + + 77 FLD0292A PIC S9(08)V9(03) COMP-3 + VALUE +31020519.916. + 77 FLD0292B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0292E PIC X VALUE 'N'. + + 77 FLD0293A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0293B PIC 9(08)V9(03) COMP-6 + VALUE 30744484.924. + 77 FLD0293E PIC X VALUE 'N'. + + 77 FLD0294A PIC S9(09)V9(06) COMP-3 + VALUE +412445339.504106. + 77 FLD0294B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0294E PIC X VALUE 'N'. + + 77 FLD0295A PIC S9(07)V9(02) COMP-3 + VALUE -2502548.06. + 77 FLD0295B PIC S9(07)V9(01) COMP-3 + VALUE +2138373.7. + 77 FLD0295E PIC X VALUE 'N'. + + 77 FLD0296A PIC S9(06) COMP-3 + VALUE -160918. + 77 FLD0296B PIC 9(09)V9(12) COMP-3 + VALUE 574303107.736577889141. + 77 FLD0296E PIC X VALUE 'N'. + + 77 FLD0297A PIC 9(08)V9(03) COMP-6 + VALUE 30843552.269. + 77 FLD0297B PIC 9(10)V9(09) COMP-6 + VALUE 5180156945.333709295. + 77 FLD0297E PIC X VALUE 'N'. + + 77 FLD0298A PIC S9(10)V9(08) COMP-3 + VALUE -4831587379.88150510. + 77 FLD0298B PIC 9(01)V9(36) COMP-6 + VALUE 9.983859909908295859892746193509083241. + 77 FLD0298E PIC X VALUE 'N'. + + 77 FLD0299A PIC 9(10)V9(13) COMP-6 + VALUE 6064872573.5835784522720. + 77 FLD0299B PIC 9(09)V9(16) COMP-6 + VALUE 669818284.8844781434038964. + 77 FLD0299E PIC X VALUE 'N'. + + 77 FLD0300A PIC 9(08)V9(20) COMP-6 + VALUE 73956142.30661028409841151187. + 77 FLD0300B PIC 9(09)V9(14) COMP-3 + VALUE 624082886.12038953502292. + 77 FLD0300E PIC X VALUE 'N'. + + 77 FLD0301A PIC S9(10)V9(07) COMP-3 + VALUE -4524568495.0704084. + 77 FLD0301B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0301E PIC X VALUE 'N'. + + 77 FLD0302A PIC 9(02)V9(34) COMP-6 + VALUE 94.9764690231816866017311440373305231. + 77 FLD0302B PIC 9(10)V9(06) COMP-6 + VALUE 4291773437.216153. + 77 FLD0302E PIC X VALUE 'N'. + + 77 FLD0303A PIC 9(01)V9(36) COMP-6 + VALUE 9.998247249142951931233369577967096120. + 77 FLD0303B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0303E PIC X VALUE 'N'. + + 77 FLD0304A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0304B PIC 9(10)V9(11) COMP-6 + VALUE 5565734306.84127234968. + 77 FLD0304E PIC X VALUE 'N'. + + 77 FLD0305A PIC 9(09)V9(03) COMP-6 + VALUE 328435884.788. + 77 FLD0305B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0305E PIC X VALUE 'N'. + + 77 FLD0306A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0306B PIC S9(10)V9(08) COMP-3 + VALUE -4936418970.17687181. + 77 FLD0306E PIC X VALUE 'N'. + + 77 FLD0307A PIC 9(10)V9(10) COMP-3 + VALUE 5430567751.9659767416. + 77 FLD0307B PIC 9(03)V9(32) COMP-6 + VALUE 928.08547489686554765597747973515652. + 77 FLD0307E PIC X VALUE 'N'. + + 77 FLD0308A PIC 9(09)V9(05) COMP-6 + VALUE 377189267.62120. + 77 FLD0308B PIC 9(02)V9(34) COMP-3 + VALUE 96.4274365663057242414879510761238634. + 77 FLD0308E PIC X VALUE 'N'. + + 77 FLD0309A PIC 9(09)V9(03) COMP-6 + VALUE 325461096.612. + 77 FLD0309B PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0309E PIC X VALUE 'N'. + + 77 FLD0310A PIC 9(09)V9(05) COMP-6 + VALUE 377541451.37210. + 77 FLD0310B PIC 9(09)V9(06) COMP-6 + VALUE 416709099.760976. + 77 FLD0310E PIC X VALUE 'N'. + + 77 FLD0311A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0311B PIC 9(01)V9(36) COMP-3 + VALUE 9.931117203050255914931199185957666486. + 77 FLD0311E PIC X VALUE 'N'. + + 77 FLD0312A PIC S9(10)V9(07) COMP-3 + VALUE -4631183834.9707568. + 77 FLD0312B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0312E PIC X VALUE 'N'. + + 77 FLD0313A PIC 9(05)V9(27) COMP-3 + VALUE 86493.365621715367907995641871821. + 77 FLD0313B PIC 9(09)V9(05) COMP-6 + VALUE 375066571.23058. + 77 FLD0313E PIC X VALUE 'N'. + + 77 FLD0314A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0314B PIC 9(08)V9(18) COMP-6 + VALUE 69720866.107690404600560896. + 77 FLD0314E PIC X VALUE 'N'. + + 77 FLD0315A PIC 9(07)V9(23) COMP-3 + VALUE 7933336.74589681625555215305212. + 77 FLD0315B PIC 9(09)V9(17) COMP-6 + VALUE 688307785.43204196306959374. + 77 FLD0315E PIC X VALUE 'N'. + + 77 FLD0316A PIC 9(06)V9(01) COMP-6 + VALUE 195827.4. + 77 FLD0316B PIC 9(10)V9(11) COMP-3 + VALUE 5611864585.06384822086. + 77 FLD0316E PIC X VALUE 'N'. + + 77 FLD0317A PIC 9(10)V9(08) COMP-6 + VALUE 4983225307.65216153. + 77 FLD0317B PIC S9(09)V9(03) COMP-3 + VALUE +331361572.492. + 77 FLD0317E PIC X VALUE 'N'. + + 77 FLD0318A PIC 9(08)V9(02) COMP-6 + VALUE 26926374.69. + 77 FLD0318B PIC 9(04)V9(29) COMP-3 + VALUE 8825.34717446214034275442372745601. + 77 FLD0318E PIC X VALUE 'N'. + + 77 FLD0319A PIC 9(08)V9(18) COMP-6 + VALUE 69931441.978879860243978328. + 77 FLD0319B PIC 9(09)V9(15) COMP-3 + VALUE 650439668.121860714578019. + 77 FLD0319E PIC X VALUE 'N'. + + 77 FLD0320A PIC 9(08)V9(19) COMP-6 + VALUE 71973495.8824565840274090078. + 77 FLD0320B PIC 9(10)V9(11) COMP-3 + VALUE 5542215777.53993832615. + 77 FLD0320E PIC X VALUE 'N'. + + 77 FLD0321A PIC 9(10)V9(09) COMP-3 + VALUE 5005504874.853489161. + 77 FLD0321B PIC 9(09)V9(16) COMP-3 + VALUE 660163921.0521921263818967. + 77 FLD0321E PIC X VALUE 'N'. + + 77 FLD0322A PIC S9(09)V9(07) COMP-3 + VALUE +442005310.2249054. + 77 FLD0322B PIC 9(09)V9(14) COMP-6 + VALUE 617916374.92097983841432. + 77 FLD0322E PIC X VALUE 'N'. + + 77 FLD0323A PIC S9(05) COMP-3 + VALUE -15097. + 77 FLD0323B PIC 9(01)V9(35) COMP-3 + VALUE 9.73366140153258840861383305309573188. + 77 FLD0323E PIC X VALUE 'N'. + + 77 FLD0324A PIC 9(10)V9(11) COMP-3 + VALUE 5601604504.75820970162. + 77 FLD0324B PIC 9(10)V9(10) COMP-3 + VALUE 5319146871.9734047443. + 77 FLD0324E PIC X VALUE 'N'. + + 77 FLD0325A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0325B PIC 9(08)V9(19) COMP-3 + VALUE 72332591.2353324218528882738. + 77 FLD0325E PIC X VALUE 'N'. + + 77 FLD0326A PIC S9(08)V9(03) COMP-3 + VALUE +31312044.720. + 77 FLD0326B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0326E PIC X VALUE 'N'. + + 77 FLD0327A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0327B PIC S9(07)V9(01) COMP-3 + VALUE +2122536.7. + 77 FLD0327E PIC X VALUE 'N'. + + 77 FLD0328A PIC 9(08)V9(19) COMP-3 + VALUE 71147504.7716873310044150002. + 77 FLD0328B PIC S9(09)V9(05) COMP-3 + VALUE -393175029.86891. + 77 FLD0328E PIC X VALUE 'N'. + + 77 FLD0329A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0329B PIC 9(02)V9(34) COMP-3 + VALUE 95.2096907591406971249625712516717612. + 77 FLD0329E PIC X VALUE 'N'. + + 77 FLD0330A PIC 9(09)V9(07) COMP-6 + VALUE 445280746.1581723. + 77 FLD0330B PIC 9(07)V9(23) COMP-6 + VALUE 7955244.25555017788980194382020. + 77 FLD0330E PIC X VALUE 'N'. + + 77 FLD0331A PIC S9(07)V9(01) COMP-3 + VALUE +2232816.8. + 77 FLD0331B PIC 9(08)V9(02) COMP-6 + VALUE 27670053.03. + 77 FLD0331E PIC X VALUE 'N'. + + 77 FLD0332A PIC 9(05)V9(27) COMP-6 + VALUE 86562.988696340348315771962006692. + 77 FLD0332B PIC 9(09)V9(04) COMP-6 + VALUE 355930982.9079. + 77 FLD0332E PIC X VALUE 'N'. + + 77 FLD0333A PIC 9(02)V9(34) COMP-6 + VALUE 95.6494138775326296908474432711955159. + 77 FLD0333B PIC S9(07)V9(02) COMP-3 + VALUE +2431333.31. + 77 FLD0333E PIC X VALUE 'N'. + + 77 FLD0334A PIC 9(08)V9(03) COMP-6 + VALUE 28999492.466. + 77 FLD0334B PIC 9(09)V9(03) COMP-6 + VALUE 326043905.981. + 77 FLD0334E PIC X VALUE 'N'. + + 77 FLD0335A PIC S9(08)V9(03) COMP-3 + VALUE +30334218.791. + 77 FLD0335B PIC 9(10)V9(09) COMP-6 + VALUE 5075855226.668805064. + 77 FLD0335E PIC X VALUE 'N'. + + 77 FLD0336A PIC 9(05)V9(27) COMP-6 + VALUE 85800.255545984371874368434873758. + 77 FLD0336B PIC S9(08)V9(03) COMP-3 + VALUE -29245898.644. + 77 FLD0336E PIC X VALUE 'N'. + + 77 FLD0337A PIC 9(08)V9(19) COMP-3 + VALUE 72003996.5448931451597047725. + 77 FLD0337B PIC 9(08)V9(19) COMP-3 + VALUE 71409231.4076567258318561925. + 77 FLD0337E PIC X VALUE 'N'. + + 77 FLD0338A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0338B PIC 9(10)V9(10) COMP-3 + VALUE 5304768900.0456310637. + 77 FLD0338E PIC X VALUE 'N'. + + 77 FLD0339A PIC S9(06) COMP-3 + VALUE -160552. + 77 FLD0339B PIC 9(09)V9(13) COMP-3 + VALUE 594533435.7259434154840. + 77 FLD0339E PIC X VALUE 'N'. + + 77 FLD0340A PIC 9(10)V9(09) COMP-3 + VALUE 5028381651.473269320. + 77 FLD0340B PIC S9(09)V9(04) COMP-3 + VALUE -361499697.6055. + 77 FLD0340E PIC X VALUE 'N'. + + 77 FLD0341A PIC 9(10)V9(11) COMP-6 + VALUE 5676316159.01010966318. + 77 FLD0341B PIC 9(09)V9(12) COMP-3 + VALUE 572076310.146404809486. + 77 FLD0341E PIC X VALUE 'N'. + + 77 FLD0342A PIC S9(07)V9(01) COMP-3 + VALUE +2347143.0. + 77 FLD0342B PIC S9(10)V9(07) COMP-3 + VALUE -4530575977.8135124. + 77 FLD0342E PIC X VALUE 'N'. + + 77 FLD0343A PIC 9(08)V9(19) COMP-6 + VALUE 72866356.1504289902792663724. + 77 FLD0343B PIC 9(06)V9(01) COMP-6 + VALUE 195736.6. + 77 FLD0343E PIC X VALUE 'N'. + + 77 FLD0344A PIC 9(09)V9(07) COMP-6 + VALUE 439744878.9947105. + 77 FLD0344B PIC 9(04)V9(29) COMP-3 + VALUE 8815.39565612843856179381418769480. + 77 FLD0344E PIC X VALUE 'N'. + + 77 FLD0345A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0345B PIC 9(09)V9(06) COMP-6 + VALUE 405441574.894889. + 77 FLD0345E PIC X VALUE 'N'. + + 77 FLD0346A PIC 9(07)V9(22) COMP-3 + VALUE 7807860.0333687642187641131386. + 77 FLD0346B PIC 9(09)V9(16) COMP-3 + VALUE 674345587.8778652490268541. + 77 FLD0346E PIC X VALUE 'N'. + + 77 FLD0347A PIC 9(08)V9(18) COMP-3 + VALUE 70165985.253748408556617732. + 77 FLD0347B PIC 9(06) COMP-6 + VALUE 158396. + 77 FLD0347E PIC X VALUE 'N'. + + 77 FLD0348A PIC 9(08)V9(04) COMP-6 + VALUE 33778742.7133. + 77 FLD0348B PIC 9(09)V9(12) COMP-6 + VALUE 575387126.330844100863. + 77 FLD0348E PIC X VALUE 'N'. + + 77 FLD0349A PIC 9(10)V9(09) COMP-3 + VALUE 5122785066.779668161. + 77 FLD0349B PIC 9(03)V9(32) COMP-3 + VALUE 924.84903066843715535583214659709483. + 77 FLD0349E PIC X VALUE 'N'. + + 77 FLD0350A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0350B PIC 9(06)V9(25) COMP-6 + VALUE 826494.1389960360762501068165875. + 77 FLD0350E PIC X VALUE 'N'. + + 77 FLD0351A PIC 9(05)V9(27) COMP-6 + VALUE 84942.576912519174303639601930626. + 77 FLD0351B PIC 9(10)V9(10) COMP-6 + VALUE 5388327188.5283523516. + 77 FLD0351E PIC X VALUE 'N'. + + 77 FLD0352A PIC 9(03)V9(32) COMP-6 + VALUE 937.88592938035042489985926295048557. + 77 FLD0352B PIC 9(06)V9(01) COMP-6 + VALUE 195629.8. + 77 FLD0352E PIC X VALUE 'N'. + + 77 FLD0353A PIC S9(07)V9(02) COMP-3 + VALUE -2544588.73. + 77 FLD0353B PIC 9(02)V9(33) COMP-3 + VALUE 94.340663054368900652946194895775988. + 77 FLD0353E PIC X VALUE 'N'. + + 77 FLD0354A PIC 9(07)V9(01) COMP-6 + VALUE 2152460.4. + 77 FLD0354B PIC S9(08)V9(03) COMP-3 + VALUE -29015200.342. + 77 FLD0354E PIC X VALUE 'N'. + + 77 FLD0355A PIC 9(06)V9(01) COMP-6 + VALUE 208715.4. + 77 FLD0355B PIC S9(05) COMP-3 + VALUE -15428. + 77 FLD0355E PIC X VALUE 'N'. + + 77 FLD0356A PIC S9(09)V9(05) COMP-3 + VALUE -391398983.37050. + 77 FLD0356B PIC 9(05)V9(27) COMP-6 + VALUE 84690.187478976841628508509529638. + 77 FLD0356E PIC X VALUE 'N'. + + 77 FLD0357A PIC 9(10)V9(10) COMP-3 + VALUE 5323345989.0667944591. + 77 FLD0357B PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0357E PIC X VALUE 'N'. + + 77 FLD0358A PIC 9(08)V9(03) COMP-6 + VALUE 29848403.943. + 77 FLD0358B PIC 9(09)V9(17) COMP-6 + VALUE 688595894.53938552239264936. + 77 FLD0358E PIC X VALUE 'N'. + + 77 FLD0359A PIC 9(07)V9(22) COMP-6 + VALUE 7654789.5985185210321333215688. + 77 FLD0359B PIC 9(01)V9(36) COMP-3 + VALUE 9.927521413787718795873615817981772124. + 77 FLD0359E PIC X VALUE 'N'. + + 77 FLD0360A PIC S9(09)V9(06) COMP-3 + VALUE +400277612.276280. + 77 FLD0360B PIC 9(08)V9(02) COMP-6 + VALUE 26666225.04. + 77 FLD0360E PIC X VALUE 'N'. + + 77 FLD0361A PIC 9(06)V9(25) COMP-3 + VALUE 823089.8044061112361902132761315. + 77 FLD0361B PIC 9(05)V9(27) COMP-6 + VALUE 84762.044237681810621154454565839. + 77 FLD0361E PIC X VALUE 'N'. + + 77 FLD0362A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0362B PIC 9(04)V9(30) COMP-6 + VALUE 8970.899599407193836242413453874178. + 77 FLD0362E PIC X VALUE 'N'. + + 77 FLD0363A PIC 9(09)V9(04) COMP-6 + VALUE 358575926.2078. + 77 FLD0363B PIC 9(04)V9(30) COMP-3 + VALUE 9034.927431796696550847514117776881. + 77 FLD0363E PIC X VALUE 'N'. + + 77 FLD0364A PIC S9(04) COMP-3 + VALUE +1234. + 77 FLD0364B PIC 9(06)V9(25) COMP-3 + VALUE 830028.0009277749559970516202156. + 77 FLD0364E PIC X VALUE 'N'. + + 77 FLD0365A PIC 9(09)V9(11) COMP-3 + VALUE 551967009.62472056151. + 77 FLD0365B PIC 9(09)V9(16) COMP-6 + VALUE 658782379.9892106313436102. + 77 FLD0365E PIC X VALUE 'N'. + + 77 FLD0366A PIC 9(06)V9(25) COMP-3 + VALUE 822414.3642778768414913770357088. + 77 FLD0366B PIC 9(06)V9(25) COMP-6 + VALUE 838180.2974044693099742175945721. + 77 FLD0366E PIC X VALUE 'N'. + + 77 FLD0367A PIC 9(09)V9(13) COMP-6 + VALUE 595975436.9256639039420. + 77 FLD0367B PIC S9(06)V9(01) COMP-3 + VALUE -191378.3. + 77 FLD0367E PIC X VALUE 'N'. + + 77 FLD0368A PIC 9(05) COMP-6 + VALUE 15663. + 77 FLD0368B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0368E PIC X VALUE 'N'. + + 77 FLD0369A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0369B PIC S9(08)V9(03) COMP-3 + VALUE +31224128.387. + 77 FLD0369E PIC X VALUE 'N'. + + 77 FLD0370A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0370B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0370E PIC X VALUE 'N'. + + 77 FLD0371A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0371B PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0371E PIC X VALUE 'N'. + + 77 FLD0372A PIC 9(10)V9(09) COMP-6 + VALUE 5067586024.551302692. + 77 FLD0372B PIC 9(10)V9(09) COMP-3 + VALUE 5017586497.117959565. + 77 FLD0372E PIC X VALUE 'N'. + + 77 FLD0373A PIC 9(09)V9(16) COMP-3 + VALUE 660730415.8912360447786227. + 77 FLD0373B PIC S9(09)V9(04) COMP-3 + VALUE -352559577.5040. + 77 FLD0373E PIC X VALUE 'N'. + + 77 FLD0374A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0374B PIC 9(08)V9(19) COMP-3 + VALUE 71126449.7973442155753787119. + 77 FLD0374E PIC X VALUE 'N'. + + 77 FLD0375A PIC 9(07)V9(22) COMP-3 + VALUE 7816763.9605777072819847717255. + 77 FLD0375B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0375E PIC X VALUE 'N'. + + 77 FLD0376A PIC 9(05)V9(27) COMP-6 + VALUE 84980.958923270843996533585595898. + 77 FLD0376B PIC 9(10)V9(09) COMP-3 + VALUE 5240094598.000759607. + 77 FLD0376E PIC X VALUE 'N'. + + 77 FLD0377A PIC 9(02)V9(34) COMP-6 + VALUE 96.7759547981370871205797357106348499. + 77 FLD0377B PIC 9(07)V9(22) COMP-3 + VALUE 7813622.4062247550126159012506. + 77 FLD0377E PIC X VALUE 'N'. + + 77 FLD0378A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0378B PIC S9(06) COMP-3 + VALUE -163135. + 77 FLD0378E PIC X VALUE 'N'. + + 77 FLD0379A PIC 9(10)V9(10) COMP-6 + VALUE 5351160784.1302399890. + 77 FLD0379B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0379E PIC X VALUE 'N'. + + 77 FLD0380A PIC 9(09)V9(03) COMP-6 + VALUE 318886259.138. + 77 FLD0380B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0380E PIC X VALUE 'N'. + + 77 FLD0381A PIC 9(10)V9(09) COMP-6 + VALUE 5188977124.912377281. + 77 FLD0381B PIC 9(03) COMP-6 + VALUE 096. + 77 FLD0381E PIC X VALUE 'N'. + + 77 FLD0382A PIC 9(10)V9(10) COMP-6 + VALUE 5469463185.9002762475. + 77 FLD0382B PIC 9(04) COMP-6 + VALUE 1276. + 77 FLD0382E PIC X VALUE 'N'. + + 77 FLD0383A PIC 9(04)V9(29) COMP-3 + VALUE 8846.28028341020278269013488170458. + 77 FLD0383B PIC 9(06)V9(24) COMP-3 + VALUE 801588.906111812216082057602761. + 77 FLD0383E PIC X VALUE 'N'. + + 77 FLD0384A PIC S9(07)V9(02) COMP-3 + VALUE +2410021.83. + 77 FLD0384B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0384E PIC X VALUE 'N'. + + 77 FLD0385A PIC 9(09)V9(14) COMP-6 + VALUE 616198826.41569234671408. + 77 FLD0385B PIC 9(04)V9(29) COMP-3 + VALUE 8914.93363280043138452413131744833. + 77 FLD0385E PIC X VALUE 'N'. + + 77 FLD0386A PIC 9(10)V9(11) COMP-6 + VALUE 5671006446.22052230126. + 77 FLD0386B PIC 9(07)V9(21) COMP-3 + VALUE 7538453.430795608589676248811. + 77 FLD0386E PIC X VALUE 'N'. + + 77 FLD0387A PIC 9(08)V9(03) COMP-6 + VALUE 30516405.931. + 77 FLD0387B PIC 9(09)V9(16) COMP-3 + VALUE 660134959.6835575095354897. + 77 FLD0387E PIC X VALUE 'N'. + + 77 FLD0388A PIC 9(10)V9(11) COMP-6 + VALUE 5691303425.20841603359. + 77 FLD0388B PIC 9(03) COMP-6 + VALUE 099. + 77 FLD0388E PIC X VALUE 'N'. + + 77 FLD0389A PIC S9(10)V9(06) COMP-3 + VALUE +4300560615.719126. + 77 FLD0389B PIC 9(10)V9(12) COMP-6 + VALUE 5882065365.633618592156. + 77 FLD0389E PIC X VALUE 'N'. + + 77 FLD0390A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0390B PIC 9(03) COMP-6 + VALUE 095. + 77 FLD0390E PIC X VALUE 'N'. + + 77 FLD0391A PIC S9(08)V9(03) COMP-3 + VALUE +30066642.536. + 77 FLD0391B PIC S9(08)V9(02) COMP-3 + VALUE -26329271.26. + 77 FLD0391E PIC X VALUE 'N'. + + 77 FLD0392A PIC 9(02)V9(34) COMP-6 + VALUE 95.7627258628673261320329856971511617. + 77 FLD0392B PIC 9(10)V9(07) COMP-6 + VALUE 4682510725.0510572. + 77 FLD0392E PIC X VALUE 'N'. + + 77 FLD0393A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0393B PIC 9(04)V9(30) COMP-6 + VALUE 9067.420163680885991652758093550801. + 77 FLD0393E PIC X VALUE 'N'. + + 77 FLD0394A PIC 9(05)V9(01) COMP-6 + VALUE 16807.8. + 77 FLD0394B PIC S9(10)V9(08) COMP-3 + VALUE -4746288002.63585892. + 77 FLD0394E PIC X VALUE 'N'. + + 77 FLD0395A PIC 9(10)V9(09) COMP-3 + VALUE 5206691882.901124390. + 77 FLD0395B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0395E PIC X VALUE 'N'. + + 77 FLD0396A PIC 9(09)V9(06) COMP-6 + VALUE 419939827.280791. + 77 FLD0396B PIC 9(09)V9(07) COMP-6 + VALUE 446487444.5871826. + 77 FLD0396E PIC X VALUE 'N'. + + 77 FLD0397A PIC 9(05)V9(27) COMP-6 + VALUE 85569.982924983467587054519754019. + 77 FLD0397B PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0397E PIC X VALUE 'N'. + + 77 FLD0398A PIC 9(05)V9(26) COMP-3 + VALUE 84110.85692078776876456913669244. + 77 FLD0398B PIC S9(08)V9(02) COMP-3 + VALUE -28358417.67. + 77 FLD0398E PIC X VALUE 'N'. + + 77 FLD0399A PIC 9(05)V9(27) COMP-3 + VALUE 86215.377080746946614198122915695. + 77 FLD0399B PIC 9(07)V9(02) COMP-6 + VALUE 2481207.70. + 77 FLD0399E PIC X VALUE 'N'. + + 77 FLD0400A PIC 9(10)V9(08) COMP-6 + VALUE 4880703034.67910082. + 77 FLD0400B PIC 9(06)V9(25) COMP-6 + VALUE 835199.6491942943467989834971376. + 77 FLD0400E PIC X VALUE 'N'. + + 77 FLD0401A PIC 9(08)V9(03) COMP-6 + VALUE 30757829.425. + 77 FLD0401B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0401E PIC X VALUE 'N'. + + 77 FLD0402A PIC 9(04)V9(29) COMP-3 + VALUE 8843.41306989221531686951038864208. + 77 FLD0402B PIC 9(08)V9(18) COMP-6 + VALUE 69652895.633901057426129455. + 77 FLD0402E PIC X VALUE 'N'. + + 77 FLD0403A PIC 9(10)V9(10) COMP-6 + VALUE 5351391185.2119278034. + 77 FLD0403B PIC 9(03)V9(32) COMP-6 + VALUE 939.96913575689089448417234962107613. + 77 FLD0403E PIC X VALUE 'N'. + + 77 FLD0404A PIC S9(10)V9(08) COMP-3 + VALUE -4810592903.51378177. + 77 FLD0404B PIC 9(09)V9(16) COMP-3 + VALUE 670850774.7441430080215241. + 77 FLD0404E PIC X VALUE 'N'. + + 77 FLD0405A PIC S9(09)V9(04) COMP-3 + VALUE -360620744.0007. + 77 FLD0405B PIC S9(05) COMP-3 + VALUE +14133. + 77 FLD0405E PIC X VALUE 'N'. + + 77 FLD0406A PIC S9(07)V9(02) COMP-3 + VALUE -2503018.94. + 77 FLD0406B PIC 9(07)V9(23) COMP-6 + VALUE 7996063.91391730064732712435215. + 77 FLD0406E PIC X VALUE 'N'. + + 77 FLD0407A PIC 9(09)V9(13) COMP-3 + VALUE 592634898.8738083800598. + 77 FLD0407B PIC 9(01)V9(36) COMP-6 + VALUE 9.879241102928391082826919955550692975. + 77 FLD0407E PIC X VALUE 'N'. + + 77 FLD0408A PIC 9(09)V9(07) COMP-6 + VALUE 438100099.1119252. + 77 FLD0408B PIC 9(08)V9(02) COMP-6 + VALUE 28626783.20. + 77 FLD0408E PIC X VALUE 'N'. + + 77 FLD0409A PIC 9(08)V9(02) COMP-6 + VALUE 28575188.65. + 77 FLD0409B PIC 9(09)V9(12) COMP-6 + VALUE 576691261.515216657684. + 77 FLD0409E PIC X VALUE 'N'. + + 77 FLD0410A PIC 9(09)V9(14) COMP-6 + VALUE 615937928.60877261130525. + 77 FLD0410B PIC 9(01)V9(36) COMP-3 + VALUE 9.822719722312858170454319406417198479. + 77 FLD0410E PIC X VALUE 'N'. + + 77 FLD0411A PIC 9(09)V9(17) COMP-6 + VALUE 688573322.26995748847286904. + 77 FLD0411B PIC 9(07)V9(22) COMP-6 + VALUE 7775778.4281136710369253250973. + 77 FLD0411E PIC X VALUE 'N'. + + 77 FLD0412A PIC 9(09)V9(12) COMP-3 + VALUE 572677017.522024045526. + 77 FLD0412B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0412E PIC X VALUE 'N'. + + 77 FLD0413A PIC 9(06)V9(25) COMP-6 + VALUE 828822.6462986850728853482905833. + 77 FLD0413B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0413E PIC X VALUE 'N'. + + 77 FLD0414A PIC 9(05)V9(27) COMP-3 + VALUE 84413.303017262042438062508153961. + 77 FLD0414B PIC S9(05) COMP-3 + VALUE -15377. + 77 FLD0414E PIC X VALUE 'N'. + + 77 FLD0415A PIC 9(09)V9(15) COMP-3 + VALUE 650722988.227690701812377. + 77 FLD0415B PIC 9(03)V9(31) COMP-6 + VALUE 919.0351051613949717733476063585840. + 77 FLD0415E PIC X VALUE 'N'. + + 77 FLD0416A PIC 9(09)V9(16) COMP-6 + VALUE 675584038.8269652718733482. + 77 FLD0416B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0416E PIC X VALUE 'N'. + + 77 FLD0417A PIC 9(03)V9(32) COMP-3 + VALUE 942.59186417160190085695603556814603. + 77 FLD0417B PIC 9(04)V9(29) COMP-3 + VALUE 8943.54109346381376255408213182818. + 77 FLD0417E PIC X VALUE 'N'. + + 77 FLD0418A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0418B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0418E PIC X VALUE 'N'. + + 77 FLD0419A PIC 9(09)V9(06) COMP-6 + VALUE 415695619.544491. + 77 FLD0419B PIC 9(10)V9(10) COMP-3 + VALUE 5349169017.3884820502. + 77 FLD0419E PIC X VALUE 'N'. + + 77 FLD0420A PIC 9(08)V9(02) COMP-6 + VALUE 26881191.37. + 77 FLD0420B PIC 9(04)V9(30) COMP-6 + VALUE 9092.387304867948216724471421912312. + 77 FLD0420E PIC X VALUE 'N'. + + 77 FLD0421A PIC 9(08)V9(19) COMP-3 + VALUE 71124707.9077118260492795798. + 77 FLD0421B PIC S9(06)V9(01) COMP-3 + VALUE +210383.3. + 77 FLD0421E PIC X VALUE 'N'. + + 77 FLD0422A PIC 9(08)V9(18) COMP-3 + VALUE 69276472.004700051510184266. + 77 FLD0422B PIC 9(02)V9(34) COMP-6 + VALUE 96.7464238557165900900258748151827603. + 77 FLD0422E PIC X VALUE 'N'. + + 77 FLD0423A PIC 9(09)V9(13) COMP-6 + VALUE 595417774.2919815052857. + 77 FLD0423B PIC 9(09)V9(17) COMP-6 + VALUE 689527286.14626146441679566. + 77 FLD0423E PIC X VALUE 'N'. + + 77 FLD0424A PIC 9(09)V9(11) COMP-3 + VALUE 551151541.59885582085. + 77 FLD0424B PIC 9(08)V9(19) COMP-6 + VALUE 72724692.5117367437607640567. + 77 FLD0424E PIC X VALUE 'N'. + + 77 FLD0425A PIC S9(10)V9(08) COMP-3 + VALUE -4741628720.81754727. + 77 FLD0425B PIC 9(10)V9(12) COMP-3 + VALUE 5846836543.074439562772. + 77 FLD0425E PIC X VALUE 'N'. + + 77 FLD0426A PIC 9(10)V9(11) COMP-3 + VALUE 5601456695.80725313885. + 77 FLD0426B PIC 9(10)V9(11) COMP-6 + VALUE 5581868249.31393821280. + 77 FLD0426E PIC X VALUE 'N'. + + 77 FLD0427A PIC 9(09)V9(04) COMP-6 + VALUE 365284621.5641. + 77 FLD0427B PIC 9(07)V9(22) COMP-6 + VALUE 7792109.4871910845380824639505. + 77 FLD0427E PIC X VALUE 'N'. + + 77 FLD0428A PIC 9(05)V9(27) COMP-6 + VALUE 85913.234918316627730661139139556. + 77 FLD0428B PIC 9(01)V9(36) COMP-6 + VALUE 9.753152813075189886404814387788064777. + 77 FLD0428E PIC X VALUE 'N'. + + 77 FLD0429A PIC 9(07)V9(22) COMP-3 + VALUE 7833347.6062909002113343603923. + 77 FLD0429B PIC 9(09)V9(06) COMP-6 + VALUE 415311789.274485. + 77 FLD0429E PIC X VALUE 'N'. + + 77 FLD0430A PIC 9(08)V9(03) COMP-6 + VALUE 30820998.502. + 77 FLD0430B PIC 9(09)V9(04) COMP-6 + VALUE 345613119.3468. + 77 FLD0430E PIC X VALUE 'N'. + + 77 FLD0431A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0431B PIC 9(03)V9(31) COMP-3 + VALUE 920.3928254587173674039490833820309. + 77 FLD0431E PIC X VALUE 'N'. + + 77 FLD0432A PIC 9(10)V9(11) COMP-3 + VALUE 5612307034.00538710745. + 77 FLD0432B PIC S9(06) COMP-3 + VALUE -161655. + 77 FLD0432E PIC X VALUE 'N'. + + 77 FLD0433A PIC 9(08)V9(19) COMP-3 + VALUE 72012955.8244768763763943297. + 77 FLD0433B PIC 9(06)V9(01) COMP-6 + VALUE 206502.1. + 77 FLD0433E PIC X VALUE 'N'. + + 77 FLD0434A PIC S9(10)V9(07) COMP-3 + VALUE -4547054675.3415619. + 77 FLD0434B PIC 9(03)V9(32) COMP-3 + VALUE 931.50114075800283242045907172723673. + 77 FLD0434E PIC X VALUE 'N'. + + 77 FLD0435A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0435B PIC 9(10)V9(12) COMP-3 + VALUE 5848414344.863717140299. + 77 FLD0435E PIC X VALUE 'N'. + + 77 FLD0436A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0436B PIC 9(06)V9(25) COMP-3 + VALUE 830719.5843004202551185244374210. + 77 FLD0436E PIC X VALUE 'N'. + + 77 FLD0437A PIC 9(09)V9(15) COMP-3 + VALUE 632897272.198471361193128. + 77 FLD0437B PIC 9(09)V9(15) COMP-3 + VALUE 644015379.475938010145341. + 77 FLD0437E PIC X VALUE 'N'. + + 77 FLD0438A PIC 9(09)V9(16) COMP-3 + VALUE 664694021.6365745390802999. + 77 FLD0438B PIC 9(05)V9(28) COMP-3 + VALUE 87427.7230957161255453513604152249. + 77 FLD0438E PIC X VALUE 'N'. + + 77 FLD0439A PIC 9(10)V9(08) COMP-6 + VALUE 4961134805.43429519. + 77 FLD0439B PIC 9(10)V9(11) COMP-3 + VALUE 5610850764.78219813012. + 77 FLD0439E PIC X VALUE 'N'. + + 77 FLD0440A PIC 9(04)V9(29) COMP-6 + VALUE 8899.07507055040514210020319296745. + 77 FLD0440B PIC 9(10)V9(07) COMP-6 + VALUE 4554701137.8932739. + 77 FLD0440E PIC X VALUE 'N'. + + 77 FLD0441A PIC 9(08)V9(19) COMP-3 + VALUE 71126905.4406556744396539215. + 77 FLD0441B PIC S9(10)V9(06) COMP-3 + VALUE +4339238601.837461. + 77 FLD0441E PIC X VALUE 'N'. + + 77 FLD0442A PIC 9(05)V9(01) COMP-6 + VALUE 16995.1. + 77 FLD0442B PIC 9(03)V9(31) COMP-6 + VALUE 915.7753741786495149668212434335146. + 77 FLD0442E PIC X VALUE 'N'. + + 77 FLD0443A PIC S9(10)V9(08) COMP-3 + VALUE -4744984255.46487689. + 77 FLD0443B PIC 9(09)V9(14) COMP-3 + VALUE 620915031.52970173307068. + 77 FLD0443E PIC X VALUE 'N'. + + 77 FLD0444A PIC 9(02)V9(33) COMP-6 + VALUE 94.673816662087151296844922399031929. + 77 FLD0444B PIC 9(10)V9(09) COMP-3 + VALUE 5047752845.189990011. + 77 FLD0444E PIC X VALUE 'N'. + + 77 FLD0445A PIC 9(10)V9(10) COMP-3 + VALUE 5416554544.5299512206. + 77 FLD0445B PIC S9(10)V9(07) COMP-3 + VALUE -4623541965.4562581. + 77 FLD0445E PIC X VALUE 'N'. + + 77 FLD0446A PIC 9(10)V9(09) COMP-3 + VALUE 5044897846.697211640. + 77 FLD0446B PIC 9(09)V9(16) COMP-6 + VALUE 665206327.4939082893055797. + 77 FLD0446E PIC X VALUE 'N'. + + 77 FLD0447A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0447B PIC 9(08)V9(02) COMP-6 + VALUE 27717300.69. + 77 FLD0447E PIC X VALUE 'N'. + + 77 FLD0448A PIC 9(06)V9(01) COMP-6 + VALUE 186565.4. + 77 FLD0448B PIC 9(10)V9(10) COMP-6 + VALUE 5373290497.5367845601. + 77 FLD0448E PIC X VALUE 'N'. + + 77 FLD0449A PIC S9(09)V9(05) COMP-3 + VALUE -384988094.18704. + 77 FLD0449B PIC S9(08)V9(04) COMP-3 + VALUE +34016016.2924. + 77 FLD0449E PIC X VALUE 'N'. + + 77 FLD0450A PIC 9(09)V9(14) COMP-6 + VALUE 625578375.50228334588808. + 77 FLD0450B PIC 9(09)V9(13) COMP-6 + VALUE 597300618.6146695428718. + 77 FLD0450E PIC X VALUE 'N'. + + 77 FLD0451A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0451B PIC S9(07)V9(02) COMP-3 + VALUE -2517390.40. + 77 FLD0451E PIC X VALUE 'N'. + + 77 FLD0452A PIC 9(08)V9(02) COMP-6 + VALUE 26826484.18. + 77 FLD0452B PIC 9(10)V9(11) COMP-6 + VALUE 5576443525.30127562772. + 77 FLD0452E PIC X VALUE 'N'. + + 77 FLD0453A PIC 9(10)V9(10) COMP-6 + VALUE 5383526546.5392911909. + 77 FLD0453B PIC 9(02)V9(34) COMP-6 + VALUE 96.7573296701221163829131910461001098. + 77 FLD0453E PIC X VALUE 'N'. + + 77 FLD0454A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0454B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0454E PIC X VALUE 'N'. + + 77 FLD0455A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0455B PIC 9(05)V9(27) COMP-3 + VALUE 85105.998788168291113720442808698. + 77 FLD0455E PIC X VALUE 'N'. + + 77 FLD0456A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0456B PIC 9(05) COMP-6 + VALUE 15509. + 77 FLD0456E PIC X VALUE 'N'. + + 77 FLD0457A PIC 9(04)V9(30) COMP-6 + VALUE 9063.641671624598217249513254500925. + 77 FLD0457B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0457E PIC X VALUE 'N'. + + 77 FLD0458A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0458B PIC 9(09)V9(03) COMP-6 + VALUE 319507540.378. + 77 FLD0458E PIC X VALUE 'N'. + + 77 FLD0459A PIC 9(06)V9(01) COMP-6 + VALUE 198479.9. + 77 FLD0459B PIC 9(10)V9(11) COMP-3 + VALUE 5635468078.16151518188. + 77 FLD0459E PIC X VALUE 'N'. + + 77 FLD0460A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0460B PIC 9(07)V9(22) COMP-3 + VALUE 7834589.5335320658858790920930. + 77 FLD0460E PIC X VALUE 'N'. + + 77 FLD0461A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0461B PIC S9(07)V9(01) COMP-3 + VALUE +2146839.2. + 77 FLD0461E PIC X VALUE 'N'. + + 77 FLD0462A PIC 9(08)V9(02) COMP-6 + VALUE 26776595.69. + 77 FLD0462B PIC 9(02)V9(34) COMP-3 + VALUE 95.2391194548525610308331579290097579. + 77 FLD0462E PIC X VALUE 'N'. + + 77 FLD0463A PIC 9(05)V9(27) COMP-3 + VALUE 85490.666934027292889197724434779. + 77 FLD0463B PIC 9(09)V9(06) COMP-6 + VALUE 407249114.981761. + 77 FLD0463E PIC X VALUE 'N'. + + 77 FLD0464A PIC 9(10)V9(07) COMP-6 + VALUE 4587031190.3834293. + 77 FLD0464B PIC 9(08)V9(19) COMP-6 + VALUE 71857481.5704608793609509120. + 77 FLD0464E PIC X VALUE 'N'. + + 77 FLD0465A PIC 9(10)V9(12) COMP-3 + VALUE 5816563985.597106301028. + 77 FLD0465B PIC 9(06)V9(25) COMP-6 + VALUE 837937.1800695708527584315561398. + 77 FLD0465E PIC X VALUE 'N'. + + 77 FLD0466A PIC 9(09)V9(15) COMP-3 + VALUE 654381306.333900236715805. + 77 FLD0466B PIC 9(05) COMP-6 + VALUE 14616. + 77 FLD0466E PIC X VALUE 'N'. + + 77 FLD0467A PIC S9(07)V9(01) COMP-3 + VALUE +2343287.0. + 77 FLD0467B PIC 9(04)V9(29) COMP-3 + VALUE 8929.74677715112297171629052172647. + 77 FLD0467E PIC X VALUE 'N'. + + 77 FLD0468A PIC S9(10)V9(06) COMP-3 + VALUE +4344132145.767680. + 77 FLD0468B PIC 9(08)V9(03) COMP-6 + VALUE 29592230.696. + 77 FLD0468E PIC X VALUE 'N'. + + 77 FLD0469A PIC 9(08)V9(18) COMP-6 + VALUE 70961503.876956555370014712. + 77 FLD0469B PIC 9(10)V9(09) COMP-3 + VALUE 5200119971.346918168. + 77 FLD0469E PIC X VALUE 'N'. + + 77 FLD0470A PIC 9(03)V9(31) COMP-3 + VALUE 913.6810028966669827710234130790922. + 77 FLD0470B PIC S9(09)V9(05) COMP-3 + VALUE -383130523.18889. + 77 FLD0470E PIC X VALUE 'N'. + + 77 FLD0471A PIC S9(07)V9(02) COMP-3 + VALUE -2507103.69. + 77 FLD0471B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0471E PIC X VALUE 'N'. + + 77 FLD0472A PIC 9(10)V9(09) COMP-3 + VALUE 5103990869.050332168. + 77 FLD0472B PIC 9(06)V9(26) COMP-3 + VALUE 843393.74409143441635450244575622. + 77 FLD0472E PIC X VALUE 'N'. + + 77 FLD0473A PIC 9(08)V9(20) COMP-3 + VALUE 74367162.06805468187823748849. + 77 FLD0473B PIC 9(08)V9(18) COMP-3 + VALUE 70143773.259305752798553612. + 77 FLD0473E PIC X VALUE 'N'. + + 77 FLD0474A PIC 9(08)V9(19) COMP-6 + VALUE 72625744.5118117406224200749. + 77 FLD0474B PIC S9(05) COMP-3 + VALUE +13295. + 77 FLD0474E PIC X VALUE 'N'. + + 77 FLD0475A PIC 9(10)V9(07) COMP-6 + VALUE 4588724634.2999971. + 77 FLD0475B PIC S9(09)V9(06) COMP-3 + VALUE +420010897.357724. + 77 FLD0475E PIC X VALUE 'N'. + + 77 FLD0476A PIC 9(08)V9(02) COMP-6 + VALUE 28869933.49. + 77 FLD0476B PIC 9(06)V9(01) COMP-6 + VALUE 197306.5. + 77 FLD0476E PIC X VALUE 'N'. + + 77 FLD0477A PIC 9(08)V9(20) COMP-3 + VALUE 74492482.99155191155307420558. + 77 FLD0477B PIC S9(09)V9(05) COMP-3 + VALUE -380644102.28203. + 77 FLD0477E PIC X VALUE 'N'. + + 77 FLD0478A PIC 9(08)V9(19) COMP-6 + VALUE 72616162.5751895356550846827. + 77 FLD0478B PIC 9(09)V9(04) COMP-6 + VALUE 345871637.9604. + 77 FLD0478E PIC X VALUE 'N'. + + 77 FLD0479A PIC S9(09)V9(06) COMP-3 + VALUE +413502052.896697. + 77 FLD0479B PIC 9(06)V9(25) COMP-3 + VALUE 820524.8465168897276100778981344. + 77 FLD0479E PIC X VALUE 'N'. + + 77 FLD0480A PIC S9(06)V9(01) COMP-3 + VALUE +203017.8. + 77 FLD0480B PIC 9(08)V9(20) COMP-6 + VALUE 74798417.21657910502685240317. + 77 FLD0480E PIC X VALUE 'N'. + + 77 FLD0481A PIC 9(05) COMP-6 + VALUE 15658. + 77 FLD0481B PIC 9(01)V9(36) COMP-3 + VALUE 9.907459007614364265847939350351225584. + 77 FLD0481E PIC X VALUE 'N'. + + 77 FLD0482A PIC 9(08)V9(18) COMP-6 + VALUE 70905037.950447225014727337. + 77 FLD0482B PIC S9(10)V9(08) COMP-3 + VALUE -4922020906.16106868. + 77 FLD0482E PIC X VALUE 'N'. + + 77 FLD0483A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0483B PIC S9(09)V9(03) COMP-3 + VALUE +323420049.144. + 77 FLD0483E PIC X VALUE 'N'. + + 77 FLD0484A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0484B PIC 9(09)V9(12) COMP-6 + VALUE 577123861.473882282524. + 77 FLD0484E PIC X VALUE 'N'. + + 77 FLD0485A PIC 9(07)V9(02) COMP-6 + VALUE 2567572.97. + 77 FLD0485B PIC 9(05)V9(01) COMP-6 + VALUE 16688.0. + 77 FLD0485E PIC X VALUE 'N'. + + 77 FLD0486A PIC 9(05) COMP-6 + VALUE 13937. + 77 FLD0486B PIC 9(10)V9(07) COMP-6 + VALUE 4583814690.4965959. + 77 FLD0486E PIC X VALUE 'N'. + + 77 FLD0487A PIC 9(06)V9(01) COMP-6 + VALUE 209384.2. + 77 FLD0487B PIC 9(08)V9(18) COMP-3 + VALUE 70207035.549040885946681100. + 77 FLD0487E PIC X VALUE 'N'. + + 77 FLD0488A PIC S9(10)V9(07) COMP-3 + VALUE -4519198906.7966076. + 77 FLD0488B PIC 9(09)V9(16) COMP-6 + VALUE 669660091.3134611587906874. + 77 FLD0488E PIC X VALUE 'N'. + + 77 FLD0489A PIC S9(05)V9(01) COMP-3 + VALUE -17360.6. + 77 FLD0489B PIC 9(01)V9(36) COMP-6 + VALUE 9.950567826331271348294649214949458837. + 77 FLD0489E PIC X VALUE 'N'. + + 77 FLD0490A PIC 9(10)V9(10) COMP-6 + VALUE 5352566580.2623056954. + 77 FLD0490B PIC 9(08)V9(02) COMP-6 + VALUE 28596817.06. + 77 FLD0490E PIC X VALUE 'N'. + + 77 FLD0491A PIC 9(03)V9(31) COMP-6 + VALUE 918.2459205467069507378141679510008. + 77 FLD0491B PIC 9(09)V9(16) COMP-3 + VALUE 661285516.5476814178759923. + 77 FLD0491E PIC X VALUE 'N'. + + 77 FLD0492A PIC 9(06)V9(25) COMP-6 + VALUE 819266.4570447540928199714471702. + 77 FLD0492B PIC S9(09)V9(04) COMP-3 + VALUE +343135449.1145. + 77 FLD0492E PIC X VALUE 'N'. + + 77 FLD0493A PIC S9(05)V9(01) COMP-3 + VALUE -18038.5. + 77 FLD0493B PIC 9(06)V9(24) COMP-6 + VALUE 808734.959278862186593528349476. + 77 FLD0493E PIC X VALUE 'N'. + + 77 FLD0494A PIC 9(05)V9(28) COMP-6 + VALUE 87574.5417791477964719604187848744. + 77 FLD0494B PIC 9(10)V9(09) COMP-3 + VALUE 5133082903.157394349. + 77 FLD0494E PIC X VALUE 'N'. + + 77 FLD0495A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0495B PIC 9(09)V9(15) COMP-6 + VALUE 646882578.915106698502768. + 77 FLD0495E PIC X VALUE 'N'. + + 77 FLD0496A PIC 9(06)V9(25) COMP-6 + VALUE 816763.6415427422802437718019064. + 77 FLD0496B PIC S9(04) COMP-3 + VALUE +1240. + 77 FLD0496E PIC X VALUE 'N'. + + 77 FLD0497A PIC 9(06)V9(25) COMP-6 + VALUE 836230.6435874340415637107071233. + 77 FLD0497B PIC 9(09)V9(16) COMP-6 + VALUE 665491997.9684780217965567. + 77 FLD0497E PIC X VALUE 'N'. + + 77 FLD0498A PIC 9(10)V9(08) COMP-6 + VALUE 4792455293.49441590. + 77 FLD0498B PIC 9(06)V9(01) COMP-6 + VALUE 189449.4. + 77 FLD0498E PIC X VALUE 'N'. + + 77 FLD0499A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0499B PIC 9(09)V9(15) COMP-3 + VALUE 634131211.402607308791345. + 77 FLD0499E PIC X VALUE 'N'. + + * RESULTS-AREA. + 78 XPC-FLD0001B + VALUE X'03'. + 78 XPC-FLD0001E VALUE 'N'. + 78 XPC-FLD0002B + VALUE X'01571925154608921904042517780914'. + 78 XPC-FLD0002E VALUE 'N'. + 78 XPC-FLD0003B + VALUE X'497691662540136914'. + 78 XPC-FLD0003E VALUE 'N'. + 78 XPC-FLD0004B + VALUE X'316171'. + 78 XPC-FLD0004E VALUE 'N'. + 78 XPC-FLD0005B + VALUE X'0326669126773C'. + 78 XPC-FLD0005E VALUE 'N'. + 78 XPC-FLD0006B + VALUE X'02564149945687535678828794516448398F'. + 78 XPC-FLD0006E VALUE 'N'. + 78 XPC-FLD0007B + VALUE X'02703102891D'. + 78 XPC-FLD0007E VALUE 'N'. + 78 XPC-FLD0008B + VALUE X'091D'. + 78 XPC-FLD0008E VALUE 'N'. + 78 XPC-FLD0009B + VALUE X'871644396861416259625343627703841F'. + 78 XPC-FLD0009E VALUE 'Y'. + 78 XPC-FLD0010B + VALUE X'401313154225653C'. + 78 XPC-FLD0010E VALUE 'N'. + 78 XPC-FLD0011B + VALUE X'0716073640695890795927880390081554'. + 78 XPC-FLD0011E VALUE 'N'. + 78 XPC-FLD0012B + VALUE X'714856822486604356929547066F'. + 78 XPC-FLD0012E VALUE 'N'. + 78 XPC-FLD0013B + VALUE X'0332664360'. + 78 XPC-FLD0013E VALUE 'N'. + 78 XPC-FLD0014B + VALUE X'07563565'. + 78 XPC-FLD0014E VALUE 'N'. + 78 XPC-FLD0015B + VALUE X'496103206190910525'. + 78 XPC-FLD0015E VALUE 'N'. + 78 XPC-FLD0016B + VALUE X'04316078086835850C'. + 78 XPC-FLD0016E VALUE 'N'. + 78 XPC-FLD0017B + VALUE X'8983341087204116393039043941826093'. + 78 XPC-FLD0017E VALUE 'N'. + 78 XPC-FLD0018B + VALUE X'0C'. + 78 XPC-FLD0018E VALUE 'Y'. + 78 XPC-FLD0019B + VALUE X'527908669140271D'. + 78 XPC-FLD0019E VALUE 'N'. + 78 XPC-FLD0020B + VALUE X'009154677345638306818F'. + 78 XPC-FLD0020E VALUE 'N'. + 78 XPC-FLD0021B + VALUE X'9C'. + 78 XPC-FLD0021E VALUE 'N'. + 78 XPC-FLD0022B + VALUE X'06800620448921426031141379552F'. + 78 XPC-FLD0022E VALUE 'N'. + 78 XPC-FLD0023B + VALUE X'0011865432391802879230624512274516746F'. + 78 XPC-FLD0023E VALUE 'N'. + 78 XPC-FLD0024B + VALUE X'081262603108476C'. + 78 XPC-FLD0024E VALUE 'N'. + 78 XPC-FLD0025B + VALUE X'0249748827'. + 78 XPC-FLD0025E VALUE 'N'. + 78 XPC-FLD0026B + VALUE X'038375719620564D'. + 78 XPC-FLD0026E VALUE 'N'. + 78 XPC-FLD0027B + VALUE X'08158491045356750515082921992870'. + 78 XPC-FLD0027E VALUE 'Y'. + 78 XPC-FLD0028B + VALUE X'4D'. + 78 XPC-FLD0028E VALUE 'N'. + 78 XPC-FLD0029B + VALUE X'068438817718294422258378517F'. + 78 XPC-FLD0029E VALUE 'N'. + 78 XPC-FLD0030B + VALUE X'070264210169553353857452293F'. + 78 XPC-FLD0030E VALUE 'N'. + 78 XPC-FLD0031B + VALUE X'070450280588407820925311852F'. + 78 XPC-FLD0031E VALUE 'N'. + 78 XPC-FLD0032B + VALUE X'0947220571791D'. + 78 XPC-FLD0032E VALUE 'N'. + 78 XPC-FLD0033B + VALUE X'960256540211'. + 78 XPC-FLD0033E VALUE 'N'. + 78 XPC-FLD0034B + VALUE X'021267719C'. + 78 XPC-FLD0034E VALUE 'N'. + 78 XPC-FLD0035B + VALUE X'30926016'. + 78 XPC-FLD0035E VALUE 'N'. + 78 XPC-FLD0036B + VALUE X'84780746063121390621031281398244'. + 78 XPC-FLD0036E VALUE 'N'. + 78 XPC-FLD0037B + VALUE X'45484C'. + 78 XPC-FLD0037E VALUE 'N'. + 78 XPC-FLD0038B + VALUE X'08192466589219795159659831540466'. + 78 XPC-FLD0038E VALUE 'N'. + 78 XPC-FLD0039B + VALUE X'02142775'. + 78 XPC-FLD0039E VALUE 'N'. + 78 XPC-FLD0040B + VALUE X'328C'. + 78 XPC-FLD0040E VALUE 'N'. + 78 XPC-FLD0041B + VALUE X'5719955231502458547F'. + 78 XPC-FLD0041E VALUE 'N'. + 78 XPC-FLD0042B + VALUE X'53913067269542921266'. + 78 XPC-FLD0042E VALUE 'N'. + 78 XPC-FLD0043B + VALUE X'08947428650524259539551508169097361F'. + 78 XPC-FLD0043E VALUE 'N'. + 78 XPC-FLD0044B + VALUE X'03593279914883'. + 78 XPC-FLD0044E VALUE 'N'. + 78 XPC-FLD0045B + VALUE X'40565136957830'. + 78 XPC-FLD0045E VALUE 'N'. + 78 XPC-FLD0046B + VALUE X'086000025910646182847330010190489F'. + 78 XPC-FLD0046E VALUE 'N'. + 78 XPC-FLD0047B + VALUE X'500920610887845814'. + 78 XPC-FLD0047E VALUE 'N'. + 78 XPC-FLD0048B + VALUE X'0173099D'. + 78 XPC-FLD0048E VALUE 'Y'. + 78 XPC-FLD0049B + VALUE X'06818217198975972105429554915463086217'. + 78 XPC-FLD0049E VALUE 'N'. + 78 XPC-FLD0050B + VALUE X'0079122399722566'. + 78 XPC-FLD0050E VALUE 'N'. + 78 XPC-FLD0051B + VALUE X'9064871948640588206203005938732530'. + 78 XPC-FLD0051E VALUE 'Y'. + 78 XPC-FLD0052B + VALUE X'018378999229403754265F'. + 78 XPC-FLD0052E VALUE 'N'. + 78 XPC-FLD0053B + VALUE X'3589163888701D'. + 78 XPC-FLD0053E VALUE 'N'. + 78 XPC-FLD0054B + VALUE X'319288758232'. + 78 XPC-FLD0054E VALUE 'N'. + 78 XPC-FLD0055B + VALUE X'9048691568994934320002240F'. + 78 XPC-FLD0055E VALUE 'N'. + 78 XPC-FLD0056B + VALUE X'2564409583'. + 78 XPC-FLD0056E VALUE 'N'. + 78 XPC-FLD0057B + VALUE X'006D'. + 78 XPC-FLD0057E VALUE 'Y'. + 78 XPC-FLD0058B + VALUE X'3436235653793C'. + 78 XPC-FLD0058E VALUE 'N'. + 78 XPC-FLD0059B + VALUE X'062832873919564874525472'. + 78 XPC-FLD0059E VALUE 'N'. + 78 XPC-FLD0060B + VALUE X'159140'. + 78 XPC-FLD0060E VALUE 'N'. + 78 XPC-FLD0061B + VALUE X'08166592123096498172785118185856'. + 78 XPC-FLD0061E VALUE 'N'. + 78 XPC-FLD0062B + VALUE X'09769550469250686264269F'. + 78 XPC-FLD0062E VALUE 'N'. + 78 XPC-FLD0063B + VALUE X'753004763264897311507922950F'. + 78 XPC-FLD0063E VALUE 'N'. + 78 XPC-FLD0064B + VALUE X'07440D'. + 78 XPC-FLD0064E VALUE 'N'. + 78 XPC-FLD0065B + VALUE X'05377C'. + 78 XPC-FLD0065E VALUE 'N'. + 78 XPC-FLD0066B + VALUE X'085085260849998822774153950376785F'. + 78 XPC-FLD0066E VALUE 'N'. + 78 XPC-FLD0067B + VALUE X'1D'. + 78 XPC-FLD0067E VALUE 'N'. + 78 XPC-FLD0068B + VALUE X'05'. + 78 XPC-FLD0068E VALUE 'N'. + 78 XPC-FLD0069B + VALUE X'0097'. + 78 XPC-FLD0069E VALUE 'Y'. + 78 XPC-FLD0070B + VALUE X'8473394D'. + 78 XPC-FLD0070E VALUE 'N'. + 78 XPC-FLD0071B + VALUE X'1274'. + 78 XPC-FLD0071E VALUE 'N'. + 78 XPC-FLD0072B + VALUE X'655377313792015250284373'. + 78 XPC-FLD0072E VALUE 'N'. + 78 XPC-FLD0073B + VALUE X'70717240702803545859163047'. + 78 XPC-FLD0073E VALUE 'N'. + 78 XPC-FLD0074B + VALUE X'6009119595528942259221594213158817808F'. + 78 XPC-FLD0074E VALUE 'N'. + 78 XPC-FLD0075B + VALUE X'022056618C'. + 78 XPC-FLD0075E VALUE 'Y'. + 78 XPC-FLD0076B + VALUE X'0889922269538142470324260102643165738F'. + 78 XPC-FLD0076E VALUE 'N'. + 78 XPC-FLD0077B + VALUE X'0297736583767979700245026833727024'. + 78 XPC-FLD0077E VALUE 'N'. + 78 XPC-FLD0078B + VALUE X'52639083334727222580'. + 78 XPC-FLD0078E VALUE 'N'. + 78 XPC-FLD0079B + VALUE X'324C'. + 78 XPC-FLD0079E VALUE 'N'. + 78 XPC-FLD0080B + VALUE X'3711534372339D'. + 78 XPC-FLD0080E VALUE 'N'. + 78 XPC-FLD0081B + VALUE X'03672069622884'. + 78 XPC-FLD0081E VALUE 'N'. + 78 XPC-FLD0082B + VALUE X'039908942738066827524420432382'. + 78 XPC-FLD0082E VALUE 'N'. + 78 XPC-FLD0083B + VALUE X'886546406C'. + 78 XPC-FLD0083E VALUE 'N'. + 78 XPC-FLD0084B + VALUE X'0405109331835068'. + 78 XPC-FLD0084E VALUE 'N'. + 78 XPC-FLD0085B + VALUE X'4354243534611629'. + 78 XPC-FLD0085E VALUE 'N'. + 78 XPC-FLD0086B + VALUE X'571167021401449572359F'. + 78 XPC-FLD0086E VALUE 'N'. + 78 XPC-FLD0087B + VALUE X'1168'. + 78 XPC-FLD0087E VALUE 'Y'. + 78 XPC-FLD0088B + VALUE X'481540354519'. + 78 XPC-FLD0088E VALUE 'N'. + 78 XPC-FLD0089B + VALUE X'08552781102827879955441403577769802F'. + 78 XPC-FLD0089E VALUE 'N'. + 78 XPC-FLD0090B + VALUE X'00751809682D'. + 78 XPC-FLD0090E VALUE 'N'. + 78 XPC-FLD0091B + VALUE X'08617201884902925811235356'. + 78 XPC-FLD0091E VALUE 'N'. + 78 XPC-FLD0092B + VALUE X'03179100098465547968089595087804'. + 78 XPC-FLD0092E VALUE 'N'. + 78 XPC-FLD0093B + VALUE X'0874104194614961116371887328568F'. + 78 XPC-FLD0093E VALUE 'N'. + 78 XPC-FLD0094B + VALUE X'053066656460354850645F'. + 78 XPC-FLD0094E VALUE 'N'. + 78 XPC-FLD0095B + VALUE X'05167739798081453228562054391361'. + 78 XPC-FLD0095E VALUE 'N'. + 78 XPC-FLD0096B + VALUE X'0875053049076218392166026660561328'. + 78 XPC-FLD0096E VALUE 'N'. + 78 XPC-FLD0097B + VALUE X'076639044132902548449948199049'. + 78 XPC-FLD0097E VALUE 'N'. + 78 XPC-FLD0098B + VALUE X'334130309068'. + 78 XPC-FLD0098E VALUE 'N'. + 78 XPC-FLD0099B + VALUE X'30007106715C'. + 78 XPC-FLD0099E VALUE 'Y'. + 78 XPC-FLD0100B + VALUE X'053883959962677607717265'. + 78 XPC-FLD0100E VALUE 'N'. + 78 XPC-FLD0101B + VALUE X'512112051D'. + 78 XPC-FLD0101E VALUE 'N'. + 78 XPC-FLD0102B + VALUE X'062599568832775289662151'. + 78 XPC-FLD0102E VALUE 'N'. + 78 XPC-FLD0103B + VALUE X'09'. + 78 XPC-FLD0103E VALUE 'N'. + 78 XPC-FLD0104B + VALUE X'0481255505832174334D'. + 78 XPC-FLD0104E VALUE 'N'. + 78 XPC-FLD0105B + VALUE X'0152268965'. + 78 XPC-FLD0105E VALUE 'N'. + 78 XPC-FLD0106B + VALUE X'02636217829D'. + 78 XPC-FLD0106E VALUE 'N'. + 78 XPC-FLD0107B + VALUE X'0491683543555178959039153289'. + 78 XPC-FLD0107E VALUE 'N'. + 78 XPC-FLD0108B + VALUE X'02842105319D'. + 78 XPC-FLD0108E VALUE 'Y'. + 78 XPC-FLD0109B + VALUE X'00156720262660837374113498299266211F'. + 78 XPC-FLD0109E VALUE 'N'. + 78 XPC-FLD0110B + VALUE X'61781025727648194445507101'. + 78 XPC-FLD0110E VALUE 'N'. + 78 XPC-FLD0111B + VALUE X'05582373934795217912'. + 78 XPC-FLD0111E VALUE 'N'. + 78 XPC-FLD0112B + VALUE X'09837197320D'. + 78 XPC-FLD0112E VALUE 'N'. + 78 XPC-FLD0113B + VALUE X'0369'. + 78 XPC-FLD0113E VALUE 'N'. + 78 XPC-FLD0114B + VALUE X'176673'. + 78 XPC-FLD0114E VALUE 'Y'. + 78 XPC-FLD0115B + VALUE X'30236778644C'. + 78 XPC-FLD0115E VALUE 'N'. + 78 XPC-FLD0116B + VALUE X'03'. + 78 XPC-FLD0116E VALUE 'N'. + 78 XPC-FLD0117B + VALUE X'013612'. + 78 XPC-FLD0117E VALUE 'Y'. + 78 XPC-FLD0118B + VALUE X'806D'. + 78 XPC-FLD0118E VALUE 'N'. + 78 XPC-FLD0119B + VALUE X'0253932450'. + 78 XPC-FLD0119E VALUE 'N'. + 78 XPC-FLD0120B + VALUE X'007D'. + 78 XPC-FLD0120E VALUE 'Y'. + 78 XPC-FLD0121B + VALUE X'0323330267022C'. + 78 XPC-FLD0121E VALUE 'N'. + 78 XPC-FLD0122B + VALUE X'2693757152'. + 78 XPC-FLD0122E VALUE 'N'. + 78 XPC-FLD0123B + VALUE X'07502022502690824523057244732F'. + 78 XPC-FLD0123E VALUE 'N'. + 78 XPC-FLD0124B + VALUE X'04223876720963152C'. + 78 XPC-FLD0124E VALUE 'N'. + 78 XPC-FLD0125B + VALUE X'637796016364062257583133'. + 78 XPC-FLD0125E VALUE 'N'. + 78 XPC-FLD0126B + VALUE X'14776979'. + 78 XPC-FLD0126E VALUE 'N'. + 78 XPC-FLD0127B + VALUE X'0968598991861849889506430599794838'. + 78 XPC-FLD0127E VALUE 'N'. + 78 XPC-FLD0128B + VALUE X'7158526709'. + 78 XPC-FLD0128E VALUE 'N'. + 78 XPC-FLD0129B + VALUE X'066302536762228508700376'. + 78 XPC-FLD0129E VALUE 'N'. + 78 XPC-FLD0130B + VALUE X'030500681275'. + 78 XPC-FLD0130E VALUE 'N'. + 78 XPC-FLD0131B + VALUE X'97542725692831921848454612'. + 78 XPC-FLD0131E VALUE 'N'. + 78 XPC-FLD0132B + VALUE X'21622287'. + 78 XPC-FLD0132E VALUE 'N'. + 78 XPC-FLD0133B + VALUE X'252841208D'. + 78 XPC-FLD0133E VALUE 'N'. + 78 XPC-FLD0134B + VALUE X'6035745627324759055021274F'. + 78 XPC-FLD0134E VALUE 'N'. + 78 XPC-FLD0135B + VALUE X'0256132197'. + 78 XPC-FLD0135E VALUE 'Y'. + 78 XPC-FLD0136B + VALUE X'721064189695820607747975827F'. + 78 XPC-FLD0136E VALUE 'N'. + 78 XPC-FLD0137B + VALUE X'39815975038716593768839402400772088F'. + 78 XPC-FLD0137E VALUE 'N'. + 78 XPC-FLD0138B + VALUE X'8976142294415691003095503219810780'. + 78 XPC-FLD0138E VALUE 'Y'. + 78 XPC-FLD0139B + VALUE X'04629717477620841718762676464393'. + 78 XPC-FLD0139E VALUE 'N'. + 78 XPC-FLD0140B + VALUE X'09134502802484925076953459210926666F'. + 78 XPC-FLD0140E VALUE 'N'. + 78 XPC-FLD0141B + VALUE X'01980465'. + 78 XPC-FLD0141E VALUE 'Y'. + 78 XPC-FLD0142B + VALUE X'00112D'. + 78 XPC-FLD0142E VALUE 'N'. + 78 XPC-FLD0143B + VALUE X'04030993'. + 78 XPC-FLD0143E VALUE 'N'. + 78 XPC-FLD0144B + VALUE X'21702923'. + 78 XPC-FLD0144E VALUE 'Y'. + 78 XPC-FLD0145B + VALUE X'0009479682736520'. + 78 XPC-FLD0145E VALUE 'N'. + 78 XPC-FLD0146B + VALUE X'05926753717490164309811F'. + 78 XPC-FLD0146E VALUE 'N'. + 78 XPC-FLD0147B + VALUE X'0397442042521838'. + 78 XPC-FLD0147E VALUE 'N'. + 78 XPC-FLD0148B + VALUE X'335821179980'. + 78 XPC-FLD0148E VALUE 'N'. + 78 XPC-FLD0149B + VALUE X'064C'. + 78 XPC-FLD0149E VALUE 'N'. + 78 XPC-FLD0150B + VALUE X'09779789481524289174174668914929497987'. + 78 XPC-FLD0150E VALUE 'Y'. + 78 XPC-FLD0151B + VALUE X'03489779895385769491943608024F'. + 78 XPC-FLD0151E VALUE 'N'. + 78 XPC-FLD0152B + VALUE X'976189035330467796747200281970435753'. + 78 XPC-FLD0152E VALUE 'N'. + 78 XPC-FLD0153B + VALUE X'77001479845998110906890588012F'. + 78 XPC-FLD0153E VALUE 'Y'. + 78 XPC-FLD0154B + VALUE X'040490022953226413'. + 78 XPC-FLD0154E VALUE 'N'. + 78 XPC-FLD0155B + VALUE X'07822691488762339967770021576143335F'. + 78 XPC-FLD0155E VALUE 'N'. + 78 XPC-FLD0156B + VALUE X'8985588062372004625188992577022871'. + 78 XPC-FLD0156E VALUE 'N'. + 78 XPC-FLD0157B + VALUE X'5019620727325065'. + 78 XPC-FLD0157E VALUE 'N'. + 78 XPC-FLD0158B + VALUE X'19917526243063020197192F'. + 78 XPC-FLD0158E VALUE 'N'. + 78 XPC-FLD0159B + VALUE X'0643529357674236912600918F'. + 78 XPC-FLD0159E VALUE 'N'. + 78 XPC-FLD0160B + VALUE X'04490300'. + 78 XPC-FLD0160E VALUE 'N'. + 78 XPC-FLD0161B + VALUE X'0795897533357509001650242907'. + 78 XPC-FLD0161E VALUE 'N'. + 78 XPC-FLD0162B + VALUE X'0566814386458160899086'. + 78 XPC-FLD0162E VALUE 'N'. + 78 XPC-FLD0163B + VALUE X'0269208611024764676855618F'. + 78 XPC-FLD0163E VALUE 'N'. + 78 XPC-FLD0164B + VALUE X'3000'. + 78 XPC-FLD0164E VALUE 'N'. + 78 XPC-FLD0165B + VALUE X'1267'. + 78 XPC-FLD0165E VALUE 'Y'. + 78 XPC-FLD0166B + VALUE X'429599'. + 78 XPC-FLD0166E VALUE 'N'. + 78 XPC-FLD0167B + VALUE X'00917440942478405142746282763255'. + 78 XPC-FLD0167E VALUE 'N'. + 78 XPC-FLD0168B + VALUE X'04326936005661665C'. + 78 XPC-FLD0168E VALUE 'N'. + 78 XPC-FLD0169B + VALUE X'71534750846474368213279149'. + 78 XPC-FLD0169E VALUE 'N'. + 78 XPC-FLD0170B + VALUE X'02603177530164159092505813954945188016'. + 78 XPC-FLD0170E VALUE 'N'. + 78 XPC-FLD0171B + VALUE X'4933823716025802'. + 78 XPC-FLD0171E VALUE 'N'. + 78 XPC-FLD0172B + VALUE X'8903776753838588409184495731096831'. + 78 XPC-FLD0172E VALUE 'N'. + 78 XPC-FLD0173B + VALUE X'519945412779417204'. + 78 XPC-FLD0173E VALUE 'N'. + 78 XPC-FLD0174B + VALUE X'05152585493087611057'. + 78 XPC-FLD0174E VALUE 'N'. + 78 XPC-FLD0175B + VALUE X'051C'. + 78 XPC-FLD0175E VALUE 'N'. + 78 XPC-FLD0176B + VALUE X'021895219257'. + 78 XPC-FLD0176E VALUE 'N'. + 78 XPC-FLD0177B + VALUE X'0999225364'. + 78 XPC-FLD0177E VALUE 'N'. + 78 XPC-FLD0178B + VALUE X'24104366112D'. + 78 XPC-FLD0178E VALUE 'N'. + 78 XPC-FLD0179B + VALUE X'0663'. + 78 XPC-FLD0179E VALUE 'N'. + 78 XPC-FLD0180B + VALUE X'054351034931997414107F'. + 78 XPC-FLD0180E VALUE 'N'. + 78 XPC-FLD0181B + VALUE X'0474073583253910868D'. + 78 XPC-FLD0181E VALUE 'N'. + 78 XPC-FLD0182B + VALUE X'0417908352338649757839920F'. + 78 XPC-FLD0182E VALUE 'N'. + 78 XPC-FLD0183B + VALUE X'005D'. + 78 XPC-FLD0183E VALUE 'Y'. + 78 XPC-FLD0184B + VALUE X'036019692D'. + 78 XPC-FLD0184E VALUE 'N'. + 78 XPC-FLD0185B + VALUE X'7395132638753716096465495866'. + 78 XPC-FLD0185E VALUE 'N'. + 78 XPC-FLD0186B + VALUE X'8407708947119312415452441200613F'. + 78 XPC-FLD0186E VALUE 'N'. + 78 XPC-FLD0187B + VALUE X'6497950041934480558403'. + 78 XPC-FLD0187E VALUE 'N'. + 78 XPC-FLD0188B + VALUE X'00471158677246608093014401354F'. + 78 XPC-FLD0188E VALUE 'N'. + 78 XPC-FLD0189B + VALUE X'0566852467720726727051'. + 78 XPC-FLD0189E VALUE 'Y'. + 78 XPC-FLD0190B + VALUE X'062476651140273569806415'. + 78 XPC-FLD0190E VALUE 'N'. + 78 XPC-FLD0191B + VALUE X'0817437168989411478996487403492F'. + 78 XPC-FLD0191E VALUE 'N'. + 78 XPC-FLD0192B + VALUE X'03580342295012'. + 78 XPC-FLD0192E VALUE 'N'. + 78 XPC-FLD0193B + VALUE X'86499232126294976690766F'. + 78 XPC-FLD0193E VALUE 'N'. + 78 XPC-FLD0194B + VALUE X'0217285653058917626499679F'. + 78 XPC-FLD0194E VALUE 'N'. + 78 XPC-FLD0195B + VALUE X'014921'. + 78 XPC-FLD0195E VALUE 'Y'. + 78 XPC-FLD0196B + VALUE X'0180007D'. + 78 XPC-FLD0196E VALUE 'N'. + 78 XPC-FLD0197B + VALUE X'14'. + 78 XPC-FLD0197E VALUE 'N'. + 78 XPC-FLD0198B + VALUE X'14072C'. + 78 XPC-FLD0198E VALUE 'Y'. + 78 XPC-FLD0199B + VALUE X'045232741410605347571106449322'. + 78 XPC-FLD0199E VALUE 'N'. + 78 XPC-FLD0200B + VALUE X'095184480153268257'. + 78 XPC-FLD0200E VALUE 'N'. + 78 XPC-FLD0201B + VALUE X'0792759590444417882612526682351F'. + 78 XPC-FLD0201E VALUE 'N'. + 78 XPC-FLD0202B + VALUE X'037943227555010013122256395945441909'. + 78 XPC-FLD0202E VALUE 'N'. + 78 XPC-FLD0203B + VALUE X'05835712416517114804656539879215415F'. + 78 XPC-FLD0203E VALUE 'N'. + 78 XPC-FLD0204B + VALUE X'23632655'. + 78 XPC-FLD0204E VALUE 'N'. + 78 XPC-FLD0205B + VALUE X'288741127747638715028699'. + 78 XPC-FLD0205E VALUE 'N'. + 78 XPC-FLD0206B + VALUE X'70639388766434425840361654'. + 78 XPC-FLD0206E VALUE 'N'. + 78 XPC-FLD0207B + VALUE X'07691791385730962560263179739F'. + 78 XPC-FLD0207E VALUE 'N'. + 78 XPC-FLD0208B + VALUE X'21514986'. + 78 XPC-FLD0208E VALUE 'N'. + 78 XPC-FLD0209B + VALUE X'795271109412971503516143201295'. + 78 XPC-FLD0209E VALUE 'N'. + 78 XPC-FLD0210B + VALUE X'00'. + 78 XPC-FLD0210E VALUE 'Y'. + 78 XPC-FLD0211B + VALUE X'04421137707554604C'. + 78 XPC-FLD0211E VALUE 'N'. + 78 XPC-FLD0212B + VALUE X'026496836026413D'. + 78 XPC-FLD0212E VALUE 'N'. + 78 XPC-FLD0213B + VALUE X'07525639770631302875997903356F'. + 78 XPC-FLD0213E VALUE 'N'. + 78 XPC-FLD0214B + VALUE X'06668932704655321508369070'. + 78 XPC-FLD0214E VALUE 'N'. + 78 XPC-FLD0215B + VALUE X'0173001D'. + 78 XPC-FLD0215E VALUE 'N'. + 78 XPC-FLD0216B + VALUE X'5663716874'. + 78 XPC-FLD0216E VALUE 'N'. + 78 XPC-FLD0217B + VALUE X'05191266215287888C'. + 78 XPC-FLD0217E VALUE 'N'. + 78 XPC-FLD0218B + VALUE X'04467255193327033602201936446363106369'. + 78 XPC-FLD0218E VALUE 'N'. + 78 XPC-FLD0219B + VALUE X'58766925082182334127'. + 78 XPC-FLD0219E VALUE 'N'. + 78 XPC-FLD0220B + VALUE X'29364D'. + 78 XPC-FLD0220E VALUE 'N'. + 78 XPC-FLD0221B + VALUE X'0878910367794605407176788958167890'. + 78 XPC-FLD0221E VALUE 'N'. + 78 XPC-FLD0222B + VALUE X'15228D'. + 78 XPC-FLD0222E VALUE 'Y'. + 78 XPC-FLD0223B + VALUE X'69950927082806102497158917'. + 78 XPC-FLD0223E VALUE 'N'. + 78 XPC-FLD0224B + VALUE X'038300768427666D'. + 78 XPC-FLD0224E VALUE 'N'. + 78 XPC-FLD0225B + VALUE X'572612409808938978169F'. + 78 XPC-FLD0225E VALUE 'N'. + 78 XPC-FLD0226B + VALUE X'021150954C'. + 78 XPC-FLD0226E VALUE 'N'. + 78 XPC-FLD0227B + VALUE X'2038736443582994661522477889957372'. + 78 XPC-FLD0227E VALUE 'N'. + 78 XPC-FLD0228B + VALUE X'9739690596877397243957830141880549490F'. + 78 XPC-FLD0228E VALUE 'Y'. + 78 XPC-FLD0229B + VALUE X'7383803963255895866131917059'. + 78 XPC-FLD0229E VALUE 'N'. + 78 XPC-FLD0230B + VALUE X'098D'. + 78 XPC-FLD0230E VALUE 'N'. + 78 XPC-FLD0231B + VALUE X'02709433474D'. + 78 XPC-FLD0231E VALUE 'N'. + 78 XPC-FLD0232B + VALUE X'4749842313738054193504353861500F'. + 78 XPC-FLD0232E VALUE 'N'. + 78 XPC-FLD0233B + VALUE X'412919251493'. + 78 XPC-FLD0233E VALUE 'N'. + 78 XPC-FLD0234B + VALUE X'05600680922670572133253F'. + 78 XPC-FLD0234E VALUE 'N'. + 78 XPC-FLD0235B + VALUE X'0480831518719295639D'. + 78 XPC-FLD0235E VALUE 'N'. + 78 XPC-FLD0236B + VALUE X'070471341881577547199277944F'. + 78 XPC-FLD0236E VALUE 'N'. + 78 XPC-FLD0237B + VALUE X'0885090488581330880890618573175743'. + 78 XPC-FLD0237E VALUE 'Y'. + 78 XPC-FLD0238B + VALUE X'03227001'. + 78 XPC-FLD0238E VALUE 'N'. + 78 XPC-FLD0239B + VALUE X'29332566026370832101832F'. + 78 XPC-FLD0239E VALUE 'N'. + 78 XPC-FLD0240B + VALUE X'8331654817075836438888813972880F'. + 78 XPC-FLD0240E VALUE 'Y'. + 78 XPC-FLD0241B + VALUE X'060875735723205993171444'. + 78 XPC-FLD0241E VALUE 'N'. + 78 XPC-FLD0242B + VALUE X'1820841D'. + 78 XPC-FLD0242E VALUE 'N'. + 78 XPC-FLD0243B + VALUE X'0870255257093214798613800553539476'. + 78 XPC-FLD0243E VALUE 'N'. + 78 XPC-FLD0244B + VALUE X'5964541497067354924865'. + 78 XPC-FLD0244E VALUE 'N'. + 78 XPC-FLD0245B + VALUE X'264333833210099267317333'. + 78 XPC-FLD0245E VALUE 'N'. + 78 XPC-FLD0246B + VALUE X'01209825'. + 78 XPC-FLD0246E VALUE 'N'. + 78 XPC-FLD0247B + VALUE X'742067276785553808782225359F'. + 78 XPC-FLD0247E VALUE 'N'. + 78 XPC-FLD0248B + VALUE X'0568358594454923286003'. + 78 XPC-FLD0248E VALUE 'N'. + 78 XPC-FLD0249B + VALUE X'6731754183146980707874718F'. + 78 XPC-FLD0249E VALUE 'Y'. + 78 XPC-FLD0250B + VALUE X'9267251332164047061614164335129317'. + 78 XPC-FLD0250E VALUE 'N'. + 78 XPC-FLD0251B + VALUE X'3790591152463825338016431487631F'. + 78 XPC-FLD0251E VALUE 'N'. + 78 XPC-FLD0252B + VALUE X'023614266C'. + 78 XPC-FLD0252E VALUE 'N'. + 78 XPC-FLD0253B + VALUE X'29824915'. + 78 XPC-FLD0253E VALUE 'N'. + 78 XPC-FLD0254B + VALUE X'949043622D'. + 78 XPC-FLD0254E VALUE 'N'. + 78 XPC-FLD0255B + VALUE X'054081435076039155115F'. + 78 XPC-FLD0255E VALUE 'N'. + 78 XPC-FLD0256B + VALUE X'08751500721603051085707734273455571F'. + 78 XPC-FLD0256E VALUE 'N'. + 78 XPC-FLD0257B + VALUE X'407C'. + 78 XPC-FLD0257E VALUE 'N'. + 78 XPC-FLD0258B + VALUE X'84978202175808337237583600654033'. + 78 XPC-FLD0258E VALUE 'Y'. + 78 XPC-FLD0259B + VALUE X'037466830472593D'. + 78 XPC-FLD0259E VALUE 'N'. + 78 XPC-FLD0260B + VALUE X'06017366610583895639607F'. + 78 XPC-FLD0260E VALUE 'N'. + 78 XPC-FLD0261B + VALUE X'00567161858323'. + 78 XPC-FLD0261E VALUE 'N'. + 78 XPC-FLD0262B + VALUE X'68757658126759821329241049'. + 78 XPC-FLD0262E VALUE 'N'. + 78 XPC-FLD0263B + VALUE X'040C'. + 78 XPC-FLD0263E VALUE 'N'. + 78 XPC-FLD0264B + VALUE X'166846'. + 78 XPC-FLD0264E VALUE 'N'. + 78 XPC-FLD0265B + VALUE X'02298778729177715439249141127220354975'. + 78 XPC-FLD0265E VALUE 'N'. + 78 XPC-FLD0266B + VALUE X'0115052360207692161431225486003512427F'. + 78 XPC-FLD0266E VALUE 'N'. + 78 XPC-FLD0267B + VALUE X'023489014C'. + 78 XPC-FLD0267E VALUE 'N'. + 78 XPC-FLD0268B + VALUE X'8211500957830146774085733341053F'. + 78 XPC-FLD0268E VALUE 'N'. + 78 XPC-FLD0269B + VALUE X'05'. + 78 XPC-FLD0269E VALUE 'N'. + 78 XPC-FLD0270B + VALUE X'01200C'. + 78 XPC-FLD0270E VALUE 'Y'. + 78 XPC-FLD0271B + VALUE X'0052759203'. + 78 XPC-FLD0271E VALUE 'N'. + 78 XPC-FLD0272B + VALUE X'0516000696302733685D'. + 78 XPC-FLD0272E VALUE 'N'. + 78 XPC-FLD0273B + VALUE X'09036109253095579C'. + 78 XPC-FLD0273E VALUE 'N'. + 78 XPC-FLD0274B + VALUE X'52694748208586675958'. + 78 XPC-FLD0274E VALUE 'N'. + 78 XPC-FLD0275B + VALUE X'242413794C'. + 78 XPC-FLD0275E VALUE 'N'. + 78 XPC-FLD0276B + VALUE X'094591784695476577304873444518307223'. + 78 XPC-FLD0276E VALUE 'Y'. + 78 XPC-FLD0277B + VALUE X'499215459576603728'. + 78 XPC-FLD0277E VALUE 'N'. + 78 XPC-FLD0278B + VALUE X'07922277502052260016194509262277280F'. + 78 XPC-FLD0278E VALUE 'N'. + 78 XPC-FLD0279B + VALUE X'92108160397424898579998853165307082F'. + 78 XPC-FLD0279E VALUE 'Y'. + 78 XPC-FLD0280B + VALUE X'686572532054675839148262639F'. + 78 XPC-FLD0280E VALUE 'N'. + 78 XPC-FLD0281B + VALUE X'050053214871016073'. + 78 XPC-FLD0281E VALUE 'N'. + 78 XPC-FLD0282B + VALUE X'078893043658446049271049105300'. + 78 XPC-FLD0282E VALUE 'Y'. + 78 XPC-FLD0283B + VALUE X'0182739D'. + 78 XPC-FLD0283E VALUE 'N'. + 78 XPC-FLD0284B + VALUE X'01'. + 78 XPC-FLD0284E VALUE 'N'. + 78 XPC-FLD0285B + VALUE X'7369307141179880084957964925'. + 78 XPC-FLD0285E VALUE 'N'. + 78 XPC-FLD0286B + VALUE X'82453436'. + 78 XPC-FLD0286E VALUE 'N'. + 78 XPC-FLD0287B + VALUE X'362828'. + 78 XPC-FLD0287E VALUE 'N'. + 78 XPC-FLD0288B + VALUE X'893692752615119712089608583482913F'. + 78 XPC-FLD0288E VALUE 'Y'. + 78 XPC-FLD0289B + VALUE X'0567633089214293657540'. + 78 XPC-FLD0289E VALUE 'N'. + 78 XPC-FLD0290B + VALUE X'113C'. + 78 XPC-FLD0290E VALUE 'N'. + 78 XPC-FLD0291B + VALUE X'8300179929109657213726070068559F'. + 78 XPC-FLD0291E VALUE 'N'. + 78 XPC-FLD0292B + VALUE X'09'. + 78 XPC-FLD0292E VALUE 'N'. + 78 XPC-FLD0293B + VALUE X'030744391924'. + 78 XPC-FLD0293E VALUE 'N'. + 78 XPC-FLD0294B + VALUE X'00'. + 78 XPC-FLD0294E VALUE 'Y'. + 78 XPC-FLD0295B + VALUE X'003641743D'. + 78 XPC-FLD0295E VALUE 'N'. + 78 XPC-FLD0296B + VALUE X'574464025736577889141F'. + 78 XPC-FLD0296E VALUE 'N'. + 78 XPC-FLD0297B + VALUE X'05211000497602709295'. + 78 XPC-FLD0297E VALUE 'N'. + 78 XPC-FLD0298B + VALUE X'09865365009908295859892746193509083241'. + 78 XPC-FLD0298E VALUE 'N'. + 78 XPC-FLD0299B + VALUE X'07346908584680565956758964'. + 78 XPC-FLD0299E VALUE 'N'. + 78 XPC-FLD0300B + VALUE X'55012674381377925092450F'. + 78 XPC-FLD0300E VALUE 'N'. + 78 XPC-FLD0301B + VALUE X'5D'. + 78 XPC-FLD0301E VALUE 'N'. + 78 XPC-FLD0302B + VALUE X'4291773342239683'. + 78 XPC-FLD0302E VALUE 'N'. + 78 XPC-FLD0303B + VALUE X'09'. + 78 XPC-FLD0303E VALUE 'N'. + 78 XPC-FLD0304B + VALUE X'0556573438984127234968'. + 78 XPC-FLD0304E VALUE 'N'. + 78 XPC-FLD0305B + VALUE X'4C'. + 78 XPC-FLD0305E VALUE 'N'. + 78 XPC-FLD0306B + VALUE X'0493641888717687181D'. + 78 XPC-FLD0306E VALUE 'N'. + 78 XPC-FLD0307B + VALUE X'068005145163846554765597747973515652'. + 78 XPC-FLD0307E VALUE 'N'. + 78 XPC-FLD0308B + VALUE X'0711937634336942757585120489238761366F'. + 78 XPC-FLD0308E VALUE 'N'. + 78 XPC-FLD0309B + VALUE X'093D'. + 78 XPC-FLD0309E VALUE 'Y'. + 78 XPC-FLD0310B + VALUE X'0039167648388876'. + 78 XPC-FLD0310E VALUE 'N'. + 78 XPC-FLD0311B + VALUE X'3931117203050255914931199185957666486F'. + 78 XPC-FLD0311E VALUE 'N'. + 78 XPC-FLD0312B + VALUE X'00'. + 78 XPC-FLD0312E VALUE 'Y'. + 78 XPC-FLD0313B + VALUE X'37515306459620'. + 78 XPC-FLD0313E VALUE 'N'. + 78 XPC-FLD0314B + VALUE X'69720778107690404600560896'. + 78 XPC-FLD0314E VALUE 'N'. + 78 XPC-FLD0315B + VALUE X'69624112217793877932514589'. + 78 XPC-FLD0315E VALUE 'N'. + 78 XPC-FLD0316B + VALUE X'561166875766384822086F'. + 78 XPC-FLD0316E VALUE 'N'. + 78 XPC-FLD0317B + VALUE X'0314586880144C'. + 78 XPC-FLD0317E VALUE 'N'. + 78 XPC-FLD0318B + VALUE X'882534717446214034275442372745601F'. + 78 XPC-FLD0318E VALUE 'Y'. + 78 XPC-FLD0319B + VALUE X'0720371110100740574821997F'. + 78 XPC-FLD0319E VALUE 'N'. + 78 XPC-FLD0320B + VALUE X'547024228165748174212F'. + 78 XPC-FLD0320E VALUE 'N'. + 78 XPC-FLD0321B + VALUE X'6601639210521921263818967F'. + 78 XPC-FLD0321E VALUE 'Y'. + 78 XPC-FLD0322B + VALUE X'017591106469607443841432'. + 78 XPC-FLD0322E VALUE 'N'. + 78 XPC-FLD0323B + VALUE X'0726633859846741159138616694690426812F'. + 78 XPC-FLD0323E VALUE 'N'. + 78 XPC-FLD0324B + VALUE X'002824576327848049573F'. + 78 XPC-FLD0324E VALUE 'N'. + 78 XPC-FLD0325B + VALUE X'723337602353324218528882738F'. + 78 XPC-FLD0325E VALUE 'N'. + 78 XPC-FLD0326B + VALUE X'049D'. + 78 XPC-FLD0326E VALUE 'N'. + 78 XPC-FLD0327B + VALUE X'021224467C'. + 78 XPC-FLD0327E VALUE 'N'. + 78 XPC-FLD0328B + VALUE X'046432253464059D'. + 78 XPC-FLD0328E VALUE 'N'. + 78 XPC-FLD0329B + VALUE X'0952096907591406971249625712516717612F'. + 78 XPC-FLD0329E VALUE 'N'. + 78 XPC-FLD0330B + VALUE X'795524425555017788980194382020'. + 78 XPC-FLD0330E VALUE 'Y'. + 78 XPC-FLD0331B + VALUE X'2990286983'. + 78 XPC-FLD0331E VALUE 'N'. + 78 XPC-FLD0332B + VALUE X'03558444199192'. + 78 XPC-FLD0332E VALUE 'N'. + 78 XPC-FLD0333B + VALUE X'243142895C'. + 78 XPC-FLD0333E VALUE 'N'. + 78 XPC-FLD0334B + VALUE X'297044413515'. + 78 XPC-FLD0334E VALUE 'N'. + 78 XPC-FLD0335B + VALUE X'05106189445459805064'. + 78 XPC-FLD0335E VALUE 'N'. + 78 XPC-FLD0336B + VALUE X'29331698899D'. + 78 XPC-FLD0336E VALUE 'N'. + 78 XPC-FLD0337B + VALUE X'434132279525498709915609650F'. + 78 XPC-FLD0337E VALUE 'N'. + 78 XPC-FLD0338B + VALUE X'053047689000456310637F'. + 78 XPC-FLD0338E VALUE 'N'. + 78 XPC-FLD0339B + VALUE X'05943728837259434154840F'. + 78 XPC-FLD0339E VALUE 'N'. + 78 XPC-FLD0340B + VALUE X'3898813490787D'. + 78 XPC-FLD0340E VALUE 'N'. + 78 XPC-FLD0341B + VALUE X'248392469156514472666F'. + 78 XPC-FLD0341E VALUE 'N'. + 78 XPC-FLD0342B + VALUE X'45329231208135124D'. + 78 XPC-FLD0342E VALUE 'N'. + 78 XPC-FLD0343B + VALUE X'00620927'. + 78 XPC-FLD0343E VALUE 'N'. + 78 XPC-FLD0344B + VALUE X'606359905437156143820618581230520F'. + 78 XPC-FLD0344E VALUE 'N'. + 78 XPC-FLD0345B + VALUE X'0405441574894889'. + 78 XPC-FLD0345E VALUE 'N'. + 78 XPC-FLD0346B + VALUE X'6665377278444964848080899F'. + 78 XPC-FLD0346E VALUE 'N'. + 78 XPC-FLD0347B + VALUE X'324381'. + 78 XPC-FLD0347E VALUE 'N'. + 78 XPC-FLD0348B + VALUE X'0541608383617544100863'. + 78 XPC-FLD0348E VALUE 'N'. + 78 XPC-FLD0349B + VALUE X'99162869882943715535583214659709483F'. + 78 XPC-FLD0349E VALUE 'N'. + 78 XPC-FLD0350B + VALUE X'08264871389960360762501068165875'. + 78 XPC-FLD0350E VALUE 'N'. + 78 XPC-FLD0351B + VALUE X'53884121311052648707'. + 78 XPC-FLD0351E VALUE 'N'. + 78 XPC-FLD0352B + VALUE X'01946919'. + 78 XPC-FLD0352E VALUE 'N'. + 78 XPC-FLD0353B + VALUE X'94389336945631099347053805104224012F'. + 78 XPC-FLD0353E VALUE 'N'. + 78 XPC-FLD0354B + VALUE X'31167660742D'. + 78 XPC-FLD0354E VALUE 'N'. + 78 XPC-FLD0355B + VALUE X'93287C'. + 78 XPC-FLD0355E VALUE 'N'. + 78 XPC-FLD0356B + VALUE X'83673557978976841628508509529638'. + 78 XPC-FLD0356E VALUE 'N'. + 78 XPC-FLD0357B + VALUE X'0079'. + 78 XPC-FLD0357E VALUE 'Y'. + 78 XPC-FLD0358B + VALUE X'65874749059638552239264936'. + 78 XPC-FLD0358E VALUE 'N'. + 78 XPC-FLD0359B + VALUE X'9526039934819852117442415817981772124F'. + 78 XPC-FLD0359E VALUE 'N'. + 78 XPC-FLD0360B + VALUE X'2666622504'. + 78 XPC-FLD0360E VALUE 'Y'. + 78 XPC-FLD0361B + VALUE X'07851848643793046811367730697339'. + 78 XPC-FLD0361E VALUE 'N'. + 78 XPC-FLD0362B + VALUE X'8970899599407193836242413453874178'. + 78 XPC-FLD0362E VALUE 'N'. + 78 XPC-FLD0363B + VALUE X'09034927431796696550847514117776881F'. + 78 XPC-FLD0363E VALUE 'Y'. + 78 XPC-FLD0364B + VALUE X'8287940009277749559970516202156F'. + 78 XPC-FLD0364E VALUE 'N'. + 78 XPC-FLD0365B + VALUE X'02107493896139311928536102'. + 78 XPC-FLD0365E VALUE 'N'. + 78 XPC-FLD0366B + VALUE X'00157659331265924684828405588633'. + 78 XPC-FLD0366E VALUE 'N'. + 78 XPC-FLD0367B + VALUE X'7840586C'. + 78 XPC-FLD0367E VALUE 'N'. + 78 XPC-FLD0368B + VALUE X'03'. + 78 XPC-FLD0368E VALUE 'N'. + 78 XPC-FLD0369B + VALUE X'31224128387C'. + 78 XPC-FLD0369E VALUE 'N'. + 78 XPC-FLD0370B + VALUE X'0C'. + 78 XPC-FLD0370E VALUE 'N'. + 78 XPC-FLD0371B + VALUE X'082D'. + 78 XPC-FLD0371E VALUE 'N'. + 78 XPC-FLD0372B + VALUE X'0049999527433343127F'. + 78 XPC-FLD0372E VALUE 'N'. + 78 XPC-FLD0373B + VALUE X'3081708383872C'. + 78 XPC-FLD0373E VALUE 'N'. + 78 XPC-FLD0374B + VALUE X'711264497973442155753787119F'. + 78 XPC-FLD0374E VALUE 'N'. + 78 XPC-FLD0375B + VALUE X'00'. + 78 XPC-FLD0375E VALUE 'Y'. + 78 XPC-FLD0376B + VALUE X'5240009617041836336F'. + 78 XPC-FLD0376E VALUE 'N'. + 78 XPC-FLD0377B + VALUE X'78137191821795531497030218303F'. + 78 XPC-FLD0377E VALUE 'N'. + 78 XPC-FLD0378B + VALUE X'0163135D'. + 78 XPC-FLD0378E VALUE 'N'. + 78 XPC-FLD0379B + VALUE X'04'. + 78 XPC-FLD0379E VALUE 'N'. + 78 XPC-FLD0380B + VALUE X'9D'. + 78 XPC-FLD0380E VALUE 'N'. + 78 XPC-FLD0381B + VALUE X'0096'. + 78 XPC-FLD0381E VALUE 'Y'. + 78 XPC-FLD0382B + VALUE X'1909'. + 78 XPC-FLD0382E VALUE 'N'. + 78 XPC-FLD0383B + VALUE X'0810435186395222418864747737642F'. + 78 XPC-FLD0383E VALUE 'N'. + 78 XPC-FLD0384B + VALUE X'00'. + 78 XPC-FLD0384E VALUE 'Y'. + 78 XPC-FLD0385B + VALUE X'774134932514714546452413131744833F'. + 78 XPC-FLD0385E VALUE 'N'. + 78 XPC-FLD0386B + VALUE X'03467992789726692670323751189F'. + 78 XPC-FLD0386E VALUE 'N'. + 78 XPC-FLD0387B + VALUE X'6906513656145575095354897F'. + 78 XPC-FLD0387E VALUE 'N'. + 78 XPC-FLD0388B + VALUE X'0326'. + 78 XPC-FLD0388E VALUE 'N'. + 78 XPC-FLD0389B + VALUE X'0182625981352744592156'. + 78 XPC-FLD0389E VALUE 'N'. + 78 XPC-FLD0390B + VALUE X'0102'. + 78 XPC-FLD0390E VALUE 'N'. + 78 XPC-FLD0391B + VALUE X'00373737127C'. + 78 XPC-FLD0391E VALUE 'N'. + 78 XPC-FLD0392B + VALUE X'046825106292883313'. + 78 XPC-FLD0392E VALUE 'N'. + 78 XPC-FLD0393B + VALUE X'9072420163680885991652758093550801'. + 78 XPC-FLD0393E VALUE 'N'. + 78 XPC-FLD0394B + VALUE X'0474630481043585892D'. + 78 XPC-FLD0394E VALUE 'N'. + 78 XPC-FLD0395B + VALUE X'2C'. + 78 XPC-FLD0395E VALUE 'N'. + 78 XPC-FLD0396B + VALUE X'0265476173063916'. + 78 XPC-FLD0396E VALUE 'N'. + 78 XPC-FLD0397B + VALUE X'062C'. + 78 XPC-FLD0397E VALUE 'N'. + 78 XPC-FLD0398B + VALUE X'02844252852D'. + 78 XPC-FLD0398E VALUE 'N'. + 78 XPC-FLD0399B + VALUE X'0256742307'. + 78 XPC-FLD0399E VALUE 'N'. + 78 XPC-FLD0400B + VALUE X'08678350299065256532010165028624'. + 78 XPC-FLD0400E VALUE 'N'. + 78 XPC-FLD0401B + VALUE X'09'. + 78 XPC-FLD0401E VALUE 'N'. + 78 XPC-FLD0402B + VALUE X'69644052220831165210812585'. + 78 XPC-FLD0402E VALUE 'N'. + 78 XPC-FLD0403B + VALUE X'012518106356029089448417234962107613'. + 78 XPC-FLD0403E VALUE 'N'. + 78 XPC-FLD0404B + VALUE X'4814436782579247780215241F'. + 78 XPC-FLD0404E VALUE 'N'. + 78 XPC-FLD0405B + VALUE X'14133C'. + 78 XPC-FLD0405E VALUE 'Y'. + 78 XPC-FLD0406B + VALUE X'049908285391730064732712435215'. + 78 XPC-FLD0406E VALUE 'N'. + 78 XPC-FLD0407B + VALUE X'08753049482988191082826919955550692975'. + 78 XPC-FLD0407E VALUE 'N'. + 78 XPC-FLD0408B + VALUE X'2862678320'. + 78 XPC-FLD0408E VALUE 'Y'. + 78 XPC-FLD0409B + VALUE X'0605266450165216657684'. + 78 XPC-FLD0409E VALUE 'N'. + 78 XPC-FLD0410B + VALUE X'8786052888992391829545680593582801521F'. + 78 XPC-FLD0410E VALUE 'N'. + 78 XPC-FLD0411B + VALUE X'077757784281136710369253250973'. + 78 XPC-FLD0411E VALUE 'Y'. + 78 XPC-FLD0412B + VALUE X'7D'. + 78 XPC-FLD0412E VALUE 'N'. + 78 XPC-FLD0413B + VALUE X'2C'. + 78 XPC-FLD0413E VALUE 'N'. + 78 XPC-FLD0414B + VALUE X'99790D'. + 78 XPC-FLD0414E VALUE 'N'. + 78 XPC-FLD0415B + VALUE X'9072627958632073487733476063585840'. + 78 XPC-FLD0415E VALUE 'N'. + 78 XPC-FLD0416B + VALUE X'8D'. + 78 XPC-FLD0416E VALUE 'N'. + 78 XPC-FLD0417B + VALUE X'988613295763541566341103816739632F'. + 78 XPC-FLD0417E VALUE 'N'. + 78 XPC-FLD0418B + VALUE X'00'. + 78 XPC-FLD0418E VALUE 'N'. + 78 XPC-FLD0419B + VALUE X'057648646369329730502F'. + 78 XPC-FLD0419E VALUE 'N'. + 78 XPC-FLD0420B + VALUE X'9092387304867948216724471421912312'. + 78 XPC-FLD0420E VALUE 'Y'. + 78 XPC-FLD0421B + VALUE X'3350912C'. + 78 XPC-FLD0421E VALUE 'N'. + 78 XPC-FLD0422B + VALUE X'752582761957935941759741251848172397'. + 78 XPC-FLD0422E VALUE 'N'. + 78 XPC-FLD0423B + VALUE X'68952728614626146441679566'. + 78 XPC-FLD0423E VALUE 'Y'. + 78 XPC-FLD0424B + VALUE X'0784268490871190770892359433'. + 78 XPC-FLD0424E VALUE 'N'. + 78 XPC-FLD0425B + VALUE X'01105207822256892292772F'. + 78 XPC-FLD0425E VALUE 'N'. + 78 XPC-FLD0426B + VALUE X'0001958844649331492605'. + 78 XPC-FLD0426E VALUE 'N'. + 78 XPC-FLD0427B + VALUE X'030767310512910845380824639505'. + 78 XPC-FLD0427E VALUE 'N'. + 78 XPC-FLD0428B + VALUE X'03481765503552540774734325168211935223'. + 78 XPC-FLD0428E VALUE 'N'. + 78 XPC-FLD0429B + VALUE X'0423145136880775'. + 78 XPC-FLD0429E VALUE 'N'. + 78 XPC-FLD0430B + VALUE X'03147921208448'. + 78 XPC-FLD0430E VALUE 'N'. + 78 XPC-FLD0431B + VALUE X'09203928254587173674039490833820309F'. + 78 XPC-FLD0431E VALUE 'N'. + 78 XPC-FLD0432B + VALUE X'0161655D'. + 78 XPC-FLD0432E VALUE 'Y'. + 78 XPC-FLD0433B + VALUE X'02194579'. + 78 XPC-FLD0433E VALUE 'N'. + 78 XPC-FLD0434B + VALUE X'60684270265800283242045907172723673F'. + 78 XPC-FLD0434E VALUE 'N'. + 78 XPC-FLD0435B + VALUE X'05848414431863717140299F'. + 78 XPC-FLD0435E VALUE 'N'. + 78 XPC-FLD0436B + VALUE X'8307195843004202551185244374210F'. + 78 XPC-FLD0436E VALUE 'N'. + 78 XPC-FLD0437B + VALUE X'0276912651674409371338469F'. + 78 XPC-FLD0437E VALUE 'N'. + 78 XPC-FLD0438B + VALUE X'874277230957161255453513604152249F'. + 78 XPC-FLD0438E VALUE 'Y'. + 78 XPC-FLD0439B + VALUE X'057198557021649332012F'. + 78 XPC-FLD0439E VALUE 'N'. + 78 XPC-FLD0440B + VALUE X'045546922388182033'. + 78 XPC-FLD0440E VALUE 'N'. + 78 XPC-FLD0441B + VALUE X'04410365507278116C'. + 78 XPC-FLD0441E VALUE 'N'. + 78 XPC-FLD0442B + VALUE X'0793246258213504850331787565664854'. + 78 XPC-FLD0442E VALUE 'N'. + 78 XPC-FLD0443B + VALUE X'12406922393517515692932F'. + 78 XPC-FLD0443E VALUE 'N'. + 78 XPC-FLD0444B + VALUE X'5047752750516173348F'. + 78 XPC-FLD0444E VALUE 'N'. + 78 XPC-FLD0445B + VALUE X'07930125790736931C'. + 78 XPC-FLD0445E VALUE 'N'. + 78 XPC-FLD0446B + VALUE X'03796915192033033506944203'. + 78 XPC-FLD0446E VALUE 'N'. + 78 XPC-FLD0447B + VALUE X'2771730669'. + 78 XPC-FLD0447E VALUE 'N'. + 78 XPC-FLD0448B + VALUE X'53731039321367845601'. + 78 XPC-FLD0448E VALUE 'N'. + 78 XPC-FLD0449B + VALUE X'0509720778946D'. + 78 XPC-FLD0449E VALUE 'N'. + 78 XPC-FLD0450B + VALUE X'0282777568876138030162'. + 78 XPC-FLD0450E VALUE 'N'. + 78 XPC-FLD0451B + VALUE X'251739040D'. + 78 XPC-FLD0451E VALUE 'N'. + 78 XPC-FLD0452B + VALUE X'0554961704112127562772'. + 78 XPC-FLD0452E VALUE 'N'. + 78 XPC-FLD0453B + VALUE X'967573296701221163829131910461001098'. + 78 XPC-FLD0453E VALUE 'Y'. + 78 XPC-FLD0454B + VALUE X'0C'. + 78 XPC-FLD0454E VALUE 'N'. + 78 XPC-FLD0455B + VALUE X'085105998788168291113720442808698F'. + 78 XPC-FLD0455E VALUE 'N'. + 78 XPC-FLD0456B + VALUE X'015602'. + 78 XPC-FLD0456E VALUE 'N'. + 78 XPC-FLD0457B + VALUE X'03'. + 78 XPC-FLD0457E VALUE 'N'. + 78 XPC-FLD0458B + VALUE X'319507534378'. + 78 XPC-FLD0458E VALUE 'N'. + 78 XPC-FLD0459B + VALUE X'563566655806151518188F'. + 78 XPC-FLD0459E VALUE 'N'. + 78 XPC-FLD0460B + VALUE X'78345895335320658858790920930F'. + 78 XPC-FLD0460E VALUE 'N'. + 78 XPC-FLD0461B + VALUE X'021468392C'. + 78 XPC-FLD0461E VALUE 'N'. + 78 XPC-FLD0462B + VALUE X'0952391194548525610308331579290097579F'. + 78 XPC-FLD0462E VALUE 'Y'. + 78 XPC-FLD0463B + VALUE X'0407334605648695'. + 78 XPC-FLD0463E VALUE 'N'. + 78 XPC-FLD0464B + VALUE X'0151737088129684206390490880'. + 78 XPC-FLD0464E VALUE 'N'. + 78 XPC-FLD0465B + VALUE X'08379371800695708527584315561398'. + 78 XPC-FLD0465E VALUE 'Y'. + 78 XPC-FLD0466B + VALUE X'066690'. + 78 XPC-FLD0466E VALUE 'N'. + 78 XPC-FLD0467B + VALUE X'221674677715112297171629052172647F'. + 78 XPC-FLD0467E VALUE 'N'. + 78 XPC-FLD0468B + VALUE X'029592230696'. + 78 XPC-FLD0468E VALUE 'Y'. + 78 XPC-FLD0469B + VALUE X'5271081475223874723F'. + 78 XPC-FLD0469E VALUE 'N'. + 78 XPC-FLD0470B + VALUE X'038313143686989D'. + 78 XPC-FLD0470E VALUE 'N'. + 78 XPC-FLD0471B + VALUE X'00'. + 78 XPC-FLD0471E VALUE 'Y'. + 78 XPC-FLD0472B + VALUE X'014747530624073358364549755424378F'. + 78 XPC-FLD0472E VALUE 'N'. + 78 XPC-FLD0473B + VALUE X'044510935327360434676791100F'. + 78 XPC-FLD0473E VALUE 'N'. + 78 XPC-FLD0474B + VALUE X'13295C'. + 78 XPC-FLD0474E VALUE 'Y'. + 78 XPC-FLD0475B + VALUE X'008735531657721C'. + 78 XPC-FLD0475E VALUE 'N'. + 78 XPC-FLD0476B + VALUE X'06726269'. + 78 XPC-FLD0476E VALUE 'N'. + 78 XPC-FLD0477B + VALUE X'030615161929047D'. + 78 XPC-FLD0477E VALUE 'N'. + 78 XPC-FLD0478B + VALUE X'02732554753852'. + 78 XPC-FLD0478E VALUE 'N'. + 78 XPC-FLD0479B + VALUE X'3225777432138897276100778981344F'. + 78 XPC-FLD0479E VALUE 'N'. + 78 XPC-FLD0480B + VALUE X'7459539941657910502685240317'. + 78 XPC-FLD0480E VALUE 'N'. + 78 XPC-FLD0481B + VALUE X'7907459007614364265847939350351225584F'. + 78 XPC-FLD0481E VALUE 'N'. + 78 XPC-FLD0482B + VALUE X'0499292594411151590D'. + 78 XPC-FLD0482E VALUE 'N'. + 78 XPC-FLD0483B + VALUE X'0323420128144C'. + 78 XPC-FLD0483E VALUE 'N'. + 78 XPC-FLD0484B + VALUE X'0577123861473882282524'. + 78 XPC-FLD0484E VALUE 'N'. + 78 XPC-FLD0485B + VALUE X'842609'. + 78 XPC-FLD0485E VALUE 'N'. + 78 XPC-FLD0486B + VALUE X'045838007534965959'. + 78 XPC-FLD0486E VALUE 'N'. + 78 XPC-FLD0487B + VALUE X'070416419749040885946681100F'. + 78 XPC-FLD0487E VALUE 'N'. + 78 XPC-FLD0488B + VALUE X'01888589981100687587906874'. + 78 XPC-FLD0488E VALUE 'N'. + 78 XPC-FLD0489B + VALUE X'09950567826331271348294649214949458837'. + 78 XPC-FLD0489E VALUE 'Y'. + 78 XPC-FLD0490B + VALUE X'2396976320'. + 78 XPC-FLD0490E VALUE 'N'. + 78 XPC-FLD0491B + VALUE X'6612864347936019645829430F'. + 78 XPC-FLD0491E VALUE 'N'. + 78 XPC-FLD0492B + VALUE X'3423161826574C'. + 78 XPC-FLD0492E VALUE 'N'. + 78 XPC-FLD0493B + VALUE X'790696459278862186593528349476'. + 78 XPC-FLD0493E VALUE 'N'. + 78 XPC-FLD0494B + VALUE X'5132995328615615201F'. + 78 XPC-FLD0494E VALUE 'N'. + 78 XPC-FLD0495B + VALUE X'646882573915106698502768'. + 78 XPC-FLD0495E VALUE 'N'. + 78 XPC-FLD0496B + VALUE X'05523D'. + 78 XPC-FLD0496E VALUE 'N'. + 78 XPC-FLD0497B + VALUE X'06663282286120654558381204'. + 78 XPC-FLD0497E VALUE 'N'. + 78 XPC-FLD0498B + VALUE X'01894494'. + 78 XPC-FLD0498E VALUE 'Y'. + 78 XPC-FLD0499B + VALUE X'0634131216402607308791345F'. + 78 XPC-FLD0499E VALUE 'N'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + ADD FLD0001A TO FLD0001B. + SUBTRACT FLD0002A FROM FLD0002B. + ADD FLD0003A TO FLD0003B + ON SIZE ERROR MOVE 'Y' TO FLD0003E. + SUBTRACT FLD0004A FROM FLD0004B. + ADD FLD0005A TO FLD0005B. + SUBTRACT FLD0006A FROM FLD0006B + ON SIZE ERROR MOVE 'Y' TO FLD0006E. + ADD FLD0007A TO FLD0007B. + SUBTRACT FLD0008A FROM FLD0008B. + ADD FLD0009A TO FLD0009B + ON SIZE ERROR MOVE 'Y' TO FLD0009E. + SUBTRACT FLD0010A FROM FLD0010B. + ADD FLD0011A TO FLD0011B. + SUBTRACT FLD0012A FROM FLD0012B + ON SIZE ERROR MOVE 'Y' TO FLD0012E. + ADD FLD0013A TO FLD0013B. + SUBTRACT FLD0014A FROM FLD0014B. + ADD FLD0015A TO FLD0015B + ON SIZE ERROR MOVE 'Y' TO FLD0015E. + SUBTRACT FLD0016A FROM FLD0016B. + ADD FLD0017A TO FLD0017B. + SUBTRACT FLD0018A FROM FLD0018B + ON SIZE ERROR MOVE 'Y' TO FLD0018E. + ADD FLD0019A TO FLD0019B. + SUBTRACT FLD0020A FROM FLD0020B. + ADD FLD0021A TO FLD0021B + ON SIZE ERROR MOVE 'Y' TO FLD0021E. + SUBTRACT FLD0022A FROM FLD0022B. + ADD FLD0023A TO FLD0023B. + SUBTRACT FLD0024A FROM FLD0024B + ON SIZE ERROR MOVE 'Y' TO FLD0024E. + ADD FLD0025A TO FLD0025B. + SUBTRACT FLD0026A FROM FLD0026B. + ADD FLD0027A TO FLD0027B + ON SIZE ERROR MOVE 'Y' TO FLD0027E. + SUBTRACT FLD0028A FROM FLD0028B. + ADD FLD0029A TO FLD0029B. + SUBTRACT FLD0030A FROM FLD0030B + ON SIZE ERROR MOVE 'Y' TO FLD0030E. + ADD FLD0031A TO FLD0031B. + SUBTRACT FLD0032A FROM FLD0032B. + ADD FLD0033A TO FLD0033B + ON SIZE ERROR MOVE 'Y' TO FLD0033E. + SUBTRACT FLD0034A FROM FLD0034B. + ADD FLD0035A TO FLD0035B. + SUBTRACT FLD0036A FROM FLD0036B + ON SIZE ERROR MOVE 'Y' TO FLD0036E. + ADD FLD0037A TO FLD0037B. + SUBTRACT FLD0038A FROM FLD0038B. + ADD FLD0039A TO FLD0039B + ON SIZE ERROR MOVE 'Y' TO FLD0039E. + SUBTRACT FLD0040A FROM FLD0040B. + ADD FLD0041A TO FLD0041B. + SUBTRACT FLD0042A FROM FLD0042B + ON SIZE ERROR MOVE 'Y' TO FLD0042E. + ADD FLD0043A TO FLD0043B. + SUBTRACT FLD0044A FROM FLD0044B. + ADD FLD0045A TO FLD0045B + ON SIZE ERROR MOVE 'Y' TO FLD0045E. + SUBTRACT FLD0046A FROM FLD0046B. + ADD FLD0047A TO FLD0047B. + SUBTRACT FLD0048A FROM FLD0048B + ON SIZE ERROR MOVE 'Y' TO FLD0048E. + ADD FLD0049A TO FLD0049B. + SUBTRACT FLD0050A FROM FLD0050B. + ADD FLD0051A TO FLD0051B + ON SIZE ERROR MOVE 'Y' TO FLD0051E. + SUBTRACT FLD0052A FROM FLD0052B. + ADD FLD0053A TO FLD0053B. + SUBTRACT FLD0054A FROM FLD0054B + ON SIZE ERROR MOVE 'Y' TO FLD0054E. + ADD FLD0055A TO FLD0055B. + SUBTRACT FLD0056A FROM FLD0056B. + ADD FLD0057A TO FLD0057B + ON SIZE ERROR MOVE 'Y' TO FLD0057E. + SUBTRACT FLD0058A FROM FLD0058B. + ADD FLD0059A TO FLD0059B. + SUBTRACT FLD0060A FROM FLD0060B + ON SIZE ERROR MOVE 'Y' TO FLD0060E. + ADD FLD0061A TO FLD0061B. + SUBTRACT FLD0062A FROM FLD0062B. + ADD FLD0063A TO FLD0063B + ON SIZE ERROR MOVE 'Y' TO FLD0063E. + SUBTRACT FLD0064A FROM FLD0064B. + ADD FLD0065A TO FLD0065B. + SUBTRACT FLD0066A FROM FLD0066B + ON SIZE ERROR MOVE 'Y' TO FLD0066E. + ADD FLD0067A TO FLD0067B. + SUBTRACT FLD0068A FROM FLD0068B. + ADD FLD0069A TO FLD0069B + ON SIZE ERROR MOVE 'Y' TO FLD0069E. + SUBTRACT FLD0070A FROM FLD0070B. + ADD FLD0071A TO FLD0071B. + SUBTRACT FLD0072A FROM FLD0072B + ON SIZE ERROR MOVE 'Y' TO FLD0072E. + ADD FLD0073A TO FLD0073B. + SUBTRACT FLD0074A FROM FLD0074B. + ADD FLD0075A TO FLD0075B + ON SIZE ERROR MOVE 'Y' TO FLD0075E. + SUBTRACT FLD0076A FROM FLD0076B. + ADD FLD0077A TO FLD0077B. + SUBTRACT FLD0078A FROM FLD0078B + ON SIZE ERROR MOVE 'Y' TO FLD0078E. + ADD FLD0079A TO FLD0079B. + SUBTRACT FLD0080A FROM FLD0080B. + ADD FLD0081A TO FLD0081B + ON SIZE ERROR MOVE 'Y' TO FLD0081E. + SUBTRACT FLD0082A FROM FLD0082B. + ADD FLD0083A TO FLD0083B. + SUBTRACT FLD0084A FROM FLD0084B + ON SIZE ERROR MOVE 'Y' TO FLD0084E. + ADD FLD0085A TO FLD0085B. + SUBTRACT FLD0086A FROM FLD0086B. + ADD FLD0087A TO FLD0087B + ON SIZE ERROR MOVE 'Y' TO FLD0087E. + SUBTRACT FLD0088A FROM FLD0088B. + ADD FLD0089A TO FLD0089B. + SUBTRACT FLD0090A FROM FLD0090B + ON SIZE ERROR MOVE 'Y' TO FLD0090E. + ADD FLD0091A TO FLD0091B. + SUBTRACT FLD0092A FROM FLD0092B. + ADD FLD0093A TO FLD0093B + ON SIZE ERROR MOVE 'Y' TO FLD0093E. + SUBTRACT FLD0094A FROM FLD0094B. + ADD FLD0095A TO FLD0095B. + SUBTRACT FLD0096A FROM FLD0096B + ON SIZE ERROR MOVE 'Y' TO FLD0096E. + ADD FLD0097A TO FLD0097B. + SUBTRACT FLD0098A FROM FLD0098B. + ADD FLD0099A TO FLD0099B + ON SIZE ERROR MOVE 'Y' TO FLD0099E. + SUBTRACT FLD0100A FROM FLD0100B. + ADD FLD0101A TO FLD0101B. + SUBTRACT FLD0102A FROM FLD0102B + ON SIZE ERROR MOVE 'Y' TO FLD0102E. + ADD FLD0103A TO FLD0103B. + SUBTRACT FLD0104A FROM FLD0104B. + ADD FLD0105A TO FLD0105B + ON SIZE ERROR MOVE 'Y' TO FLD0105E. + SUBTRACT FLD0106A FROM FLD0106B. + ADD FLD0107A TO FLD0107B. + SUBTRACT FLD0108A FROM FLD0108B + ON SIZE ERROR MOVE 'Y' TO FLD0108E. + ADD FLD0109A TO FLD0109B. + SUBTRACT FLD0110A FROM FLD0110B. + ADD FLD0111A TO FLD0111B + ON SIZE ERROR MOVE 'Y' TO FLD0111E. + SUBTRACT FLD0112A FROM FLD0112B. + ADD FLD0113A TO FLD0113B. + SUBTRACT FLD0114A FROM FLD0114B + ON SIZE ERROR MOVE 'Y' TO FLD0114E. + ADD FLD0115A TO FLD0115B. + SUBTRACT FLD0116A FROM FLD0116B. + ADD FLD0117A TO FLD0117B + ON SIZE ERROR MOVE 'Y' TO FLD0117E. + SUBTRACT FLD0118A FROM FLD0118B. + ADD FLD0119A TO FLD0119B. + SUBTRACT FLD0120A FROM FLD0120B + ON SIZE ERROR MOVE 'Y' TO FLD0120E. + ADD FLD0121A TO FLD0121B. + SUBTRACT FLD0122A FROM FLD0122B. + ADD FLD0123A TO FLD0123B + ON SIZE ERROR MOVE 'Y' TO FLD0123E. + SUBTRACT FLD0124A FROM FLD0124B. + ADD FLD0125A TO FLD0125B. + SUBTRACT FLD0126A FROM FLD0126B + ON SIZE ERROR MOVE 'Y' TO FLD0126E. + ADD FLD0127A TO FLD0127B. + SUBTRACT FLD0128A FROM FLD0128B. + ADD FLD0129A TO FLD0129B + ON SIZE ERROR MOVE 'Y' TO FLD0129E. + SUBTRACT FLD0130A FROM FLD0130B. + ADD FLD0131A TO FLD0131B. + SUBTRACT FLD0132A FROM FLD0132B + ON SIZE ERROR MOVE 'Y' TO FLD0132E. + ADD FLD0133A TO FLD0133B. + SUBTRACT FLD0134A FROM FLD0134B. + ADD FLD0135A TO FLD0135B + ON SIZE ERROR MOVE 'Y' TO FLD0135E. + SUBTRACT FLD0136A FROM FLD0136B. + ADD FLD0137A TO FLD0137B. + SUBTRACT FLD0138A FROM FLD0138B + ON SIZE ERROR MOVE 'Y' TO FLD0138E. + ADD FLD0139A TO FLD0139B. + SUBTRACT FLD0140A FROM FLD0140B. + ADD FLD0141A TO FLD0141B + ON SIZE ERROR MOVE 'Y' TO FLD0141E. + SUBTRACT FLD0142A FROM FLD0142B. + ADD FLD0143A TO FLD0143B. + SUBTRACT FLD0144A FROM FLD0144B + ON SIZE ERROR MOVE 'Y' TO FLD0144E. + ADD FLD0145A TO FLD0145B. + SUBTRACT FLD0146A FROM FLD0146B. + ADD FLD0147A TO FLD0147B + ON SIZE ERROR MOVE 'Y' TO FLD0147E. + SUBTRACT FLD0148A FROM FLD0148B. + ADD FLD0149A TO FLD0149B. + SUBTRACT FLD0150A FROM FLD0150B + ON SIZE ERROR MOVE 'Y' TO FLD0150E. + ADD FLD0151A TO FLD0151B. + SUBTRACT FLD0152A FROM FLD0152B. + ADD FLD0153A TO FLD0153B + ON SIZE ERROR MOVE 'Y' TO FLD0153E. + SUBTRACT FLD0154A FROM FLD0154B. + ADD FLD0155A TO FLD0155B. + SUBTRACT FLD0156A FROM FLD0156B + ON SIZE ERROR MOVE 'Y' TO FLD0156E. + ADD FLD0157A TO FLD0157B. + SUBTRACT FLD0158A FROM FLD0158B. + ADD FLD0159A TO FLD0159B + ON SIZE ERROR MOVE 'Y' TO FLD0159E. + SUBTRACT FLD0160A FROM FLD0160B. + ADD FLD0161A TO FLD0161B. + SUBTRACT FLD0162A FROM FLD0162B + ON SIZE ERROR MOVE 'Y' TO FLD0162E. + ADD FLD0163A TO FLD0163B. + SUBTRACT FLD0164A FROM FLD0164B. + ADD FLD0165A TO FLD0165B + ON SIZE ERROR MOVE 'Y' TO FLD0165E. + SUBTRACT FLD0166A FROM FLD0166B. + ADD FLD0167A TO FLD0167B. + SUBTRACT FLD0168A FROM FLD0168B + ON SIZE ERROR MOVE 'Y' TO FLD0168E. + ADD FLD0169A TO FLD0169B. + SUBTRACT FLD0170A FROM FLD0170B. + ADD FLD0171A TO FLD0171B + ON SIZE ERROR MOVE 'Y' TO FLD0171E. + SUBTRACT FLD0172A FROM FLD0172B. + ADD FLD0173A TO FLD0173B. + SUBTRACT FLD0174A FROM FLD0174B + ON SIZE ERROR MOVE 'Y' TO FLD0174E. + ADD FLD0175A TO FLD0175B. + SUBTRACT FLD0176A FROM FLD0176B. + ADD FLD0177A TO FLD0177B + ON SIZE ERROR MOVE 'Y' TO FLD0177E. + SUBTRACT FLD0178A FROM FLD0178B. + ADD FLD0179A TO FLD0179B. + SUBTRACT FLD0180A FROM FLD0180B + ON SIZE ERROR MOVE 'Y' TO FLD0180E. + ADD FLD0181A TO FLD0181B. + SUBTRACT FLD0182A FROM FLD0182B. + ADD FLD0183A TO FLD0183B + ON SIZE ERROR MOVE 'Y' TO FLD0183E. + SUBTRACT FLD0184A FROM FLD0184B. + ADD FLD0185A TO FLD0185B. + SUBTRACT FLD0186A FROM FLD0186B + ON SIZE ERROR MOVE 'Y' TO FLD0186E. + ADD FLD0187A TO FLD0187B. + SUBTRACT FLD0188A FROM FLD0188B. + ADD FLD0189A TO FLD0189B + ON SIZE ERROR MOVE 'Y' TO FLD0189E. + SUBTRACT FLD0190A FROM FLD0190B. + ADD FLD0191A TO FLD0191B. + SUBTRACT FLD0192A FROM FLD0192B + ON SIZE ERROR MOVE 'Y' TO FLD0192E. + ADD FLD0193A TO FLD0193B. + SUBTRACT FLD0194A FROM FLD0194B. + ADD FLD0195A TO FLD0195B + ON SIZE ERROR MOVE 'Y' TO FLD0195E. + SUBTRACT FLD0196A FROM FLD0196B. + ADD FLD0197A TO FLD0197B. + SUBTRACT FLD0198A FROM FLD0198B + ON SIZE ERROR MOVE 'Y' TO FLD0198E. + ADD FLD0199A TO FLD0199B. + SUBTRACT FLD0200A FROM FLD0200B. + ADD FLD0201A TO FLD0201B + ON SIZE ERROR MOVE 'Y' TO FLD0201E. + SUBTRACT FLD0202A FROM FLD0202B. + ADD FLD0203A TO FLD0203B. + SUBTRACT FLD0204A FROM FLD0204B + ON SIZE ERROR MOVE 'Y' TO FLD0204E. + ADD FLD0205A TO FLD0205B. + SUBTRACT FLD0206A FROM FLD0206B. + ADD FLD0207A TO FLD0207B + ON SIZE ERROR MOVE 'Y' TO FLD0207E. + SUBTRACT FLD0208A FROM FLD0208B. + ADD FLD0209A TO FLD0209B. + SUBTRACT FLD0210A FROM FLD0210B + ON SIZE ERROR MOVE 'Y' TO FLD0210E. + ADD FLD0211A TO FLD0211B. + SUBTRACT FLD0212A FROM FLD0212B. + ADD FLD0213A TO FLD0213B + ON SIZE ERROR MOVE 'Y' TO FLD0213E. + SUBTRACT FLD0214A FROM FLD0214B. + ADD FLD0215A TO FLD0215B. + SUBTRACT FLD0216A FROM FLD0216B + ON SIZE ERROR MOVE 'Y' TO FLD0216E. + ADD FLD0217A TO FLD0217B. + SUBTRACT FLD0218A FROM FLD0218B. + ADD FLD0219A TO FLD0219B + ON SIZE ERROR MOVE 'Y' TO FLD0219E. + SUBTRACT FLD0220A FROM FLD0220B. + ADD FLD0221A TO FLD0221B. + SUBTRACT FLD0222A FROM FLD0222B + ON SIZE ERROR MOVE 'Y' TO FLD0222E. + ADD FLD0223A TO FLD0223B. + SUBTRACT FLD0224A FROM FLD0224B. + ADD FLD0225A TO FLD0225B + ON SIZE ERROR MOVE 'Y' TO FLD0225E. + SUBTRACT FLD0226A FROM FLD0226B. + ADD FLD0227A TO FLD0227B. + SUBTRACT FLD0228A FROM FLD0228B + ON SIZE ERROR MOVE 'Y' TO FLD0228E. + ADD FLD0229A TO FLD0229B. + SUBTRACT FLD0230A FROM FLD0230B. + ADD FLD0231A TO FLD0231B + ON SIZE ERROR MOVE 'Y' TO FLD0231E. + SUBTRACT FLD0232A FROM FLD0232B. + ADD FLD0233A TO FLD0233B. + SUBTRACT FLD0234A FROM FLD0234B + ON SIZE ERROR MOVE 'Y' TO FLD0234E. + ADD FLD0235A TO FLD0235B. + SUBTRACT FLD0236A FROM FLD0236B. + ADD FLD0237A TO FLD0237B + ON SIZE ERROR MOVE 'Y' TO FLD0237E. + SUBTRACT FLD0238A FROM FLD0238B. + ADD FLD0239A TO FLD0239B. + SUBTRACT FLD0240A FROM FLD0240B + ON SIZE ERROR MOVE 'Y' TO FLD0240E. + ADD FLD0241A TO FLD0241B. + SUBTRACT FLD0242A FROM FLD0242B. + ADD FLD0243A TO FLD0243B + ON SIZE ERROR MOVE 'Y' TO FLD0243E. + SUBTRACT FLD0244A FROM FLD0244B. + ADD FLD0245A TO FLD0245B. + SUBTRACT FLD0246A FROM FLD0246B + ON SIZE ERROR MOVE 'Y' TO FLD0246E. + ADD FLD0247A TO FLD0247B. + SUBTRACT FLD0248A FROM FLD0248B. + ADD FLD0249A TO FLD0249B + ON SIZE ERROR MOVE 'Y' TO FLD0249E. + SUBTRACT FLD0250A FROM FLD0250B. + ADD FLD0251A TO FLD0251B. + SUBTRACT FLD0252A FROM FLD0252B + ON SIZE ERROR MOVE 'Y' TO FLD0252E. + ADD FLD0253A TO FLD0253B. + SUBTRACT FLD0254A FROM FLD0254B. + ADD FLD0255A TO FLD0255B + ON SIZE ERROR MOVE 'Y' TO FLD0255E. + SUBTRACT FLD0256A FROM FLD0256B. + ADD FLD0257A TO FLD0257B. + SUBTRACT FLD0258A FROM FLD0258B + ON SIZE ERROR MOVE 'Y' TO FLD0258E. + ADD FLD0259A TO FLD0259B. + SUBTRACT FLD0260A FROM FLD0260B. + ADD FLD0261A TO FLD0261B + ON SIZE ERROR MOVE 'Y' TO FLD0261E. + SUBTRACT FLD0262A FROM FLD0262B. + ADD FLD0263A TO FLD0263B. + SUBTRACT FLD0264A FROM FLD0264B + ON SIZE ERROR MOVE 'Y' TO FLD0264E. + ADD FLD0265A TO FLD0265B. + SUBTRACT FLD0266A FROM FLD0266B. + ADD FLD0267A TO FLD0267B + ON SIZE ERROR MOVE 'Y' TO FLD0267E. + SUBTRACT FLD0268A FROM FLD0268B. + ADD FLD0269A TO FLD0269B. + SUBTRACT FLD0270A FROM FLD0270B + ON SIZE ERROR MOVE 'Y' TO FLD0270E. + ADD FLD0271A TO FLD0271B. + SUBTRACT FLD0272A FROM FLD0272B. + ADD FLD0273A TO FLD0273B + ON SIZE ERROR MOVE 'Y' TO FLD0273E. + SUBTRACT FLD0274A FROM FLD0274B. + ADD FLD0275A TO FLD0275B. + SUBTRACT FLD0276A FROM FLD0276B + ON SIZE ERROR MOVE 'Y' TO FLD0276E. + ADD FLD0277A TO FLD0277B. + SUBTRACT FLD0278A FROM FLD0278B. + ADD FLD0279A TO FLD0279B + ON SIZE ERROR MOVE 'Y' TO FLD0279E. + SUBTRACT FLD0280A FROM FLD0280B. + ADD FLD0281A TO FLD0281B. + SUBTRACT FLD0282A FROM FLD0282B + ON SIZE ERROR MOVE 'Y' TO FLD0282E. + ADD FLD0283A TO FLD0283B. + SUBTRACT FLD0284A FROM FLD0284B. + ADD FLD0285A TO FLD0285B + ON SIZE ERROR MOVE 'Y' TO FLD0285E. + SUBTRACT FLD0286A FROM FLD0286B. + ADD FLD0287A TO FLD0287B. + SUBTRACT FLD0288A FROM FLD0288B + ON SIZE ERROR MOVE 'Y' TO FLD0288E. + ADD FLD0289A TO FLD0289B. + SUBTRACT FLD0290A FROM FLD0290B. + ADD FLD0291A TO FLD0291B + ON SIZE ERROR MOVE 'Y' TO FLD0291E. + SUBTRACT FLD0292A FROM FLD0292B. + ADD FLD0293A TO FLD0293B. + SUBTRACT FLD0294A FROM FLD0294B + ON SIZE ERROR MOVE 'Y' TO FLD0294E. + ADD FLD0295A TO FLD0295B. + SUBTRACT FLD0296A FROM FLD0296B. + ADD FLD0297A TO FLD0297B + ON SIZE ERROR MOVE 'Y' TO FLD0297E. + SUBTRACT FLD0298A FROM FLD0298B. + ADD FLD0299A TO FLD0299B. + SUBTRACT FLD0300A FROM FLD0300B + ON SIZE ERROR MOVE 'Y' TO FLD0300E. + ADD FLD0301A TO FLD0301B. + SUBTRACT FLD0302A FROM FLD0302B. + ADD FLD0303A TO FLD0303B + ON SIZE ERROR MOVE 'Y' TO FLD0303E. + SUBTRACT FLD0304A FROM FLD0304B. + ADD FLD0305A TO FLD0305B. + SUBTRACT FLD0306A FROM FLD0306B + ON SIZE ERROR MOVE 'Y' TO FLD0306E. + ADD FLD0307A TO FLD0307B. + SUBTRACT FLD0308A FROM FLD0308B. + ADD FLD0309A TO FLD0309B + ON SIZE ERROR MOVE 'Y' TO FLD0309E. + SUBTRACT FLD0310A FROM FLD0310B. + ADD FLD0311A TO FLD0311B. + SUBTRACT FLD0312A FROM FLD0312B + ON SIZE ERROR MOVE 'Y' TO FLD0312E. + ADD FLD0313A TO FLD0313B. + SUBTRACT FLD0314A FROM FLD0314B. + ADD FLD0315A TO FLD0315B + ON SIZE ERROR MOVE 'Y' TO FLD0315E. + SUBTRACT FLD0316A FROM FLD0316B. + ADD FLD0317A TO FLD0317B. + SUBTRACT FLD0318A FROM FLD0318B + ON SIZE ERROR MOVE 'Y' TO FLD0318E. + ADD FLD0319A TO FLD0319B. + SUBTRACT FLD0320A FROM FLD0320B. + ADD FLD0321A TO FLD0321B + ON SIZE ERROR MOVE 'Y' TO FLD0321E. + SUBTRACT FLD0322A FROM FLD0322B. + ADD FLD0323A TO FLD0323B. + SUBTRACT FLD0324A FROM FLD0324B + ON SIZE ERROR MOVE 'Y' TO FLD0324E. + ADD FLD0325A TO FLD0325B. + SUBTRACT FLD0326A FROM FLD0326B. + ADD FLD0327A TO FLD0327B + ON SIZE ERROR MOVE 'Y' TO FLD0327E. + SUBTRACT FLD0328A FROM FLD0328B. + ADD FLD0329A TO FLD0329B. + SUBTRACT FLD0330A FROM FLD0330B + ON SIZE ERROR MOVE 'Y' TO FLD0330E. + ADD FLD0331A TO FLD0331B. + SUBTRACT FLD0332A FROM FLD0332B. + ADD FLD0333A TO FLD0333B + ON SIZE ERROR MOVE 'Y' TO FLD0333E. + SUBTRACT FLD0334A FROM FLD0334B. + ADD FLD0335A TO FLD0335B. + SUBTRACT FLD0336A FROM FLD0336B + ON SIZE ERROR MOVE 'Y' TO FLD0336E. + ADD FLD0337A TO FLD0337B. + SUBTRACT FLD0338A FROM FLD0338B. + ADD FLD0339A TO FLD0339B + ON SIZE ERROR MOVE 'Y' TO FLD0339E. + SUBTRACT FLD0340A FROM FLD0340B. + ADD FLD0341A TO FLD0341B. + SUBTRACT FLD0342A FROM FLD0342B + ON SIZE ERROR MOVE 'Y' TO FLD0342E. + ADD FLD0343A TO FLD0343B. + SUBTRACT FLD0344A FROM FLD0344B. + ADD FLD0345A TO FLD0345B + ON SIZE ERROR MOVE 'Y' TO FLD0345E. + SUBTRACT FLD0346A FROM FLD0346B. + ADD FLD0347A TO FLD0347B. + SUBTRACT FLD0348A FROM FLD0348B + ON SIZE ERROR MOVE 'Y' TO FLD0348E. + ADD FLD0349A TO FLD0349B. + SUBTRACT FLD0350A FROM FLD0350B. + ADD FLD0351A TO FLD0351B + ON SIZE ERROR MOVE 'Y' TO FLD0351E. + SUBTRACT FLD0352A FROM FLD0352B. + ADD FLD0353A TO FLD0353B. + SUBTRACT FLD0354A FROM FLD0354B + ON SIZE ERROR MOVE 'Y' TO FLD0354E. + ADD FLD0355A TO FLD0355B. + SUBTRACT FLD0356A FROM FLD0356B. + ADD FLD0357A TO FLD0357B + ON SIZE ERROR MOVE 'Y' TO FLD0357E. + SUBTRACT FLD0358A FROM FLD0358B. + ADD FLD0359A TO FLD0359B. + SUBTRACT FLD0360A FROM FLD0360B + ON SIZE ERROR MOVE 'Y' TO FLD0360E. + ADD FLD0361A TO FLD0361B. + SUBTRACT FLD0362A FROM FLD0362B. + ADD FLD0363A TO FLD0363B + ON SIZE ERROR MOVE 'Y' TO FLD0363E. + SUBTRACT FLD0364A FROM FLD0364B. + ADD FLD0365A TO FLD0365B. + SUBTRACT FLD0366A FROM FLD0366B + ON SIZE ERROR MOVE 'Y' TO FLD0366E. + ADD FLD0367A TO FLD0367B. + SUBTRACT FLD0368A FROM FLD0368B. + ADD FLD0369A TO FLD0369B + ON SIZE ERROR MOVE 'Y' TO FLD0369E. + SUBTRACT FLD0370A FROM FLD0370B. + ADD FLD0371A TO FLD0371B. + SUBTRACT FLD0372A FROM FLD0372B + ON SIZE ERROR MOVE 'Y' TO FLD0372E. + ADD FLD0373A TO FLD0373B. + SUBTRACT FLD0374A FROM FLD0374B. + ADD FLD0375A TO FLD0375B + ON SIZE ERROR MOVE 'Y' TO FLD0375E. + SUBTRACT FLD0376A FROM FLD0376B. + ADD FLD0377A TO FLD0377B. + SUBTRACT FLD0378A FROM FLD0378B + ON SIZE ERROR MOVE 'Y' TO FLD0378E. + ADD FLD0379A TO FLD0379B. + SUBTRACT FLD0380A FROM FLD0380B. + ADD FLD0381A TO FLD0381B + ON SIZE ERROR MOVE 'Y' TO FLD0381E. + SUBTRACT FLD0382A FROM FLD0382B. + ADD FLD0383A TO FLD0383B. + SUBTRACT FLD0384A FROM FLD0384B + ON SIZE ERROR MOVE 'Y' TO FLD0384E. + ADD FLD0385A TO FLD0385B. + SUBTRACT FLD0386A FROM FLD0386B. + ADD FLD0387A TO FLD0387B + ON SIZE ERROR MOVE 'Y' TO FLD0387E. + SUBTRACT FLD0388A FROM FLD0388B. + ADD FLD0389A TO FLD0389B. + SUBTRACT FLD0390A FROM FLD0390B + ON SIZE ERROR MOVE 'Y' TO FLD0390E. + ADD FLD0391A TO FLD0391B. + SUBTRACT FLD0392A FROM FLD0392B. + ADD FLD0393A TO FLD0393B + ON SIZE ERROR MOVE 'Y' TO FLD0393E. + SUBTRACT FLD0394A FROM FLD0394B. + ADD FLD0395A TO FLD0395B. + SUBTRACT FLD0396A FROM FLD0396B + ON SIZE ERROR MOVE 'Y' TO FLD0396E. + ADD FLD0397A TO FLD0397B. + SUBTRACT FLD0398A FROM FLD0398B. + ADD FLD0399A TO FLD0399B + ON SIZE ERROR MOVE 'Y' TO FLD0399E. + SUBTRACT FLD0400A FROM FLD0400B. + ADD FLD0401A TO FLD0401B. + SUBTRACT FLD0402A FROM FLD0402B + ON SIZE ERROR MOVE 'Y' TO FLD0402E. + ADD FLD0403A TO FLD0403B. + SUBTRACT FLD0404A FROM FLD0404B. + ADD FLD0405A TO FLD0405B + ON SIZE ERROR MOVE 'Y' TO FLD0405E. + SUBTRACT FLD0406A FROM FLD0406B. + ADD FLD0407A TO FLD0407B. + SUBTRACT FLD0408A FROM FLD0408B + ON SIZE ERROR MOVE 'Y' TO FLD0408E. + ADD FLD0409A TO FLD0409B. + SUBTRACT FLD0410A FROM FLD0410B. + ADD FLD0411A TO FLD0411B + ON SIZE ERROR MOVE 'Y' TO FLD0411E. + SUBTRACT FLD0412A FROM FLD0412B. + ADD FLD0413A TO FLD0413B. + SUBTRACT FLD0414A FROM FLD0414B + ON SIZE ERROR MOVE 'Y' TO FLD0414E. + ADD FLD0415A TO FLD0415B. + SUBTRACT FLD0416A FROM FLD0416B. + ADD FLD0417A TO FLD0417B + ON SIZE ERROR MOVE 'Y' TO FLD0417E. + SUBTRACT FLD0418A FROM FLD0418B. + ADD FLD0419A TO FLD0419B. + SUBTRACT FLD0420A FROM FLD0420B + ON SIZE ERROR MOVE 'Y' TO FLD0420E. + ADD FLD0421A TO FLD0421B. + SUBTRACT FLD0422A FROM FLD0422B. + ADD FLD0423A TO FLD0423B + ON SIZE ERROR MOVE 'Y' TO FLD0423E. + SUBTRACT FLD0424A FROM FLD0424B. + ADD FLD0425A TO FLD0425B. + SUBTRACT FLD0426A FROM FLD0426B + ON SIZE ERROR MOVE 'Y' TO FLD0426E. + ADD FLD0427A TO FLD0427B. + SUBTRACT FLD0428A FROM FLD0428B. + ADD FLD0429A TO FLD0429B + ON SIZE ERROR MOVE 'Y' TO FLD0429E. + SUBTRACT FLD0430A FROM FLD0430B. + ADD FLD0431A TO FLD0431B. + SUBTRACT FLD0432A FROM FLD0432B + ON SIZE ERROR MOVE 'Y' TO FLD0432E. + ADD FLD0433A TO FLD0433B. + SUBTRACT FLD0434A FROM FLD0434B. + ADD FLD0435A TO FLD0435B + ON SIZE ERROR MOVE 'Y' TO FLD0435E. + SUBTRACT FLD0436A FROM FLD0436B. + ADD FLD0437A TO FLD0437B. + SUBTRACT FLD0438A FROM FLD0438B + ON SIZE ERROR MOVE 'Y' TO FLD0438E. + ADD FLD0439A TO FLD0439B. + SUBTRACT FLD0440A FROM FLD0440B. + ADD FLD0441A TO FLD0441B + ON SIZE ERROR MOVE 'Y' TO FLD0441E. + SUBTRACT FLD0442A FROM FLD0442B. + ADD FLD0443A TO FLD0443B. + SUBTRACT FLD0444A FROM FLD0444B + ON SIZE ERROR MOVE 'Y' TO FLD0444E. + ADD FLD0445A TO FLD0445B. + SUBTRACT FLD0446A FROM FLD0446B. + ADD FLD0447A TO FLD0447B + ON SIZE ERROR MOVE 'Y' TO FLD0447E. + SUBTRACT FLD0448A FROM FLD0448B. + ADD FLD0449A TO FLD0449B. + SUBTRACT FLD0450A FROM FLD0450B + ON SIZE ERROR MOVE 'Y' TO FLD0450E. + ADD FLD0451A TO FLD0451B. + SUBTRACT FLD0452A FROM FLD0452B. + ADD FLD0453A TO FLD0453B + ON SIZE ERROR MOVE 'Y' TO FLD0453E. + SUBTRACT FLD0454A FROM FLD0454B. + ADD FLD0455A TO FLD0455B. + SUBTRACT FLD0456A FROM FLD0456B + ON SIZE ERROR MOVE 'Y' TO FLD0456E. + ADD FLD0457A TO FLD0457B. + SUBTRACT FLD0458A FROM FLD0458B. + ADD FLD0459A TO FLD0459B + ON SIZE ERROR MOVE 'Y' TO FLD0459E. + SUBTRACT FLD0460A FROM FLD0460B. + ADD FLD0461A TO FLD0461B. + SUBTRACT FLD0462A FROM FLD0462B + ON SIZE ERROR MOVE 'Y' TO FLD0462E. + ADD FLD0463A TO FLD0463B. + SUBTRACT FLD0464A FROM FLD0464B. + ADD FLD0465A TO FLD0465B + ON SIZE ERROR MOVE 'Y' TO FLD0465E. + SUBTRACT FLD0466A FROM FLD0466B. + ADD FLD0467A TO FLD0467B. + SUBTRACT FLD0468A FROM FLD0468B + ON SIZE ERROR MOVE 'Y' TO FLD0468E. + ADD FLD0469A TO FLD0469B. + SUBTRACT FLD0470A FROM FLD0470B. + ADD FLD0471A TO FLD0471B + ON SIZE ERROR MOVE 'Y' TO FLD0471E. + SUBTRACT FLD0472A FROM FLD0472B. + ADD FLD0473A TO FLD0473B. + SUBTRACT FLD0474A FROM FLD0474B + ON SIZE ERROR MOVE 'Y' TO FLD0474E. + ADD FLD0475A TO FLD0475B. + SUBTRACT FLD0476A FROM FLD0476B. + ADD FLD0477A TO FLD0477B + ON SIZE ERROR MOVE 'Y' TO FLD0477E. + SUBTRACT FLD0478A FROM FLD0478B. + ADD FLD0479A TO FLD0479B. + SUBTRACT FLD0480A FROM FLD0480B + ON SIZE ERROR MOVE 'Y' TO FLD0480E. + ADD FLD0481A TO FLD0481B. + SUBTRACT FLD0482A FROM FLD0482B. + ADD FLD0483A TO FLD0483B + ON SIZE ERROR MOVE 'Y' TO FLD0483E. + SUBTRACT FLD0484A FROM FLD0484B. + ADD FLD0485A TO FLD0485B. + SUBTRACT FLD0486A FROM FLD0486B + ON SIZE ERROR MOVE 'Y' TO FLD0486E. + ADD FLD0487A TO FLD0487B. + SUBTRACT FLD0488A FROM FLD0488B. + ADD FLD0489A TO FLD0489B + ON SIZE ERROR MOVE 'Y' TO FLD0489E. + SUBTRACT FLD0490A FROM FLD0490B. + ADD FLD0491A TO FLD0491B. + SUBTRACT FLD0492A FROM FLD0492B + ON SIZE ERROR MOVE 'Y' TO FLD0492E. + ADD FLD0493A TO FLD0493B. + SUBTRACT FLD0494A FROM FLD0494B. + ADD FLD0495A TO FLD0495B + ON SIZE ERROR MOVE 'Y' TO FLD0495E. + SUBTRACT FLD0496A FROM FLD0496B. + ADD FLD0497A TO FLD0497B. + SUBTRACT FLD0498A FROM FLD0498B + ON SIZE ERROR MOVE 'Y' TO FLD0498E. + ADD FLD0499A TO FLD0499B. + + *4000-COMPARE. + + IF FLD0001B (1:) NOT EQUAL XPC-FLD0001B + DISPLAY 'FLD0001B ==> ' HEX-OF (FLD0001B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0001B). + IF FLD0001E NOT EQUAL XPC-FLD0001E + DISPLAY 'FLD0001E ==> ' FLD0001E + DISPLAY 'EXPECTED ==> ' XPC-FLD0001E. + IF FLD0002B (1:) NOT EQUAL XPC-FLD0002B + DISPLAY 'FLD0002B ==> ' HEX-OF (FLD0002B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0002B). + IF FLD0002E NOT EQUAL XPC-FLD0002E + DISPLAY 'FLD0002E ==> ' FLD0002E + DISPLAY 'EXPECTED ==> ' XPC-FLD0002E. + IF FLD0003B (1:) NOT EQUAL XPC-FLD0003B + DISPLAY 'FLD0003B ==> ' HEX-OF (FLD0003B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0003B). + IF FLD0003E NOT EQUAL XPC-FLD0003E + DISPLAY 'FLD0003E ==> ' FLD0003E + DISPLAY 'EXPECTED ==> ' XPC-FLD0003E. + IF FLD0004B (1:) NOT EQUAL XPC-FLD0004B + DISPLAY 'FLD0004B ==> ' HEX-OF (FLD0004B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0004B). + IF FLD0004E NOT EQUAL XPC-FLD0004E + DISPLAY 'FLD0004E ==> ' FLD0004E + DISPLAY 'EXPECTED ==> ' XPC-FLD0004E. + IF FLD0005B (1:) NOT EQUAL XPC-FLD0005B + DISPLAY 'FLD0005B ==> ' HEX-OF (FLD0005B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0005B). + IF FLD0005E NOT EQUAL XPC-FLD0005E + DISPLAY 'FLD0005E ==> ' FLD0005E + DISPLAY 'EXPECTED ==> ' XPC-FLD0005E. + IF FLD0006B (1:) NOT EQUAL XPC-FLD0006B + DISPLAY 'FLD0006B ==> ' HEX-OF (FLD0006B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0006B). + IF FLD0006E NOT EQUAL XPC-FLD0006E + DISPLAY 'FLD0006E ==> ' FLD0006E + DISPLAY 'EXPECTED ==> ' XPC-FLD0006E. + IF FLD0007B (1:) NOT EQUAL XPC-FLD0007B + DISPLAY 'FLD0007B ==> ' HEX-OF (FLD0007B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0007B). + IF FLD0007E NOT EQUAL XPC-FLD0007E + DISPLAY 'FLD0007E ==> ' FLD0007E + DISPLAY 'EXPECTED ==> ' XPC-FLD0007E. + IF FLD0008B (1:) NOT EQUAL XPC-FLD0008B + DISPLAY 'FLD0008B ==> ' HEX-OF (FLD0008B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0008B). + IF FLD0008E NOT EQUAL XPC-FLD0008E + DISPLAY 'FLD0008E ==> ' FLD0008E + DISPLAY 'EXPECTED ==> ' XPC-FLD0008E. + IF FLD0009B (1:) NOT EQUAL XPC-FLD0009B + DISPLAY 'FLD0009B ==> ' HEX-OF (FLD0009B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0009B). + IF FLD0009E NOT EQUAL XPC-FLD0009E + DISPLAY 'FLD0009E ==> ' FLD0009E + DISPLAY 'EXPECTED ==> ' XPC-FLD0009E. + IF FLD0010B (1:) NOT EQUAL XPC-FLD0010B + DISPLAY 'FLD0010B ==> ' HEX-OF (FLD0010B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0010B). + IF FLD0010E NOT EQUAL XPC-FLD0010E + DISPLAY 'FLD0010E ==> ' FLD0010E + DISPLAY 'EXPECTED ==> ' XPC-FLD0010E. + IF FLD0011B (1:) NOT EQUAL XPC-FLD0011B + DISPLAY 'FLD0011B ==> ' HEX-OF (FLD0011B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0011B). + IF FLD0011E NOT EQUAL XPC-FLD0011E + DISPLAY 'FLD0011E ==> ' FLD0011E + DISPLAY 'EXPECTED ==> ' XPC-FLD0011E. + IF FLD0012B (1:) NOT EQUAL XPC-FLD0012B + DISPLAY 'FLD0012B ==> ' HEX-OF (FLD0012B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0012B). + IF FLD0012E NOT EQUAL XPC-FLD0012E + DISPLAY 'FLD0012E ==> ' FLD0012E + DISPLAY 'EXPECTED ==> ' XPC-FLD0012E. + IF FLD0013B (1:) NOT EQUAL XPC-FLD0013B + DISPLAY 'FLD0013B ==> ' HEX-OF (FLD0013B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0013B). + IF FLD0013E NOT EQUAL XPC-FLD0013E + DISPLAY 'FLD0013E ==> ' FLD0013E + DISPLAY 'EXPECTED ==> ' XPC-FLD0013E. + IF FLD0014B (1:) NOT EQUAL XPC-FLD0014B + DISPLAY 'FLD0014B ==> ' HEX-OF (FLD0014B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0014B). + IF FLD0014E NOT EQUAL XPC-FLD0014E + DISPLAY 'FLD0014E ==> ' FLD0014E + DISPLAY 'EXPECTED ==> ' XPC-FLD0014E. + IF FLD0015B (1:) NOT EQUAL XPC-FLD0015B + DISPLAY 'FLD0015B ==> ' HEX-OF (FLD0015B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0015B). + IF FLD0015E NOT EQUAL XPC-FLD0015E + DISPLAY 'FLD0015E ==> ' FLD0015E + DISPLAY 'EXPECTED ==> ' XPC-FLD0015E. + IF FLD0016B (1:) NOT EQUAL XPC-FLD0016B + DISPLAY 'FLD0016B ==> ' HEX-OF (FLD0016B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0016B). + IF FLD0016E NOT EQUAL XPC-FLD0016E + DISPLAY 'FLD0016E ==> ' FLD0016E + DISPLAY 'EXPECTED ==> ' XPC-FLD0016E. + IF FLD0017B (1:) NOT EQUAL XPC-FLD0017B + DISPLAY 'FLD0017B ==> ' HEX-OF (FLD0017B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0017B). + IF FLD0017E NOT EQUAL XPC-FLD0017E + DISPLAY 'FLD0017E ==> ' FLD0017E + DISPLAY 'EXPECTED ==> ' XPC-FLD0017E. + IF FLD0018B (1:) NOT EQUAL XPC-FLD0018B + DISPLAY 'FLD0018B ==> ' HEX-OF (FLD0018B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0018B). + IF FLD0018E NOT EQUAL XPC-FLD0018E + DISPLAY 'FLD0018E ==> ' FLD0018E + DISPLAY 'EXPECTED ==> ' XPC-FLD0018E. + IF FLD0019B (1:) NOT EQUAL XPC-FLD0019B + DISPLAY 'FLD0019B ==> ' HEX-OF (FLD0019B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0019B). + IF FLD0019E NOT EQUAL XPC-FLD0019E + DISPLAY 'FLD0019E ==> ' FLD0019E + DISPLAY 'EXPECTED ==> ' XPC-FLD0019E. + IF FLD0020B (1:) NOT EQUAL XPC-FLD0020B + DISPLAY 'FLD0020B ==> ' HEX-OF (FLD0020B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0020B). + IF FLD0020E NOT EQUAL XPC-FLD0020E + DISPLAY 'FLD0020E ==> ' FLD0020E + DISPLAY 'EXPECTED ==> ' XPC-FLD0020E. + IF FLD0021B (1:) NOT EQUAL XPC-FLD0021B + DISPLAY 'FLD0021B ==> ' HEX-OF (FLD0021B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0021B). + IF FLD0021E NOT EQUAL XPC-FLD0021E + DISPLAY 'FLD0021E ==> ' FLD0021E + DISPLAY 'EXPECTED ==> ' XPC-FLD0021E. + IF FLD0022B (1:) NOT EQUAL XPC-FLD0022B + DISPLAY 'FLD0022B ==> ' HEX-OF (FLD0022B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0022B). + IF FLD0022E NOT EQUAL XPC-FLD0022E + DISPLAY 'FLD0022E ==> ' FLD0022E + DISPLAY 'EXPECTED ==> ' XPC-FLD0022E. + IF FLD0023B (1:) NOT EQUAL XPC-FLD0023B + DISPLAY 'FLD0023B ==> ' HEX-OF (FLD0023B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0023B). + IF FLD0023E NOT EQUAL XPC-FLD0023E + DISPLAY 'FLD0023E ==> ' FLD0023E + DISPLAY 'EXPECTED ==> ' XPC-FLD0023E. + IF FLD0024B (1:) NOT EQUAL XPC-FLD0024B + DISPLAY 'FLD0024B ==> ' HEX-OF (FLD0024B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0024B). + IF FLD0024E NOT EQUAL XPC-FLD0024E + DISPLAY 'FLD0024E ==> ' FLD0024E + DISPLAY 'EXPECTED ==> ' XPC-FLD0024E. + IF FLD0025B (1:) NOT EQUAL XPC-FLD0025B + DISPLAY 'FLD0025B ==> ' HEX-OF (FLD0025B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0025B). + IF FLD0025E NOT EQUAL XPC-FLD0025E + DISPLAY 'FLD0025E ==> ' FLD0025E + DISPLAY 'EXPECTED ==> ' XPC-FLD0025E. + IF FLD0026B (1:) NOT EQUAL XPC-FLD0026B + DISPLAY 'FLD0026B ==> ' HEX-OF (FLD0026B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0026B). + IF FLD0026E NOT EQUAL XPC-FLD0026E + DISPLAY 'FLD0026E ==> ' FLD0026E + DISPLAY 'EXPECTED ==> ' XPC-FLD0026E. + IF FLD0027B (1:) NOT EQUAL XPC-FLD0027B + DISPLAY 'FLD0027B ==> ' HEX-OF (FLD0027B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0027B). + IF FLD0027E NOT EQUAL XPC-FLD0027E + DISPLAY 'FLD0027E ==> ' FLD0027E + DISPLAY 'EXPECTED ==> ' XPC-FLD0027E. + IF FLD0028B (1:) NOT EQUAL XPC-FLD0028B + DISPLAY 'FLD0028B ==> ' HEX-OF (FLD0028B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0028B). + IF FLD0028E NOT EQUAL XPC-FLD0028E + DISPLAY 'FLD0028E ==> ' FLD0028E + DISPLAY 'EXPECTED ==> ' XPC-FLD0028E. + IF FLD0029B (1:) NOT EQUAL XPC-FLD0029B + DISPLAY 'FLD0029B ==> ' HEX-OF (FLD0029B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0029B). + IF FLD0029E NOT EQUAL XPC-FLD0029E + DISPLAY 'FLD0029E ==> ' FLD0029E + DISPLAY 'EXPECTED ==> ' XPC-FLD0029E. + IF FLD0030B (1:) NOT EQUAL XPC-FLD0030B + DISPLAY 'FLD0030B ==> ' HEX-OF (FLD0030B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0030B). + IF FLD0030E NOT EQUAL XPC-FLD0030E + DISPLAY 'FLD0030E ==> ' FLD0030E + DISPLAY 'EXPECTED ==> ' XPC-FLD0030E. + IF FLD0031B (1:) NOT EQUAL XPC-FLD0031B + DISPLAY 'FLD0031B ==> ' HEX-OF (FLD0031B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0031B). + IF FLD0031E NOT EQUAL XPC-FLD0031E + DISPLAY 'FLD0031E ==> ' FLD0031E + DISPLAY 'EXPECTED ==> ' XPC-FLD0031E. + IF FLD0032B (1:) NOT EQUAL XPC-FLD0032B + DISPLAY 'FLD0032B ==> ' HEX-OF (FLD0032B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0032B). + IF FLD0032E NOT EQUAL XPC-FLD0032E + DISPLAY 'FLD0032E ==> ' FLD0032E + DISPLAY 'EXPECTED ==> ' XPC-FLD0032E. + IF FLD0033B (1:) NOT EQUAL XPC-FLD0033B + DISPLAY 'FLD0033B ==> ' HEX-OF (FLD0033B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0033B). + IF FLD0033E NOT EQUAL XPC-FLD0033E + DISPLAY 'FLD0033E ==> ' FLD0033E + DISPLAY 'EXPECTED ==> ' XPC-FLD0033E. + IF FLD0034B (1:) NOT EQUAL XPC-FLD0034B + DISPLAY 'FLD0034B ==> ' HEX-OF (FLD0034B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0034B). + IF FLD0034E NOT EQUAL XPC-FLD0034E + DISPLAY 'FLD0034E ==> ' FLD0034E + DISPLAY 'EXPECTED ==> ' XPC-FLD0034E. + IF FLD0035B (1:) NOT EQUAL XPC-FLD0035B + DISPLAY 'FLD0035B ==> ' HEX-OF (FLD0035B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0035B). + IF FLD0035E NOT EQUAL XPC-FLD0035E + DISPLAY 'FLD0035E ==> ' FLD0035E + DISPLAY 'EXPECTED ==> ' XPC-FLD0035E. + IF FLD0036B (1:) NOT EQUAL XPC-FLD0036B + DISPLAY 'FLD0036B ==> ' HEX-OF (FLD0036B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0036B). + IF FLD0036E NOT EQUAL XPC-FLD0036E + DISPLAY 'FLD0036E ==> ' FLD0036E + DISPLAY 'EXPECTED ==> ' XPC-FLD0036E. + IF FLD0037B (1:) NOT EQUAL XPC-FLD0037B + DISPLAY 'FLD0037B ==> ' HEX-OF (FLD0037B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0037B). + IF FLD0037E NOT EQUAL XPC-FLD0037E + DISPLAY 'FLD0037E ==> ' FLD0037E + DISPLAY 'EXPECTED ==> ' XPC-FLD0037E. + IF FLD0038B (1:) NOT EQUAL XPC-FLD0038B + DISPLAY 'FLD0038B ==> ' HEX-OF (FLD0038B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0038B). + IF FLD0038E NOT EQUAL XPC-FLD0038E + DISPLAY 'FLD0038E ==> ' FLD0038E + DISPLAY 'EXPECTED ==> ' XPC-FLD0038E. + IF FLD0039B (1:) NOT EQUAL XPC-FLD0039B + DISPLAY 'FLD0039B ==> ' HEX-OF (FLD0039B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0039B). + IF FLD0039E NOT EQUAL XPC-FLD0039E + DISPLAY 'FLD0039E ==> ' FLD0039E + DISPLAY 'EXPECTED ==> ' XPC-FLD0039E. + IF FLD0040B (1:) NOT EQUAL XPC-FLD0040B + DISPLAY 'FLD0040B ==> ' HEX-OF (FLD0040B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0040B). + IF FLD0040E NOT EQUAL XPC-FLD0040E + DISPLAY 'FLD0040E ==> ' FLD0040E + DISPLAY 'EXPECTED ==> ' XPC-FLD0040E. + IF FLD0041B (1:) NOT EQUAL XPC-FLD0041B + DISPLAY 'FLD0041B ==> ' HEX-OF (FLD0041B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0041B). + IF FLD0041E NOT EQUAL XPC-FLD0041E + DISPLAY 'FLD0041E ==> ' FLD0041E + DISPLAY 'EXPECTED ==> ' XPC-FLD0041E. + IF FLD0042B (1:) NOT EQUAL XPC-FLD0042B + DISPLAY 'FLD0042B ==> ' HEX-OF (FLD0042B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0042B). + IF FLD0042E NOT EQUAL XPC-FLD0042E + DISPLAY 'FLD0042E ==> ' FLD0042E + DISPLAY 'EXPECTED ==> ' XPC-FLD0042E. + IF FLD0043B (1:) NOT EQUAL XPC-FLD0043B + DISPLAY 'FLD0043B ==> ' HEX-OF (FLD0043B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0043B). + IF FLD0043E NOT EQUAL XPC-FLD0043E + DISPLAY 'FLD0043E ==> ' FLD0043E + DISPLAY 'EXPECTED ==> ' XPC-FLD0043E. + IF FLD0044B (1:) NOT EQUAL XPC-FLD0044B + DISPLAY 'FLD0044B ==> ' HEX-OF (FLD0044B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0044B). + IF FLD0044E NOT EQUAL XPC-FLD0044E + DISPLAY 'FLD0044E ==> ' FLD0044E + DISPLAY 'EXPECTED ==> ' XPC-FLD0044E. + IF FLD0045B (1:) NOT EQUAL XPC-FLD0045B + DISPLAY 'FLD0045B ==> ' HEX-OF (FLD0045B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0045B). + IF FLD0045E NOT EQUAL XPC-FLD0045E + DISPLAY 'FLD0045E ==> ' FLD0045E + DISPLAY 'EXPECTED ==> ' XPC-FLD0045E. + IF FLD0046B (1:) NOT EQUAL XPC-FLD0046B + DISPLAY 'FLD0046B ==> ' HEX-OF (FLD0046B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0046B). + IF FLD0046E NOT EQUAL XPC-FLD0046E + DISPLAY 'FLD0046E ==> ' FLD0046E + DISPLAY 'EXPECTED ==> ' XPC-FLD0046E. + IF FLD0047B (1:) NOT EQUAL XPC-FLD0047B + DISPLAY 'FLD0047B ==> ' HEX-OF (FLD0047B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0047B). + IF FLD0047E NOT EQUAL XPC-FLD0047E + DISPLAY 'FLD0047E ==> ' FLD0047E + DISPLAY 'EXPECTED ==> ' XPC-FLD0047E. + IF FLD0048B (1:) NOT EQUAL XPC-FLD0048B + DISPLAY 'FLD0048B ==> ' HEX-OF (FLD0048B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0048B). + IF FLD0048E NOT EQUAL XPC-FLD0048E + DISPLAY 'FLD0048E ==> ' FLD0048E + DISPLAY 'EXPECTED ==> ' XPC-FLD0048E. + IF FLD0049B (1:) NOT EQUAL XPC-FLD0049B + DISPLAY 'FLD0049B ==> ' HEX-OF (FLD0049B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0049B). + IF FLD0049E NOT EQUAL XPC-FLD0049E + DISPLAY 'FLD0049E ==> ' FLD0049E + DISPLAY 'EXPECTED ==> ' XPC-FLD0049E. + IF FLD0050B (1:) NOT EQUAL XPC-FLD0050B + DISPLAY 'FLD0050B ==> ' HEX-OF (FLD0050B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0050B). + IF FLD0050E NOT EQUAL XPC-FLD0050E + DISPLAY 'FLD0050E ==> ' FLD0050E + DISPLAY 'EXPECTED ==> ' XPC-FLD0050E. + IF FLD0051B (1:) NOT EQUAL XPC-FLD0051B + DISPLAY 'FLD0051B ==> ' HEX-OF (FLD0051B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0051B). + IF FLD0051E NOT EQUAL XPC-FLD0051E + DISPLAY 'FLD0051E ==> ' FLD0051E + DISPLAY 'EXPECTED ==> ' XPC-FLD0051E. + IF FLD0052B (1:) NOT EQUAL XPC-FLD0052B + DISPLAY 'FLD0052B ==> ' HEX-OF (FLD0052B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0052B). + IF FLD0052E NOT EQUAL XPC-FLD0052E + DISPLAY 'FLD0052E ==> ' FLD0052E + DISPLAY 'EXPECTED ==> ' XPC-FLD0052E. + IF FLD0053B (1:) NOT EQUAL XPC-FLD0053B + DISPLAY 'FLD0053B ==> ' HEX-OF (FLD0053B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0053B). + IF FLD0053E NOT EQUAL XPC-FLD0053E + DISPLAY 'FLD0053E ==> ' FLD0053E + DISPLAY 'EXPECTED ==> ' XPC-FLD0053E. + IF FLD0054B (1:) NOT EQUAL XPC-FLD0054B + DISPLAY 'FLD0054B ==> ' HEX-OF (FLD0054B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0054B). + IF FLD0054E NOT EQUAL XPC-FLD0054E + DISPLAY 'FLD0054E ==> ' FLD0054E + DISPLAY 'EXPECTED ==> ' XPC-FLD0054E. + IF FLD0055B (1:) NOT EQUAL XPC-FLD0055B + DISPLAY 'FLD0055B ==> ' HEX-OF (FLD0055B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0055B). + IF FLD0055E NOT EQUAL XPC-FLD0055E + DISPLAY 'FLD0055E ==> ' FLD0055E + DISPLAY 'EXPECTED ==> ' XPC-FLD0055E. + IF FLD0056B (1:) NOT EQUAL XPC-FLD0056B + DISPLAY 'FLD0056B ==> ' HEX-OF (FLD0056B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0056B). + IF FLD0056E NOT EQUAL XPC-FLD0056E + DISPLAY 'FLD0056E ==> ' FLD0056E + DISPLAY 'EXPECTED ==> ' XPC-FLD0056E. + IF FLD0057B (1:) NOT EQUAL XPC-FLD0057B + DISPLAY 'FLD0057B ==> ' HEX-OF (FLD0057B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0057B). + IF FLD0057E NOT EQUAL XPC-FLD0057E + DISPLAY 'FLD0057E ==> ' FLD0057E + DISPLAY 'EXPECTED ==> ' XPC-FLD0057E. + IF FLD0058B (1:) NOT EQUAL XPC-FLD0058B + DISPLAY 'FLD0058B ==> ' HEX-OF (FLD0058B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0058B). + IF FLD0058E NOT EQUAL XPC-FLD0058E + DISPLAY 'FLD0058E ==> ' FLD0058E + DISPLAY 'EXPECTED ==> ' XPC-FLD0058E. + IF FLD0059B (1:) NOT EQUAL XPC-FLD0059B + DISPLAY 'FLD0059B ==> ' HEX-OF (FLD0059B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0059B). + IF FLD0059E NOT EQUAL XPC-FLD0059E + DISPLAY 'FLD0059E ==> ' FLD0059E + DISPLAY 'EXPECTED ==> ' XPC-FLD0059E. + IF FLD0060B (1:) NOT EQUAL XPC-FLD0060B + DISPLAY 'FLD0060B ==> ' HEX-OF (FLD0060B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0060B). + IF FLD0060E NOT EQUAL XPC-FLD0060E + DISPLAY 'FLD0060E ==> ' FLD0060E + DISPLAY 'EXPECTED ==> ' XPC-FLD0060E. + IF FLD0061B (1:) NOT EQUAL XPC-FLD0061B + DISPLAY 'FLD0061B ==> ' HEX-OF (FLD0061B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0061B). + IF FLD0061E NOT EQUAL XPC-FLD0061E + DISPLAY 'FLD0061E ==> ' FLD0061E + DISPLAY 'EXPECTED ==> ' XPC-FLD0061E. + IF FLD0062B (1:) NOT EQUAL XPC-FLD0062B + DISPLAY 'FLD0062B ==> ' HEX-OF (FLD0062B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0062B). + IF FLD0062E NOT EQUAL XPC-FLD0062E + DISPLAY 'FLD0062E ==> ' FLD0062E + DISPLAY 'EXPECTED ==> ' XPC-FLD0062E. + IF FLD0063B (1:) NOT EQUAL XPC-FLD0063B + DISPLAY 'FLD0063B ==> ' HEX-OF (FLD0063B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0063B). + IF FLD0063E NOT EQUAL XPC-FLD0063E + DISPLAY 'FLD0063E ==> ' FLD0063E + DISPLAY 'EXPECTED ==> ' XPC-FLD0063E. + IF FLD0064B (1:) NOT EQUAL XPC-FLD0064B + DISPLAY 'FLD0064B ==> ' HEX-OF (FLD0064B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0064B). + IF FLD0064E NOT EQUAL XPC-FLD0064E + DISPLAY 'FLD0064E ==> ' FLD0064E + DISPLAY 'EXPECTED ==> ' XPC-FLD0064E. + IF FLD0065B (1:) NOT EQUAL XPC-FLD0065B + DISPLAY 'FLD0065B ==> ' HEX-OF (FLD0065B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0065B). + IF FLD0065E NOT EQUAL XPC-FLD0065E + DISPLAY 'FLD0065E ==> ' FLD0065E + DISPLAY 'EXPECTED ==> ' XPC-FLD0065E. + IF FLD0066B (1:) NOT EQUAL XPC-FLD0066B + DISPLAY 'FLD0066B ==> ' HEX-OF (FLD0066B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0066B). + IF FLD0066E NOT EQUAL XPC-FLD0066E + DISPLAY 'FLD0066E ==> ' FLD0066E + DISPLAY 'EXPECTED ==> ' XPC-FLD0066E. + IF FLD0067B (1:) NOT EQUAL XPC-FLD0067B + DISPLAY 'FLD0067B ==> ' HEX-OF (FLD0067B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0067B). + IF FLD0067E NOT EQUAL XPC-FLD0067E + DISPLAY 'FLD0067E ==> ' FLD0067E + DISPLAY 'EXPECTED ==> ' XPC-FLD0067E. + IF FLD0068B (1:) NOT EQUAL XPC-FLD0068B + DISPLAY 'FLD0068B ==> ' HEX-OF (FLD0068B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0068B). + IF FLD0068E NOT EQUAL XPC-FLD0068E + DISPLAY 'FLD0068E ==> ' FLD0068E + DISPLAY 'EXPECTED ==> ' XPC-FLD0068E. + IF FLD0069B (1:) NOT EQUAL XPC-FLD0069B + DISPLAY 'FLD0069B ==> ' HEX-OF (FLD0069B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0069B). + IF FLD0069E NOT EQUAL XPC-FLD0069E + DISPLAY 'FLD0069E ==> ' FLD0069E + DISPLAY 'EXPECTED ==> ' XPC-FLD0069E. + IF FLD0070B (1:) NOT EQUAL XPC-FLD0070B + DISPLAY 'FLD0070B ==> ' HEX-OF (FLD0070B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0070B). + IF FLD0070E NOT EQUAL XPC-FLD0070E + DISPLAY 'FLD0070E ==> ' FLD0070E + DISPLAY 'EXPECTED ==> ' XPC-FLD0070E. + IF FLD0071B (1:) NOT EQUAL XPC-FLD0071B + DISPLAY 'FLD0071B ==> ' HEX-OF (FLD0071B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0071B). + IF FLD0071E NOT EQUAL XPC-FLD0071E + DISPLAY 'FLD0071E ==> ' FLD0071E + DISPLAY 'EXPECTED ==> ' XPC-FLD0071E. + IF FLD0072B (1:) NOT EQUAL XPC-FLD0072B + DISPLAY 'FLD0072B ==> ' HEX-OF (FLD0072B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0072B). + IF FLD0072E NOT EQUAL XPC-FLD0072E + DISPLAY 'FLD0072E ==> ' FLD0072E + DISPLAY 'EXPECTED ==> ' XPC-FLD0072E. + IF FLD0073B (1:) NOT EQUAL XPC-FLD0073B + DISPLAY 'FLD0073B ==> ' HEX-OF (FLD0073B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0073B). + IF FLD0073E NOT EQUAL XPC-FLD0073E + DISPLAY 'FLD0073E ==> ' FLD0073E + DISPLAY 'EXPECTED ==> ' XPC-FLD0073E. + IF FLD0074B (1:) NOT EQUAL XPC-FLD0074B + DISPLAY 'FLD0074B ==> ' HEX-OF (FLD0074B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0074B). + IF FLD0074E NOT EQUAL XPC-FLD0074E + DISPLAY 'FLD0074E ==> ' FLD0074E + DISPLAY 'EXPECTED ==> ' XPC-FLD0074E. + IF FLD0075B (1:) NOT EQUAL XPC-FLD0075B + DISPLAY 'FLD0075B ==> ' HEX-OF (FLD0075B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0075B). + IF FLD0075E NOT EQUAL XPC-FLD0075E + DISPLAY 'FLD0075E ==> ' FLD0075E + DISPLAY 'EXPECTED ==> ' XPC-FLD0075E. + IF FLD0076B (1:) NOT EQUAL XPC-FLD0076B + DISPLAY 'FLD0076B ==> ' HEX-OF (FLD0076B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0076B). + IF FLD0076E NOT EQUAL XPC-FLD0076E + DISPLAY 'FLD0076E ==> ' FLD0076E + DISPLAY 'EXPECTED ==> ' XPC-FLD0076E. + IF FLD0077B (1:) NOT EQUAL XPC-FLD0077B + DISPLAY 'FLD0077B ==> ' HEX-OF (FLD0077B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0077B). + IF FLD0077E NOT EQUAL XPC-FLD0077E + DISPLAY 'FLD0077E ==> ' FLD0077E + DISPLAY 'EXPECTED ==> ' XPC-FLD0077E. + IF FLD0078B (1:) NOT EQUAL XPC-FLD0078B + DISPLAY 'FLD0078B ==> ' HEX-OF (FLD0078B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0078B). + IF FLD0078E NOT EQUAL XPC-FLD0078E + DISPLAY 'FLD0078E ==> ' FLD0078E + DISPLAY 'EXPECTED ==> ' XPC-FLD0078E. + IF FLD0079B (1:) NOT EQUAL XPC-FLD0079B + DISPLAY 'FLD0079B ==> ' HEX-OF (FLD0079B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0079B). + IF FLD0079E NOT EQUAL XPC-FLD0079E + DISPLAY 'FLD0079E ==> ' FLD0079E + DISPLAY 'EXPECTED ==> ' XPC-FLD0079E. + IF FLD0080B (1:) NOT EQUAL XPC-FLD0080B + DISPLAY 'FLD0080B ==> ' HEX-OF (FLD0080B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0080B). + IF FLD0080E NOT EQUAL XPC-FLD0080E + DISPLAY 'FLD0080E ==> ' FLD0080E + DISPLAY 'EXPECTED ==> ' XPC-FLD0080E. + IF FLD0081B (1:) NOT EQUAL XPC-FLD0081B + DISPLAY 'FLD0081B ==> ' HEX-OF (FLD0081B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0081B). + IF FLD0081E NOT EQUAL XPC-FLD0081E + DISPLAY 'FLD0081E ==> ' FLD0081E + DISPLAY 'EXPECTED ==> ' XPC-FLD0081E. + IF FLD0082B (1:) NOT EQUAL XPC-FLD0082B + DISPLAY 'FLD0082B ==> ' HEX-OF (FLD0082B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0082B). + IF FLD0082E NOT EQUAL XPC-FLD0082E + DISPLAY 'FLD0082E ==> ' FLD0082E + DISPLAY 'EXPECTED ==> ' XPC-FLD0082E. + IF FLD0083B (1:) NOT EQUAL XPC-FLD0083B + DISPLAY 'FLD0083B ==> ' HEX-OF (FLD0083B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0083B). + IF FLD0083E NOT EQUAL XPC-FLD0083E + DISPLAY 'FLD0083E ==> ' FLD0083E + DISPLAY 'EXPECTED ==> ' XPC-FLD0083E. + IF FLD0084B (1:) NOT EQUAL XPC-FLD0084B + DISPLAY 'FLD0084B ==> ' HEX-OF (FLD0084B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0084B). + IF FLD0084E NOT EQUAL XPC-FLD0084E + DISPLAY 'FLD0084E ==> ' FLD0084E + DISPLAY 'EXPECTED ==> ' XPC-FLD0084E. + IF FLD0085B (1:) NOT EQUAL XPC-FLD0085B + DISPLAY 'FLD0085B ==> ' HEX-OF (FLD0085B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0085B). + IF FLD0085E NOT EQUAL XPC-FLD0085E + DISPLAY 'FLD0085E ==> ' FLD0085E + DISPLAY 'EXPECTED ==> ' XPC-FLD0085E. + IF FLD0086B (1:) NOT EQUAL XPC-FLD0086B + DISPLAY 'FLD0086B ==> ' HEX-OF (FLD0086B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0086B). + IF FLD0086E NOT EQUAL XPC-FLD0086E + DISPLAY 'FLD0086E ==> ' FLD0086E + DISPLAY 'EXPECTED ==> ' XPC-FLD0086E. + IF FLD0087B (1:) NOT EQUAL XPC-FLD0087B + DISPLAY 'FLD0087B ==> ' HEX-OF (FLD0087B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0087B). + IF FLD0087E NOT EQUAL XPC-FLD0087E + DISPLAY 'FLD0087E ==> ' FLD0087E + DISPLAY 'EXPECTED ==> ' XPC-FLD0087E. + IF FLD0088B (1:) NOT EQUAL XPC-FLD0088B + DISPLAY 'FLD0088B ==> ' HEX-OF (FLD0088B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0088B). + IF FLD0088E NOT EQUAL XPC-FLD0088E + DISPLAY 'FLD0088E ==> ' FLD0088E + DISPLAY 'EXPECTED ==> ' XPC-FLD0088E. + IF FLD0089B (1:) NOT EQUAL XPC-FLD0089B + DISPLAY 'FLD0089B ==> ' HEX-OF (FLD0089B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0089B). + IF FLD0089E NOT EQUAL XPC-FLD0089E + DISPLAY 'FLD0089E ==> ' FLD0089E + DISPLAY 'EXPECTED ==> ' XPC-FLD0089E. + IF FLD0090B (1:) NOT EQUAL XPC-FLD0090B + DISPLAY 'FLD0090B ==> ' HEX-OF (FLD0090B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0090B). + IF FLD0090E NOT EQUAL XPC-FLD0090E + DISPLAY 'FLD0090E ==> ' FLD0090E + DISPLAY 'EXPECTED ==> ' XPC-FLD0090E. + IF FLD0091B (1:) NOT EQUAL XPC-FLD0091B + DISPLAY 'FLD0091B ==> ' HEX-OF (FLD0091B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0091B). + IF FLD0091E NOT EQUAL XPC-FLD0091E + DISPLAY 'FLD0091E ==> ' FLD0091E + DISPLAY 'EXPECTED ==> ' XPC-FLD0091E. + IF FLD0092B (1:) NOT EQUAL XPC-FLD0092B + DISPLAY 'FLD0092B ==> ' HEX-OF (FLD0092B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0092B). + IF FLD0092E NOT EQUAL XPC-FLD0092E + DISPLAY 'FLD0092E ==> ' FLD0092E + DISPLAY 'EXPECTED ==> ' XPC-FLD0092E. + IF FLD0093B (1:) NOT EQUAL XPC-FLD0093B + DISPLAY 'FLD0093B ==> ' HEX-OF (FLD0093B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0093B). + IF FLD0093E NOT EQUAL XPC-FLD0093E + DISPLAY 'FLD0093E ==> ' FLD0093E + DISPLAY 'EXPECTED ==> ' XPC-FLD0093E. + IF FLD0094B (1:) NOT EQUAL XPC-FLD0094B + DISPLAY 'FLD0094B ==> ' HEX-OF (FLD0094B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0094B). + IF FLD0094E NOT EQUAL XPC-FLD0094E + DISPLAY 'FLD0094E ==> ' FLD0094E + DISPLAY 'EXPECTED ==> ' XPC-FLD0094E. + IF FLD0095B (1:) NOT EQUAL XPC-FLD0095B + DISPLAY 'FLD0095B ==> ' HEX-OF (FLD0095B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0095B). + IF FLD0095E NOT EQUAL XPC-FLD0095E + DISPLAY 'FLD0095E ==> ' FLD0095E + DISPLAY 'EXPECTED ==> ' XPC-FLD0095E. + IF FLD0096B (1:) NOT EQUAL XPC-FLD0096B + DISPLAY 'FLD0096B ==> ' HEX-OF (FLD0096B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0096B). + IF FLD0096E NOT EQUAL XPC-FLD0096E + DISPLAY 'FLD0096E ==> ' FLD0096E + DISPLAY 'EXPECTED ==> ' XPC-FLD0096E. + IF FLD0097B (1:) NOT EQUAL XPC-FLD0097B + DISPLAY 'FLD0097B ==> ' HEX-OF (FLD0097B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0097B). + IF FLD0097E NOT EQUAL XPC-FLD0097E + DISPLAY 'FLD0097E ==> ' FLD0097E + DISPLAY 'EXPECTED ==> ' XPC-FLD0097E. + IF FLD0098B (1:) NOT EQUAL XPC-FLD0098B + DISPLAY 'FLD0098B ==> ' HEX-OF (FLD0098B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0098B). + IF FLD0098E NOT EQUAL XPC-FLD0098E + DISPLAY 'FLD0098E ==> ' FLD0098E + DISPLAY 'EXPECTED ==> ' XPC-FLD0098E. + IF FLD0099B (1:) NOT EQUAL XPC-FLD0099B + DISPLAY 'FLD0099B ==> ' HEX-OF (FLD0099B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0099B). + IF FLD0099E NOT EQUAL XPC-FLD0099E + DISPLAY 'FLD0099E ==> ' FLD0099E + DISPLAY 'EXPECTED ==> ' XPC-FLD0099E. + IF FLD0100B (1:) NOT EQUAL XPC-FLD0100B + DISPLAY 'FLD0100B ==> ' HEX-OF (FLD0100B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0100B). + IF FLD0100E NOT EQUAL XPC-FLD0100E + DISPLAY 'FLD0100E ==> ' FLD0100E + DISPLAY 'EXPECTED ==> ' XPC-FLD0100E. + IF FLD0101B (1:) NOT EQUAL XPC-FLD0101B + DISPLAY 'FLD0101B ==> ' HEX-OF (FLD0101B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0101B). + IF FLD0101E NOT EQUAL XPC-FLD0101E + DISPLAY 'FLD0101E ==> ' FLD0101E + DISPLAY 'EXPECTED ==> ' XPC-FLD0101E. + IF FLD0102B (1:) NOT EQUAL XPC-FLD0102B + DISPLAY 'FLD0102B ==> ' HEX-OF (FLD0102B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0102B). + IF FLD0102E NOT EQUAL XPC-FLD0102E + DISPLAY 'FLD0102E ==> ' FLD0102E + DISPLAY 'EXPECTED ==> ' XPC-FLD0102E. + IF FLD0103B (1:) NOT EQUAL XPC-FLD0103B + DISPLAY 'FLD0103B ==> ' HEX-OF (FLD0103B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0103B). + IF FLD0103E NOT EQUAL XPC-FLD0103E + DISPLAY 'FLD0103E ==> ' FLD0103E + DISPLAY 'EXPECTED ==> ' XPC-FLD0103E. + IF FLD0104B (1:) NOT EQUAL XPC-FLD0104B + DISPLAY 'FLD0104B ==> ' HEX-OF (FLD0104B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0104B). + IF FLD0104E NOT EQUAL XPC-FLD0104E + DISPLAY 'FLD0104E ==> ' FLD0104E + DISPLAY 'EXPECTED ==> ' XPC-FLD0104E. + IF FLD0105B (1:) NOT EQUAL XPC-FLD0105B + DISPLAY 'FLD0105B ==> ' HEX-OF (FLD0105B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0105B). + IF FLD0105E NOT EQUAL XPC-FLD0105E + DISPLAY 'FLD0105E ==> ' FLD0105E + DISPLAY 'EXPECTED ==> ' XPC-FLD0105E. + IF FLD0106B (1:) NOT EQUAL XPC-FLD0106B + DISPLAY 'FLD0106B ==> ' HEX-OF (FLD0106B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0106B). + IF FLD0106E NOT EQUAL XPC-FLD0106E + DISPLAY 'FLD0106E ==> ' FLD0106E + DISPLAY 'EXPECTED ==> ' XPC-FLD0106E. + IF FLD0107B (1:) NOT EQUAL XPC-FLD0107B + DISPLAY 'FLD0107B ==> ' HEX-OF (FLD0107B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0107B). + IF FLD0107E NOT EQUAL XPC-FLD0107E + DISPLAY 'FLD0107E ==> ' FLD0107E + DISPLAY 'EXPECTED ==> ' XPC-FLD0107E. + IF FLD0108B (1:) NOT EQUAL XPC-FLD0108B + DISPLAY 'FLD0108B ==> ' HEX-OF (FLD0108B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0108B). + IF FLD0108E NOT EQUAL XPC-FLD0108E + DISPLAY 'FLD0108E ==> ' FLD0108E + DISPLAY 'EXPECTED ==> ' XPC-FLD0108E. + IF FLD0109B (1:) NOT EQUAL XPC-FLD0109B + DISPLAY 'FLD0109B ==> ' HEX-OF (FLD0109B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0109B). + IF FLD0109E NOT EQUAL XPC-FLD0109E + DISPLAY 'FLD0109E ==> ' FLD0109E + DISPLAY 'EXPECTED ==> ' XPC-FLD0109E. + IF FLD0110B (1:) NOT EQUAL XPC-FLD0110B + DISPLAY 'FLD0110B ==> ' HEX-OF (FLD0110B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0110B). + IF FLD0110E NOT EQUAL XPC-FLD0110E + DISPLAY 'FLD0110E ==> ' FLD0110E + DISPLAY 'EXPECTED ==> ' XPC-FLD0110E. + IF FLD0111B (1:) NOT EQUAL XPC-FLD0111B + DISPLAY 'FLD0111B ==> ' HEX-OF (FLD0111B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0111B). + IF FLD0111E NOT EQUAL XPC-FLD0111E + DISPLAY 'FLD0111E ==> ' FLD0111E + DISPLAY 'EXPECTED ==> ' XPC-FLD0111E. + IF FLD0112B (1:) NOT EQUAL XPC-FLD0112B + DISPLAY 'FLD0112B ==> ' HEX-OF (FLD0112B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0112B). + IF FLD0112E NOT EQUAL XPC-FLD0112E + DISPLAY 'FLD0112E ==> ' FLD0112E + DISPLAY 'EXPECTED ==> ' XPC-FLD0112E. + IF FLD0113B (1:) NOT EQUAL XPC-FLD0113B + DISPLAY 'FLD0113B ==> ' HEX-OF (FLD0113B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0113B). + IF FLD0113E NOT EQUAL XPC-FLD0113E + DISPLAY 'FLD0113E ==> ' FLD0113E + DISPLAY 'EXPECTED ==> ' XPC-FLD0113E. + IF FLD0114B (1:) NOT EQUAL XPC-FLD0114B + DISPLAY 'FLD0114B ==> ' HEX-OF (FLD0114B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0114B). + IF FLD0114E NOT EQUAL XPC-FLD0114E + DISPLAY 'FLD0114E ==> ' FLD0114E + DISPLAY 'EXPECTED ==> ' XPC-FLD0114E. + IF FLD0115B (1:) NOT EQUAL XPC-FLD0115B + DISPLAY 'FLD0115B ==> ' HEX-OF (FLD0115B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0115B). + IF FLD0115E NOT EQUAL XPC-FLD0115E + DISPLAY 'FLD0115E ==> ' FLD0115E + DISPLAY 'EXPECTED ==> ' XPC-FLD0115E. + IF FLD0116B (1:) NOT EQUAL XPC-FLD0116B + DISPLAY 'FLD0116B ==> ' HEX-OF (FLD0116B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0116B). + IF FLD0116E NOT EQUAL XPC-FLD0116E + DISPLAY 'FLD0116E ==> ' FLD0116E + DISPLAY 'EXPECTED ==> ' XPC-FLD0116E. + IF FLD0117B (1:) NOT EQUAL XPC-FLD0117B + DISPLAY 'FLD0117B ==> ' HEX-OF (FLD0117B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0117B). + IF FLD0117E NOT EQUAL XPC-FLD0117E + DISPLAY 'FLD0117E ==> ' FLD0117E + DISPLAY 'EXPECTED ==> ' XPC-FLD0117E. + IF FLD0118B (1:) NOT EQUAL XPC-FLD0118B + DISPLAY 'FLD0118B ==> ' HEX-OF (FLD0118B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0118B). + IF FLD0118E NOT EQUAL XPC-FLD0118E + DISPLAY 'FLD0118E ==> ' FLD0118E + DISPLAY 'EXPECTED ==> ' XPC-FLD0118E. + IF FLD0119B (1:) NOT EQUAL XPC-FLD0119B + DISPLAY 'FLD0119B ==> ' HEX-OF (FLD0119B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0119B). + IF FLD0119E NOT EQUAL XPC-FLD0119E + DISPLAY 'FLD0119E ==> ' FLD0119E + DISPLAY 'EXPECTED ==> ' XPC-FLD0119E. + IF FLD0120B (1:) NOT EQUAL XPC-FLD0120B + DISPLAY 'FLD0120B ==> ' HEX-OF (FLD0120B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0120B). + IF FLD0120E NOT EQUAL XPC-FLD0120E + DISPLAY 'FLD0120E ==> ' FLD0120E + DISPLAY 'EXPECTED ==> ' XPC-FLD0120E. + IF FLD0121B (1:) NOT EQUAL XPC-FLD0121B + DISPLAY 'FLD0121B ==> ' HEX-OF (FLD0121B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0121B). + IF FLD0121E NOT EQUAL XPC-FLD0121E + DISPLAY 'FLD0121E ==> ' FLD0121E + DISPLAY 'EXPECTED ==> ' XPC-FLD0121E. + IF FLD0122B (1:) NOT EQUAL XPC-FLD0122B + DISPLAY 'FLD0122B ==> ' HEX-OF (FLD0122B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0122B). + IF FLD0122E NOT EQUAL XPC-FLD0122E + DISPLAY 'FLD0122E ==> ' FLD0122E + DISPLAY 'EXPECTED ==> ' XPC-FLD0122E. + IF FLD0123B (1:) NOT EQUAL XPC-FLD0123B + DISPLAY 'FLD0123B ==> ' HEX-OF (FLD0123B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0123B). + IF FLD0123E NOT EQUAL XPC-FLD0123E + DISPLAY 'FLD0123E ==> ' FLD0123E + DISPLAY 'EXPECTED ==> ' XPC-FLD0123E. + IF FLD0124B (1:) NOT EQUAL XPC-FLD0124B + DISPLAY 'FLD0124B ==> ' HEX-OF (FLD0124B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0124B). + IF FLD0124E NOT EQUAL XPC-FLD0124E + DISPLAY 'FLD0124E ==> ' FLD0124E + DISPLAY 'EXPECTED ==> ' XPC-FLD0124E. + IF FLD0125B (1:) NOT EQUAL XPC-FLD0125B + DISPLAY 'FLD0125B ==> ' HEX-OF (FLD0125B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0125B). + IF FLD0125E NOT EQUAL XPC-FLD0125E + DISPLAY 'FLD0125E ==> ' FLD0125E + DISPLAY 'EXPECTED ==> ' XPC-FLD0125E. + IF FLD0126B (1:) NOT EQUAL XPC-FLD0126B + DISPLAY 'FLD0126B ==> ' HEX-OF (FLD0126B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0126B). + IF FLD0126E NOT EQUAL XPC-FLD0126E + DISPLAY 'FLD0126E ==> ' FLD0126E + DISPLAY 'EXPECTED ==> ' XPC-FLD0126E. + IF FLD0127B (1:) NOT EQUAL XPC-FLD0127B + DISPLAY 'FLD0127B ==> ' HEX-OF (FLD0127B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0127B). + IF FLD0127E NOT EQUAL XPC-FLD0127E + DISPLAY 'FLD0127E ==> ' FLD0127E + DISPLAY 'EXPECTED ==> ' XPC-FLD0127E. + IF FLD0128B (1:) NOT EQUAL XPC-FLD0128B + DISPLAY 'FLD0128B ==> ' HEX-OF (FLD0128B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0128B). + IF FLD0128E NOT EQUAL XPC-FLD0128E + DISPLAY 'FLD0128E ==> ' FLD0128E + DISPLAY 'EXPECTED ==> ' XPC-FLD0128E. + IF FLD0129B (1:) NOT EQUAL XPC-FLD0129B + DISPLAY 'FLD0129B ==> ' HEX-OF (FLD0129B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0129B). + IF FLD0129E NOT EQUAL XPC-FLD0129E + DISPLAY 'FLD0129E ==> ' FLD0129E + DISPLAY 'EXPECTED ==> ' XPC-FLD0129E. + IF FLD0130B (1:) NOT EQUAL XPC-FLD0130B + DISPLAY 'FLD0130B ==> ' HEX-OF (FLD0130B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0130B). + IF FLD0130E NOT EQUAL XPC-FLD0130E + DISPLAY 'FLD0130E ==> ' FLD0130E + DISPLAY 'EXPECTED ==> ' XPC-FLD0130E. + IF FLD0131B (1:) NOT EQUAL XPC-FLD0131B + DISPLAY 'FLD0131B ==> ' HEX-OF (FLD0131B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0131B). + IF FLD0131E NOT EQUAL XPC-FLD0131E + DISPLAY 'FLD0131E ==> ' FLD0131E + DISPLAY 'EXPECTED ==> ' XPC-FLD0131E. + IF FLD0132B (1:) NOT EQUAL XPC-FLD0132B + DISPLAY 'FLD0132B ==> ' HEX-OF (FLD0132B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0132B). + IF FLD0132E NOT EQUAL XPC-FLD0132E + DISPLAY 'FLD0132E ==> ' FLD0132E + DISPLAY 'EXPECTED ==> ' XPC-FLD0132E. + IF FLD0133B (1:) NOT EQUAL XPC-FLD0133B + DISPLAY 'FLD0133B ==> ' HEX-OF (FLD0133B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0133B). + IF FLD0133E NOT EQUAL XPC-FLD0133E + DISPLAY 'FLD0133E ==> ' FLD0133E + DISPLAY 'EXPECTED ==> ' XPC-FLD0133E. + IF FLD0134B (1:) NOT EQUAL XPC-FLD0134B + DISPLAY 'FLD0134B ==> ' HEX-OF (FLD0134B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0134B). + IF FLD0134E NOT EQUAL XPC-FLD0134E + DISPLAY 'FLD0134E ==> ' FLD0134E + DISPLAY 'EXPECTED ==> ' XPC-FLD0134E. + IF FLD0135B (1:) NOT EQUAL XPC-FLD0135B + DISPLAY 'FLD0135B ==> ' HEX-OF (FLD0135B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0135B). + IF FLD0135E NOT EQUAL XPC-FLD0135E + DISPLAY 'FLD0135E ==> ' FLD0135E + DISPLAY 'EXPECTED ==> ' XPC-FLD0135E. + IF FLD0136B (1:) NOT EQUAL XPC-FLD0136B + DISPLAY 'FLD0136B ==> ' HEX-OF (FLD0136B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0136B). + IF FLD0136E NOT EQUAL XPC-FLD0136E + DISPLAY 'FLD0136E ==> ' FLD0136E + DISPLAY 'EXPECTED ==> ' XPC-FLD0136E. + IF FLD0137B (1:) NOT EQUAL XPC-FLD0137B + DISPLAY 'FLD0137B ==> ' HEX-OF (FLD0137B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0137B). + IF FLD0137E NOT EQUAL XPC-FLD0137E + DISPLAY 'FLD0137E ==> ' FLD0137E + DISPLAY 'EXPECTED ==> ' XPC-FLD0137E. + IF FLD0138B (1:) NOT EQUAL XPC-FLD0138B + DISPLAY 'FLD0138B ==> ' HEX-OF (FLD0138B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0138B). + IF FLD0138E NOT EQUAL XPC-FLD0138E + DISPLAY 'FLD0138E ==> ' FLD0138E + DISPLAY 'EXPECTED ==> ' XPC-FLD0138E. + IF FLD0139B (1:) NOT EQUAL XPC-FLD0139B + DISPLAY 'FLD0139B ==> ' HEX-OF (FLD0139B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0139B). + IF FLD0139E NOT EQUAL XPC-FLD0139E + DISPLAY 'FLD0139E ==> ' FLD0139E + DISPLAY 'EXPECTED ==> ' XPC-FLD0139E. + IF FLD0140B (1:) NOT EQUAL XPC-FLD0140B + DISPLAY 'FLD0140B ==> ' HEX-OF (FLD0140B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0140B). + IF FLD0140E NOT EQUAL XPC-FLD0140E + DISPLAY 'FLD0140E ==> ' FLD0140E + DISPLAY 'EXPECTED ==> ' XPC-FLD0140E. + IF FLD0141B (1:) NOT EQUAL XPC-FLD0141B + DISPLAY 'FLD0141B ==> ' HEX-OF (FLD0141B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0141B). + IF FLD0141E NOT EQUAL XPC-FLD0141E + DISPLAY 'FLD0141E ==> ' FLD0141E + DISPLAY 'EXPECTED ==> ' XPC-FLD0141E. + IF FLD0142B (1:) NOT EQUAL XPC-FLD0142B + DISPLAY 'FLD0142B ==> ' HEX-OF (FLD0142B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0142B). + IF FLD0142E NOT EQUAL XPC-FLD0142E + DISPLAY 'FLD0142E ==> ' FLD0142E + DISPLAY 'EXPECTED ==> ' XPC-FLD0142E. + IF FLD0143B (1:) NOT EQUAL XPC-FLD0143B + DISPLAY 'FLD0143B ==> ' HEX-OF (FLD0143B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0143B). + IF FLD0143E NOT EQUAL XPC-FLD0143E + DISPLAY 'FLD0143E ==> ' FLD0143E + DISPLAY 'EXPECTED ==> ' XPC-FLD0143E. + IF FLD0144B (1:) NOT EQUAL XPC-FLD0144B + DISPLAY 'FLD0144B ==> ' HEX-OF (FLD0144B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0144B). + IF FLD0144E NOT EQUAL XPC-FLD0144E + DISPLAY 'FLD0144E ==> ' FLD0144E + DISPLAY 'EXPECTED ==> ' XPC-FLD0144E. + IF FLD0145B (1:) NOT EQUAL XPC-FLD0145B + DISPLAY 'FLD0145B ==> ' HEX-OF (FLD0145B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0145B). + IF FLD0145E NOT EQUAL XPC-FLD0145E + DISPLAY 'FLD0145E ==> ' FLD0145E + DISPLAY 'EXPECTED ==> ' XPC-FLD0145E. + IF FLD0146B (1:) NOT EQUAL XPC-FLD0146B + DISPLAY 'FLD0146B ==> ' HEX-OF (FLD0146B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0146B). + IF FLD0146E NOT EQUAL XPC-FLD0146E + DISPLAY 'FLD0146E ==> ' FLD0146E + DISPLAY 'EXPECTED ==> ' XPC-FLD0146E. + IF FLD0147B (1:) NOT EQUAL XPC-FLD0147B + DISPLAY 'FLD0147B ==> ' HEX-OF (FLD0147B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0147B). + IF FLD0147E NOT EQUAL XPC-FLD0147E + DISPLAY 'FLD0147E ==> ' FLD0147E + DISPLAY 'EXPECTED ==> ' XPC-FLD0147E. + IF FLD0148B (1:) NOT EQUAL XPC-FLD0148B + DISPLAY 'FLD0148B ==> ' HEX-OF (FLD0148B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0148B). + IF FLD0148E NOT EQUAL XPC-FLD0148E + DISPLAY 'FLD0148E ==> ' FLD0148E + DISPLAY 'EXPECTED ==> ' XPC-FLD0148E. + IF FLD0149B (1:) NOT EQUAL XPC-FLD0149B + DISPLAY 'FLD0149B ==> ' HEX-OF (FLD0149B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0149B). + IF FLD0149E NOT EQUAL XPC-FLD0149E + DISPLAY 'FLD0149E ==> ' FLD0149E + DISPLAY 'EXPECTED ==> ' XPC-FLD0149E. + IF FLD0150B (1:) NOT EQUAL XPC-FLD0150B + DISPLAY 'FLD0150B ==> ' HEX-OF (FLD0150B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0150B). + IF FLD0150E NOT EQUAL XPC-FLD0150E + DISPLAY 'FLD0150E ==> ' FLD0150E + DISPLAY 'EXPECTED ==> ' XPC-FLD0150E. + IF FLD0151B (1:) NOT EQUAL XPC-FLD0151B + DISPLAY 'FLD0151B ==> ' HEX-OF (FLD0151B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0151B). + IF FLD0151E NOT EQUAL XPC-FLD0151E + DISPLAY 'FLD0151E ==> ' FLD0151E + DISPLAY 'EXPECTED ==> ' XPC-FLD0151E. + IF FLD0152B (1:) NOT EQUAL XPC-FLD0152B + DISPLAY 'FLD0152B ==> ' HEX-OF (FLD0152B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0152B). + IF FLD0152E NOT EQUAL XPC-FLD0152E + DISPLAY 'FLD0152E ==> ' FLD0152E + DISPLAY 'EXPECTED ==> ' XPC-FLD0152E. + IF FLD0153B (1:) NOT EQUAL XPC-FLD0153B + DISPLAY 'FLD0153B ==> ' HEX-OF (FLD0153B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0153B). + IF FLD0153E NOT EQUAL XPC-FLD0153E + DISPLAY 'FLD0153E ==> ' FLD0153E + DISPLAY 'EXPECTED ==> ' XPC-FLD0153E. + IF FLD0154B (1:) NOT EQUAL XPC-FLD0154B + DISPLAY 'FLD0154B ==> ' HEX-OF (FLD0154B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0154B). + IF FLD0154E NOT EQUAL XPC-FLD0154E + DISPLAY 'FLD0154E ==> ' FLD0154E + DISPLAY 'EXPECTED ==> ' XPC-FLD0154E. + IF FLD0155B (1:) NOT EQUAL XPC-FLD0155B + DISPLAY 'FLD0155B ==> ' HEX-OF (FLD0155B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0155B). + IF FLD0155E NOT EQUAL XPC-FLD0155E + DISPLAY 'FLD0155E ==> ' FLD0155E + DISPLAY 'EXPECTED ==> ' XPC-FLD0155E. + IF FLD0156B (1:) NOT EQUAL XPC-FLD0156B + DISPLAY 'FLD0156B ==> ' HEX-OF (FLD0156B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0156B). + IF FLD0156E NOT EQUAL XPC-FLD0156E + DISPLAY 'FLD0156E ==> ' FLD0156E + DISPLAY 'EXPECTED ==> ' XPC-FLD0156E. + IF FLD0157B (1:) NOT EQUAL XPC-FLD0157B + DISPLAY 'FLD0157B ==> ' HEX-OF (FLD0157B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0157B). + IF FLD0157E NOT EQUAL XPC-FLD0157E + DISPLAY 'FLD0157E ==> ' FLD0157E + DISPLAY 'EXPECTED ==> ' XPC-FLD0157E. + IF FLD0158B (1:) NOT EQUAL XPC-FLD0158B + DISPLAY 'FLD0158B ==> ' HEX-OF (FLD0158B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0158B). + IF FLD0158E NOT EQUAL XPC-FLD0158E + DISPLAY 'FLD0158E ==> ' FLD0158E + DISPLAY 'EXPECTED ==> ' XPC-FLD0158E. + IF FLD0159B (1:) NOT EQUAL XPC-FLD0159B + DISPLAY 'FLD0159B ==> ' HEX-OF (FLD0159B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0159B). + IF FLD0159E NOT EQUAL XPC-FLD0159E + DISPLAY 'FLD0159E ==> ' FLD0159E + DISPLAY 'EXPECTED ==> ' XPC-FLD0159E. + IF FLD0160B (1:) NOT EQUAL XPC-FLD0160B + DISPLAY 'FLD0160B ==> ' HEX-OF (FLD0160B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0160B). + IF FLD0160E NOT EQUAL XPC-FLD0160E + DISPLAY 'FLD0160E ==> ' FLD0160E + DISPLAY 'EXPECTED ==> ' XPC-FLD0160E. + IF FLD0161B (1:) NOT EQUAL XPC-FLD0161B + DISPLAY 'FLD0161B ==> ' HEX-OF (FLD0161B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0161B). + IF FLD0161E NOT EQUAL XPC-FLD0161E + DISPLAY 'FLD0161E ==> ' FLD0161E + DISPLAY 'EXPECTED ==> ' XPC-FLD0161E. + IF FLD0162B (1:) NOT EQUAL XPC-FLD0162B + DISPLAY 'FLD0162B ==> ' HEX-OF (FLD0162B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0162B). + IF FLD0162E NOT EQUAL XPC-FLD0162E + DISPLAY 'FLD0162E ==> ' FLD0162E + DISPLAY 'EXPECTED ==> ' XPC-FLD0162E. + IF FLD0163B (1:) NOT EQUAL XPC-FLD0163B + DISPLAY 'FLD0163B ==> ' HEX-OF (FLD0163B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0163B). + IF FLD0163E NOT EQUAL XPC-FLD0163E + DISPLAY 'FLD0163E ==> ' FLD0163E + DISPLAY 'EXPECTED ==> ' XPC-FLD0163E. + IF FLD0164B (1:) NOT EQUAL XPC-FLD0164B + DISPLAY 'FLD0164B ==> ' HEX-OF (FLD0164B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0164B). + IF FLD0164E NOT EQUAL XPC-FLD0164E + DISPLAY 'FLD0164E ==> ' FLD0164E + DISPLAY 'EXPECTED ==> ' XPC-FLD0164E. + IF FLD0165B (1:) NOT EQUAL XPC-FLD0165B + DISPLAY 'FLD0165B ==> ' HEX-OF (FLD0165B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0165B). + IF FLD0165E NOT EQUAL XPC-FLD0165E + DISPLAY 'FLD0165E ==> ' FLD0165E + DISPLAY 'EXPECTED ==> ' XPC-FLD0165E. + IF FLD0166B (1:) NOT EQUAL XPC-FLD0166B + DISPLAY 'FLD0166B ==> ' HEX-OF (FLD0166B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0166B). + IF FLD0166E NOT EQUAL XPC-FLD0166E + DISPLAY 'FLD0166E ==> ' FLD0166E + DISPLAY 'EXPECTED ==> ' XPC-FLD0166E. + IF FLD0167B (1:) NOT EQUAL XPC-FLD0167B + DISPLAY 'FLD0167B ==> ' HEX-OF (FLD0167B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0167B). + IF FLD0167E NOT EQUAL XPC-FLD0167E + DISPLAY 'FLD0167E ==> ' FLD0167E + DISPLAY 'EXPECTED ==> ' XPC-FLD0167E. + IF FLD0168B (1:) NOT EQUAL XPC-FLD0168B + DISPLAY 'FLD0168B ==> ' HEX-OF (FLD0168B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0168B). + IF FLD0168E NOT EQUAL XPC-FLD0168E + DISPLAY 'FLD0168E ==> ' FLD0168E + DISPLAY 'EXPECTED ==> ' XPC-FLD0168E. + IF FLD0169B (1:) NOT EQUAL XPC-FLD0169B + DISPLAY 'FLD0169B ==> ' HEX-OF (FLD0169B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0169B). + IF FLD0169E NOT EQUAL XPC-FLD0169E + DISPLAY 'FLD0169E ==> ' FLD0169E + DISPLAY 'EXPECTED ==> ' XPC-FLD0169E. + IF FLD0170B (1:) NOT EQUAL XPC-FLD0170B + DISPLAY 'FLD0170B ==> ' HEX-OF (FLD0170B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0170B). + IF FLD0170E NOT EQUAL XPC-FLD0170E + DISPLAY 'FLD0170E ==> ' FLD0170E + DISPLAY 'EXPECTED ==> ' XPC-FLD0170E. + IF FLD0171B (1:) NOT EQUAL XPC-FLD0171B + DISPLAY 'FLD0171B ==> ' HEX-OF (FLD0171B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0171B). + IF FLD0171E NOT EQUAL XPC-FLD0171E + DISPLAY 'FLD0171E ==> ' FLD0171E + DISPLAY 'EXPECTED ==> ' XPC-FLD0171E. + IF FLD0172B (1:) NOT EQUAL XPC-FLD0172B + DISPLAY 'FLD0172B ==> ' HEX-OF (FLD0172B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0172B). + IF FLD0172E NOT EQUAL XPC-FLD0172E + DISPLAY 'FLD0172E ==> ' FLD0172E + DISPLAY 'EXPECTED ==> ' XPC-FLD0172E. + IF FLD0173B (1:) NOT EQUAL XPC-FLD0173B + DISPLAY 'FLD0173B ==> ' HEX-OF (FLD0173B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0173B). + IF FLD0173E NOT EQUAL XPC-FLD0173E + DISPLAY 'FLD0173E ==> ' FLD0173E + DISPLAY 'EXPECTED ==> ' XPC-FLD0173E. + IF FLD0174B (1:) NOT EQUAL XPC-FLD0174B + DISPLAY 'FLD0174B ==> ' HEX-OF (FLD0174B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0174B). + IF FLD0174E NOT EQUAL XPC-FLD0174E + DISPLAY 'FLD0174E ==> ' FLD0174E + DISPLAY 'EXPECTED ==> ' XPC-FLD0174E. + IF FLD0175B (1:) NOT EQUAL XPC-FLD0175B + DISPLAY 'FLD0175B ==> ' HEX-OF (FLD0175B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0175B). + IF FLD0175E NOT EQUAL XPC-FLD0175E + DISPLAY 'FLD0175E ==> ' FLD0175E + DISPLAY 'EXPECTED ==> ' XPC-FLD0175E. + IF FLD0176B (1:) NOT EQUAL XPC-FLD0176B + DISPLAY 'FLD0176B ==> ' HEX-OF (FLD0176B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0176B). + IF FLD0176E NOT EQUAL XPC-FLD0176E + DISPLAY 'FLD0176E ==> ' FLD0176E + DISPLAY 'EXPECTED ==> ' XPC-FLD0176E. + IF FLD0177B (1:) NOT EQUAL XPC-FLD0177B + DISPLAY 'FLD0177B ==> ' HEX-OF (FLD0177B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0177B). + IF FLD0177E NOT EQUAL XPC-FLD0177E + DISPLAY 'FLD0177E ==> ' FLD0177E + DISPLAY 'EXPECTED ==> ' XPC-FLD0177E. + IF FLD0178B (1:) NOT EQUAL XPC-FLD0178B + DISPLAY 'FLD0178B ==> ' HEX-OF (FLD0178B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0178B). + IF FLD0178E NOT EQUAL XPC-FLD0178E + DISPLAY 'FLD0178E ==> ' FLD0178E + DISPLAY 'EXPECTED ==> ' XPC-FLD0178E. + IF FLD0179B (1:) NOT EQUAL XPC-FLD0179B + DISPLAY 'FLD0179B ==> ' HEX-OF (FLD0179B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0179B). + IF FLD0179E NOT EQUAL XPC-FLD0179E + DISPLAY 'FLD0179E ==> ' FLD0179E + DISPLAY 'EXPECTED ==> ' XPC-FLD0179E. + IF FLD0180B (1:) NOT EQUAL XPC-FLD0180B + DISPLAY 'FLD0180B ==> ' HEX-OF (FLD0180B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0180B). + IF FLD0180E NOT EQUAL XPC-FLD0180E + DISPLAY 'FLD0180E ==> ' FLD0180E + DISPLAY 'EXPECTED ==> ' XPC-FLD0180E. + IF FLD0181B (1:) NOT EQUAL XPC-FLD0181B + DISPLAY 'FLD0181B ==> ' HEX-OF (FLD0181B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0181B). + IF FLD0181E NOT EQUAL XPC-FLD0181E + DISPLAY 'FLD0181E ==> ' FLD0181E + DISPLAY 'EXPECTED ==> ' XPC-FLD0181E. + IF FLD0182B (1:) NOT EQUAL XPC-FLD0182B + DISPLAY 'FLD0182B ==> ' HEX-OF (FLD0182B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0182B). + IF FLD0182E NOT EQUAL XPC-FLD0182E + DISPLAY 'FLD0182E ==> ' FLD0182E + DISPLAY 'EXPECTED ==> ' XPC-FLD0182E. + IF FLD0183B (1:) NOT EQUAL XPC-FLD0183B + DISPLAY 'FLD0183B ==> ' HEX-OF (FLD0183B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0183B). + IF FLD0183E NOT EQUAL XPC-FLD0183E + DISPLAY 'FLD0183E ==> ' FLD0183E + DISPLAY 'EXPECTED ==> ' XPC-FLD0183E. + IF FLD0184B (1:) NOT EQUAL XPC-FLD0184B + DISPLAY 'FLD0184B ==> ' HEX-OF (FLD0184B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0184B). + IF FLD0184E NOT EQUAL XPC-FLD0184E + DISPLAY 'FLD0184E ==> ' FLD0184E + DISPLAY 'EXPECTED ==> ' XPC-FLD0184E. + IF FLD0185B (1:) NOT EQUAL XPC-FLD0185B + DISPLAY 'FLD0185B ==> ' HEX-OF (FLD0185B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0185B). + IF FLD0185E NOT EQUAL XPC-FLD0185E + DISPLAY 'FLD0185E ==> ' FLD0185E + DISPLAY 'EXPECTED ==> ' XPC-FLD0185E. + IF FLD0186B (1:) NOT EQUAL XPC-FLD0186B + DISPLAY 'FLD0186B ==> ' HEX-OF (FLD0186B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0186B). + IF FLD0186E NOT EQUAL XPC-FLD0186E + DISPLAY 'FLD0186E ==> ' FLD0186E + DISPLAY 'EXPECTED ==> ' XPC-FLD0186E. + IF FLD0187B (1:) NOT EQUAL XPC-FLD0187B + DISPLAY 'FLD0187B ==> ' HEX-OF (FLD0187B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0187B). + IF FLD0187E NOT EQUAL XPC-FLD0187E + DISPLAY 'FLD0187E ==> ' FLD0187E + DISPLAY 'EXPECTED ==> ' XPC-FLD0187E. + IF FLD0188B (1:) NOT EQUAL XPC-FLD0188B + DISPLAY 'FLD0188B ==> ' HEX-OF (FLD0188B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0188B). + IF FLD0188E NOT EQUAL XPC-FLD0188E + DISPLAY 'FLD0188E ==> ' FLD0188E + DISPLAY 'EXPECTED ==> ' XPC-FLD0188E. + IF FLD0189B (1:) NOT EQUAL XPC-FLD0189B + DISPLAY 'FLD0189B ==> ' HEX-OF (FLD0189B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0189B). + IF FLD0189E NOT EQUAL XPC-FLD0189E + DISPLAY 'FLD0189E ==> ' FLD0189E + DISPLAY 'EXPECTED ==> ' XPC-FLD0189E. + IF FLD0190B (1:) NOT EQUAL XPC-FLD0190B + DISPLAY 'FLD0190B ==> ' HEX-OF (FLD0190B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0190B). + IF FLD0190E NOT EQUAL XPC-FLD0190E + DISPLAY 'FLD0190E ==> ' FLD0190E + DISPLAY 'EXPECTED ==> ' XPC-FLD0190E. + IF FLD0191B (1:) NOT EQUAL XPC-FLD0191B + DISPLAY 'FLD0191B ==> ' HEX-OF (FLD0191B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0191B). + IF FLD0191E NOT EQUAL XPC-FLD0191E + DISPLAY 'FLD0191E ==> ' FLD0191E + DISPLAY 'EXPECTED ==> ' XPC-FLD0191E. + IF FLD0192B (1:) NOT EQUAL XPC-FLD0192B + DISPLAY 'FLD0192B ==> ' HEX-OF (FLD0192B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0192B). + IF FLD0192E NOT EQUAL XPC-FLD0192E + DISPLAY 'FLD0192E ==> ' FLD0192E + DISPLAY 'EXPECTED ==> ' XPC-FLD0192E. + IF FLD0193B (1:) NOT EQUAL XPC-FLD0193B + DISPLAY 'FLD0193B ==> ' HEX-OF (FLD0193B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0193B). + IF FLD0193E NOT EQUAL XPC-FLD0193E + DISPLAY 'FLD0193E ==> ' FLD0193E + DISPLAY 'EXPECTED ==> ' XPC-FLD0193E. + IF FLD0194B (1:) NOT EQUAL XPC-FLD0194B + DISPLAY 'FLD0194B ==> ' HEX-OF (FLD0194B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0194B). + IF FLD0194E NOT EQUAL XPC-FLD0194E + DISPLAY 'FLD0194E ==> ' FLD0194E + DISPLAY 'EXPECTED ==> ' XPC-FLD0194E. + IF FLD0195B (1:) NOT EQUAL XPC-FLD0195B + DISPLAY 'FLD0195B ==> ' HEX-OF (FLD0195B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0195B). + IF FLD0195E NOT EQUAL XPC-FLD0195E + DISPLAY 'FLD0195E ==> ' FLD0195E + DISPLAY 'EXPECTED ==> ' XPC-FLD0195E. + IF FLD0196B (1:) NOT EQUAL XPC-FLD0196B + DISPLAY 'FLD0196B ==> ' HEX-OF (FLD0196B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0196B). + IF FLD0196E NOT EQUAL XPC-FLD0196E + DISPLAY 'FLD0196E ==> ' FLD0196E + DISPLAY 'EXPECTED ==> ' XPC-FLD0196E. + IF FLD0197B (1:) NOT EQUAL XPC-FLD0197B + DISPLAY 'FLD0197B ==> ' HEX-OF (FLD0197B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0197B). + IF FLD0197E NOT EQUAL XPC-FLD0197E + DISPLAY 'FLD0197E ==> ' FLD0197E + DISPLAY 'EXPECTED ==> ' XPC-FLD0197E. + IF FLD0198B (1:) NOT EQUAL XPC-FLD0198B + DISPLAY 'FLD0198B ==> ' HEX-OF (FLD0198B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0198B). + IF FLD0198E NOT EQUAL XPC-FLD0198E + DISPLAY 'FLD0198E ==> ' FLD0198E + DISPLAY 'EXPECTED ==> ' XPC-FLD0198E. + IF FLD0199B (1:) NOT EQUAL XPC-FLD0199B + DISPLAY 'FLD0199B ==> ' HEX-OF (FLD0199B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0199B). + IF FLD0199E NOT EQUAL XPC-FLD0199E + DISPLAY 'FLD0199E ==> ' FLD0199E + DISPLAY 'EXPECTED ==> ' XPC-FLD0199E. + IF FLD0200B (1:) NOT EQUAL XPC-FLD0200B + DISPLAY 'FLD0200B ==> ' HEX-OF (FLD0200B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0200B). + IF FLD0200E NOT EQUAL XPC-FLD0200E + DISPLAY 'FLD0200E ==> ' FLD0200E + DISPLAY 'EXPECTED ==> ' XPC-FLD0200E. + IF FLD0201B (1:) NOT EQUAL XPC-FLD0201B + DISPLAY 'FLD0201B ==> ' HEX-OF (FLD0201B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0201B). + IF FLD0201E NOT EQUAL XPC-FLD0201E + DISPLAY 'FLD0201E ==> ' FLD0201E + DISPLAY 'EXPECTED ==> ' XPC-FLD0201E. + IF FLD0202B (1:) NOT EQUAL XPC-FLD0202B + DISPLAY 'FLD0202B ==> ' HEX-OF (FLD0202B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0202B). + IF FLD0202E NOT EQUAL XPC-FLD0202E + DISPLAY 'FLD0202E ==> ' FLD0202E + DISPLAY 'EXPECTED ==> ' XPC-FLD0202E. + IF FLD0203B (1:) NOT EQUAL XPC-FLD0203B + DISPLAY 'FLD0203B ==> ' HEX-OF (FLD0203B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0203B). + IF FLD0203E NOT EQUAL XPC-FLD0203E + DISPLAY 'FLD0203E ==> ' FLD0203E + DISPLAY 'EXPECTED ==> ' XPC-FLD0203E. + IF FLD0204B (1:) NOT EQUAL XPC-FLD0204B + DISPLAY 'FLD0204B ==> ' HEX-OF (FLD0204B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0204B). + IF FLD0204E NOT EQUAL XPC-FLD0204E + DISPLAY 'FLD0204E ==> ' FLD0204E + DISPLAY 'EXPECTED ==> ' XPC-FLD0204E. + IF FLD0205B (1:) NOT EQUAL XPC-FLD0205B + DISPLAY 'FLD0205B ==> ' HEX-OF (FLD0205B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0205B). + IF FLD0205E NOT EQUAL XPC-FLD0205E + DISPLAY 'FLD0205E ==> ' FLD0205E + DISPLAY 'EXPECTED ==> ' XPC-FLD0205E. + IF FLD0206B (1:) NOT EQUAL XPC-FLD0206B + DISPLAY 'FLD0206B ==> ' HEX-OF (FLD0206B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0206B). + IF FLD0206E NOT EQUAL XPC-FLD0206E + DISPLAY 'FLD0206E ==> ' FLD0206E + DISPLAY 'EXPECTED ==> ' XPC-FLD0206E. + IF FLD0207B (1:) NOT EQUAL XPC-FLD0207B + DISPLAY 'FLD0207B ==> ' HEX-OF (FLD0207B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0207B). + IF FLD0207E NOT EQUAL XPC-FLD0207E + DISPLAY 'FLD0207E ==> ' FLD0207E + DISPLAY 'EXPECTED ==> ' XPC-FLD0207E. + IF FLD0208B (1:) NOT EQUAL XPC-FLD0208B + DISPLAY 'FLD0208B ==> ' HEX-OF (FLD0208B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0208B). + IF FLD0208E NOT EQUAL XPC-FLD0208E + DISPLAY 'FLD0208E ==> ' FLD0208E + DISPLAY 'EXPECTED ==> ' XPC-FLD0208E. + IF FLD0209B (1:) NOT EQUAL XPC-FLD0209B + DISPLAY 'FLD0209B ==> ' HEX-OF (FLD0209B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0209B). + IF FLD0209E NOT EQUAL XPC-FLD0209E + DISPLAY 'FLD0209E ==> ' FLD0209E + DISPLAY 'EXPECTED ==> ' XPC-FLD0209E. + IF FLD0210B (1:) NOT EQUAL XPC-FLD0210B + DISPLAY 'FLD0210B ==> ' HEX-OF (FLD0210B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0210B). + IF FLD0210E NOT EQUAL XPC-FLD0210E + DISPLAY 'FLD0210E ==> ' FLD0210E + DISPLAY 'EXPECTED ==> ' XPC-FLD0210E. + IF FLD0211B (1:) NOT EQUAL XPC-FLD0211B + DISPLAY 'FLD0211B ==> ' HEX-OF (FLD0211B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0211B). + IF FLD0211E NOT EQUAL XPC-FLD0211E + DISPLAY 'FLD0211E ==> ' FLD0211E + DISPLAY 'EXPECTED ==> ' XPC-FLD0211E. + IF FLD0212B (1:) NOT EQUAL XPC-FLD0212B + DISPLAY 'FLD0212B ==> ' HEX-OF (FLD0212B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0212B). + IF FLD0212E NOT EQUAL XPC-FLD0212E + DISPLAY 'FLD0212E ==> ' FLD0212E + DISPLAY 'EXPECTED ==> ' XPC-FLD0212E. + IF FLD0213B (1:) NOT EQUAL XPC-FLD0213B + DISPLAY 'FLD0213B ==> ' HEX-OF (FLD0213B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0213B). + IF FLD0213E NOT EQUAL XPC-FLD0213E + DISPLAY 'FLD0213E ==> ' FLD0213E + DISPLAY 'EXPECTED ==> ' XPC-FLD0213E. + IF FLD0214B (1:) NOT EQUAL XPC-FLD0214B + DISPLAY 'FLD0214B ==> ' HEX-OF (FLD0214B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0214B). + IF FLD0214E NOT EQUAL XPC-FLD0214E + DISPLAY 'FLD0214E ==> ' FLD0214E + DISPLAY 'EXPECTED ==> ' XPC-FLD0214E. + IF FLD0215B (1:) NOT EQUAL XPC-FLD0215B + DISPLAY 'FLD0215B ==> ' HEX-OF (FLD0215B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0215B). + IF FLD0215E NOT EQUAL XPC-FLD0215E + DISPLAY 'FLD0215E ==> ' FLD0215E + DISPLAY 'EXPECTED ==> ' XPC-FLD0215E. + IF FLD0216B (1:) NOT EQUAL XPC-FLD0216B + DISPLAY 'FLD0216B ==> ' HEX-OF (FLD0216B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0216B). + IF FLD0216E NOT EQUAL XPC-FLD0216E + DISPLAY 'FLD0216E ==> ' FLD0216E + DISPLAY 'EXPECTED ==> ' XPC-FLD0216E. + IF FLD0217B (1:) NOT EQUAL XPC-FLD0217B + DISPLAY 'FLD0217B ==> ' HEX-OF (FLD0217B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0217B). + IF FLD0217E NOT EQUAL XPC-FLD0217E + DISPLAY 'FLD0217E ==> ' FLD0217E + DISPLAY 'EXPECTED ==> ' XPC-FLD0217E. + IF FLD0218B (1:) NOT EQUAL XPC-FLD0218B + DISPLAY 'FLD0218B ==> ' HEX-OF (FLD0218B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0218B). + IF FLD0218E NOT EQUAL XPC-FLD0218E + DISPLAY 'FLD0218E ==> ' FLD0218E + DISPLAY 'EXPECTED ==> ' XPC-FLD0218E. + IF FLD0219B (1:) NOT EQUAL XPC-FLD0219B + DISPLAY 'FLD0219B ==> ' HEX-OF (FLD0219B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0219B). + IF FLD0219E NOT EQUAL XPC-FLD0219E + DISPLAY 'FLD0219E ==> ' FLD0219E + DISPLAY 'EXPECTED ==> ' XPC-FLD0219E. + IF FLD0220B (1:) NOT EQUAL XPC-FLD0220B + DISPLAY 'FLD0220B ==> ' HEX-OF (FLD0220B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0220B). + IF FLD0220E NOT EQUAL XPC-FLD0220E + DISPLAY 'FLD0220E ==> ' FLD0220E + DISPLAY 'EXPECTED ==> ' XPC-FLD0220E. + IF FLD0221B (1:) NOT EQUAL XPC-FLD0221B + DISPLAY 'FLD0221B ==> ' HEX-OF (FLD0221B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0221B). + IF FLD0221E NOT EQUAL XPC-FLD0221E + DISPLAY 'FLD0221E ==> ' FLD0221E + DISPLAY 'EXPECTED ==> ' XPC-FLD0221E. + IF FLD0222B (1:) NOT EQUAL XPC-FLD0222B + DISPLAY 'FLD0222B ==> ' HEX-OF (FLD0222B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0222B). + IF FLD0222E NOT EQUAL XPC-FLD0222E + DISPLAY 'FLD0222E ==> ' FLD0222E + DISPLAY 'EXPECTED ==> ' XPC-FLD0222E. + IF FLD0223B (1:) NOT EQUAL XPC-FLD0223B + DISPLAY 'FLD0223B ==> ' HEX-OF (FLD0223B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0223B). + IF FLD0223E NOT EQUAL XPC-FLD0223E + DISPLAY 'FLD0223E ==> ' FLD0223E + DISPLAY 'EXPECTED ==> ' XPC-FLD0223E. + IF FLD0224B (1:) NOT EQUAL XPC-FLD0224B + DISPLAY 'FLD0224B ==> ' HEX-OF (FLD0224B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0224B). + IF FLD0224E NOT EQUAL XPC-FLD0224E + DISPLAY 'FLD0224E ==> ' FLD0224E + DISPLAY 'EXPECTED ==> ' XPC-FLD0224E. + IF FLD0225B (1:) NOT EQUAL XPC-FLD0225B + DISPLAY 'FLD0225B ==> ' HEX-OF (FLD0225B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0225B). + IF FLD0225E NOT EQUAL XPC-FLD0225E + DISPLAY 'FLD0225E ==> ' FLD0225E + DISPLAY 'EXPECTED ==> ' XPC-FLD0225E. + IF FLD0226B (1:) NOT EQUAL XPC-FLD0226B + DISPLAY 'FLD0226B ==> ' HEX-OF (FLD0226B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0226B). + IF FLD0226E NOT EQUAL XPC-FLD0226E + DISPLAY 'FLD0226E ==> ' FLD0226E + DISPLAY 'EXPECTED ==> ' XPC-FLD0226E. + IF FLD0227B (1:) NOT EQUAL XPC-FLD0227B + DISPLAY 'FLD0227B ==> ' HEX-OF (FLD0227B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0227B). + IF FLD0227E NOT EQUAL XPC-FLD0227E + DISPLAY 'FLD0227E ==> ' FLD0227E + DISPLAY 'EXPECTED ==> ' XPC-FLD0227E. + IF FLD0228B (1:) NOT EQUAL XPC-FLD0228B + DISPLAY 'FLD0228B ==> ' HEX-OF (FLD0228B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0228B). + IF FLD0228E NOT EQUAL XPC-FLD0228E + DISPLAY 'FLD0228E ==> ' FLD0228E + DISPLAY 'EXPECTED ==> ' XPC-FLD0228E. + IF FLD0229B (1:) NOT EQUAL XPC-FLD0229B + DISPLAY 'FLD0229B ==> ' HEX-OF (FLD0229B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0229B). + IF FLD0229E NOT EQUAL XPC-FLD0229E + DISPLAY 'FLD0229E ==> ' FLD0229E + DISPLAY 'EXPECTED ==> ' XPC-FLD0229E. + IF FLD0230B (1:) NOT EQUAL XPC-FLD0230B + DISPLAY 'FLD0230B ==> ' HEX-OF (FLD0230B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0230B). + IF FLD0230E NOT EQUAL XPC-FLD0230E + DISPLAY 'FLD0230E ==> ' FLD0230E + DISPLAY 'EXPECTED ==> ' XPC-FLD0230E. + IF FLD0231B (1:) NOT EQUAL XPC-FLD0231B + DISPLAY 'FLD0231B ==> ' HEX-OF (FLD0231B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0231B). + IF FLD0231E NOT EQUAL XPC-FLD0231E + DISPLAY 'FLD0231E ==> ' FLD0231E + DISPLAY 'EXPECTED ==> ' XPC-FLD0231E. + IF FLD0232B (1:) NOT EQUAL XPC-FLD0232B + DISPLAY 'FLD0232B ==> ' HEX-OF (FLD0232B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0232B). + IF FLD0232E NOT EQUAL XPC-FLD0232E + DISPLAY 'FLD0232E ==> ' FLD0232E + DISPLAY 'EXPECTED ==> ' XPC-FLD0232E. + IF FLD0233B (1:) NOT EQUAL XPC-FLD0233B + DISPLAY 'FLD0233B ==> ' HEX-OF (FLD0233B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0233B). + IF FLD0233E NOT EQUAL XPC-FLD0233E + DISPLAY 'FLD0233E ==> ' FLD0233E + DISPLAY 'EXPECTED ==> ' XPC-FLD0233E. + IF FLD0234B (1:) NOT EQUAL XPC-FLD0234B + DISPLAY 'FLD0234B ==> ' HEX-OF (FLD0234B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0234B). + IF FLD0234E NOT EQUAL XPC-FLD0234E + DISPLAY 'FLD0234E ==> ' FLD0234E + DISPLAY 'EXPECTED ==> ' XPC-FLD0234E. + IF FLD0235B (1:) NOT EQUAL XPC-FLD0235B + DISPLAY 'FLD0235B ==> ' HEX-OF (FLD0235B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0235B). + IF FLD0235E NOT EQUAL XPC-FLD0235E + DISPLAY 'FLD0235E ==> ' FLD0235E + DISPLAY 'EXPECTED ==> ' XPC-FLD0235E. + IF FLD0236B (1:) NOT EQUAL XPC-FLD0236B + DISPLAY 'FLD0236B ==> ' HEX-OF (FLD0236B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0236B). + IF FLD0236E NOT EQUAL XPC-FLD0236E + DISPLAY 'FLD0236E ==> ' FLD0236E + DISPLAY 'EXPECTED ==> ' XPC-FLD0236E. + IF FLD0237B (1:) NOT EQUAL XPC-FLD0237B + DISPLAY 'FLD0237B ==> ' HEX-OF (FLD0237B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0237B). + IF FLD0237E NOT EQUAL XPC-FLD0237E + DISPLAY 'FLD0237E ==> ' FLD0237E + DISPLAY 'EXPECTED ==> ' XPC-FLD0237E. + IF FLD0238B (1:) NOT EQUAL XPC-FLD0238B + DISPLAY 'FLD0238B ==> ' HEX-OF (FLD0238B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0238B). + IF FLD0238E NOT EQUAL XPC-FLD0238E + DISPLAY 'FLD0238E ==> ' FLD0238E + DISPLAY 'EXPECTED ==> ' XPC-FLD0238E. + IF FLD0239B (1:) NOT EQUAL XPC-FLD0239B + DISPLAY 'FLD0239B ==> ' HEX-OF (FLD0239B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0239B). + IF FLD0239E NOT EQUAL XPC-FLD0239E + DISPLAY 'FLD0239E ==> ' FLD0239E + DISPLAY 'EXPECTED ==> ' XPC-FLD0239E. + IF FLD0240B (1:) NOT EQUAL XPC-FLD0240B + DISPLAY 'FLD0240B ==> ' HEX-OF (FLD0240B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0240B). + IF FLD0240E NOT EQUAL XPC-FLD0240E + DISPLAY 'FLD0240E ==> ' FLD0240E + DISPLAY 'EXPECTED ==> ' XPC-FLD0240E. + IF FLD0241B (1:) NOT EQUAL XPC-FLD0241B + DISPLAY 'FLD0241B ==> ' HEX-OF (FLD0241B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0241B). + IF FLD0241E NOT EQUAL XPC-FLD0241E + DISPLAY 'FLD0241E ==> ' FLD0241E + DISPLAY 'EXPECTED ==> ' XPC-FLD0241E. + IF FLD0242B (1:) NOT EQUAL XPC-FLD0242B + DISPLAY 'FLD0242B ==> ' HEX-OF (FLD0242B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0242B). + IF FLD0242E NOT EQUAL XPC-FLD0242E + DISPLAY 'FLD0242E ==> ' FLD0242E + DISPLAY 'EXPECTED ==> ' XPC-FLD0242E. + IF FLD0243B (1:) NOT EQUAL XPC-FLD0243B + DISPLAY 'FLD0243B ==> ' HEX-OF (FLD0243B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0243B). + IF FLD0243E NOT EQUAL XPC-FLD0243E + DISPLAY 'FLD0243E ==> ' FLD0243E + DISPLAY 'EXPECTED ==> ' XPC-FLD0243E. + IF FLD0244B (1:) NOT EQUAL XPC-FLD0244B + DISPLAY 'FLD0244B ==> ' HEX-OF (FLD0244B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0244B). + IF FLD0244E NOT EQUAL XPC-FLD0244E + DISPLAY 'FLD0244E ==> ' FLD0244E + DISPLAY 'EXPECTED ==> ' XPC-FLD0244E. + IF FLD0245B (1:) NOT EQUAL XPC-FLD0245B + DISPLAY 'FLD0245B ==> ' HEX-OF (FLD0245B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0245B). + IF FLD0245E NOT EQUAL XPC-FLD0245E + DISPLAY 'FLD0245E ==> ' FLD0245E + DISPLAY 'EXPECTED ==> ' XPC-FLD0245E. + IF FLD0246B (1:) NOT EQUAL XPC-FLD0246B + DISPLAY 'FLD0246B ==> ' HEX-OF (FLD0246B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0246B). + IF FLD0246E NOT EQUAL XPC-FLD0246E + DISPLAY 'FLD0246E ==> ' FLD0246E + DISPLAY 'EXPECTED ==> ' XPC-FLD0246E. + IF FLD0247B (1:) NOT EQUAL XPC-FLD0247B + DISPLAY 'FLD0247B ==> ' HEX-OF (FLD0247B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0247B). + IF FLD0247E NOT EQUAL XPC-FLD0247E + DISPLAY 'FLD0247E ==> ' FLD0247E + DISPLAY 'EXPECTED ==> ' XPC-FLD0247E. + IF FLD0248B (1:) NOT EQUAL XPC-FLD0248B + DISPLAY 'FLD0248B ==> ' HEX-OF (FLD0248B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0248B). + IF FLD0248E NOT EQUAL XPC-FLD0248E + DISPLAY 'FLD0248E ==> ' FLD0248E + DISPLAY 'EXPECTED ==> ' XPC-FLD0248E. + IF FLD0249B (1:) NOT EQUAL XPC-FLD0249B + DISPLAY 'FLD0249B ==> ' HEX-OF (FLD0249B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0249B). + IF FLD0249E NOT EQUAL XPC-FLD0249E + DISPLAY 'FLD0249E ==> ' FLD0249E + DISPLAY 'EXPECTED ==> ' XPC-FLD0249E. + IF FLD0250B (1:) NOT EQUAL XPC-FLD0250B + DISPLAY 'FLD0250B ==> ' HEX-OF (FLD0250B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0250B). + IF FLD0250E NOT EQUAL XPC-FLD0250E + DISPLAY 'FLD0250E ==> ' FLD0250E + DISPLAY 'EXPECTED ==> ' XPC-FLD0250E. + IF FLD0251B (1:) NOT EQUAL XPC-FLD0251B + DISPLAY 'FLD0251B ==> ' HEX-OF (FLD0251B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0251B). + IF FLD0251E NOT EQUAL XPC-FLD0251E + DISPLAY 'FLD0251E ==> ' FLD0251E + DISPLAY 'EXPECTED ==> ' XPC-FLD0251E. + IF FLD0252B (1:) NOT EQUAL XPC-FLD0252B + DISPLAY 'FLD0252B ==> ' HEX-OF (FLD0252B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0252B). + IF FLD0252E NOT EQUAL XPC-FLD0252E + DISPLAY 'FLD0252E ==> ' FLD0252E + DISPLAY 'EXPECTED ==> ' XPC-FLD0252E. + IF FLD0253B (1:) NOT EQUAL XPC-FLD0253B + DISPLAY 'FLD0253B ==> ' HEX-OF (FLD0253B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0253B). + IF FLD0253E NOT EQUAL XPC-FLD0253E + DISPLAY 'FLD0253E ==> ' FLD0253E + DISPLAY 'EXPECTED ==> ' XPC-FLD0253E. + IF FLD0254B (1:) NOT EQUAL XPC-FLD0254B + DISPLAY 'FLD0254B ==> ' HEX-OF (FLD0254B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0254B). + IF FLD0254E NOT EQUAL XPC-FLD0254E + DISPLAY 'FLD0254E ==> ' FLD0254E + DISPLAY 'EXPECTED ==> ' XPC-FLD0254E. + IF FLD0255B (1:) NOT EQUAL XPC-FLD0255B + DISPLAY 'FLD0255B ==> ' HEX-OF (FLD0255B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0255B). + IF FLD0255E NOT EQUAL XPC-FLD0255E + DISPLAY 'FLD0255E ==> ' FLD0255E + DISPLAY 'EXPECTED ==> ' XPC-FLD0255E. + IF FLD0256B (1:) NOT EQUAL XPC-FLD0256B + DISPLAY 'FLD0256B ==> ' HEX-OF (FLD0256B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0256B). + IF FLD0256E NOT EQUAL XPC-FLD0256E + DISPLAY 'FLD0256E ==> ' FLD0256E + DISPLAY 'EXPECTED ==> ' XPC-FLD0256E. + IF FLD0257B (1:) NOT EQUAL XPC-FLD0257B + DISPLAY 'FLD0257B ==> ' HEX-OF (FLD0257B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0257B). + IF FLD0257E NOT EQUAL XPC-FLD0257E + DISPLAY 'FLD0257E ==> ' FLD0257E + DISPLAY 'EXPECTED ==> ' XPC-FLD0257E. + IF FLD0258B (1:) NOT EQUAL XPC-FLD0258B + DISPLAY 'FLD0258B ==> ' HEX-OF (FLD0258B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0258B). + IF FLD0258E NOT EQUAL XPC-FLD0258E + DISPLAY 'FLD0258E ==> ' FLD0258E + DISPLAY 'EXPECTED ==> ' XPC-FLD0258E. + IF FLD0259B (1:) NOT EQUAL XPC-FLD0259B + DISPLAY 'FLD0259B ==> ' HEX-OF (FLD0259B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0259B). + IF FLD0259E NOT EQUAL XPC-FLD0259E + DISPLAY 'FLD0259E ==> ' FLD0259E + DISPLAY 'EXPECTED ==> ' XPC-FLD0259E. + IF FLD0260B (1:) NOT EQUAL XPC-FLD0260B + DISPLAY 'FLD0260B ==> ' HEX-OF (FLD0260B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0260B). + IF FLD0260E NOT EQUAL XPC-FLD0260E + DISPLAY 'FLD0260E ==> ' FLD0260E + DISPLAY 'EXPECTED ==> ' XPC-FLD0260E. + IF FLD0261B (1:) NOT EQUAL XPC-FLD0261B + DISPLAY 'FLD0261B ==> ' HEX-OF (FLD0261B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0261B). + IF FLD0261E NOT EQUAL XPC-FLD0261E + DISPLAY 'FLD0261E ==> ' FLD0261E + DISPLAY 'EXPECTED ==> ' XPC-FLD0261E. + IF FLD0262B (1:) NOT EQUAL XPC-FLD0262B + DISPLAY 'FLD0262B ==> ' HEX-OF (FLD0262B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0262B). + IF FLD0262E NOT EQUAL XPC-FLD0262E + DISPLAY 'FLD0262E ==> ' FLD0262E + DISPLAY 'EXPECTED ==> ' XPC-FLD0262E. + IF FLD0263B (1:) NOT EQUAL XPC-FLD0263B + DISPLAY 'FLD0263B ==> ' HEX-OF (FLD0263B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0263B). + IF FLD0263E NOT EQUAL XPC-FLD0263E + DISPLAY 'FLD0263E ==> ' FLD0263E + DISPLAY 'EXPECTED ==> ' XPC-FLD0263E. + IF FLD0264B (1:) NOT EQUAL XPC-FLD0264B + DISPLAY 'FLD0264B ==> ' HEX-OF (FLD0264B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0264B). + IF FLD0264E NOT EQUAL XPC-FLD0264E + DISPLAY 'FLD0264E ==> ' FLD0264E + DISPLAY 'EXPECTED ==> ' XPC-FLD0264E. + IF FLD0265B (1:) NOT EQUAL XPC-FLD0265B + DISPLAY 'FLD0265B ==> ' HEX-OF (FLD0265B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0265B). + IF FLD0265E NOT EQUAL XPC-FLD0265E + DISPLAY 'FLD0265E ==> ' FLD0265E + DISPLAY 'EXPECTED ==> ' XPC-FLD0265E. + IF FLD0266B (1:) NOT EQUAL XPC-FLD0266B + DISPLAY 'FLD0266B ==> ' HEX-OF (FLD0266B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0266B). + IF FLD0266E NOT EQUAL XPC-FLD0266E + DISPLAY 'FLD0266E ==> ' FLD0266E + DISPLAY 'EXPECTED ==> ' XPC-FLD0266E. + IF FLD0267B (1:) NOT EQUAL XPC-FLD0267B + DISPLAY 'FLD0267B ==> ' HEX-OF (FLD0267B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0267B). + IF FLD0267E NOT EQUAL XPC-FLD0267E + DISPLAY 'FLD0267E ==> ' FLD0267E + DISPLAY 'EXPECTED ==> ' XPC-FLD0267E. + IF FLD0268B (1:) NOT EQUAL XPC-FLD0268B + DISPLAY 'FLD0268B ==> ' HEX-OF (FLD0268B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0268B). + IF FLD0268E NOT EQUAL XPC-FLD0268E + DISPLAY 'FLD0268E ==> ' FLD0268E + DISPLAY 'EXPECTED ==> ' XPC-FLD0268E. + IF FLD0269B (1:) NOT EQUAL XPC-FLD0269B + DISPLAY 'FLD0269B ==> ' HEX-OF (FLD0269B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0269B). + IF FLD0269E NOT EQUAL XPC-FLD0269E + DISPLAY 'FLD0269E ==> ' FLD0269E + DISPLAY 'EXPECTED ==> ' XPC-FLD0269E. + IF FLD0270B (1:) NOT EQUAL XPC-FLD0270B + DISPLAY 'FLD0270B ==> ' HEX-OF (FLD0270B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0270B). + IF FLD0270E NOT EQUAL XPC-FLD0270E + DISPLAY 'FLD0270E ==> ' FLD0270E + DISPLAY 'EXPECTED ==> ' XPC-FLD0270E. + IF FLD0271B (1:) NOT EQUAL XPC-FLD0271B + DISPLAY 'FLD0271B ==> ' HEX-OF (FLD0271B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0271B). + IF FLD0271E NOT EQUAL XPC-FLD0271E + DISPLAY 'FLD0271E ==> ' FLD0271E + DISPLAY 'EXPECTED ==> ' XPC-FLD0271E. + IF FLD0272B (1:) NOT EQUAL XPC-FLD0272B + DISPLAY 'FLD0272B ==> ' HEX-OF (FLD0272B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0272B). + IF FLD0272E NOT EQUAL XPC-FLD0272E + DISPLAY 'FLD0272E ==> ' FLD0272E + DISPLAY 'EXPECTED ==> ' XPC-FLD0272E. + IF FLD0273B (1:) NOT EQUAL XPC-FLD0273B + DISPLAY 'FLD0273B ==> ' HEX-OF (FLD0273B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0273B). + IF FLD0273E NOT EQUAL XPC-FLD0273E + DISPLAY 'FLD0273E ==> ' FLD0273E + DISPLAY 'EXPECTED ==> ' XPC-FLD0273E. + IF FLD0274B (1:) NOT EQUAL XPC-FLD0274B + DISPLAY 'FLD0274B ==> ' HEX-OF (FLD0274B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0274B). + IF FLD0274E NOT EQUAL XPC-FLD0274E + DISPLAY 'FLD0274E ==> ' FLD0274E + DISPLAY 'EXPECTED ==> ' XPC-FLD0274E. + IF FLD0275B (1:) NOT EQUAL XPC-FLD0275B + DISPLAY 'FLD0275B ==> ' HEX-OF (FLD0275B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0275B). + IF FLD0275E NOT EQUAL XPC-FLD0275E + DISPLAY 'FLD0275E ==> ' FLD0275E + DISPLAY 'EXPECTED ==> ' XPC-FLD0275E. + IF FLD0276B (1:) NOT EQUAL XPC-FLD0276B + DISPLAY 'FLD0276B ==> ' HEX-OF (FLD0276B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0276B). + IF FLD0276E NOT EQUAL XPC-FLD0276E + DISPLAY 'FLD0276E ==> ' FLD0276E + DISPLAY 'EXPECTED ==> ' XPC-FLD0276E. + IF FLD0277B (1:) NOT EQUAL XPC-FLD0277B + DISPLAY 'FLD0277B ==> ' HEX-OF (FLD0277B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0277B). + IF FLD0277E NOT EQUAL XPC-FLD0277E + DISPLAY 'FLD0277E ==> ' FLD0277E + DISPLAY 'EXPECTED ==> ' XPC-FLD0277E. + IF FLD0278B (1:) NOT EQUAL XPC-FLD0278B + DISPLAY 'FLD0278B ==> ' HEX-OF (FLD0278B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0278B). + IF FLD0278E NOT EQUAL XPC-FLD0278E + DISPLAY 'FLD0278E ==> ' FLD0278E + DISPLAY 'EXPECTED ==> ' XPC-FLD0278E. + IF FLD0279B (1:) NOT EQUAL XPC-FLD0279B + DISPLAY 'FLD0279B ==> ' HEX-OF (FLD0279B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0279B). + IF FLD0279E NOT EQUAL XPC-FLD0279E + DISPLAY 'FLD0279E ==> ' FLD0279E + DISPLAY 'EXPECTED ==> ' XPC-FLD0279E. + IF FLD0280B (1:) NOT EQUAL XPC-FLD0280B + DISPLAY 'FLD0280B ==> ' HEX-OF (FLD0280B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0280B). + IF FLD0280E NOT EQUAL XPC-FLD0280E + DISPLAY 'FLD0280E ==> ' FLD0280E + DISPLAY 'EXPECTED ==> ' XPC-FLD0280E. + IF FLD0281B (1:) NOT EQUAL XPC-FLD0281B + DISPLAY 'FLD0281B ==> ' HEX-OF (FLD0281B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0281B). + IF FLD0281E NOT EQUAL XPC-FLD0281E + DISPLAY 'FLD0281E ==> ' FLD0281E + DISPLAY 'EXPECTED ==> ' XPC-FLD0281E. + IF FLD0282B (1:) NOT EQUAL XPC-FLD0282B + DISPLAY 'FLD0282B ==> ' HEX-OF (FLD0282B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0282B). + IF FLD0282E NOT EQUAL XPC-FLD0282E + DISPLAY 'FLD0282E ==> ' FLD0282E + DISPLAY 'EXPECTED ==> ' XPC-FLD0282E. + IF FLD0283B (1:) NOT EQUAL XPC-FLD0283B + DISPLAY 'FLD0283B ==> ' HEX-OF (FLD0283B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0283B). + IF FLD0283E NOT EQUAL XPC-FLD0283E + DISPLAY 'FLD0283E ==> ' FLD0283E + DISPLAY 'EXPECTED ==> ' XPC-FLD0283E. + IF FLD0284B (1:) NOT EQUAL XPC-FLD0284B + DISPLAY 'FLD0284B ==> ' HEX-OF (FLD0284B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0284B). + IF FLD0284E NOT EQUAL XPC-FLD0284E + DISPLAY 'FLD0284E ==> ' FLD0284E + DISPLAY 'EXPECTED ==> ' XPC-FLD0284E. + IF FLD0285B (1:) NOT EQUAL XPC-FLD0285B + DISPLAY 'FLD0285B ==> ' HEX-OF (FLD0285B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0285B). + IF FLD0285E NOT EQUAL XPC-FLD0285E + DISPLAY 'FLD0285E ==> ' FLD0285E + DISPLAY 'EXPECTED ==> ' XPC-FLD0285E. + IF FLD0286B (1:) NOT EQUAL XPC-FLD0286B + DISPLAY 'FLD0286B ==> ' HEX-OF (FLD0286B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0286B). + IF FLD0286E NOT EQUAL XPC-FLD0286E + DISPLAY 'FLD0286E ==> ' FLD0286E + DISPLAY 'EXPECTED ==> ' XPC-FLD0286E. + IF FLD0287B (1:) NOT EQUAL XPC-FLD0287B + DISPLAY 'FLD0287B ==> ' HEX-OF (FLD0287B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0287B). + IF FLD0287E NOT EQUAL XPC-FLD0287E + DISPLAY 'FLD0287E ==> ' FLD0287E + DISPLAY 'EXPECTED ==> ' XPC-FLD0287E. + IF FLD0288B (1:) NOT EQUAL XPC-FLD0288B + DISPLAY 'FLD0288B ==> ' HEX-OF (FLD0288B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0288B). + IF FLD0288E NOT EQUAL XPC-FLD0288E + DISPLAY 'FLD0288E ==> ' FLD0288E + DISPLAY 'EXPECTED ==> ' XPC-FLD0288E. + IF FLD0289B (1:) NOT EQUAL XPC-FLD0289B + DISPLAY 'FLD0289B ==> ' HEX-OF (FLD0289B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0289B). + IF FLD0289E NOT EQUAL XPC-FLD0289E + DISPLAY 'FLD0289E ==> ' FLD0289E + DISPLAY 'EXPECTED ==> ' XPC-FLD0289E. + IF FLD0290B (1:) NOT EQUAL XPC-FLD0290B + DISPLAY 'FLD0290B ==> ' HEX-OF (FLD0290B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0290B). + IF FLD0290E NOT EQUAL XPC-FLD0290E + DISPLAY 'FLD0290E ==> ' FLD0290E + DISPLAY 'EXPECTED ==> ' XPC-FLD0290E. + IF FLD0291B (1:) NOT EQUAL XPC-FLD0291B + DISPLAY 'FLD0291B ==> ' HEX-OF (FLD0291B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0291B). + IF FLD0291E NOT EQUAL XPC-FLD0291E + DISPLAY 'FLD0291E ==> ' FLD0291E + DISPLAY 'EXPECTED ==> ' XPC-FLD0291E. + IF FLD0292B (1:) NOT EQUAL XPC-FLD0292B + DISPLAY 'FLD0292B ==> ' HEX-OF (FLD0292B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0292B). + IF FLD0292E NOT EQUAL XPC-FLD0292E + DISPLAY 'FLD0292E ==> ' FLD0292E + DISPLAY 'EXPECTED ==> ' XPC-FLD0292E. + IF FLD0293B (1:) NOT EQUAL XPC-FLD0293B + DISPLAY 'FLD0293B ==> ' HEX-OF (FLD0293B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0293B). + IF FLD0293E NOT EQUAL XPC-FLD0293E + DISPLAY 'FLD0293E ==> ' FLD0293E + DISPLAY 'EXPECTED ==> ' XPC-FLD0293E. + IF FLD0294B (1:) NOT EQUAL XPC-FLD0294B + DISPLAY 'FLD0294B ==> ' HEX-OF (FLD0294B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0294B). + IF FLD0294E NOT EQUAL XPC-FLD0294E + DISPLAY 'FLD0294E ==> ' FLD0294E + DISPLAY 'EXPECTED ==> ' XPC-FLD0294E. + IF FLD0295B (1:) NOT EQUAL XPC-FLD0295B + DISPLAY 'FLD0295B ==> ' HEX-OF (FLD0295B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0295B). + IF FLD0295E NOT EQUAL XPC-FLD0295E + DISPLAY 'FLD0295E ==> ' FLD0295E + DISPLAY 'EXPECTED ==> ' XPC-FLD0295E. + IF FLD0296B (1:) NOT EQUAL XPC-FLD0296B + DISPLAY 'FLD0296B ==> ' HEX-OF (FLD0296B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0296B). + IF FLD0296E NOT EQUAL XPC-FLD0296E + DISPLAY 'FLD0296E ==> ' FLD0296E + DISPLAY 'EXPECTED ==> ' XPC-FLD0296E. + IF FLD0297B (1:) NOT EQUAL XPC-FLD0297B + DISPLAY 'FLD0297B ==> ' HEX-OF (FLD0297B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0297B). + IF FLD0297E NOT EQUAL XPC-FLD0297E + DISPLAY 'FLD0297E ==> ' FLD0297E + DISPLAY 'EXPECTED ==> ' XPC-FLD0297E. + IF FLD0298B (1:) NOT EQUAL XPC-FLD0298B + DISPLAY 'FLD0298B ==> ' HEX-OF (FLD0298B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0298B). + IF FLD0298E NOT EQUAL XPC-FLD0298E + DISPLAY 'FLD0298E ==> ' FLD0298E + DISPLAY 'EXPECTED ==> ' XPC-FLD0298E. + IF FLD0299B (1:) NOT EQUAL XPC-FLD0299B + DISPLAY 'FLD0299B ==> ' HEX-OF (FLD0299B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0299B). + IF FLD0299E NOT EQUAL XPC-FLD0299E + DISPLAY 'FLD0299E ==> ' FLD0299E + DISPLAY 'EXPECTED ==> ' XPC-FLD0299E. + IF FLD0300B (1:) NOT EQUAL XPC-FLD0300B + DISPLAY 'FLD0300B ==> ' HEX-OF (FLD0300B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0300B). + IF FLD0300E NOT EQUAL XPC-FLD0300E + DISPLAY 'FLD0300E ==> ' FLD0300E + DISPLAY 'EXPECTED ==> ' XPC-FLD0300E. + IF FLD0301B (1:) NOT EQUAL XPC-FLD0301B + DISPLAY 'FLD0301B ==> ' HEX-OF (FLD0301B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0301B). + IF FLD0301E NOT EQUAL XPC-FLD0301E + DISPLAY 'FLD0301E ==> ' FLD0301E + DISPLAY 'EXPECTED ==> ' XPC-FLD0301E. + IF FLD0302B (1:) NOT EQUAL XPC-FLD0302B + DISPLAY 'FLD0302B ==> ' HEX-OF (FLD0302B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0302B). + IF FLD0302E NOT EQUAL XPC-FLD0302E + DISPLAY 'FLD0302E ==> ' FLD0302E + DISPLAY 'EXPECTED ==> ' XPC-FLD0302E. + IF FLD0303B (1:) NOT EQUAL XPC-FLD0303B + DISPLAY 'FLD0303B ==> ' HEX-OF (FLD0303B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0303B). + IF FLD0303E NOT EQUAL XPC-FLD0303E + DISPLAY 'FLD0303E ==> ' FLD0303E + DISPLAY 'EXPECTED ==> ' XPC-FLD0303E. + IF FLD0304B (1:) NOT EQUAL XPC-FLD0304B + DISPLAY 'FLD0304B ==> ' HEX-OF (FLD0304B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0304B). + IF FLD0304E NOT EQUAL XPC-FLD0304E + DISPLAY 'FLD0304E ==> ' FLD0304E + DISPLAY 'EXPECTED ==> ' XPC-FLD0304E. + IF FLD0305B (1:) NOT EQUAL XPC-FLD0305B + DISPLAY 'FLD0305B ==> ' HEX-OF (FLD0305B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0305B). + IF FLD0305E NOT EQUAL XPC-FLD0305E + DISPLAY 'FLD0305E ==> ' FLD0305E + DISPLAY 'EXPECTED ==> ' XPC-FLD0305E. + IF FLD0306B (1:) NOT EQUAL XPC-FLD0306B + DISPLAY 'FLD0306B ==> ' HEX-OF (FLD0306B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0306B). + IF FLD0306E NOT EQUAL XPC-FLD0306E + DISPLAY 'FLD0306E ==> ' FLD0306E + DISPLAY 'EXPECTED ==> ' XPC-FLD0306E. + IF FLD0307B (1:) NOT EQUAL XPC-FLD0307B + DISPLAY 'FLD0307B ==> ' HEX-OF (FLD0307B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0307B). + IF FLD0307E NOT EQUAL XPC-FLD0307E + DISPLAY 'FLD0307E ==> ' FLD0307E + DISPLAY 'EXPECTED ==> ' XPC-FLD0307E. + IF FLD0308B (1:) NOT EQUAL XPC-FLD0308B + DISPLAY 'FLD0308B ==> ' HEX-OF (FLD0308B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0308B). + IF FLD0308E NOT EQUAL XPC-FLD0308E + DISPLAY 'FLD0308E ==> ' FLD0308E + DISPLAY 'EXPECTED ==> ' XPC-FLD0308E. + IF FLD0309B (1:) NOT EQUAL XPC-FLD0309B + DISPLAY 'FLD0309B ==> ' HEX-OF (FLD0309B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0309B). + IF FLD0309E NOT EQUAL XPC-FLD0309E + DISPLAY 'FLD0309E ==> ' FLD0309E + DISPLAY 'EXPECTED ==> ' XPC-FLD0309E. + IF FLD0310B (1:) NOT EQUAL XPC-FLD0310B + DISPLAY 'FLD0310B ==> ' HEX-OF (FLD0310B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0310B). + IF FLD0310E NOT EQUAL XPC-FLD0310E + DISPLAY 'FLD0310E ==> ' FLD0310E + DISPLAY 'EXPECTED ==> ' XPC-FLD0310E. + IF FLD0311B (1:) NOT EQUAL XPC-FLD0311B + DISPLAY 'FLD0311B ==> ' HEX-OF (FLD0311B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0311B). + IF FLD0311E NOT EQUAL XPC-FLD0311E + DISPLAY 'FLD0311E ==> ' FLD0311E + DISPLAY 'EXPECTED ==> ' XPC-FLD0311E. + IF FLD0312B (1:) NOT EQUAL XPC-FLD0312B + DISPLAY 'FLD0312B ==> ' HEX-OF (FLD0312B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0312B). + IF FLD0312E NOT EQUAL XPC-FLD0312E + DISPLAY 'FLD0312E ==> ' FLD0312E + DISPLAY 'EXPECTED ==> ' XPC-FLD0312E. + IF FLD0313B (1:) NOT EQUAL XPC-FLD0313B + DISPLAY 'FLD0313B ==> ' HEX-OF (FLD0313B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0313B). + IF FLD0313E NOT EQUAL XPC-FLD0313E + DISPLAY 'FLD0313E ==> ' FLD0313E + DISPLAY 'EXPECTED ==> ' XPC-FLD0313E. + IF FLD0314B (1:) NOT EQUAL XPC-FLD0314B + DISPLAY 'FLD0314B ==> ' HEX-OF (FLD0314B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0314B). + IF FLD0314E NOT EQUAL XPC-FLD0314E + DISPLAY 'FLD0314E ==> ' FLD0314E + DISPLAY 'EXPECTED ==> ' XPC-FLD0314E. + IF FLD0315B (1:) NOT EQUAL XPC-FLD0315B + DISPLAY 'FLD0315B ==> ' HEX-OF (FLD0315B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0315B). + IF FLD0315E NOT EQUAL XPC-FLD0315E + DISPLAY 'FLD0315E ==> ' FLD0315E + DISPLAY 'EXPECTED ==> ' XPC-FLD0315E. + IF FLD0316B (1:) NOT EQUAL XPC-FLD0316B + DISPLAY 'FLD0316B ==> ' HEX-OF (FLD0316B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0316B). + IF FLD0316E NOT EQUAL XPC-FLD0316E + DISPLAY 'FLD0316E ==> ' FLD0316E + DISPLAY 'EXPECTED ==> ' XPC-FLD0316E. + IF FLD0317B (1:) NOT EQUAL XPC-FLD0317B + DISPLAY 'FLD0317B ==> ' HEX-OF (FLD0317B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0317B). + IF FLD0317E NOT EQUAL XPC-FLD0317E + DISPLAY 'FLD0317E ==> ' FLD0317E + DISPLAY 'EXPECTED ==> ' XPC-FLD0317E. + IF FLD0318B (1:) NOT EQUAL XPC-FLD0318B + DISPLAY 'FLD0318B ==> ' HEX-OF (FLD0318B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0318B). + IF FLD0318E NOT EQUAL XPC-FLD0318E + DISPLAY 'FLD0318E ==> ' FLD0318E + DISPLAY 'EXPECTED ==> ' XPC-FLD0318E. + IF FLD0319B (1:) NOT EQUAL XPC-FLD0319B + DISPLAY 'FLD0319B ==> ' HEX-OF (FLD0319B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0319B). + IF FLD0319E NOT EQUAL XPC-FLD0319E + DISPLAY 'FLD0319E ==> ' FLD0319E + DISPLAY 'EXPECTED ==> ' XPC-FLD0319E. + IF FLD0320B (1:) NOT EQUAL XPC-FLD0320B + DISPLAY 'FLD0320B ==> ' HEX-OF (FLD0320B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0320B). + IF FLD0320E NOT EQUAL XPC-FLD0320E + DISPLAY 'FLD0320E ==> ' FLD0320E + DISPLAY 'EXPECTED ==> ' XPC-FLD0320E. + IF FLD0321B (1:) NOT EQUAL XPC-FLD0321B + DISPLAY 'FLD0321B ==> ' HEX-OF (FLD0321B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0321B). + IF FLD0321E NOT EQUAL XPC-FLD0321E + DISPLAY 'FLD0321E ==> ' FLD0321E + DISPLAY 'EXPECTED ==> ' XPC-FLD0321E. + IF FLD0322B (1:) NOT EQUAL XPC-FLD0322B + DISPLAY 'FLD0322B ==> ' HEX-OF (FLD0322B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0322B). + IF FLD0322E NOT EQUAL XPC-FLD0322E + DISPLAY 'FLD0322E ==> ' FLD0322E + DISPLAY 'EXPECTED ==> ' XPC-FLD0322E. + IF FLD0323B (1:) NOT EQUAL XPC-FLD0323B + DISPLAY 'FLD0323B ==> ' HEX-OF (FLD0323B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0323B). + IF FLD0323E NOT EQUAL XPC-FLD0323E + DISPLAY 'FLD0323E ==> ' FLD0323E + DISPLAY 'EXPECTED ==> ' XPC-FLD0323E. + IF FLD0324B (1:) NOT EQUAL XPC-FLD0324B + DISPLAY 'FLD0324B ==> ' HEX-OF (FLD0324B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0324B). + IF FLD0324E NOT EQUAL XPC-FLD0324E + DISPLAY 'FLD0324E ==> ' FLD0324E + DISPLAY 'EXPECTED ==> ' XPC-FLD0324E. + IF FLD0325B (1:) NOT EQUAL XPC-FLD0325B + DISPLAY 'FLD0325B ==> ' HEX-OF (FLD0325B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0325B). + IF FLD0325E NOT EQUAL XPC-FLD0325E + DISPLAY 'FLD0325E ==> ' FLD0325E + DISPLAY 'EXPECTED ==> ' XPC-FLD0325E. + IF FLD0326B (1:) NOT EQUAL XPC-FLD0326B + DISPLAY 'FLD0326B ==> ' HEX-OF (FLD0326B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0326B). + IF FLD0326E NOT EQUAL XPC-FLD0326E + DISPLAY 'FLD0326E ==> ' FLD0326E + DISPLAY 'EXPECTED ==> ' XPC-FLD0326E. + IF FLD0327B (1:) NOT EQUAL XPC-FLD0327B + DISPLAY 'FLD0327B ==> ' HEX-OF (FLD0327B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0327B). + IF FLD0327E NOT EQUAL XPC-FLD0327E + DISPLAY 'FLD0327E ==> ' FLD0327E + DISPLAY 'EXPECTED ==> ' XPC-FLD0327E. + IF FLD0328B (1:) NOT EQUAL XPC-FLD0328B + DISPLAY 'FLD0328B ==> ' HEX-OF (FLD0328B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0328B). + IF FLD0328E NOT EQUAL XPC-FLD0328E + DISPLAY 'FLD0328E ==> ' FLD0328E + DISPLAY 'EXPECTED ==> ' XPC-FLD0328E. + IF FLD0329B (1:) NOT EQUAL XPC-FLD0329B + DISPLAY 'FLD0329B ==> ' HEX-OF (FLD0329B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0329B). + IF FLD0329E NOT EQUAL XPC-FLD0329E + DISPLAY 'FLD0329E ==> ' FLD0329E + DISPLAY 'EXPECTED ==> ' XPC-FLD0329E. + IF FLD0330B (1:) NOT EQUAL XPC-FLD0330B + DISPLAY 'FLD0330B ==> ' HEX-OF (FLD0330B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0330B). + IF FLD0330E NOT EQUAL XPC-FLD0330E + DISPLAY 'FLD0330E ==> ' FLD0330E + DISPLAY 'EXPECTED ==> ' XPC-FLD0330E. + IF FLD0331B (1:) NOT EQUAL XPC-FLD0331B + DISPLAY 'FLD0331B ==> ' HEX-OF (FLD0331B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0331B). + IF FLD0331E NOT EQUAL XPC-FLD0331E + DISPLAY 'FLD0331E ==> ' FLD0331E + DISPLAY 'EXPECTED ==> ' XPC-FLD0331E. + IF FLD0332B (1:) NOT EQUAL XPC-FLD0332B + DISPLAY 'FLD0332B ==> ' HEX-OF (FLD0332B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0332B). + IF FLD0332E NOT EQUAL XPC-FLD0332E + DISPLAY 'FLD0332E ==> ' FLD0332E + DISPLAY 'EXPECTED ==> ' XPC-FLD0332E. + IF FLD0333B (1:) NOT EQUAL XPC-FLD0333B + DISPLAY 'FLD0333B ==> ' HEX-OF (FLD0333B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0333B). + IF FLD0333E NOT EQUAL XPC-FLD0333E + DISPLAY 'FLD0333E ==> ' FLD0333E + DISPLAY 'EXPECTED ==> ' XPC-FLD0333E. + IF FLD0334B (1:) NOT EQUAL XPC-FLD0334B + DISPLAY 'FLD0334B ==> ' HEX-OF (FLD0334B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0334B). + IF FLD0334E NOT EQUAL XPC-FLD0334E + DISPLAY 'FLD0334E ==> ' FLD0334E + DISPLAY 'EXPECTED ==> ' XPC-FLD0334E. + IF FLD0335B (1:) NOT EQUAL XPC-FLD0335B + DISPLAY 'FLD0335B ==> ' HEX-OF (FLD0335B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0335B). + IF FLD0335E NOT EQUAL XPC-FLD0335E + DISPLAY 'FLD0335E ==> ' FLD0335E + DISPLAY 'EXPECTED ==> ' XPC-FLD0335E. + IF FLD0336B (1:) NOT EQUAL XPC-FLD0336B + DISPLAY 'FLD0336B ==> ' HEX-OF (FLD0336B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0336B). + IF FLD0336E NOT EQUAL XPC-FLD0336E + DISPLAY 'FLD0336E ==> ' FLD0336E + DISPLAY 'EXPECTED ==> ' XPC-FLD0336E. + IF FLD0337B (1:) NOT EQUAL XPC-FLD0337B + DISPLAY 'FLD0337B ==> ' HEX-OF (FLD0337B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0337B). + IF FLD0337E NOT EQUAL XPC-FLD0337E + DISPLAY 'FLD0337E ==> ' FLD0337E + DISPLAY 'EXPECTED ==> ' XPC-FLD0337E. + IF FLD0338B (1:) NOT EQUAL XPC-FLD0338B + DISPLAY 'FLD0338B ==> ' HEX-OF (FLD0338B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0338B). + IF FLD0338E NOT EQUAL XPC-FLD0338E + DISPLAY 'FLD0338E ==> ' FLD0338E + DISPLAY 'EXPECTED ==> ' XPC-FLD0338E. + IF FLD0339B (1:) NOT EQUAL XPC-FLD0339B + DISPLAY 'FLD0339B ==> ' HEX-OF (FLD0339B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0339B). + IF FLD0339E NOT EQUAL XPC-FLD0339E + DISPLAY 'FLD0339E ==> ' FLD0339E + DISPLAY 'EXPECTED ==> ' XPC-FLD0339E. + IF FLD0340B (1:) NOT EQUAL XPC-FLD0340B + DISPLAY 'FLD0340B ==> ' HEX-OF (FLD0340B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0340B). + IF FLD0340E NOT EQUAL XPC-FLD0340E + DISPLAY 'FLD0340E ==> ' FLD0340E + DISPLAY 'EXPECTED ==> ' XPC-FLD0340E. + IF FLD0341B (1:) NOT EQUAL XPC-FLD0341B + DISPLAY 'FLD0341B ==> ' HEX-OF (FLD0341B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0341B). + IF FLD0341E NOT EQUAL XPC-FLD0341E + DISPLAY 'FLD0341E ==> ' FLD0341E + DISPLAY 'EXPECTED ==> ' XPC-FLD0341E. + IF FLD0342B (1:) NOT EQUAL XPC-FLD0342B + DISPLAY 'FLD0342B ==> ' HEX-OF (FLD0342B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0342B). + IF FLD0342E NOT EQUAL XPC-FLD0342E + DISPLAY 'FLD0342E ==> ' FLD0342E + DISPLAY 'EXPECTED ==> ' XPC-FLD0342E. + IF FLD0343B (1:) NOT EQUAL XPC-FLD0343B + DISPLAY 'FLD0343B ==> ' HEX-OF (FLD0343B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0343B). + IF FLD0343E NOT EQUAL XPC-FLD0343E + DISPLAY 'FLD0343E ==> ' FLD0343E + DISPLAY 'EXPECTED ==> ' XPC-FLD0343E. + IF FLD0344B (1:) NOT EQUAL XPC-FLD0344B + DISPLAY 'FLD0344B ==> ' HEX-OF (FLD0344B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0344B). + IF FLD0344E NOT EQUAL XPC-FLD0344E + DISPLAY 'FLD0344E ==> ' FLD0344E + DISPLAY 'EXPECTED ==> ' XPC-FLD0344E. + IF FLD0345B (1:) NOT EQUAL XPC-FLD0345B + DISPLAY 'FLD0345B ==> ' HEX-OF (FLD0345B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0345B). + IF FLD0345E NOT EQUAL XPC-FLD0345E + DISPLAY 'FLD0345E ==> ' FLD0345E + DISPLAY 'EXPECTED ==> ' XPC-FLD0345E. + IF FLD0346B (1:) NOT EQUAL XPC-FLD0346B + DISPLAY 'FLD0346B ==> ' HEX-OF (FLD0346B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0346B). + IF FLD0346E NOT EQUAL XPC-FLD0346E + DISPLAY 'FLD0346E ==> ' FLD0346E + DISPLAY 'EXPECTED ==> ' XPC-FLD0346E. + IF FLD0347B (1:) NOT EQUAL XPC-FLD0347B + DISPLAY 'FLD0347B ==> ' HEX-OF (FLD0347B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0347B). + IF FLD0347E NOT EQUAL XPC-FLD0347E + DISPLAY 'FLD0347E ==> ' FLD0347E + DISPLAY 'EXPECTED ==> ' XPC-FLD0347E. + IF FLD0348B (1:) NOT EQUAL XPC-FLD0348B + DISPLAY 'FLD0348B ==> ' HEX-OF (FLD0348B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0348B). + IF FLD0348E NOT EQUAL XPC-FLD0348E + DISPLAY 'FLD0348E ==> ' FLD0348E + DISPLAY 'EXPECTED ==> ' XPC-FLD0348E. + IF FLD0349B (1:) NOT EQUAL XPC-FLD0349B + DISPLAY 'FLD0349B ==> ' HEX-OF (FLD0349B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0349B). + IF FLD0349E NOT EQUAL XPC-FLD0349E + DISPLAY 'FLD0349E ==> ' FLD0349E + DISPLAY 'EXPECTED ==> ' XPC-FLD0349E. + IF FLD0350B (1:) NOT EQUAL XPC-FLD0350B + DISPLAY 'FLD0350B ==> ' HEX-OF (FLD0350B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0350B). + IF FLD0350E NOT EQUAL XPC-FLD0350E + DISPLAY 'FLD0350E ==> ' FLD0350E + DISPLAY 'EXPECTED ==> ' XPC-FLD0350E. + IF FLD0351B (1:) NOT EQUAL XPC-FLD0351B + DISPLAY 'FLD0351B ==> ' HEX-OF (FLD0351B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0351B). + IF FLD0351E NOT EQUAL XPC-FLD0351E + DISPLAY 'FLD0351E ==> ' FLD0351E + DISPLAY 'EXPECTED ==> ' XPC-FLD0351E. + IF FLD0352B (1:) NOT EQUAL XPC-FLD0352B + DISPLAY 'FLD0352B ==> ' HEX-OF (FLD0352B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0352B). + IF FLD0352E NOT EQUAL XPC-FLD0352E + DISPLAY 'FLD0352E ==> ' FLD0352E + DISPLAY 'EXPECTED ==> ' XPC-FLD0352E. + IF FLD0353B (1:) NOT EQUAL XPC-FLD0353B + DISPLAY 'FLD0353B ==> ' HEX-OF (FLD0353B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0353B). + IF FLD0353E NOT EQUAL XPC-FLD0353E + DISPLAY 'FLD0353E ==> ' FLD0353E + DISPLAY 'EXPECTED ==> ' XPC-FLD0353E. + IF FLD0354B (1:) NOT EQUAL XPC-FLD0354B + DISPLAY 'FLD0354B ==> ' HEX-OF (FLD0354B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0354B). + IF FLD0354E NOT EQUAL XPC-FLD0354E + DISPLAY 'FLD0354E ==> ' FLD0354E + DISPLAY 'EXPECTED ==> ' XPC-FLD0354E. + IF FLD0355B (1:) NOT EQUAL XPC-FLD0355B + DISPLAY 'FLD0355B ==> ' HEX-OF (FLD0355B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0355B). + IF FLD0355E NOT EQUAL XPC-FLD0355E + DISPLAY 'FLD0355E ==> ' FLD0355E + DISPLAY 'EXPECTED ==> ' XPC-FLD0355E. + IF FLD0356B (1:) NOT EQUAL XPC-FLD0356B + DISPLAY 'FLD0356B ==> ' HEX-OF (FLD0356B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0356B). + IF FLD0356E NOT EQUAL XPC-FLD0356E + DISPLAY 'FLD0356E ==> ' FLD0356E + DISPLAY 'EXPECTED ==> ' XPC-FLD0356E. + IF FLD0357B (1:) NOT EQUAL XPC-FLD0357B + DISPLAY 'FLD0357B ==> ' HEX-OF (FLD0357B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0357B). + IF FLD0357E NOT EQUAL XPC-FLD0357E + DISPLAY 'FLD0357E ==> ' FLD0357E + DISPLAY 'EXPECTED ==> ' XPC-FLD0357E. + IF FLD0358B (1:) NOT EQUAL XPC-FLD0358B + DISPLAY 'FLD0358B ==> ' HEX-OF (FLD0358B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0358B). + IF FLD0358E NOT EQUAL XPC-FLD0358E + DISPLAY 'FLD0358E ==> ' FLD0358E + DISPLAY 'EXPECTED ==> ' XPC-FLD0358E. + IF FLD0359B (1:) NOT EQUAL XPC-FLD0359B + DISPLAY 'FLD0359B ==> ' HEX-OF (FLD0359B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0359B). + IF FLD0359E NOT EQUAL XPC-FLD0359E + DISPLAY 'FLD0359E ==> ' FLD0359E + DISPLAY 'EXPECTED ==> ' XPC-FLD0359E. + IF FLD0360B (1:) NOT EQUAL XPC-FLD0360B + DISPLAY 'FLD0360B ==> ' HEX-OF (FLD0360B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0360B). + IF FLD0360E NOT EQUAL XPC-FLD0360E + DISPLAY 'FLD0360E ==> ' FLD0360E + DISPLAY 'EXPECTED ==> ' XPC-FLD0360E. + IF FLD0361B (1:) NOT EQUAL XPC-FLD0361B + DISPLAY 'FLD0361B ==> ' HEX-OF (FLD0361B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0361B). + IF FLD0361E NOT EQUAL XPC-FLD0361E + DISPLAY 'FLD0361E ==> ' FLD0361E + DISPLAY 'EXPECTED ==> ' XPC-FLD0361E. + IF FLD0362B (1:) NOT EQUAL XPC-FLD0362B + DISPLAY 'FLD0362B ==> ' HEX-OF (FLD0362B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0362B). + IF FLD0362E NOT EQUAL XPC-FLD0362E + DISPLAY 'FLD0362E ==> ' FLD0362E + DISPLAY 'EXPECTED ==> ' XPC-FLD0362E. + IF FLD0363B (1:) NOT EQUAL XPC-FLD0363B + DISPLAY 'FLD0363B ==> ' HEX-OF (FLD0363B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0363B). + IF FLD0363E NOT EQUAL XPC-FLD0363E + DISPLAY 'FLD0363E ==> ' FLD0363E + DISPLAY 'EXPECTED ==> ' XPC-FLD0363E. + IF FLD0364B (1:) NOT EQUAL XPC-FLD0364B + DISPLAY 'FLD0364B ==> ' HEX-OF (FLD0364B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0364B). + IF FLD0364E NOT EQUAL XPC-FLD0364E + DISPLAY 'FLD0364E ==> ' FLD0364E + DISPLAY 'EXPECTED ==> ' XPC-FLD0364E. + IF FLD0365B (1:) NOT EQUAL XPC-FLD0365B + DISPLAY 'FLD0365B ==> ' HEX-OF (FLD0365B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0365B). + IF FLD0365E NOT EQUAL XPC-FLD0365E + DISPLAY 'FLD0365E ==> ' FLD0365E + DISPLAY 'EXPECTED ==> ' XPC-FLD0365E. + IF FLD0366B (1:) NOT EQUAL XPC-FLD0366B + DISPLAY 'FLD0366B ==> ' HEX-OF (FLD0366B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0366B). + IF FLD0366E NOT EQUAL XPC-FLD0366E + DISPLAY 'FLD0366E ==> ' FLD0366E + DISPLAY 'EXPECTED ==> ' XPC-FLD0366E. + IF FLD0367B (1:) NOT EQUAL XPC-FLD0367B + DISPLAY 'FLD0367B ==> ' HEX-OF (FLD0367B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0367B). + IF FLD0367E NOT EQUAL XPC-FLD0367E + DISPLAY 'FLD0367E ==> ' FLD0367E + DISPLAY 'EXPECTED ==> ' XPC-FLD0367E. + IF FLD0368B (1:) NOT EQUAL XPC-FLD0368B + DISPLAY 'FLD0368B ==> ' HEX-OF (FLD0368B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0368B). + IF FLD0368E NOT EQUAL XPC-FLD0368E + DISPLAY 'FLD0368E ==> ' FLD0368E + DISPLAY 'EXPECTED ==> ' XPC-FLD0368E. + IF FLD0369B (1:) NOT EQUAL XPC-FLD0369B + DISPLAY 'FLD0369B ==> ' HEX-OF (FLD0369B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0369B). + IF FLD0369E NOT EQUAL XPC-FLD0369E + DISPLAY 'FLD0369E ==> ' FLD0369E + DISPLAY 'EXPECTED ==> ' XPC-FLD0369E. + IF FLD0370B (1:) NOT EQUAL XPC-FLD0370B + DISPLAY 'FLD0370B ==> ' HEX-OF (FLD0370B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0370B). + IF FLD0370E NOT EQUAL XPC-FLD0370E + DISPLAY 'FLD0370E ==> ' FLD0370E + DISPLAY 'EXPECTED ==> ' XPC-FLD0370E. + IF FLD0371B (1:) NOT EQUAL XPC-FLD0371B + DISPLAY 'FLD0371B ==> ' HEX-OF (FLD0371B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0371B). + IF FLD0371E NOT EQUAL XPC-FLD0371E + DISPLAY 'FLD0371E ==> ' FLD0371E + DISPLAY 'EXPECTED ==> ' XPC-FLD0371E. + IF FLD0372B (1:) NOT EQUAL XPC-FLD0372B + DISPLAY 'FLD0372B ==> ' HEX-OF (FLD0372B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0372B). + IF FLD0372E NOT EQUAL XPC-FLD0372E + DISPLAY 'FLD0372E ==> ' FLD0372E + DISPLAY 'EXPECTED ==> ' XPC-FLD0372E. + IF FLD0373B (1:) NOT EQUAL XPC-FLD0373B + DISPLAY 'FLD0373B ==> ' HEX-OF (FLD0373B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0373B). + IF FLD0373E NOT EQUAL XPC-FLD0373E + DISPLAY 'FLD0373E ==> ' FLD0373E + DISPLAY 'EXPECTED ==> ' XPC-FLD0373E. + IF FLD0374B (1:) NOT EQUAL XPC-FLD0374B + DISPLAY 'FLD0374B ==> ' HEX-OF (FLD0374B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0374B). + IF FLD0374E NOT EQUAL XPC-FLD0374E + DISPLAY 'FLD0374E ==> ' FLD0374E + DISPLAY 'EXPECTED ==> ' XPC-FLD0374E. + IF FLD0375B (1:) NOT EQUAL XPC-FLD0375B + DISPLAY 'FLD0375B ==> ' HEX-OF (FLD0375B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0375B). + IF FLD0375E NOT EQUAL XPC-FLD0375E + DISPLAY 'FLD0375E ==> ' FLD0375E + DISPLAY 'EXPECTED ==> ' XPC-FLD0375E. + IF FLD0376B (1:) NOT EQUAL XPC-FLD0376B + DISPLAY 'FLD0376B ==> ' HEX-OF (FLD0376B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0376B). + IF FLD0376E NOT EQUAL XPC-FLD0376E + DISPLAY 'FLD0376E ==> ' FLD0376E + DISPLAY 'EXPECTED ==> ' XPC-FLD0376E. + IF FLD0377B (1:) NOT EQUAL XPC-FLD0377B + DISPLAY 'FLD0377B ==> ' HEX-OF (FLD0377B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0377B). + IF FLD0377E NOT EQUAL XPC-FLD0377E + DISPLAY 'FLD0377E ==> ' FLD0377E + DISPLAY 'EXPECTED ==> ' XPC-FLD0377E. + IF FLD0378B (1:) NOT EQUAL XPC-FLD0378B + DISPLAY 'FLD0378B ==> ' HEX-OF (FLD0378B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0378B). + IF FLD0378E NOT EQUAL XPC-FLD0378E + DISPLAY 'FLD0378E ==> ' FLD0378E + DISPLAY 'EXPECTED ==> ' XPC-FLD0378E. + IF FLD0379B (1:) NOT EQUAL XPC-FLD0379B + DISPLAY 'FLD0379B ==> ' HEX-OF (FLD0379B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0379B). + IF FLD0379E NOT EQUAL XPC-FLD0379E + DISPLAY 'FLD0379E ==> ' FLD0379E + DISPLAY 'EXPECTED ==> ' XPC-FLD0379E. + IF FLD0380B (1:) NOT EQUAL XPC-FLD0380B + DISPLAY 'FLD0380B ==> ' HEX-OF (FLD0380B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0380B). + IF FLD0380E NOT EQUAL XPC-FLD0380E + DISPLAY 'FLD0380E ==> ' FLD0380E + DISPLAY 'EXPECTED ==> ' XPC-FLD0380E. + IF FLD0381B (1:) NOT EQUAL XPC-FLD0381B + DISPLAY 'FLD0381B ==> ' HEX-OF (FLD0381B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0381B). + IF FLD0381E NOT EQUAL XPC-FLD0381E + DISPLAY 'FLD0381E ==> ' FLD0381E + DISPLAY 'EXPECTED ==> ' XPC-FLD0381E. + IF FLD0382B (1:) NOT EQUAL XPC-FLD0382B + DISPLAY 'FLD0382B ==> ' HEX-OF (FLD0382B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0382B). + IF FLD0382E NOT EQUAL XPC-FLD0382E + DISPLAY 'FLD0382E ==> ' FLD0382E + DISPLAY 'EXPECTED ==> ' XPC-FLD0382E. + IF FLD0383B (1:) NOT EQUAL XPC-FLD0383B + DISPLAY 'FLD0383B ==> ' HEX-OF (FLD0383B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0383B). + IF FLD0383E NOT EQUAL XPC-FLD0383E + DISPLAY 'FLD0383E ==> ' FLD0383E + DISPLAY 'EXPECTED ==> ' XPC-FLD0383E. + IF FLD0384B (1:) NOT EQUAL XPC-FLD0384B + DISPLAY 'FLD0384B ==> ' HEX-OF (FLD0384B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0384B). + IF FLD0384E NOT EQUAL XPC-FLD0384E + DISPLAY 'FLD0384E ==> ' FLD0384E + DISPLAY 'EXPECTED ==> ' XPC-FLD0384E. + IF FLD0385B (1:) NOT EQUAL XPC-FLD0385B + DISPLAY 'FLD0385B ==> ' HEX-OF (FLD0385B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0385B). + IF FLD0385E NOT EQUAL XPC-FLD0385E + DISPLAY 'FLD0385E ==> ' FLD0385E + DISPLAY 'EXPECTED ==> ' XPC-FLD0385E. + IF FLD0386B (1:) NOT EQUAL XPC-FLD0386B + DISPLAY 'FLD0386B ==> ' HEX-OF (FLD0386B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0386B). + IF FLD0386E NOT EQUAL XPC-FLD0386E + DISPLAY 'FLD0386E ==> ' FLD0386E + DISPLAY 'EXPECTED ==> ' XPC-FLD0386E. + IF FLD0387B (1:) NOT EQUAL XPC-FLD0387B + DISPLAY 'FLD0387B ==> ' HEX-OF (FLD0387B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0387B). + IF FLD0387E NOT EQUAL XPC-FLD0387E + DISPLAY 'FLD0387E ==> ' FLD0387E + DISPLAY 'EXPECTED ==> ' XPC-FLD0387E. + IF FLD0388B (1:) NOT EQUAL XPC-FLD0388B + DISPLAY 'FLD0388B ==> ' HEX-OF (FLD0388B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0388B). + IF FLD0388E NOT EQUAL XPC-FLD0388E + DISPLAY 'FLD0388E ==> ' FLD0388E + DISPLAY 'EXPECTED ==> ' XPC-FLD0388E. + IF FLD0389B (1:) NOT EQUAL XPC-FLD0389B + DISPLAY 'FLD0389B ==> ' HEX-OF (FLD0389B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0389B). + IF FLD0389E NOT EQUAL XPC-FLD0389E + DISPLAY 'FLD0389E ==> ' FLD0389E + DISPLAY 'EXPECTED ==> ' XPC-FLD0389E. + IF FLD0390B (1:) NOT EQUAL XPC-FLD0390B + DISPLAY 'FLD0390B ==> ' HEX-OF (FLD0390B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0390B). + IF FLD0390E NOT EQUAL XPC-FLD0390E + DISPLAY 'FLD0390E ==> ' FLD0390E + DISPLAY 'EXPECTED ==> ' XPC-FLD0390E. + IF FLD0391B (1:) NOT EQUAL XPC-FLD0391B + DISPLAY 'FLD0391B ==> ' HEX-OF (FLD0391B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0391B). + IF FLD0391E NOT EQUAL XPC-FLD0391E + DISPLAY 'FLD0391E ==> ' FLD0391E + DISPLAY 'EXPECTED ==> ' XPC-FLD0391E. + IF FLD0392B (1:) NOT EQUAL XPC-FLD0392B + DISPLAY 'FLD0392B ==> ' HEX-OF (FLD0392B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0392B). + IF FLD0392E NOT EQUAL XPC-FLD0392E + DISPLAY 'FLD0392E ==> ' FLD0392E + DISPLAY 'EXPECTED ==> ' XPC-FLD0392E. + IF FLD0393B (1:) NOT EQUAL XPC-FLD0393B + DISPLAY 'FLD0393B ==> ' HEX-OF (FLD0393B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0393B). + IF FLD0393E NOT EQUAL XPC-FLD0393E + DISPLAY 'FLD0393E ==> ' FLD0393E + DISPLAY 'EXPECTED ==> ' XPC-FLD0393E. + IF FLD0394B (1:) NOT EQUAL XPC-FLD0394B + DISPLAY 'FLD0394B ==> ' HEX-OF (FLD0394B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0394B). + IF FLD0394E NOT EQUAL XPC-FLD0394E + DISPLAY 'FLD0394E ==> ' FLD0394E + DISPLAY 'EXPECTED ==> ' XPC-FLD0394E. + IF FLD0395B (1:) NOT EQUAL XPC-FLD0395B + DISPLAY 'FLD0395B ==> ' HEX-OF (FLD0395B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0395B). + IF FLD0395E NOT EQUAL XPC-FLD0395E + DISPLAY 'FLD0395E ==> ' FLD0395E + DISPLAY 'EXPECTED ==> ' XPC-FLD0395E. + IF FLD0396B (1:) NOT EQUAL XPC-FLD0396B + DISPLAY 'FLD0396B ==> ' HEX-OF (FLD0396B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0396B). + IF FLD0396E NOT EQUAL XPC-FLD0396E + DISPLAY 'FLD0396E ==> ' FLD0396E + DISPLAY 'EXPECTED ==> ' XPC-FLD0396E. + IF FLD0397B (1:) NOT EQUAL XPC-FLD0397B + DISPLAY 'FLD0397B ==> ' HEX-OF (FLD0397B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0397B). + IF FLD0397E NOT EQUAL XPC-FLD0397E + DISPLAY 'FLD0397E ==> ' FLD0397E + DISPLAY 'EXPECTED ==> ' XPC-FLD0397E. + IF FLD0398B (1:) NOT EQUAL XPC-FLD0398B + DISPLAY 'FLD0398B ==> ' HEX-OF (FLD0398B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0398B). + IF FLD0398E NOT EQUAL XPC-FLD0398E + DISPLAY 'FLD0398E ==> ' FLD0398E + DISPLAY 'EXPECTED ==> ' XPC-FLD0398E. + IF FLD0399B (1:) NOT EQUAL XPC-FLD0399B + DISPLAY 'FLD0399B ==> ' HEX-OF (FLD0399B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0399B). + IF FLD0399E NOT EQUAL XPC-FLD0399E + DISPLAY 'FLD0399E ==> ' FLD0399E + DISPLAY 'EXPECTED ==> ' XPC-FLD0399E. + IF FLD0400B (1:) NOT EQUAL XPC-FLD0400B + DISPLAY 'FLD0400B ==> ' HEX-OF (FLD0400B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0400B). + IF FLD0400E NOT EQUAL XPC-FLD0400E + DISPLAY 'FLD0400E ==> ' FLD0400E + DISPLAY 'EXPECTED ==> ' XPC-FLD0400E. + IF FLD0401B (1:) NOT EQUAL XPC-FLD0401B + DISPLAY 'FLD0401B ==> ' HEX-OF (FLD0401B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0401B). + IF FLD0401E NOT EQUAL XPC-FLD0401E + DISPLAY 'FLD0401E ==> ' FLD0401E + DISPLAY 'EXPECTED ==> ' XPC-FLD0401E. + IF FLD0402B (1:) NOT EQUAL XPC-FLD0402B + DISPLAY 'FLD0402B ==> ' HEX-OF (FLD0402B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0402B). + IF FLD0402E NOT EQUAL XPC-FLD0402E + DISPLAY 'FLD0402E ==> ' FLD0402E + DISPLAY 'EXPECTED ==> ' XPC-FLD0402E. + IF FLD0403B (1:) NOT EQUAL XPC-FLD0403B + DISPLAY 'FLD0403B ==> ' HEX-OF (FLD0403B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0403B). + IF FLD0403E NOT EQUAL XPC-FLD0403E + DISPLAY 'FLD0403E ==> ' FLD0403E + DISPLAY 'EXPECTED ==> ' XPC-FLD0403E. + IF FLD0404B (1:) NOT EQUAL XPC-FLD0404B + DISPLAY 'FLD0404B ==> ' HEX-OF (FLD0404B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0404B). + IF FLD0404E NOT EQUAL XPC-FLD0404E + DISPLAY 'FLD0404E ==> ' FLD0404E + DISPLAY 'EXPECTED ==> ' XPC-FLD0404E. + IF FLD0405B (1:) NOT EQUAL XPC-FLD0405B + DISPLAY 'FLD0405B ==> ' HEX-OF (FLD0405B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0405B). + IF FLD0405E NOT EQUAL XPC-FLD0405E + DISPLAY 'FLD0405E ==> ' FLD0405E + DISPLAY 'EXPECTED ==> ' XPC-FLD0405E. + IF FLD0406B (1:) NOT EQUAL XPC-FLD0406B + DISPLAY 'FLD0406B ==> ' HEX-OF (FLD0406B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0406B). + IF FLD0406E NOT EQUAL XPC-FLD0406E + DISPLAY 'FLD0406E ==> ' FLD0406E + DISPLAY 'EXPECTED ==> ' XPC-FLD0406E. + IF FLD0407B (1:) NOT EQUAL XPC-FLD0407B + DISPLAY 'FLD0407B ==> ' HEX-OF (FLD0407B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0407B). + IF FLD0407E NOT EQUAL XPC-FLD0407E + DISPLAY 'FLD0407E ==> ' FLD0407E + DISPLAY 'EXPECTED ==> ' XPC-FLD0407E. + IF FLD0408B (1:) NOT EQUAL XPC-FLD0408B + DISPLAY 'FLD0408B ==> ' HEX-OF (FLD0408B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0408B). + IF FLD0408E NOT EQUAL XPC-FLD0408E + DISPLAY 'FLD0408E ==> ' FLD0408E + DISPLAY 'EXPECTED ==> ' XPC-FLD0408E. + IF FLD0409B (1:) NOT EQUAL XPC-FLD0409B + DISPLAY 'FLD0409B ==> ' HEX-OF (FLD0409B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0409B). + IF FLD0409E NOT EQUAL XPC-FLD0409E + DISPLAY 'FLD0409E ==> ' FLD0409E + DISPLAY 'EXPECTED ==> ' XPC-FLD0409E. + IF FLD0410B (1:) NOT EQUAL XPC-FLD0410B + DISPLAY 'FLD0410B ==> ' HEX-OF (FLD0410B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0410B). + IF FLD0410E NOT EQUAL XPC-FLD0410E + DISPLAY 'FLD0410E ==> ' FLD0410E + DISPLAY 'EXPECTED ==> ' XPC-FLD0410E. + IF FLD0411B (1:) NOT EQUAL XPC-FLD0411B + DISPLAY 'FLD0411B ==> ' HEX-OF (FLD0411B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0411B). + IF FLD0411E NOT EQUAL XPC-FLD0411E + DISPLAY 'FLD0411E ==> ' FLD0411E + DISPLAY 'EXPECTED ==> ' XPC-FLD0411E. + IF FLD0412B (1:) NOT EQUAL XPC-FLD0412B + DISPLAY 'FLD0412B ==> ' HEX-OF (FLD0412B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0412B). + IF FLD0412E NOT EQUAL XPC-FLD0412E + DISPLAY 'FLD0412E ==> ' FLD0412E + DISPLAY 'EXPECTED ==> ' XPC-FLD0412E. + IF FLD0413B (1:) NOT EQUAL XPC-FLD0413B + DISPLAY 'FLD0413B ==> ' HEX-OF (FLD0413B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0413B). + IF FLD0413E NOT EQUAL XPC-FLD0413E + DISPLAY 'FLD0413E ==> ' FLD0413E + DISPLAY 'EXPECTED ==> ' XPC-FLD0413E. + IF FLD0414B (1:) NOT EQUAL XPC-FLD0414B + DISPLAY 'FLD0414B ==> ' HEX-OF (FLD0414B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0414B). + IF FLD0414E NOT EQUAL XPC-FLD0414E + DISPLAY 'FLD0414E ==> ' FLD0414E + DISPLAY 'EXPECTED ==> ' XPC-FLD0414E. + IF FLD0415B (1:) NOT EQUAL XPC-FLD0415B + DISPLAY 'FLD0415B ==> ' HEX-OF (FLD0415B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0415B). + IF FLD0415E NOT EQUAL XPC-FLD0415E + DISPLAY 'FLD0415E ==> ' FLD0415E + DISPLAY 'EXPECTED ==> ' XPC-FLD0415E. + IF FLD0416B (1:) NOT EQUAL XPC-FLD0416B + DISPLAY 'FLD0416B ==> ' HEX-OF (FLD0416B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0416B). + IF FLD0416E NOT EQUAL XPC-FLD0416E + DISPLAY 'FLD0416E ==> ' FLD0416E + DISPLAY 'EXPECTED ==> ' XPC-FLD0416E. + IF FLD0417B (1:) NOT EQUAL XPC-FLD0417B + DISPLAY 'FLD0417B ==> ' HEX-OF (FLD0417B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0417B). + IF FLD0417E NOT EQUAL XPC-FLD0417E + DISPLAY 'FLD0417E ==> ' FLD0417E + DISPLAY 'EXPECTED ==> ' XPC-FLD0417E. + IF FLD0418B (1:) NOT EQUAL XPC-FLD0418B + DISPLAY 'FLD0418B ==> ' HEX-OF (FLD0418B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0418B). + IF FLD0418E NOT EQUAL XPC-FLD0418E + DISPLAY 'FLD0418E ==> ' FLD0418E + DISPLAY 'EXPECTED ==> ' XPC-FLD0418E. + IF FLD0419B (1:) NOT EQUAL XPC-FLD0419B + DISPLAY 'FLD0419B ==> ' HEX-OF (FLD0419B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0419B). + IF FLD0419E NOT EQUAL XPC-FLD0419E + DISPLAY 'FLD0419E ==> ' FLD0419E + DISPLAY 'EXPECTED ==> ' XPC-FLD0419E. + IF FLD0420B (1:) NOT EQUAL XPC-FLD0420B + DISPLAY 'FLD0420B ==> ' HEX-OF (FLD0420B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0420B). + IF FLD0420E NOT EQUAL XPC-FLD0420E + DISPLAY 'FLD0420E ==> ' FLD0420E + DISPLAY 'EXPECTED ==> ' XPC-FLD0420E. + IF FLD0421B (1:) NOT EQUAL XPC-FLD0421B + DISPLAY 'FLD0421B ==> ' HEX-OF (FLD0421B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0421B). + IF FLD0421E NOT EQUAL XPC-FLD0421E + DISPLAY 'FLD0421E ==> ' FLD0421E + DISPLAY 'EXPECTED ==> ' XPC-FLD0421E. + IF FLD0422B (1:) NOT EQUAL XPC-FLD0422B + DISPLAY 'FLD0422B ==> ' HEX-OF (FLD0422B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0422B). + IF FLD0422E NOT EQUAL XPC-FLD0422E + DISPLAY 'FLD0422E ==> ' FLD0422E + DISPLAY 'EXPECTED ==> ' XPC-FLD0422E. + IF FLD0423B (1:) NOT EQUAL XPC-FLD0423B + DISPLAY 'FLD0423B ==> ' HEX-OF (FLD0423B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0423B). + IF FLD0423E NOT EQUAL XPC-FLD0423E + DISPLAY 'FLD0423E ==> ' FLD0423E + DISPLAY 'EXPECTED ==> ' XPC-FLD0423E. + IF FLD0424B (1:) NOT EQUAL XPC-FLD0424B + DISPLAY 'FLD0424B ==> ' HEX-OF (FLD0424B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0424B). + IF FLD0424E NOT EQUAL XPC-FLD0424E + DISPLAY 'FLD0424E ==> ' FLD0424E + DISPLAY 'EXPECTED ==> ' XPC-FLD0424E. + IF FLD0425B (1:) NOT EQUAL XPC-FLD0425B + DISPLAY 'FLD0425B ==> ' HEX-OF (FLD0425B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0425B). + IF FLD0425E NOT EQUAL XPC-FLD0425E + DISPLAY 'FLD0425E ==> ' FLD0425E + DISPLAY 'EXPECTED ==> ' XPC-FLD0425E. + IF FLD0426B (1:) NOT EQUAL XPC-FLD0426B + DISPLAY 'FLD0426B ==> ' HEX-OF (FLD0426B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0426B). + IF FLD0426E NOT EQUAL XPC-FLD0426E + DISPLAY 'FLD0426E ==> ' FLD0426E + DISPLAY 'EXPECTED ==> ' XPC-FLD0426E. + IF FLD0427B (1:) NOT EQUAL XPC-FLD0427B + DISPLAY 'FLD0427B ==> ' HEX-OF (FLD0427B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0427B). + IF FLD0427E NOT EQUAL XPC-FLD0427E + DISPLAY 'FLD0427E ==> ' FLD0427E + DISPLAY 'EXPECTED ==> ' XPC-FLD0427E. + IF FLD0428B (1:) NOT EQUAL XPC-FLD0428B + DISPLAY 'FLD0428B ==> ' HEX-OF (FLD0428B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0428B). + IF FLD0428E NOT EQUAL XPC-FLD0428E + DISPLAY 'FLD0428E ==> ' FLD0428E + DISPLAY 'EXPECTED ==> ' XPC-FLD0428E. + IF FLD0429B (1:) NOT EQUAL XPC-FLD0429B + DISPLAY 'FLD0429B ==> ' HEX-OF (FLD0429B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0429B). + IF FLD0429E NOT EQUAL XPC-FLD0429E + DISPLAY 'FLD0429E ==> ' FLD0429E + DISPLAY 'EXPECTED ==> ' XPC-FLD0429E. + IF FLD0430B (1:) NOT EQUAL XPC-FLD0430B + DISPLAY 'FLD0430B ==> ' HEX-OF (FLD0430B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0430B). + IF FLD0430E NOT EQUAL XPC-FLD0430E + DISPLAY 'FLD0430E ==> ' FLD0430E + DISPLAY 'EXPECTED ==> ' XPC-FLD0430E. + IF FLD0431B (1:) NOT EQUAL XPC-FLD0431B + DISPLAY 'FLD0431B ==> ' HEX-OF (FLD0431B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0431B). + IF FLD0431E NOT EQUAL XPC-FLD0431E + DISPLAY 'FLD0431E ==> ' FLD0431E + DISPLAY 'EXPECTED ==> ' XPC-FLD0431E. + IF FLD0432B (1:) NOT EQUAL XPC-FLD0432B + DISPLAY 'FLD0432B ==> ' HEX-OF (FLD0432B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0432B). + IF FLD0432E NOT EQUAL XPC-FLD0432E + DISPLAY 'FLD0432E ==> ' FLD0432E + DISPLAY 'EXPECTED ==> ' XPC-FLD0432E. + IF FLD0433B (1:) NOT EQUAL XPC-FLD0433B + DISPLAY 'FLD0433B ==> ' HEX-OF (FLD0433B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0433B). + IF FLD0433E NOT EQUAL XPC-FLD0433E + DISPLAY 'FLD0433E ==> ' FLD0433E + DISPLAY 'EXPECTED ==> ' XPC-FLD0433E. + IF FLD0434B (1:) NOT EQUAL XPC-FLD0434B + DISPLAY 'FLD0434B ==> ' HEX-OF (FLD0434B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0434B). + IF FLD0434E NOT EQUAL XPC-FLD0434E + DISPLAY 'FLD0434E ==> ' FLD0434E + DISPLAY 'EXPECTED ==> ' XPC-FLD0434E. + IF FLD0435B (1:) NOT EQUAL XPC-FLD0435B + DISPLAY 'FLD0435B ==> ' HEX-OF (FLD0435B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0435B). + IF FLD0435E NOT EQUAL XPC-FLD0435E + DISPLAY 'FLD0435E ==> ' FLD0435E + DISPLAY 'EXPECTED ==> ' XPC-FLD0435E. + IF FLD0436B (1:) NOT EQUAL XPC-FLD0436B + DISPLAY 'FLD0436B ==> ' HEX-OF (FLD0436B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0436B). + IF FLD0436E NOT EQUAL XPC-FLD0436E + DISPLAY 'FLD0436E ==> ' FLD0436E + DISPLAY 'EXPECTED ==> ' XPC-FLD0436E. + IF FLD0437B (1:) NOT EQUAL XPC-FLD0437B + DISPLAY 'FLD0437B ==> ' HEX-OF (FLD0437B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0437B). + IF FLD0437E NOT EQUAL XPC-FLD0437E + DISPLAY 'FLD0437E ==> ' FLD0437E + DISPLAY 'EXPECTED ==> ' XPC-FLD0437E. + IF FLD0438B (1:) NOT EQUAL XPC-FLD0438B + DISPLAY 'FLD0438B ==> ' HEX-OF (FLD0438B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0438B). + IF FLD0438E NOT EQUAL XPC-FLD0438E + DISPLAY 'FLD0438E ==> ' FLD0438E + DISPLAY 'EXPECTED ==> ' XPC-FLD0438E. + IF FLD0439B (1:) NOT EQUAL XPC-FLD0439B + DISPLAY 'FLD0439B ==> ' HEX-OF (FLD0439B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0439B). + IF FLD0439E NOT EQUAL XPC-FLD0439E + DISPLAY 'FLD0439E ==> ' FLD0439E + DISPLAY 'EXPECTED ==> ' XPC-FLD0439E. + IF FLD0440B (1:) NOT EQUAL XPC-FLD0440B + DISPLAY 'FLD0440B ==> ' HEX-OF (FLD0440B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0440B). + IF FLD0440E NOT EQUAL XPC-FLD0440E + DISPLAY 'FLD0440E ==> ' FLD0440E + DISPLAY 'EXPECTED ==> ' XPC-FLD0440E. + IF FLD0441B (1:) NOT EQUAL XPC-FLD0441B + DISPLAY 'FLD0441B ==> ' HEX-OF (FLD0441B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0441B). + IF FLD0441E NOT EQUAL XPC-FLD0441E + DISPLAY 'FLD0441E ==> ' FLD0441E + DISPLAY 'EXPECTED ==> ' XPC-FLD0441E. + IF FLD0442B (1:) NOT EQUAL XPC-FLD0442B + DISPLAY 'FLD0442B ==> ' HEX-OF (FLD0442B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0442B). + IF FLD0442E NOT EQUAL XPC-FLD0442E + DISPLAY 'FLD0442E ==> ' FLD0442E + DISPLAY 'EXPECTED ==> ' XPC-FLD0442E. + IF FLD0443B (1:) NOT EQUAL XPC-FLD0443B + DISPLAY 'FLD0443B ==> ' HEX-OF (FLD0443B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0443B). + IF FLD0443E NOT EQUAL XPC-FLD0443E + DISPLAY 'FLD0443E ==> ' FLD0443E + DISPLAY 'EXPECTED ==> ' XPC-FLD0443E. + IF FLD0444B (1:) NOT EQUAL XPC-FLD0444B + DISPLAY 'FLD0444B ==> ' HEX-OF (FLD0444B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0444B). + IF FLD0444E NOT EQUAL XPC-FLD0444E + DISPLAY 'FLD0444E ==> ' FLD0444E + DISPLAY 'EXPECTED ==> ' XPC-FLD0444E. + IF FLD0445B (1:) NOT EQUAL XPC-FLD0445B + DISPLAY 'FLD0445B ==> ' HEX-OF (FLD0445B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0445B). + IF FLD0445E NOT EQUAL XPC-FLD0445E + DISPLAY 'FLD0445E ==> ' FLD0445E + DISPLAY 'EXPECTED ==> ' XPC-FLD0445E. + IF FLD0446B (1:) NOT EQUAL XPC-FLD0446B + DISPLAY 'FLD0446B ==> ' HEX-OF (FLD0446B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0446B). + IF FLD0446E NOT EQUAL XPC-FLD0446E + DISPLAY 'FLD0446E ==> ' FLD0446E + DISPLAY 'EXPECTED ==> ' XPC-FLD0446E. + IF FLD0447B (1:) NOT EQUAL XPC-FLD0447B + DISPLAY 'FLD0447B ==> ' HEX-OF (FLD0447B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0447B). + IF FLD0447E NOT EQUAL XPC-FLD0447E + DISPLAY 'FLD0447E ==> ' FLD0447E + DISPLAY 'EXPECTED ==> ' XPC-FLD0447E. + IF FLD0448B (1:) NOT EQUAL XPC-FLD0448B + DISPLAY 'FLD0448B ==> ' HEX-OF (FLD0448B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0448B). + IF FLD0448E NOT EQUAL XPC-FLD0448E + DISPLAY 'FLD0448E ==> ' FLD0448E + DISPLAY 'EXPECTED ==> ' XPC-FLD0448E. + IF FLD0449B (1:) NOT EQUAL XPC-FLD0449B + DISPLAY 'FLD0449B ==> ' HEX-OF (FLD0449B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0449B). + IF FLD0449E NOT EQUAL XPC-FLD0449E + DISPLAY 'FLD0449E ==> ' FLD0449E + DISPLAY 'EXPECTED ==> ' XPC-FLD0449E. + IF FLD0450B (1:) NOT EQUAL XPC-FLD0450B + DISPLAY 'FLD0450B ==> ' HEX-OF (FLD0450B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0450B). + IF FLD0450E NOT EQUAL XPC-FLD0450E + DISPLAY 'FLD0450E ==> ' FLD0450E + DISPLAY 'EXPECTED ==> ' XPC-FLD0450E. + IF FLD0451B (1:) NOT EQUAL XPC-FLD0451B + DISPLAY 'FLD0451B ==> ' HEX-OF (FLD0451B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0451B). + IF FLD0451E NOT EQUAL XPC-FLD0451E + DISPLAY 'FLD0451E ==> ' FLD0451E + DISPLAY 'EXPECTED ==> ' XPC-FLD0451E. + IF FLD0452B (1:) NOT EQUAL XPC-FLD0452B + DISPLAY 'FLD0452B ==> ' HEX-OF (FLD0452B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0452B). + IF FLD0452E NOT EQUAL XPC-FLD0452E + DISPLAY 'FLD0452E ==> ' FLD0452E + DISPLAY 'EXPECTED ==> ' XPC-FLD0452E. + IF FLD0453B (1:) NOT EQUAL XPC-FLD0453B + DISPLAY 'FLD0453B ==> ' HEX-OF (FLD0453B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0453B). + IF FLD0453E NOT EQUAL XPC-FLD0453E + DISPLAY 'FLD0453E ==> ' FLD0453E + DISPLAY 'EXPECTED ==> ' XPC-FLD0453E. + IF FLD0454B (1:) NOT EQUAL XPC-FLD0454B + DISPLAY 'FLD0454B ==> ' HEX-OF (FLD0454B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0454B). + IF FLD0454E NOT EQUAL XPC-FLD0454E + DISPLAY 'FLD0454E ==> ' FLD0454E + DISPLAY 'EXPECTED ==> ' XPC-FLD0454E. + IF FLD0455B (1:) NOT EQUAL XPC-FLD0455B + DISPLAY 'FLD0455B ==> ' HEX-OF (FLD0455B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0455B). + IF FLD0455E NOT EQUAL XPC-FLD0455E + DISPLAY 'FLD0455E ==> ' FLD0455E + DISPLAY 'EXPECTED ==> ' XPC-FLD0455E. + IF FLD0456B (1:) NOT EQUAL XPC-FLD0456B + DISPLAY 'FLD0456B ==> ' HEX-OF (FLD0456B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0456B). + IF FLD0456E NOT EQUAL XPC-FLD0456E + DISPLAY 'FLD0456E ==> ' FLD0456E + DISPLAY 'EXPECTED ==> ' XPC-FLD0456E. + IF FLD0457B (1:) NOT EQUAL XPC-FLD0457B + DISPLAY 'FLD0457B ==> ' HEX-OF (FLD0457B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0457B). + IF FLD0457E NOT EQUAL XPC-FLD0457E + DISPLAY 'FLD0457E ==> ' FLD0457E + DISPLAY 'EXPECTED ==> ' XPC-FLD0457E. + IF FLD0458B (1:) NOT EQUAL XPC-FLD0458B + DISPLAY 'FLD0458B ==> ' HEX-OF (FLD0458B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0458B). + IF FLD0458E NOT EQUAL XPC-FLD0458E + DISPLAY 'FLD0458E ==> ' FLD0458E + DISPLAY 'EXPECTED ==> ' XPC-FLD0458E. + IF FLD0459B (1:) NOT EQUAL XPC-FLD0459B + DISPLAY 'FLD0459B ==> ' HEX-OF (FLD0459B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0459B). + IF FLD0459E NOT EQUAL XPC-FLD0459E + DISPLAY 'FLD0459E ==> ' FLD0459E + DISPLAY 'EXPECTED ==> ' XPC-FLD0459E. + IF FLD0460B (1:) NOT EQUAL XPC-FLD0460B + DISPLAY 'FLD0460B ==> ' HEX-OF (FLD0460B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0460B). + IF FLD0460E NOT EQUAL XPC-FLD0460E + DISPLAY 'FLD0460E ==> ' FLD0460E + DISPLAY 'EXPECTED ==> ' XPC-FLD0460E. + IF FLD0461B (1:) NOT EQUAL XPC-FLD0461B + DISPLAY 'FLD0461B ==> ' HEX-OF (FLD0461B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0461B). + IF FLD0461E NOT EQUAL XPC-FLD0461E + DISPLAY 'FLD0461E ==> ' FLD0461E + DISPLAY 'EXPECTED ==> ' XPC-FLD0461E. + IF FLD0462B (1:) NOT EQUAL XPC-FLD0462B + DISPLAY 'FLD0462B ==> ' HEX-OF (FLD0462B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0462B). + IF FLD0462E NOT EQUAL XPC-FLD0462E + DISPLAY 'FLD0462E ==> ' FLD0462E + DISPLAY 'EXPECTED ==> ' XPC-FLD0462E. + IF FLD0463B (1:) NOT EQUAL XPC-FLD0463B + DISPLAY 'FLD0463B ==> ' HEX-OF (FLD0463B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0463B). + IF FLD0463E NOT EQUAL XPC-FLD0463E + DISPLAY 'FLD0463E ==> ' FLD0463E + DISPLAY 'EXPECTED ==> ' XPC-FLD0463E. + IF FLD0464B (1:) NOT EQUAL XPC-FLD0464B + DISPLAY 'FLD0464B ==> ' HEX-OF (FLD0464B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0464B). + IF FLD0464E NOT EQUAL XPC-FLD0464E + DISPLAY 'FLD0464E ==> ' FLD0464E + DISPLAY 'EXPECTED ==> ' XPC-FLD0464E. + IF FLD0465B (1:) NOT EQUAL XPC-FLD0465B + DISPLAY 'FLD0465B ==> ' HEX-OF (FLD0465B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0465B). + IF FLD0465E NOT EQUAL XPC-FLD0465E + DISPLAY 'FLD0465E ==> ' FLD0465E + DISPLAY 'EXPECTED ==> ' XPC-FLD0465E. + IF FLD0466B (1:) NOT EQUAL XPC-FLD0466B + DISPLAY 'FLD0466B ==> ' HEX-OF (FLD0466B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0466B). + IF FLD0466E NOT EQUAL XPC-FLD0466E + DISPLAY 'FLD0466E ==> ' FLD0466E + DISPLAY 'EXPECTED ==> ' XPC-FLD0466E. + IF FLD0467B (1:) NOT EQUAL XPC-FLD0467B + DISPLAY 'FLD0467B ==> ' HEX-OF (FLD0467B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0467B). + IF FLD0467E NOT EQUAL XPC-FLD0467E + DISPLAY 'FLD0467E ==> ' FLD0467E + DISPLAY 'EXPECTED ==> ' XPC-FLD0467E. + IF FLD0468B (1:) NOT EQUAL XPC-FLD0468B + DISPLAY 'FLD0468B ==> ' HEX-OF (FLD0468B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0468B). + IF FLD0468E NOT EQUAL XPC-FLD0468E + DISPLAY 'FLD0468E ==> ' FLD0468E + DISPLAY 'EXPECTED ==> ' XPC-FLD0468E. + IF FLD0469B (1:) NOT EQUAL XPC-FLD0469B + DISPLAY 'FLD0469B ==> ' HEX-OF (FLD0469B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0469B). + IF FLD0469E NOT EQUAL XPC-FLD0469E + DISPLAY 'FLD0469E ==> ' FLD0469E + DISPLAY 'EXPECTED ==> ' XPC-FLD0469E. + IF FLD0470B (1:) NOT EQUAL XPC-FLD0470B + DISPLAY 'FLD0470B ==> ' HEX-OF (FLD0470B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0470B). + IF FLD0470E NOT EQUAL XPC-FLD0470E + DISPLAY 'FLD0470E ==> ' FLD0470E + DISPLAY 'EXPECTED ==> ' XPC-FLD0470E. + IF FLD0471B (1:) NOT EQUAL XPC-FLD0471B + DISPLAY 'FLD0471B ==> ' HEX-OF (FLD0471B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0471B). + IF FLD0471E NOT EQUAL XPC-FLD0471E + DISPLAY 'FLD0471E ==> ' FLD0471E + DISPLAY 'EXPECTED ==> ' XPC-FLD0471E. + IF FLD0472B (1:) NOT EQUAL XPC-FLD0472B + DISPLAY 'FLD0472B ==> ' HEX-OF (FLD0472B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0472B). + IF FLD0472E NOT EQUAL XPC-FLD0472E + DISPLAY 'FLD0472E ==> ' FLD0472E + DISPLAY 'EXPECTED ==> ' XPC-FLD0472E. + IF FLD0473B (1:) NOT EQUAL XPC-FLD0473B + DISPLAY 'FLD0473B ==> ' HEX-OF (FLD0473B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0473B). + IF FLD0473E NOT EQUAL XPC-FLD0473E + DISPLAY 'FLD0473E ==> ' FLD0473E + DISPLAY 'EXPECTED ==> ' XPC-FLD0473E. + IF FLD0474B (1:) NOT EQUAL XPC-FLD0474B + DISPLAY 'FLD0474B ==> ' HEX-OF (FLD0474B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0474B). + IF FLD0474E NOT EQUAL XPC-FLD0474E + DISPLAY 'FLD0474E ==> ' FLD0474E + DISPLAY 'EXPECTED ==> ' XPC-FLD0474E. + IF FLD0475B (1:) NOT EQUAL XPC-FLD0475B + DISPLAY 'FLD0475B ==> ' HEX-OF (FLD0475B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0475B). + IF FLD0475E NOT EQUAL XPC-FLD0475E + DISPLAY 'FLD0475E ==> ' FLD0475E + DISPLAY 'EXPECTED ==> ' XPC-FLD0475E. + IF FLD0476B (1:) NOT EQUAL XPC-FLD0476B + DISPLAY 'FLD0476B ==> ' HEX-OF (FLD0476B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0476B). + IF FLD0476E NOT EQUAL XPC-FLD0476E + DISPLAY 'FLD0476E ==> ' FLD0476E + DISPLAY 'EXPECTED ==> ' XPC-FLD0476E. + IF FLD0477B (1:) NOT EQUAL XPC-FLD0477B + DISPLAY 'FLD0477B ==> ' HEX-OF (FLD0477B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0477B). + IF FLD0477E NOT EQUAL XPC-FLD0477E + DISPLAY 'FLD0477E ==> ' FLD0477E + DISPLAY 'EXPECTED ==> ' XPC-FLD0477E. + IF FLD0478B (1:) NOT EQUAL XPC-FLD0478B + DISPLAY 'FLD0478B ==> ' HEX-OF (FLD0478B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0478B). + IF FLD0478E NOT EQUAL XPC-FLD0478E + DISPLAY 'FLD0478E ==> ' FLD0478E + DISPLAY 'EXPECTED ==> ' XPC-FLD0478E. + IF FLD0479B (1:) NOT EQUAL XPC-FLD0479B + DISPLAY 'FLD0479B ==> ' HEX-OF (FLD0479B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0479B). + IF FLD0479E NOT EQUAL XPC-FLD0479E + DISPLAY 'FLD0479E ==> ' FLD0479E + DISPLAY 'EXPECTED ==> ' XPC-FLD0479E. + IF FLD0480B (1:) NOT EQUAL XPC-FLD0480B + DISPLAY 'FLD0480B ==> ' HEX-OF (FLD0480B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0480B). + IF FLD0480E NOT EQUAL XPC-FLD0480E + DISPLAY 'FLD0480E ==> ' FLD0480E + DISPLAY 'EXPECTED ==> ' XPC-FLD0480E. + IF FLD0481B (1:) NOT EQUAL XPC-FLD0481B + DISPLAY 'FLD0481B ==> ' HEX-OF (FLD0481B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0481B). + IF FLD0481E NOT EQUAL XPC-FLD0481E + DISPLAY 'FLD0481E ==> ' FLD0481E + DISPLAY 'EXPECTED ==> ' XPC-FLD0481E. + IF FLD0482B (1:) NOT EQUAL XPC-FLD0482B + DISPLAY 'FLD0482B ==> ' HEX-OF (FLD0482B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0482B). + IF FLD0482E NOT EQUAL XPC-FLD0482E + DISPLAY 'FLD0482E ==> ' FLD0482E + DISPLAY 'EXPECTED ==> ' XPC-FLD0482E. + IF FLD0483B (1:) NOT EQUAL XPC-FLD0483B + DISPLAY 'FLD0483B ==> ' HEX-OF (FLD0483B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0483B). + IF FLD0483E NOT EQUAL XPC-FLD0483E + DISPLAY 'FLD0483E ==> ' FLD0483E + DISPLAY 'EXPECTED ==> ' XPC-FLD0483E. + IF FLD0484B (1:) NOT EQUAL XPC-FLD0484B + DISPLAY 'FLD0484B ==> ' HEX-OF (FLD0484B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0484B). + IF FLD0484E NOT EQUAL XPC-FLD0484E + DISPLAY 'FLD0484E ==> ' FLD0484E + DISPLAY 'EXPECTED ==> ' XPC-FLD0484E. + IF FLD0485B (1:) NOT EQUAL XPC-FLD0485B + DISPLAY 'FLD0485B ==> ' HEX-OF (FLD0485B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0485B). + IF FLD0485E NOT EQUAL XPC-FLD0485E + DISPLAY 'FLD0485E ==> ' FLD0485E + DISPLAY 'EXPECTED ==> ' XPC-FLD0485E. + IF FLD0486B (1:) NOT EQUAL XPC-FLD0486B + DISPLAY 'FLD0486B ==> ' HEX-OF (FLD0486B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0486B). + IF FLD0486E NOT EQUAL XPC-FLD0486E + DISPLAY 'FLD0486E ==> ' FLD0486E + DISPLAY 'EXPECTED ==> ' XPC-FLD0486E. + IF FLD0487B (1:) NOT EQUAL XPC-FLD0487B + DISPLAY 'FLD0487B ==> ' HEX-OF (FLD0487B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0487B). + IF FLD0487E NOT EQUAL XPC-FLD0487E + DISPLAY 'FLD0487E ==> ' FLD0487E + DISPLAY 'EXPECTED ==> ' XPC-FLD0487E. + IF FLD0488B (1:) NOT EQUAL XPC-FLD0488B + DISPLAY 'FLD0488B ==> ' HEX-OF (FLD0488B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0488B). + IF FLD0488E NOT EQUAL XPC-FLD0488E + DISPLAY 'FLD0488E ==> ' FLD0488E + DISPLAY 'EXPECTED ==> ' XPC-FLD0488E. + IF FLD0489B (1:) NOT EQUAL XPC-FLD0489B + DISPLAY 'FLD0489B ==> ' HEX-OF (FLD0489B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0489B). + IF FLD0489E NOT EQUAL XPC-FLD0489E + DISPLAY 'FLD0489E ==> ' FLD0489E + DISPLAY 'EXPECTED ==> ' XPC-FLD0489E. + IF FLD0490B (1:) NOT EQUAL XPC-FLD0490B + DISPLAY 'FLD0490B ==> ' HEX-OF (FLD0490B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0490B). + IF FLD0490E NOT EQUAL XPC-FLD0490E + DISPLAY 'FLD0490E ==> ' FLD0490E + DISPLAY 'EXPECTED ==> ' XPC-FLD0490E. + IF FLD0491B (1:) NOT EQUAL XPC-FLD0491B + DISPLAY 'FLD0491B ==> ' HEX-OF (FLD0491B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0491B). + IF FLD0491E NOT EQUAL XPC-FLD0491E + DISPLAY 'FLD0491E ==> ' FLD0491E + DISPLAY 'EXPECTED ==> ' XPC-FLD0491E. + IF FLD0492B (1:) NOT EQUAL XPC-FLD0492B + DISPLAY 'FLD0492B ==> ' HEX-OF (FLD0492B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0492B). + IF FLD0492E NOT EQUAL XPC-FLD0492E + DISPLAY 'FLD0492E ==> ' FLD0492E + DISPLAY 'EXPECTED ==> ' XPC-FLD0492E. + IF FLD0493B (1:) NOT EQUAL XPC-FLD0493B + DISPLAY 'FLD0493B ==> ' HEX-OF (FLD0493B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0493B). + IF FLD0493E NOT EQUAL XPC-FLD0493E + DISPLAY 'FLD0493E ==> ' FLD0493E + DISPLAY 'EXPECTED ==> ' XPC-FLD0493E. + IF FLD0494B (1:) NOT EQUAL XPC-FLD0494B + DISPLAY 'FLD0494B ==> ' HEX-OF (FLD0494B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0494B). + IF FLD0494E NOT EQUAL XPC-FLD0494E + DISPLAY 'FLD0494E ==> ' FLD0494E + DISPLAY 'EXPECTED ==> ' XPC-FLD0494E. + IF FLD0495B (1:) NOT EQUAL XPC-FLD0495B + DISPLAY 'FLD0495B ==> ' HEX-OF (FLD0495B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0495B). + IF FLD0495E NOT EQUAL XPC-FLD0495E + DISPLAY 'FLD0495E ==> ' FLD0495E + DISPLAY 'EXPECTED ==> ' XPC-FLD0495E. + IF FLD0496B (1:) NOT EQUAL XPC-FLD0496B + DISPLAY 'FLD0496B ==> ' HEX-OF (FLD0496B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0496B). + IF FLD0496E NOT EQUAL XPC-FLD0496E + DISPLAY 'FLD0496E ==> ' FLD0496E + DISPLAY 'EXPECTED ==> ' XPC-FLD0496E. + IF FLD0497B (1:) NOT EQUAL XPC-FLD0497B + DISPLAY 'FLD0497B ==> ' HEX-OF (FLD0497B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0497B). + IF FLD0497E NOT EQUAL XPC-FLD0497E + DISPLAY 'FLD0497E ==> ' FLD0497E + DISPLAY 'EXPECTED ==> ' XPC-FLD0497E. + IF FLD0498B (1:) NOT EQUAL XPC-FLD0498B + DISPLAY 'FLD0498B ==> ' HEX-OF (FLD0498B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0498B). + IF FLD0498E NOT EQUAL XPC-FLD0498E + DISPLAY 'FLD0498E ==> ' FLD0498E + DISPLAY 'EXPECTED ==> ' XPC-FLD0498E. + IF FLD0499B (1:) NOT EQUAL XPC-FLD0499B + DISPLAY 'FLD0499B ==> ' HEX-OF (FLD0499B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0499B). + IF FLD0499E NOT EQUAL XPC-FLD0499E + DISPLAY 'FLD0499E ==> ' FLD0499E + DISPLAY 'EXPECTED ==> ' XPC-FLD0499E. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:20531: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:20531" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:20531" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:20532: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:20532" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:20532" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTNR2. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + 77 FLD0500A PIC S9(10)V9(08) COMP-3 + VALUE -4830218621.81680639. + 77 FLD0500B PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0500E PIC X VALUE 'N'. + + 77 FLD0501A PIC 9(09)V9(15) COMP-3 + VALUE 652910855.370784748430423. + 77 FLD0501B PIC 9(09)V9(14) COMP-6 + VALUE 628093348.73677369337485. + 77 FLD0501E PIC X VALUE 'N'. + + 77 FLD0502A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0502B PIC 9(07)V9(22) COMP-6 + VALUE 7893241.6286150020034995122841. + 77 FLD0502E PIC X VALUE 'N'. + + 77 FLD0503A PIC 9(10)V9(11) COMP-6 + VALUE 5662523582.77427925159. + 77 FLD0503B PIC 9(04)V9(29) COMP-3 + VALUE 8834.70722999726620905391882843105. + 77 FLD0503E PIC X VALUE 'N'. + + 77 FLD0504A PIC S9(08)V9(02) COMP-3 + VALUE -28360864.01. + 77 FLD0504B PIC 9(10)V9(09) COMP-3 + VALUE 5000570062.577901486. + 77 FLD0504E PIC X VALUE 'N'. + + 77 FLD0505A PIC 9(04)V9(30) COMP-3 + VALUE 9110.332843503369248949752545740921. + 77 FLD0505B PIC 9(10)V9(10) COMP-3 + VALUE 5407979633.7587637822. + 77 FLD0505E PIC X VALUE 'N'. + + 77 FLD0506A PIC 9(10)V9(11) COMP-3 + VALUE 5546838940.35467472960. + 77 FLD0506B PIC S9(07)V9(01) COMP-3 + VALUE +2340559.3. + 77 FLD0506E PIC X VALUE 'N'. + + 77 FLD0507A PIC 9(08)V9(18) COMP-6 + VALUE 70736506.262277043521891073. + 77 FLD0507B PIC 9(10)V9(09) COMP-3 + VALUE 5205430142.820132166. + 77 FLD0507E PIC X VALUE 'N'. + + 77 FLD0508A PIC 9(09)V9(16) COMP-6 + VALUE 658855971.9467786957025623. + 77 FLD0508B PIC S9(09)V9(07) COMP-3 + VALUE +444447149.8618901. + 77 FLD0508E PIC X VALUE 'N'. + + 77 FLD0509A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0509B PIC 9(10)V9(08) COMP-6 + VALUE 4889373386.26299289. + 77 FLD0509E PIC X VALUE 'N'. + + 77 FLD0510A PIC 9(04) COMP-6 + VALUE 1295. + 77 FLD0510B PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0510E PIC X VALUE 'N'. + + 77 FLD0511A PIC 9(06)V9(25) COMP-6 + VALUE 815863.7850571600624860479911149. + 77 FLD0511B PIC 9(10)V9(09) COMP-6 + VALUE 5256921146.480894035. + 77 FLD0511E PIC X VALUE 'N'. + + 77 FLD0512A PIC 9(05) COMP-6 + VALUE 13945. + 77 FLD0512B PIC 9(01)V9(36) COMP-3 + VALUE 9.908282031313487836499120930966455489. + 77 FLD0512E PIC X VALUE 'N'. + + 77 FLD0513A PIC 9(09)V9(15) COMP-3 + VALUE 653773832.246937192103075. + 77 FLD0513B PIC 9(08)V9(20) COMP-3 + VALUE 74124087.47450585089211472222. + 77 FLD0513E PIC X VALUE 'N'. + + 77 FLD0514A PIC 9(08)V9(18) COMP-3 + VALUE 70109343.593910689040882289. + 77 FLD0514B PIC 9(09)V9(04) COMP-6 + VALUE 348891343.2762. + 77 FLD0514E PIC X VALUE 'N'. + + 77 FLD0515A PIC 9(09)V9(16) COMP-6 + VALUE 658210435.7548693718271692. + 77 FLD0515B PIC 9(03)V9(32) COMP-3 + VALUE 941.14524908048735607479784448514692. + 77 FLD0515E PIC X VALUE 'N'. + + 77 FLD0516A PIC 9(01)V9(36) COMP-6 + VALUE 9.884403805479323734672902901365887373. + 77 FLD0516B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0516E PIC X VALUE 'N'. + + 77 FLD0517A PIC 9(10)V9(07) COMP-6 + VALUE 4497620438.0577999. + 77 FLD0517B PIC S9(10)V9(08) COMP-3 + VALUE -4811021778.48490686. + 77 FLD0517E PIC X VALUE 'N'. + + 77 FLD0518A PIC 9(09)V9(16) COMP-3 + VALUE 664556684.1155496895510168. + 77 FLD0518B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0518E PIC X VALUE 'N'. + + 77 FLD0519A PIC 9(09)V9(14) COMP-3 + VALUE 630097608.79846921088898. + 77 FLD0519B PIC 9(08)V9(17) COMP-3 + VALUE 68412596.06583623975595287. + 77 FLD0519E PIC X VALUE 'N'. + + 77 FLD0520A PIC 9(04)V9(30) COMP-6 + VALUE 9052.329380117529744609328190563246. + 77 FLD0520B PIC 9(09)V9(14) COMP-3 + VALUE 610604586.65389061305717. + 77 FLD0520E PIC X VALUE 'N'. + + 77 FLD0521A PIC 9(05) COMP-6 + VALUE 13956. + 77 FLD0521B PIC S9(05) COMP-3 + VALUE +14099. + 77 FLD0521E PIC X VALUE 'N'. + + 77 FLD0522A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0522B PIC S9(09)V9(04) COMP-3 + VALUE -351067614.4076. + 77 FLD0522E PIC X VALUE 'N'. + + 77 FLD0523A PIC 9(08)V9(18) COMP-6 + VALUE 70807149.512639711019801325. + 77 FLD0523B PIC S9(08)V9(02) COMP-3 + VALUE -28004002.44. + 77 FLD0523E PIC X VALUE 'N'. + + 77 FLD0524A PIC S9(06)V9(01) COMP-3 + VALUE +201515.3. + 77 FLD0524B PIC 9(10)V9(09) COMP-3 + VALUE 5046210377.505329081. + 77 FLD0524E PIC X VALUE 'N'. + + 77 FLD0525A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0525B PIC 9(04)V9(29) COMP-6 + VALUE 8873.36156634660588871099662355845. + 77 FLD0525E PIC X VALUE 'N'. + + 77 FLD0526A PIC 9(07)V9(22) COMP-3 + VALUE 7812896.0072540409864672028561. + 77 FLD0526B PIC 9(07)V9(02) COMP-6 + VALUE 2461308.93. + 77 FLD0526E PIC X VALUE 'N'. + + 77 FLD0527A PIC 9(10)V9(12) COMP-6 + VALUE 5853770318.384275972434. + 77 FLD0527B PIC 9(10)V9(09) COMP-3 + VALUE 5140096263.891610339. + 77 FLD0527E PIC X VALUE 'N'. + + 77 FLD0528A PIC 9(10)V9(08) COMP-6 + VALUE 4856797949.89136714. + 77 FLD0528B PIC S9(04) COMP-3 + VALUE +1207. + 77 FLD0528E PIC X VALUE 'N'. + + 77 FLD0529A PIC 9(10)V9(10) COMP-6 + VALUE 5298570971.4885653731. + 77 FLD0529B PIC S9(10)V9(07) COMP-3 + VALUE -4613280273.7797717. + 77 FLD0529E PIC X VALUE 'N'. + + 77 FLD0530A PIC 9(05)V9(28) COMP-6 + VALUE 87536.5484141958027919372398173436. + 77 FLD0530B PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0530E PIC X VALUE 'N'. + + 77 FLD0531A PIC 9(09)V9(03) COMP-6 + VALUE 317487049.751. + 77 FLD0531B PIC S9(07)V9(01) COMP-3 + VALUE +2322772.2. + 77 FLD0531E PIC X VALUE 'N'. + + 77 FLD0532A PIC 9(09)V9(15) COMP-3 + VALUE 653250626.044252880042506. + 77 FLD0532B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0532E PIC X VALUE 'N'. + + 77 FLD0533A PIC 9(07)V9(02) COMP-6 + VALUE 2559928.55. + 77 FLD0533B PIC 9(03) COMP-6 + VALUE 086. + 77 FLD0533E PIC X VALUE 'N'. + + 77 FLD0534A PIC 9(09)V9(06) COMP-6 + VALUE 408226706.354108. + 77 FLD0534B PIC 9(10)V9(09) COMP-3 + VALUE 5204512753.981520578. + 77 FLD0534E PIC X VALUE 'N'. + + 77 FLD0535A PIC 9(10)V9(11) COMP-6 + VALUE 5556101599.27967472981. + 77 FLD0535B PIC 9(05)V9(27) COMP-3 + VALUE 85335.564071638048133650045201648. + 77 FLD0535E PIC X VALUE 'N'. + + 77 FLD0536A PIC S9(08)V9(03) COMP-3 + VALUE -29061270.882. + 77 FLD0536B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0536E PIC X VALUE 'N'. + + 77 FLD0537A PIC 9(08)V9(03) COMP-6 + VALUE 29943354.242. + 77 FLD0537B PIC 9(04) COMP-6 + VALUE 1199. + 77 FLD0537E PIC X VALUE 'N'. + + 77 FLD0538A PIC 9(03)V9(32) COMP-3 + VALUE 922.29859860523566439383102988358587. + 77 FLD0538B PIC 9(04)V9(29) COMP-6 + VALUE 8861.76614320458799767266100388951. + 77 FLD0538E PIC X VALUE 'N'. + + 77 FLD0539A PIC 9(05)V9(27) COMP-6 + VALUE 85666.721070025741990860979058197. + 77 FLD0539B PIC 9(05)V9(27) COMP-3 + VALUE 84375.338828007329095015620623598. + 77 FLD0539E PIC X VALUE 'N'. + + 77 FLD0540A PIC S9(04) COMP-3 + VALUE +1227. + 77 FLD0540B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0540E PIC X VALUE 'N'. + + 77 FLD0541A PIC 9(09)V9(05) COMP-6 + VALUE 387240740.80744. + 77 FLD0541B PIC 9(07)V9(22) COMP-6 + VALUE 7676023.3773886621388982121061. + 77 FLD0541E PIC X VALUE 'N'. + + 77 FLD0542A PIC 9(06)V9(25) COMP-3 + VALUE 831706.5789473143677668076634290. + 77 FLD0542B PIC 9(10)V9(11) COMP-3 + VALUE 5532908670.51828949563. + 77 FLD0542E PIC X VALUE 'N'. + + 77 FLD0543A PIC 9(06)V9(01) COMP-6 + VALUE 188772.9. + 77 FLD0543B PIC 9(07)V9(02) COMP-6 + VALUE 2581387.79. + 77 FLD0543E PIC X VALUE 'N'. + + 77 FLD0544A PIC 9(10)V9(09) COMP-3 + VALUE 5241766194.366106468. + 77 FLD0544B PIC 9(08)V9(02) COMP-6 + VALUE 27953166.13. + 77 FLD0544E PIC X VALUE 'N'. + + 77 FLD0545A PIC 9(09)V9(14) COMP-3 + VALUE 622229285.46684597161942. + 77 FLD0545B PIC 9(08)V9(19) COMP-3 + VALUE 72256359.1476747091313370674. + 77 FLD0545E PIC X VALUE 'N'. + + 77 FLD0546A PIC 9(06)V9(25) COMP-3 + VALUE 820358.8689269564193651262939965. + 77 FLD0546B PIC 9(09)V9(14) COMP-3 + VALUE 610779194.05314462508727. + 77 FLD0546E PIC X VALUE 'N'. + + 77 FLD0547A PIC 9(06)V9(25) COMP-3 + VALUE 821925.7242001770658035297856258. + 77 FLD0547B PIC S9(09)V9(04) COMP-3 + VALUE -360691511.9302. + 77 FLD0547E PIC X VALUE 'N'. + + 77 FLD0548A PIC 9(07)V9(23) COMP-6 + VALUE 7955385.78445739497091437897324. + 77 FLD0548B PIC 9(09)V9(17) COMP-6 + VALUE 689149957.90453892343663255. + 77 FLD0548E PIC X VALUE 'N'. + + 77 FLD0549A PIC 9(07)V9(01) COMP-6 + VALUE 2367856.7. + 77 FLD0549B PIC 9(09)V9(06) COMP-6 + VALUE 415548355.051954. + 77 FLD0549E PIC X VALUE 'N'. + + 77 FLD0550A PIC 9(09)V9(15) COMP-6 + VALUE 656651700.520587522369453. + 77 FLD0550B PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0550E PIC X VALUE 'N'. + + 77 FLD0551A PIC 9(07)V9(02) COMP-6 + VALUE 2589973.73. + 77 FLD0551B PIC 9(09)V9(15) COMP-3 + VALUE 652529070.867454263904505. + 77 FLD0551E PIC X VALUE 'N'. + + 77 FLD0552A PIC 9(10)V9(07) COMP-6 + VALUE 4579590761.6898545. + 77 FLD0552B PIC 9(05) COMP-6 + VALUE 14745. + 77 FLD0552E PIC X VALUE 'N'. + + 77 FLD0553A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0553B PIC S9(09)V9(04) COMP-3 + VALUE -360871096.9090. + 77 FLD0553E PIC X VALUE 'N'. + + 77 FLD0554A PIC 9(07)V9(02) COMP-6 + VALUE 2568219.15. + 77 FLD0554B PIC 9(03)V9(32) COMP-3 + VALUE 932.99236247731820448336748086148872. + 77 FLD0554E PIC X VALUE 'N'. + + 77 FLD0555A PIC 9(09)V9(05) COMP-6 + VALUE 388184875.66560. + 77 FLD0555B PIC 9(10)V9(09) COMP-3 + VALUE 5217501857.988002811. + 77 FLD0555E PIC X VALUE 'N'. + + 77 FLD0556A PIC 9(04)V9(30) COMP-6 + VALUE 8983.209260005348140154524116951506. + 77 FLD0556B PIC 9(10)V9(11) COMP-6 + VALUE 5685562200.43860527368. + 77 FLD0556E PIC X VALUE 'N'. + + 77 FLD0557A PIC 9(09)V9(15) COMP-3 + VALUE 650877011.601572519339242. + 77 FLD0557B PIC S9(05) COMP-3 + VALUE +13329. + 77 FLD0557E PIC X VALUE 'N'. + + 77 FLD0558A PIC 9(09)V9(13) COMP-6 + VALUE 595830550.3266489999703. + 77 FLD0558B PIC 9(06)V9(01) COMP-6 + VALUE 209604.9. + 77 FLD0558E PIC X VALUE 'N'. + + 77 FLD0559A PIC 9(10)V9(09) COMP-3 + VALUE 5242032248.235551916. + 77 FLD0559B PIC 9(07)V9(22) COMP-6 + VALUE 7882034.1791675385678672682843. + 77 FLD0559E PIC X VALUE 'N'. + + 77 FLD0560A PIC S9(09)V9(06) COMP-3 + VALUE +403640603.914505. + 77 FLD0560B PIC 9(09)V9(07) COMP-6 + VALUE 438743115.5223073. + 77 FLD0560E PIC X VALUE 'N'. + + 77 FLD0561A PIC 9(05) COMP-6 + VALUE 14931. + 77 FLD0561B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0561E PIC X VALUE 'N'. + + 77 FLD0562A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0562B PIC 9(02)V9(34) COMP-6 + VALUE 95.8208334412512741096179524902254343. + 77 FLD0562E PIC X VALUE 'N'. + + 77 FLD0563A PIC 9(10)V9(09) COMP-3 + VALUE 5040974749.501065943. + 77 FLD0563B PIC S9(08)V9(03) COMP-3 + VALUE +31252590.212. + 77 FLD0563E PIC X VALUE 'N'. + + 77 FLD0564A PIC 9(09)V9(16) COMP-6 + VALUE 666123633.8391588462926051. + 77 FLD0564B PIC 9(03)V9(32) COMP-6 + VALUE 925.73034981753798966508384182816371. + 77 FLD0564E PIC X VALUE 'N'. + + 77 FLD0565A PIC 9(04)V9(30) COMP-6 + VALUE 8999.472704059103822515908177592791. + 77 FLD0565B PIC 9(06)V9(01) COMP-6 + VALUE 209088.7. + 77 FLD0565E PIC X VALUE 'N'. + + 77 FLD0566A PIC 9(10)V9(10) COMP-6 + VALUE 5451645287.6426646501. + 77 FLD0566B PIC 9(09)V9(03) COMP-6 + VALUE 317445075.017. + 77 FLD0566E PIC X VALUE 'N'. + + 77 FLD0567A PIC S9(07)V9(02) COMP-3 + VALUE -2621767.34. + 77 FLD0567B PIC 9(04)V9(29) COMP-6 + VALUE 8789.70351596639054569948257267242. + 77 FLD0567E PIC X VALUE 'N'. + + 77 FLD0568A PIC S9(08)V9(02) COMP-3 + VALUE -28119737.76. + 77 FLD0568B PIC 9(09)V9(14) COMP-6 + VALUE 616894259.97583058336459. + 77 FLD0568E PIC X VALUE 'N'. + + 77 FLD0569A PIC 9(10)V9(10) COMP-3 + VALUE 5301098669.5201622875. + 77 FLD0569B PIC S9(09)V9(06) COMP-3 + VALUE +421009403.834593. + 77 FLD0569E PIC X VALUE 'N'. + + 77 FLD0570A PIC 9(05) COMP-6 + VALUE 13775. + 77 FLD0570B PIC 9(08)V9(19) COMP-3 + VALUE 72019797.5322646066764775696. + 77 FLD0570E PIC X VALUE 'N'. + + 77 FLD0571A PIC 9(10)V9(08) COMP-6 + VALUE 4995844884.12155025. + 77 FLD0571B PIC 9(09)V9(16) COMP-6 + VALUE 666328034.4715885039619251. + 77 FLD0571E PIC X VALUE 'N'. + + 77 FLD0572A PIC 9(06)V9(01) COMP-6 + VALUE 199648.9. + 77 FLD0572B PIC S9(06) COMP-3 + VALUE -163410. + 77 FLD0572E PIC X VALUE 'N'. + + 77 FLD0573A PIC 9(10)V9(11) COMP-6 + VALUE 5579051586.61930800079. + 77 FLD0573B PIC 9(01)V9(36) COMP-3 + VALUE 9.908582147727897915245875992695800960. + 77 FLD0573E PIC X VALUE 'N'. + + 77 FLD0574A PIC 9(10)V9(09) COMP-3 + VALUE 5021035726.447702352. + 77 FLD0574B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0574E PIC X VALUE 'N'. + + 77 FLD0575A PIC 9(02)V9(34) COMP-3 + VALUE 96.0495649054037059499933093320578336. + 77 FLD0575B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0575E PIC X VALUE 'N'. + + 77 FLD0576A PIC 9(09)V9(11) COMP-3 + VALUE 551289746.02273483895. + 77 FLD0576B PIC 9(10)V9(10) COMP-6 + VALUE 5275129807.0789420791. + 77 FLD0576E PIC X VALUE 'N'. + + 77 FLD0577A PIC S9(10)V9(06) COMP-3 + VALUE +4245433083.607936. + 77 FLD0577B PIC 9(02)V9(34) COMP-6 + VALUE 96.8922152301445405164770363626303151. + 77 FLD0577E PIC X VALUE 'N'. + + 77 FLD0578A PIC S9(07)V9(02) COMP-3 + VALUE +2444375.29. + 77 FLD0578B PIC 9(05)V9(01) COMP-6 + VALUE 16994.3. + 77 FLD0578E PIC X VALUE 'N'. + + 77 FLD0579A PIC 9(09)V9(17) COMP-6 + VALUE 688719854.55414208576740975. + 77 FLD0579B PIC 9(10)V9(09) COMP-3 + VALUE 5219660742.233359629. + 77 FLD0579E PIC X VALUE 'N'. + + 77 FLD0580A PIC S9(08)V9(04) COMP-3 + VALUE +33455460.0291. + 77 FLD0580B PIC 9(02)V9(34) COMP-3 + VALUE 95.3840741032953354228141051862621679. + 77 FLD0580E PIC X VALUE 'N'. + + 77 FLD0581A PIC S9(08)V9(02) COMP-3 + VALUE -28271118.43. + 77 FLD0581B PIC 9(09)V9(15) COMP-6 + VALUE 638334092.073881143036828. + 77 FLD0581E PIC X VALUE 'N'. + + 77 FLD0582A PIC 9(02)V9(34) COMP-3 + VALUE 95.0957041455027018983514608407858759. + 77 FLD0582B PIC 9(09)V9(14) COMP-6 + VALUE 628562844.11633944753106. + 77 FLD0582E PIC X VALUE 'N'. + + 77 FLD0583A PIC 9(04)V9(30) COMP-3 + VALUE 9004.015213488590907431330379040446. + 77 FLD0583B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0583E PIC X VALUE 'N'. + + 77 FLD0584A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0584B PIC 9(02)V9(34) COMP-6 + VALUE 95.5867594557756605766485336062032729. + 77 FLD0584E PIC X VALUE 'N'. + + 77 FLD0585A PIC S9(10)V9(06) COMP-3 + VALUE +4326355872.600766. + 77 FLD0585B PIC 9(03)V9(32) COMP-6 + VALUE 926.67442032915370297985191427869722. + 77 FLD0585E PIC X VALUE 'N'. + + 77 FLD0586A PIC 9(05)V9(27) COMP-6 + VALUE 85722.001340062370378092282408033. + 77 FLD0586B PIC 9(07)V9(22) COMP-6 + VALUE 7865140.9974229868904416207442. + 77 FLD0586E PIC X VALUE 'N'. + + 77 FLD0587A PIC S9(09)V9(05) COMP-3 + VALUE -381433349.51035. + 77 FLD0587B PIC S9(04) COMP-3 + VALUE +1221. + 77 FLD0587E PIC X VALUE 'N'. + + 77 FLD0588A PIC 9(10)V9(09) COMP-6 + VALUE 5181115773.570048599. + 77 FLD0588B PIC 9(04)V9(30) COMP-3 + VALUE 9002.074772136551272794235956098418. + 77 FLD0588E PIC X VALUE 'N'. + + 77 FLD0589A PIC S9(09)V9(06) COMP-3 + VALUE +401102073.275349. + 77 FLD0589B PIC S9(04) COMP-3 + VALUE +1219. + 77 FLD0589E PIC X VALUE 'N'. + + 77 FLD0590A PIC 9(08)V9(18) COMP-3 + VALUE 70309799.830174168899787900. + 77 FLD0590B PIC S9(06)V9(01) COMP-3 + VALUE +203587.9. + 77 FLD0590E PIC X VALUE 'N'. + + 77 FLD0591A PIC 9(09)V9(12) COMP-6 + VALUE 576933255.371857245386. + 77 FLD0591B PIC 9(10)V9(09) COMP-3 + VALUE 5123728162.782491546. + 77 FLD0591E PIC X VALUE 'N'. + + 77 FLD0592A PIC 9(09)V9(15) COMP-3 + VALUE 644514829.253344467829833. + 77 FLD0592B PIC S9(08)V9(03) COMP-3 + VALUE -29392268.940. + 77 FLD0592E PIC X VALUE 'N'. + + 77 FLD0593A PIC 9(08)V9(19) COMP-3 + VALUE 72063942.4137167527995018190. + 77 FLD0593B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0593E PIC X VALUE 'N'. + + 77 FLD0594A PIC S9(08)V9(02) COMP-3 + VALUE -27405154.91. + 77 FLD0594B PIC 9(07)V9(22) COMP-3 + VALUE 7738893.5043103479483050932685. + 77 FLD0594E PIC X VALUE 'N'. + + 77 FLD0595A PIC 9(08)V9(18) COMP-3 + VALUE 70489201.749069052560514592. + 77 FLD0595B PIC 9(06)V9(25) COMP-3 + VALUE 830535.6563477365172687427730124. + 77 FLD0595E PIC X VALUE 'N'. + + 77 FLD0596A PIC 9(04)V9(30) COMP-6 + VALUE 9050.358418523600789740157779306173. + 77 FLD0596B PIC 9(09)V9(15) COMP-6 + VALUE 657865013.656926733709440. + 77 FLD0596E PIC X VALUE 'N'. + + 77 FLD0597A PIC S9(10)V9(07) COMP-3 + VALUE -4611492066.1642122. + 77 FLD0597B PIC 9(06)V9(25) COMP-6 + VALUE 816255.9991782142310157155407068. + 77 FLD0597E PIC X VALUE 'N'. + + 77 FLD0598A PIC 9(10)V9(12) COMP-6 + VALUE 5888650589.753158248740. + 77 FLD0598B PIC S9(09)V9(06) COMP-3 + VALUE +420172956.568651. + 77 FLD0598E PIC X VALUE 'N'. + + 77 FLD0599A PIC 9(05)V9(27) COMP-6 + VALUE 85689.140306102984379066356268594. + 77 FLD0599B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0599E PIC X VALUE 'N'. + + 77 FLD0600A PIC S9(09)V9(06) COMP-3 + VALUE +401694362.049109. + 77 FLD0600B PIC 9(06)V9(24) COMP-3 + VALUE 804504.375985138686644404515391. + 77 FLD0600E PIC X VALUE 'N'. + + 77 FLD0601A PIC 9(01)V9(36) COMP-6 + VALUE 9.763793413809590537866256454435642808. + 77 FLD0601B PIC 9(08)V9(03) COMP-6 + VALUE 29749803.347. + 77 FLD0601E PIC X VALUE 'N'. + + 77 FLD0602A PIC 9(09)V9(17) COMP-6 + VALUE 685435627.00727922454291274. + 77 FLD0602B PIC 9(07)V9(02) COMP-6 + VALUE 2399467.62. + 77 FLD0602E PIC X VALUE 'N'. + + 77 FLD0603A PIC 9(09)V9(16) COMP-6 + VALUE 679265807.5584466770280300. + 77 FLD0603B PIC S9(05)V9(01) COMP-3 + VALUE -17089.6. + 77 FLD0603E PIC X VALUE 'N'. + + 77 FLD0604A PIC 9(08)V9(19) COMP-6 + VALUE 72862711.3591577502127449861. + 77 FLD0604B PIC 9(10)V9(11) COMP-6 + VALUE 5587264166.34705347341. + 77 FLD0604E PIC X VALUE 'N'. + + 77 FLD0605A PIC 9(04) COMP-6 + VALUE 1194. + 77 FLD0605B PIC 9(10)V9(06) COMP-6 + VALUE 4256956703.307752. + 77 FLD0605E PIC X VALUE 'N'. + + 77 FLD0606A PIC 9(07)V9(23) COMP-6 + VALUE 7955557.56926823565144957228767. + 77 FLD0606B PIC S9(08)V9(04) COMP-3 + VALUE +33373395.9174. + 77 FLD0606E PIC X VALUE 'N'. + + 77 FLD0607A PIC 9(10)V9(08) COMP-6 + VALUE 4950511846.00309279. + 77 FLD0607B PIC 9(05) COMP-6 + VALUE 13935. + 77 FLD0607E PIC X VALUE 'N'. + + 77 FLD0608A PIC 9(09)V9(03) COMP-6 + VALUE 328182518.441. + 77 FLD0608B PIC 9(02)V9(34) COMP-6 + VALUE 95.9183130416232931914066739409463480. + 77 FLD0608E PIC X VALUE 'N'. + + 77 FLD0609A PIC 9(08)V9(04) COMP-6 + VALUE 33948712.4475. + 77 FLD0609B PIC 9(10)V9(07) COMP-6 + VALUE 4478674210.4372267. + 77 FLD0609E PIC X VALUE 'N'. + + 77 FLD0610A PIC 9(06)V9(24) COMP-6 + VALUE 807988.537497822956190418608457. + 77 FLD0610B PIC 9(08)V9(02) COMP-6 + VALUE 28672541.25. + 77 FLD0610E PIC X VALUE 'N'. + + 77 FLD0611A PIC 9(07)V9(22) COMP-3 + VALUE 7747853.4043620861382350994972. + 77 FLD0611B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0611E PIC X VALUE 'N'. + + 77 FLD0612A PIC 9(10)V9(11) COMP-3 + VALUE 5644161799.14422944108. + 77 FLD0612B PIC 9(07)V9(22) COMP-6 + VALUE 7874462.2890006543691754359315. + 77 FLD0612E PIC X VALUE 'N'. + + 77 FLD0613A PIC 9(05) COMP-6 + VALUE 15551. + 77 FLD0613B PIC S9(07)V9(01) COMP-3 + VALUE +2249276.6. + 77 FLD0613E PIC X VALUE 'N'. + + 77 FLD0614A PIC 9(10)V9(09) COMP-3 + VALUE 5201647014.630440546. + 77 FLD0614B PIC 9(09)V9(13) COMP-6 + VALUE 596348860.2168276475623. + 77 FLD0614E PIC X VALUE 'N'. + + 77 FLD0615A PIC S9(03) COMP-3 + VALUE +101. + 77 FLD0615B PIC S9(07)V9(01) COMP-3 + VALUE +2334095.1. + 77 FLD0615E PIC X VALUE 'N'. + + 77 FLD0616A PIC 9(07)V9(22) COMP-3 + VALUE 7639230.3574527464782306651613. + 77 FLD0616B PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0616E PIC X VALUE 'N'. + + 77 FLD0617A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0617B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0617E PIC X VALUE 'N'. + + 77 FLD0618A PIC 9(01)V9(36) COMP-3 + VALUE 9.817148549708982763206677191192284226. + 77 FLD0618B PIC 9(03) COMP-6 + VALUE 089. + 77 FLD0618E PIC X VALUE 'N'. + + 77 FLD0619A PIC 9(06)V9(24) COMP-3 + VALUE 801850.998363624500875346257089. + 77 FLD0619B PIC 9(10)V9(10) COMP-3 + VALUE 5342180526.7555677598. + 77 FLD0619E PIC X VALUE 'N'. + + 77 FLD0620A PIC 9(08)V9(19) COMP-6 + VALUE 71717267.3810957062023874186. + 77 FLD0620B PIC 9(09)V9(15) COMP-6 + VALUE 655677089.730182127702562. + 77 FLD0620E PIC X VALUE 'N'. + + 77 FLD0621A PIC 9(04)V9(30) COMP-3 + VALUE 9035.013690395441443570234696380794. + 77 FLD0621B PIC 9(08)V9(19) COMP-3 + VALUE 73424367.1686218957184166811. + 77 FLD0621E PIC X VALUE 'N'. + + 77 FLD0622A PIC 9(09)V9(13) COMP-3 + VALUE 592420192.5737704321761. + 77 FLD0622B PIC S9(09)V9(04) COMP-3 + VALUE -361821982.1111. + 77 FLD0622E PIC X VALUE 'N'. + + 77 FLD0623A PIC S9(03) COMP-3 + VALUE +104. + 77 FLD0623B PIC 9(09)V9(15) COMP-3 + VALUE 641616818.896418195095066. + 77 FLD0623E PIC X VALUE 'N'. + + 77 FLD0624A PIC S9(06) COMP-3 + VALUE -162056. + 77 FLD0624B PIC 9(10)V9(06) COMP-6 + VALUE 4356343039.582531. + 77 FLD0624E PIC X VALUE 'N'. + + 77 FLD0625A PIC 9(04) COMP-6 + VALUE 1296. + 77 FLD0625B PIC 9(07)V9(22) COMP-3 + VALUE 7829547.5769811728739000500354. + 77 FLD0625E PIC X VALUE 'N'. + + 77 FLD0626A PIC 9(04)V9(29) COMP-3 + VALUE 8839.60373056715265072114107169909. + 77 FLD0626B PIC S9(09)V9(05) COMP-3 + VALUE -374265939.71690. + 77 FLD0626E PIC X VALUE 'N'. + + 77 FLD0627A PIC 9(04) COMP-6 + VALUE 1093. + 77 FLD0627B PIC S9(07)V9(01) COMP-3 + VALUE +2323895.2. + 77 FLD0627E PIC X VALUE 'N'. + + 77 FLD0628A PIC 9(01)V9(36) COMP-3 + VALUE 9.943034041886028573387079632084351032. + 77 FLD0628B PIC 9(08)V9(03) COMP-6 + VALUE 29681737.673. + 77 FLD0628E PIC X VALUE 'N'. + + 77 FLD0629A PIC 9(03)V9(32) COMP-6 + VALUE 925.54391942612090904418664649710990. + 77 FLD0629B PIC 9(05)V9(28) COMP-3 + VALUE 87091.5644969416202769707524566911. + 77 FLD0629E PIC X VALUE 'N'. + + 77 FLD0630A PIC S9(09)V9(06) COMP-3 + VALUE +400669561.119235. + 77 FLD0630B PIC 9(09)V9(12) COMP-6 + VALUE 575188656.368988304734. + 77 FLD0630E PIC X VALUE 'N'. + + 77 FLD0631A PIC 9(09)V9(15) COMP-3 + VALUE 644864894.904831453814608. + 77 FLD0631B PIC 9(05)V9(01) COMP-6 + VALUE 17568.5. + 77 FLD0631E PIC X VALUE 'N'. + + 77 FLD0632A PIC 9(08)V9(18) COMP-6 + VALUE 69998401.036213298009869276. + 77 FLD0632B PIC 9(10)V9(09) COMP-6 + VALUE 5082278856.741135886. + 77 FLD0632E PIC X VALUE 'N'. + + 77 FLD0633A PIC 9(08)V9(19) COMP-3 + VALUE 72186800.0789349095747127194. + 77 FLD0633B PIC S9(09)V9(03) COMP-3 + VALUE +332989951.149. + 77 FLD0633E PIC X VALUE 'N'. + + 77 FLD0634A PIC S9(10)V9(06) COMP-3 + VALUE +4236607402.255205. + 77 FLD0634B PIC 9(07)V9(23) COMP-3 + VALUE 7926419.75404680843020344127580. + 77 FLD0634E PIC X VALUE 'N'. + + 77 FLD0635A PIC S9(06)V9(01) COMP-3 + VALUE -190863.2. + 77 FLD0635B PIC 9(10)V9(11) COMP-6 + VALUE 5580856572.20784292498. + 77 FLD0635E PIC X VALUE 'N'. + + 77 FLD0636A PIC S9(07)V9(01) COMP-3 + VALUE +2326055.8. + 77 FLD0636B PIC 9(05) COMP-6 + VALUE 15706. + 77 FLD0636E PIC X VALUE 'N'. + + 77 FLD0637A PIC 9(08)V9(19) COMP-3 + VALUE 73470187.3111827330475875896. + 77 FLD0637B PIC 9(10)V9(10) COMP-3 + VALUE 5305678545.6603405837. + 77 FLD0637E PIC X VALUE 'N'. + + 77 FLD0638A PIC 9(07)V9(22) COMP-6 + VALUE 7752451.2041246673721417437263. + 77 FLD0638B PIC 9(06)V9(25) COMP-3 + VALUE 822351.5027967045476486873667454. + 77 FLD0638E PIC X VALUE 'N'. + + 77 FLD0639A PIC S9(09)V9(03) COMP-3 + VALUE +320313574.327. + 77 FLD0639B PIC 9(01)V9(36) COMP-6 + VALUE 9.751092072024196699686626743641681969. + 77 FLD0639E PIC X VALUE 'N'. + + 77 FLD0640A PIC 9(04)V9(29) COMP-3 + VALUE 8818.61493829378950692898797569796. + 77 FLD0640B PIC 9(03)V9(32) COMP-3 + VALUE 921.50555740058603948483550993842072. + 77 FLD0640E PIC X VALUE 'N'. + + 77 FLD0641A PIC 9(07)V9(22) COMP-6 + VALUE 7672056.2697199168322725881807. + 77 FLD0641B PIC 9(08)V9(19) COMP-6 + VALUE 72539277.3386829170512157816. + 77 FLD0641E PIC X VALUE 'N'. + + 77 FLD0642A PIC 9(08)V9(18) COMP-6 + VALUE 70806494.663622721041917884. + 77 FLD0642B PIC 9(09)V9(13) COMP-3 + VALUE 592898946.8504934912118. + 77 FLD0642E PIC X VALUE 'N'. + + 77 FLD0643A PIC 9(07)V9(01) COMP-6 + VALUE 2194714.9. + 77 FLD0643B PIC 9(08)V9(02) COMP-6 + VALUE 26711153.59. + 77 FLD0643E PIC X VALUE 'N'. + + 77 FLD0644A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0644B PIC 9(03)V9(32) COMP-6 + VALUE 936.97460492260109532480782945640385. + 77 FLD0644E PIC X VALUE 'N'. + + 77 FLD0645A PIC 9(03)V9(31) COMP-3 + VALUE 913.1000502995376688630813077907077. + 77 FLD0645B PIC 9(07)V9(02) COMP-6 + VALUE 2467302.34. + 77 FLD0645E PIC X VALUE 'N'. + + 77 FLD0646A PIC 9(07)V9(21) COMP-3 + VALUE 7520596.805608434909373727350. + 77 FLD0646B PIC 9(09)V9(13) COMP-6 + VALUE 595843790.0187590896550. + 77 FLD0646E PIC X VALUE 'N'. + + 77 FLD0647A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0647B PIC 9(09)V9(16) COMP-6 + VALUE 659893156.1456289340839020. + 77 FLD0647E PIC X VALUE 'N'. + + 77 FLD0648A PIC S9(04) COMP-3 + VALUE +1149. + 77 FLD0648B PIC 9(09)V9(15) COMP-3 + VALUE 634287010.942461315643470. + 77 FLD0648E PIC X VALUE 'N'. + + 77 FLD0649A PIC 9(07)V9(23) COMP-3 + VALUE 7912687.10466688007798552462190. + 77 FLD0649B PIC 9(10)V9(09) COMP-3 + VALUE 5026519944.429308495. + 77 FLD0649E PIC X VALUE 'N'. + + 77 FLD0650A PIC 9(01)V9(36) COMP-6 + VALUE 9.878734262172308433491707546636462211. + 77 FLD0650B PIC 9(09)V9(16) COMP-3 + VALUE 671574601.9768447094833163. + 77 FLD0650E PIC X VALUE 'N'. + + 77 FLD0651A PIC 9(08)V9(18) COMP-6 + VALUE 69993795.648145529231243244. + 77 FLD0651B PIC S9(09)V9(05) COMP-3 + VALUE -390933259.39761. + 77 FLD0651E PIC X VALUE 'N'. + + 77 FLD0652A PIC 9(05)V9(01) COMP-6 + VALUE 16676.6. + 77 FLD0652B PIC S9(07)V9(01) COMP-3 + VALUE +2109381.3. + 77 FLD0652E PIC X VALUE 'N'. + + 77 FLD0653A PIC 9(09)V9(14) COMP-3 + VALUE 620233215.83922497168828. + 77 FLD0653B PIC 9(06) COMP-6 + VALUE 165087. + 77 FLD0653E PIC X VALUE 'N'. + + 77 FLD0654A PIC 9(09)V9(15) COMP-6 + VALUE 639337130.284049814932245. + 77 FLD0654B PIC 9(08)V9(02) COMP-6 + VALUE 27813223.51. + 77 FLD0654E PIC X VALUE 'N'. + + 77 FLD0655A PIC 9(06)V9(25) COMP-6 + VALUE 818013.3890362937254536745967925. + 77 FLD0655B PIC 9(09)V9(13) COMP-3 + VALUE 594166317.4495728227952. + 77 FLD0655E PIC X VALUE 'N'. + + 77 FLD0656A PIC S9(06)V9(01) COMP-3 + VALUE +200859.7. + 77 FLD0656B PIC 9(09)V9(15) COMP-3 + VALUE 650208537.267117914204561. + 77 FLD0656E PIC X VALUE 'N'. + + 77 FLD0657A PIC 9(03)V9(32) COMP-6 + VALUE 936.17194619070143168926279031438753. + 77 FLD0657B PIC 9(08)V9(18) COMP-3 + VALUE 70468283.988380520099781278. + 77 FLD0657E PIC X VALUE 'N'. + + 77 FLD0658A PIC 9(08)V9(18) COMP-3 + VALUE 70069365.832955088357891781. + 77 FLD0658B PIC 9(10)V9(10) COMP-3 + VALUE 5438086690.5335789596. + 77 FLD0658E PIC X VALUE 'N'. + + 77 FLD0659A PIC 9(04)V9(30) COMP-3 + VALUE 9044.337793801533464943531726021319. + 77 FLD0659B PIC 9(08)V9(19) COMP-6 + VALUE 71946522.3294514011342926096. + 77 FLD0659E PIC X VALUE 'N'. + + 77 FLD0660A PIC 9(10)V9(09) COMP-3 + VALUE 5240012407.843260833. + 77 FLD0660B PIC S9(05) COMP-3 + VALUE -15464. + 77 FLD0660E PIC X VALUE 'N'. + + 77 FLD0661A PIC 9(02)V9(34) COMP-6 + VALUE 96.5581569624071600621562083688331767. + 77 FLD0661B PIC 9(10)V9(11) COMP-3 + VALUE 5705409453.15247127744. + 77 FLD0661E PIC X VALUE 'N'. + + 77 FLD0662A PIC S9(07)V9(01) COMP-3 + VALUE +2131985.0. + 77 FLD0662B PIC 9(09)V9(16) COMP-6 + VALUE 669960203.6476681732324323. + 77 FLD0662E PIC X VALUE 'N'. + + 77 FLD0663A PIC 9(05) COMP-6 + VALUE 15788. + 77 FLD0663B PIC 9(04)V9(29) COMP-6 + VALUE 8894.69232052811142885673234559362. + 77 FLD0663E PIC X VALUE 'N'. + + 77 FLD0664A PIC S9(05) COMP-3 + VALUE +14371. + 77 FLD0664B PIC S9(09)V9(07) COMP-3 + VALUE +440580330.5288489. + 77 FLD0664E PIC X VALUE 'N'. + + 77 FLD0665A PIC 9(07)V9(02) COMP-6 + VALUE 2455875.37. + 77 FLD0665B PIC 9(09)V9(16) COMP-3 + VALUE 674160289.5706166886924393. + 77 FLD0665E PIC X VALUE 'N'. + + 77 FLD0666A PIC 9(05)V9(27) COMP-3 + VALUE 86015.549175288641414738322055200. + 77 FLD0666B PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0666E PIC X VALUE 'N'. + + 77 FLD0667A PIC 9(02)V9(33) COMP-3 + VALUE 94.482499794694274619644147605868056. + 77 FLD0667B PIC 9(09)V9(15) COMP-3 + VALUE 632143875.790169951223163. + 77 FLD0667E PIC X VALUE 'N'. + + 77 FLD0668A PIC 9(03)V9(32) COMP-6 + VALUE 935.15331845029669999291854765033349. + 77 FLD0668B PIC 9(10)V9(09) COMP-3 + VALUE 5144629393.825745911. + 77 FLD0668E PIC X VALUE 'N'. + + 77 FLD0669A PIC 9(01)V9(36) COMP-3 + VALUE 9.937328225295053441001869032334070652. + 77 FLD0669B PIC 9(10)V9(05) COMP-6 + VALUE 3959366397.86081. + 77 FLD0669E PIC X VALUE 'N'. + + 77 FLD0670A PIC 9(07)V9(02) COMP-6 + VALUE 2567113.54. + 77 FLD0670B PIC 9(02)V9(34) COMP-3 + VALUE 97.1019073438902258210703166696475818. + 77 FLD0670E PIC X VALUE 'N'. + + 77 FLD0671A PIC 9(09)V9(03) COMP-6 + VALUE 326622169.718. + 77 FLD0671B PIC 9(06)V9(01) COMP-6 + VALUE 186874.6. + 77 FLD0671E PIC X VALUE 'N'. + + 77 FLD0672A PIC 9(10)V9(07) COMP-6 + VALUE 4564917934.3294549. + 77 FLD0672B PIC 9(09)V9(15) COMP-6 + VALUE 637002039.815689924395769. + 77 FLD0672E PIC X VALUE 'N'. + + 77 FLD0673A PIC 9(10)V9(06) COMP-6 + VALUE 4285002333.462958. + 77 FLD0673B PIC 9(07)V9(02) COMP-6 + VALUE 2489778.77. + 77 FLD0673E PIC X VALUE 'N'. + + 77 FLD0674A PIC 9(10)V9(10) COMP-6 + VALUE 5491650640.0821929467. + 77 FLD0674B PIC 9(06)V9(25) COMP-6 + VALUE 828061.3110769976525915581078152. + 77 FLD0674E PIC X VALUE 'N'. + + 77 FLD0675A PIC 9(05)V9(27) COMP-6 + VALUE 84609.285471017914304070473008323. + 77 FLD0675B PIC 9(10)V9(09) COMP-6 + VALUE 5083540664.870341840. + 77 FLD0675E PIC X VALUE 'N'. + + 77 FLD0676A PIC 9(03) COMP-6 + VALUE 096. + 77 FLD0676B PIC 9(02)V9(34) COMP-3 + VALUE 96.4664170342459437179627457226160913. + 77 FLD0676E PIC X VALUE 'N'. + + 77 FLD0677A PIC S9(07)V9(01) COMP-3 + VALUE +2248183.1. + 77 FLD0677B PIC 9(04)V9(29) COMP-3 + VALUE 8903.66445455624266891447859961772. + 77 FLD0677E PIC X VALUE 'N'. + + 77 FLD0678A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0678B PIC 9(05)V9(27) COMP-6 + VALUE 85887.366357613359468814451247453. + 77 FLD0678E PIC X VALUE 'N'. + + 77 FLD0679A PIC S9(03) COMP-3 + VALUE -080. + 77 FLD0679B PIC 9(10)V9(07) COMP-6 + VALUE 4490278235.6612852. + 77 FLD0679E PIC X VALUE 'N'. + + 77 FLD0680A PIC S9(08)V9(02) COMP-3 + VALUE -28119381.66. + 77 FLD0680B PIC 9(10)V9(11) COMP-3 + VALUE 5617591008.16083600804. + 77 FLD0680E PIC X VALUE 'N'. + + 77 FLD0681A PIC 9(08)V9(17) COMP-3 + VALUE 68244115.95644890304868113. + 77 FLD0681B PIC 9(06)V9(25) COMP-3 + VALUE 821371.7547801553386932482681004. + 77 FLD0681E PIC X VALUE 'N'. + + 77 FLD0682A PIC S9(10)V9(08) COMP-3 + VALUE -4949729784.45772315. + 77 FLD0682B PIC 9(06)V9(25) COMP-3 + VALUE 831097.0812489861803129542749957. + 77 FLD0682E PIC X VALUE 'N'. + + 77 FLD0683A PIC 9(05)V9(28) COMP-6 + VALUE 86894.3068817851549390240961656672. + 77 FLD0683B PIC 9(10)V9(12) COMP-3 + VALUE 5829735573.963021888488. + 77 FLD0683E PIC X VALUE 'N'. + + 77 FLD0684A PIC 9(10)V9(13) COMP-6 + VALUE 6059233373.6406744915115. + 77 FLD0684B PIC 9(09)V9(07) COMP-6 + VALUE 438339473.7646870. + 77 FLD0684E PIC X VALUE 'N'. + + 77 FLD0685A PIC S9(07)V9(02) COMP-3 + VALUE -2545714.99. + 77 FLD0685B PIC 9(07)V9(23) COMP-3 + VALUE 7915567.03876752143500539204978. + 77 FLD0685E PIC X VALUE 'N'. + + 77 FLD0686A PIC 9(09)V9(14) COMP-3 + VALUE 621044693.11257093355749. + 77 FLD0686B PIC 9(09)V9(13) COMP-3 + VALUE 602970496.8531952591348. + 77 FLD0686E PIC X VALUE 'N'. + + 77 FLD0687A PIC S9(09)V9(05) COMP-3 + VALUE -394005874.76898. + 77 FLD0687B PIC 9(10)V9(08) COMP-6 + VALUE 4960980508.03440715. + 77 FLD0687E PIC X VALUE 'N'. + + 77 FLD0688A PIC 9(03)V9(32) COMP-3 + VALUE 932.26844955554755145499257196206599. + 77 FLD0688B PIC 9(04) COMP-6 + VALUE 1064. + 77 FLD0688E PIC X VALUE 'N'. + + 77 FLD0689A PIC 9(10)V9(07) COMP-6 + VALUE 4559306991.4341932. + 77 FLD0689B PIC S9(08)V9(04) COMP-3 + VALUE +34024840.8710. + 77 FLD0689E PIC X VALUE 'N'. + + 77 FLD0690A PIC 9(01)V9(36) COMP-6 + VALUE 9.793660005922469879990899244148749858. + 77 FLD0690B PIC S9(08)V9(02) COMP-3 + VALUE -28078949.75. + 77 FLD0690E PIC X VALUE 'N'. + + 77 FLD0691A PIC 9(09)V9(07) COMP-6 + VALUE 439500550.5938089. + 77 FLD0691B PIC S9(10)V9(06) COMP-3 + VALUE +4308484639.535531. + 77 FLD0691E PIC X VALUE 'N'. + + 77 FLD0692A PIC 9(09)V9(04) COMP-6 + VALUE 358382577.7464. + 77 FLD0692B PIC 9(09)V9(15) COMP-6 + VALUE 636450165.553045121846764. + 77 FLD0692E PIC X VALUE 'N'. + + 77 FLD0693A PIC S9(07)V9(01) COMP-3 + VALUE +2127399.6. + 77 FLD0693B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0693E PIC X VALUE 'N'. + + 77 FLD0694A PIC 9(09)V9(05) COMP-6 + VALUE 378019656.01658. + 77 FLD0694B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0694E PIC X VALUE 'N'. + + 77 FLD0695A PIC S9(09)V9(04) COMP-3 + VALUE -354304867.1111. + 77 FLD0695B PIC 9(09)V9(15) COMP-6 + VALUE 639721730.127885357397587. + 77 FLD0695E PIC X VALUE 'N'. + + 77 FLD0696A PIC 9(04)V9(30) COMP-6 + VALUE 9067.945209731629319094281527213752. + 77 FLD0696B PIC 9(09)V9(03) COMP-6 + VALUE 318871778.848. + 77 FLD0696E PIC X VALUE 'N'. + + 77 FLD0697A PIC S9(09)V9(06) COMP-3 + VALUE +414586353.841170. + 77 FLD0697B PIC 9(10)V9(09) COMP-6 + VALUE 5161837194.897523906. + 77 FLD0697E PIC X VALUE 'N'. + + 77 FLD0698A PIC 9(08)V9(18) COMP-3 + VALUE 69447533.832122987362822641. + 77 FLD0698B PIC S9(03) COMP-3 + VALUE -080. + 77 FLD0698E PIC X VALUE 'N'. + + 77 FLD0699A PIC 9(09)V9(13) COMP-6 + VALUE 597064952.5204202445749. + 77 FLD0699B PIC 9(09)V9(14) COMP-3 + VALUE 630288401.27729701681147. + 77 FLD0699E PIC X VALUE 'N'. + + 77 FLD0700A PIC 9(06)V9(25) COMP-3 + VALUE 820234.3139012789885455845251271. + 77 FLD0700B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0700E PIC X VALUE 'N'. + + 77 FLD0701A PIC 9(06)V9(24) COMP-6 + VALUE 809485.363390515577641792788199. + 77 FLD0701B PIC 9(02)V9(34) COMP-3 + VALUE 97.0800419877562270620785511709982529. + 77 FLD0701E PIC X VALUE 'N'. + + 77 FLD0702A PIC 9(04)V9(30) COMP-3 + VALUE 9021.848589518318695112952809722628. + 77 FLD0702B PIC 9(07)V9(01) COMP-6 + VALUE 2351439.7. + 77 FLD0702E PIC X VALUE 'N'. + + 77 FLD0703A PIC S9(04) COMP-3 + VALUE +1126. + 77 FLD0703B PIC 9(08)V9(04) COMP-6 + VALUE 33525578.1235. + 77 FLD0703E PIC X VALUE 'N'. + + 77 FLD0704A PIC 9(10)V9(07) COMP-6 + VALUE 4696322933.5995404. + 77 FLD0704B PIC 9(09)V9(14) COMP-3 + VALUE 611168884.71092423174013. + 77 FLD0704E PIC X VALUE 'N'. + + 77 FLD0705A PIC 9(10)V9(10) COMP-6 + VALUE 5381864238.0664638569. + 77 FLD0705B PIC 9(10)V9(07) COMP-6 + VALUE 4699950479.7278301. + 77 FLD0705E PIC X VALUE 'N'. + + 77 FLD0706A PIC 9(07)V9(22) COMP-3 + VALUE 7815442.4104873465584120140192. + 77 FLD0706B PIC S9(05)V9(01) COMP-3 + VALUE -17297.4. + 77 FLD0706E PIC X VALUE 'N'. + + 77 FLD0707A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0707B PIC 9(10)V9(09) COMP-3 + VALUE 5129442198.407349051. + 77 FLD0707E PIC X VALUE 'N'. + + 77 FLD0708A PIC 9(02)V9(34) COMP-3 + VALUE 95.1225570140109555339336111501324921. + 77 FLD0708B PIC 9(08)V9(04) COMP-6 + VALUE 33834894.3169. + 77 FLD0708E PIC X VALUE 'N'. + + 77 FLD0709A PIC S9(04) COMP-3 + VALUE +1124. + 77 FLD0709B PIC 9(09)V9(05) COMP-6 + VALUE 379344826.68404. + 77 FLD0709E PIC X VALUE 'N'. + + 77 FLD0710A PIC 9(01)V9(36) COMP-3 + VALUE 9.946833086486408515014545628218911588. + 77 FLD0710B PIC S9(09)V9(03) COMP-3 + VALUE +322996298.459. + 77 FLD0710E PIC X VALUE 'N'. + + 77 FLD0711A PIC 9(09)V9(16) COMP-6 + VALUE 677754067.1912668512888444. + 77 FLD0711B PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0711E PIC X VALUE 'N'. + + 77 FLD0712A PIC 9(09)V9(14) COMP-3 + VALUE 610433230.32745544498567. + 77 FLD0712B PIC S9(10)V9(08) COMP-3 + VALUE -4947392148.88603839. + 77 FLD0712E PIC X VALUE 'N'. + + 77 FLD0713A PIC S9(08)V9(03) COMP-3 + VALUE -29280564.557. + 77 FLD0713B PIC 9(07)V9(01) COMP-6 + VALUE 2168463.7. + 77 FLD0713E PIC X VALUE 'N'. + + 77 FLD0714A PIC 9(10)V9(07) COMP-6 + VALUE 4593980567.3719869. + 77 FLD0714B PIC 9(09)V9(04) COMP-6 + VALUE 347385951.5252. + 77 FLD0714E PIC X VALUE 'N'. + + 77 FLD0715A PIC 9(09)V9(06) COMP-6 + VALUE 406643755.503527. + 77 FLD0715B PIC 9(10)V9(10) COMP-6 + VALUE 5480282475.3098877685. + 77 FLD0715E PIC X VALUE 'N'. + + 77 FLD0716A PIC S9(08)V9(03) COMP-3 + VALUE -29497495.128. + 77 FLD0716B PIC 9(03)V9(31) COMP-3 + VALUE 914.3056916239737930141018296126276. + 77 FLD0716E PIC X VALUE 'N'. + + 77 FLD0717A PIC 9(05)V9(28) COMP-6 + VALUE 86936.9843469434133709228262887336. + 77 FLD0717B PIC 9(07)V9(21) COMP-6 + VALUE 7570171.861371541854879296806. + 77 FLD0717E PIC X VALUE 'N'. + + 77 FLD0718A PIC 9(06) COMP-6 + VALUE 158746. + 77 FLD0718B PIC 9(10)V9(06) COMP-6 + VALUE 4283417063.648062. + 77 FLD0718E PIC X VALUE 'N'. + + 77 FLD0719A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0719B PIC 9(07)V9(02) COMP-6 + VALUE 2390904.61. + 77 FLD0719E PIC X VALUE 'N'. + + 77 FLD0720A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0720B PIC S9(09)V9(06) COMP-3 + VALUE +404886316.426392. + 77 FLD0720E PIC X VALUE 'N'. + + 77 FLD0721A PIC S9(09)V9(03) COMP-3 + VALUE +332294869.962. + 77 FLD0721B PIC 9(07)V9(01) COMP-6 + VALUE 2285954.3. + 77 FLD0721E PIC X VALUE 'N'. + + 77 FLD0722A PIC S9(05)V9(01) COMP-3 + VALUE -17094.9. + 77 FLD0722B PIC 9(07)V9(21) COMP-3 + VALUE 7607809.920924922808538326535. + 77 FLD0722E PIC X VALUE 'N'. + + 77 FLD0723A PIC 9(05)V9(28) COMP-3 + VALUE 87349.0901765646254872876852459739. + 77 FLD0723B PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0723E PIC X VALUE 'N'. + + 77 FLD0724A PIC 9(09)V9(03) COMP-6 + VALUE 317474559.928. + 77 FLD0724B PIC 9(10)V9(09) COMP-6 + VALUE 5251486411.115240393. + 77 FLD0724E PIC X VALUE 'N'. + + 77 FLD0725A PIC 9(03)V9(31) COMP-6 + VALUE 915.1169879467740964074096154945436. + 77 FLD0725B PIC S9(09)V9(07) COMP-3 + VALUE +444412819.1361023. + 77 FLD0725E PIC X VALUE 'N'. + + 77 FLD0726A PIC 9(05) COMP-6 + VALUE 14771. + 77 FLD0726B PIC S9(09)V9(06) COMP-3 + VALUE +401835639.675800. + 77 FLD0726E PIC X VALUE 'N'. + + 77 FLD0727A PIC 9(10)V9(10) COMP-3 + VALUE 5412169008.2113094177. + 77 FLD0727B PIC 9(09)V9(16) COMP-6 + VALUE 677439277.9021225496904889. + 77 FLD0727E PIC X VALUE 'N'. + + 77 FLD0728A PIC 9(09)V9(07) COMP-6 + VALUE 439411444.5456123. + 77 FLD0728B PIC S9(09)V9(05) COMP-3 + VALUE -371357711.97684. + 77 FLD0728E PIC X VALUE 'N'. + + 77 FLD0729A PIC 9(02)V9(33) COMP-6 + VALUE 94.514768998125520127473464526701718. + 77 FLD0729B PIC 9(07)V9(23) COMP-6 + VALUE 7959700.26538914909863819957536. + 77 FLD0729E PIC X VALUE 'N'. + + 77 FLD0730A PIC 9(06)V9(25) COMP-3 + VALUE 822685.8594490329412707296796725. + 77 FLD0730B PIC 9(09)V9(14) COMP-3 + VALUE 630270988.23946403616247. + 77 FLD0730E PIC X VALUE 'N'. + + 77 FLD0731A PIC 9(10)V9(12) COMP-3 + VALUE 5808279049.356201984011. + 77 FLD0731B PIC 9(09)V9(13) COMP-3 + VALUE 600372700.6085320949679. + 77 FLD0731E PIC X VALUE 'N'. + + 77 FLD0732A PIC 9(03)V9(31) COMP-6 + VALUE 915.5080332184045710519626481982413. + 77 FLD0732B PIC S9(04) COMP-3 + VALUE +1229. + 77 FLD0732E PIC X VALUE 'N'. + + 77 FLD0733A PIC 9(09)V9(03) COMP-6 + VALUE 328019305.824. + 77 FLD0733B PIC 9(09)V9(15) COMP-6 + VALUE 637621846.224700750127567. + 77 FLD0733E PIC X VALUE 'N'. + + 77 FLD0734A PIC S9(06) COMP-3 + VALUE -164821. + 77 FLD0734B PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0734E PIC X VALUE 'N'. + + 77 FLD0735A PIC S9(06)V9(01) COMP-3 + VALUE -190229.8. + 77 FLD0735B PIC 9(09)V9(15) COMP-3 + VALUE 641899075.827484955070190. + 77 FLD0735E PIC X VALUE 'N'. + + 77 FLD0736A PIC 9(10)V9(09) COMP-3 + VALUE 5128678158.202983894. + 77 FLD0736B PIC 9(07)V9(23) COMP-6 + VALUE 7952260.56216242538354777025233. + 77 FLD0736E PIC X VALUE 'N'. + + 77 FLD0737A PIC S9(07)V9(02) COMP-3 + VALUE -2601084.10. + 77 FLD0737B PIC S9(07)V9(02) COMP-3 + VALUE -2623355.12. + 77 FLD0737E PIC X VALUE 'N'. + + 77 FLD0738A PIC 9(10)V9(09) COMP-6 + VALUE 5071467647.954436275. + 77 FLD0738B PIC 9(02)V9(34) COMP-6 + VALUE 96.7470462418068333221299326396547257. + 77 FLD0738E PIC X VALUE 'N'. + + 77 FLD0739A PIC S9(09)V9(03) COMP-3 + VALUE +324797211.447. + 77 FLD0739B PIC S9(10)V9(08) COMP-3 + VALUE -4916417996.38161292. + 77 FLD0739E PIC X VALUE 'N'. + + 77 FLD0740A PIC S9(08)V9(03) COMP-3 + VALUE +30394739.303. + 77 FLD0740B PIC 9(05)V9(28) COMP-3 + VALUE 87461.9397808273024708114462555386. + 77 FLD0740E PIC X VALUE 'N'. + + 77 FLD0741A PIC S9(09)V9(03) COMP-3 + VALUE +322386723.831. + 77 FLD0741B PIC S9(09)V9(03) COMP-3 + VALUE +321782512.880. + 77 FLD0741E PIC X VALUE 'N'. + + 77 FLD0742A PIC 9(09)V9(06) COMP-6 + VALUE 419367234.713135. + 77 FLD0742B PIC S9(08)V9(03) COMP-3 + VALUE +30468212.851. + 77 FLD0742E PIC X VALUE 'N'. + + 77 FLD0743A PIC 9(05)V9(27) COMP-6 + VALUE 85864.867305029812794003873932524. + 77 FLD0743B PIC 9(06)V9(01) COMP-6 + VALUE 209820.2. + 77 FLD0743E PIC X VALUE 'N'. + + 77 FLD0744A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0744B PIC 9(08)V9(02) COMP-6 + VALUE 26956228.79. + 77 FLD0744E PIC X VALUE 'N'. + + 77 FLD0745A PIC 9(01)V9(36) COMP-6 + VALUE 9.759709501186564217789509712019935250. + 77 FLD0745B PIC 9(05) COMP-6 + VALUE 13548. + 77 FLD0745E PIC X VALUE 'N'. + + 77 FLD0746A PIC 9(10)V9(10) COMP-3 + VALUE 5435731573.3552813430. + 77 FLD0746B PIC 9(10)V9(09) COMP-3 + VALUE 5204204473.599284286. + 77 FLD0746E PIC X VALUE 'N'. + + 77 FLD0747A PIC 9(10)V9(11) COMP-6 + VALUE 5681676571.07930934579. + 77 FLD0747B PIC 9(03)V9(31) COMP-6 + VALUE 916.9159297409485986918298294767737. + 77 FLD0747E PIC X VALUE 'N'. + + 77 FLD0748A PIC 9(03) COMP-6 + VALUE 086. + 77 FLD0748B PIC S9(05)V9(01) COMP-3 + VALUE -18032.7. + 77 FLD0748E PIC X VALUE 'N'. + + 77 FLD0749A PIC S9(10)V9(07) COMP-3 + VALUE -4609096560.3942379. + 77 FLD0749B PIC 9(06)V9(25) COMP-3 + VALUE 820519.2560948625368766329302161. + 77 FLD0749E PIC X VALUE 'N'. + + 77 FLD0750A PIC 9(07)V9(22) COMP-6 + VALUE 7666736.3171436386792834127845. + 77 FLD0750B PIC 9(08)V9(04) COMP-6 + VALUE 33966692.5145. + 77 FLD0750E PIC X VALUE 'N'. + + 77 FLD0751A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0751B PIC S9(05) COMP-3 + VALUE -15176. + 77 FLD0751E PIC X VALUE 'N'. + + 77 FLD0752A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0752B PIC 9(03)V9(32) COMP-3 + VALUE 922.38508268330654527034084821934811. + 77 FLD0752E PIC X VALUE 'N'. + + 77 FLD0753A PIC 9(08)V9(19) COMP-3 + VALUE 73379118.3872512742247806727. + 77 FLD0753B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0753E PIC X VALUE 'N'. + + 77 FLD0754A PIC S9(09)V9(03) COMP-3 + VALUE +322061792.108. + 77 FLD0754B PIC 9(07)V9(02) COMP-6 + VALUE 2450066.21. + 77 FLD0754E PIC X VALUE 'N'. + + 77 FLD0755A PIC 9(06)V9(25) COMP-6 + VALUE 835592.8333445592492978448717622. + 77 FLD0755B PIC 9(10)V9(10) COMP-3 + VALUE 5346301002.0417645051. + 77 FLD0755E PIC X VALUE 'N'. + + 77 FLD0756A PIC 9(09)V9(04) COMP-6 + VALUE 366295057.8421. + 77 FLD0756B PIC S9(05) COMP-3 + VALUE -15366. + 77 FLD0756E PIC X VALUE 'N'. + + 77 FLD0757A PIC 9(08)V9(19) COMP-3 + VALUE 71466976.1113856494283425035. + 77 FLD0757B PIC S9(07)V9(02) COMP-3 + VALUE +2429438.31. + 77 FLD0757E PIC X VALUE 'N'. + + 77 FLD0758A PIC 9(07)V9(01) COMP-6 + VALUE 2293699.9. + 77 FLD0758B PIC S9(06) COMP-3 + VALUE -162229. + 77 FLD0758E PIC X VALUE 'N'. + + 77 FLD0759A PIC 9(03)V9(32) COMP-3 + VALUE 931.38963166127219928114300273591652. + 77 FLD0759B PIC 9(07)V9(21) COMP-3 + VALUE 7621303.882836163445801958005. + 77 FLD0759E PIC X VALUE 'N'. + + 77 FLD0760A PIC 9(06)V9(01) COMP-6 + VALUE 188511.3. + 77 FLD0760B PIC 9(04)V9(30) COMP-3 + VALUE 9041.413390221895163278986728982999. + 77 FLD0760E PIC X VALUE 'N'. + + 77 FLD0761A PIC 9(09)V9(17) COMP-3 + VALUE 690006529.44346418937726639. + 77 FLD0761B PIC 9(09)V9(14) COMP-6 + VALUE 629261290.31917010792085. + 77 FLD0761E PIC X VALUE 'N'. + + 77 FLD0762A PIC 9(09)V9(16) COMP-3 + VALUE 671435372.9957326377686399. + 77 FLD0762B PIC 9(07)V9(02) COMP-6 + VALUE 2591343.61. + 77 FLD0762E PIC X VALUE 'N'. + + 77 FLD0763A PIC 9(08)V9(19) COMP-3 + VALUE 71468145.3175585401638159055. + 77 FLD0763B PIC 9(06)V9(24) COMP-6 + VALUE 815545.608346078032546699887461. + 77 FLD0763E PIC X VALUE 'N'. + + 77 FLD0764A PIC 9(10)V9(11) COMP-3 + VALUE 5535007698.50315821329. + 77 FLD0764B PIC 9(10)V9(08) COMP-6 + VALUE 4979398183.62831021. + 77 FLD0764E PIC X VALUE 'N'. + + 77 FLD0765A PIC 9(04)V9(29) COMP-6 + VALUE 8855.80582773889624093044403707608. + 77 FLD0765B PIC S9(04) COMP-3 + VALUE +1212. + 77 FLD0765E PIC X VALUE 'N'. + + 77 FLD0766A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0766B PIC 9(07)V9(01) COMP-6 + VALUE 2294943.2. + 77 FLD0766E PIC X VALUE 'N'. + + 77 FLD0767A PIC S9(10)V9(08) COMP-3 + VALUE -4848285740.27346248. + 77 FLD0767B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0767E PIC X VALUE 'N'. + + 77 FLD0768A PIC 9(09)V9(17) COMP-3 + VALUE 684230789.92735519854306858. + 77 FLD0768B PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0768E PIC X VALUE 'N'. + + 77 FLD0769A PIC 9(07)V9(02) COMP-6 + VALUE 2565731.27. + 77 FLD0769B PIC 9(09)V9(04) COMP-6 + VALUE 356094054.4649. + 77 FLD0769E PIC X VALUE 'N'. + + 77 FLD0770A PIC 9(09)V9(12) COMP-3 + VALUE 574214303.174467532997. + 77 FLD0770B PIC 9(10)V9(13) COMP-6 + VALUE 6057194691.9895736094474. + 77 FLD0770E PIC X VALUE 'N'. + + 77 FLD0771A PIC 9(08)V9(18) COMP-6 + VALUE 69721614.519732855175249142. + 77 FLD0771B PIC 9(09)V9(17) COMP-3 + VALUE 690190375.47148320843604096. + 77 FLD0771E PIC X VALUE 'N'. + + 77 FLD0772A PIC 9(10)V9(08) COMP-6 + VALUE 4868623585.10471993. + 77 FLD0772B PIC 9(10)V9(05) COMP-6 + VALUE 3959689116.24786. + 77 FLD0772E PIC X VALUE 'N'. + + 77 FLD0773A PIC S9(07)V9(01) COMP-3 + VALUE +2339835.9. + 77 FLD0773B PIC 9(03)V9(32) COMP-3 + VALUE 931.93997423560348547511011929600499. + 77 FLD0773E PIC X VALUE 'N'. + + 77 FLD0774A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0774B PIC S9(07)V9(02) COMP-3 + VALUE +2425891.04. + 77 FLD0774E PIC X VALUE 'N'. + + 77 FLD0775A PIC 9(09)V9(06) COMP-6 + VALUE 418947899.183504. + 77 FLD0775B PIC 9(03)V9(32) COMP-3 + VALUE 930.87735098341006789723905967548489. + 77 FLD0775E PIC X VALUE 'N'. + + 77 FLD0776A PIC 9(09)V9(06) COMP-6 + VALUE 418950765.017868. + 77 FLD0776B PIC 9(05)V9(27) COMP-6 + VALUE 84781.081485203291236985023715533. + 77 FLD0776E PIC X VALUE 'N'. + + 77 FLD0777A PIC S9(08)V9(03) COMP-3 + VALUE +31438250.184. + 77 FLD0777B PIC 9(10)V9(11) COMP-3 + VALUE 5606560858.83416754889. + 77 FLD0777E PIC X VALUE 'N'. + + 77 FLD0778A PIC S9(06)V9(01) COMP-3 + VALUE -192739.4. + 77 FLD0778B PIC 9(03)V9(31) COMP-6 + VALUE 916.8465464730475300569878527312539. + 77 FLD0778E PIC X VALUE 'N'. + + 77 FLD0779A PIC 9(04)V9(30) COMP-3 + VALUE 9029.333248069044692840634525055065. + 77 FLD0779B PIC S9(10)V9(08) COMP-3 + VALUE -4740907582.59428035. + 77 FLD0779E PIC X VALUE 'N'. + + 77 FLD0780A PIC 9(09)V9(03) COMP-6 + VALUE 318241207.749. + 77 FLD0780B PIC 9(06)V9(25) COMP-3 + VALUE 822759.6235369002419801631731388. + 77 FLD0780E PIC X VALUE 'N'. + + 77 FLD0781A PIC 9(10)V9(08) COMP-6 + VALUE 4967153543.73054196. + 77 FLD0781B PIC 9(08)V9(03) COMP-6 + VALUE 29720911.669. + 77 FLD0781E PIC X VALUE 'N'. + + 77 FLD0782A PIC 9(05) COMP-6 + VALUE 13793. + 77 FLD0782B PIC 9(02)V9(34) COMP-6 + VALUE 95.5158015091007617236584792408393695. + 77 FLD0782E PIC X VALUE 'N'. + + 77 FLD0783A PIC 9(04)V9(29) COMP-3 + VALUE 8813.39219378433402773964644438819. + 77 FLD0783B PIC S9(10)V9(06) COMP-3 + VALUE +4236433759.282261. + 77 FLD0783E PIC X VALUE 'N'. + + 77 FLD0784A PIC 9(09)V9(15) COMP-3 + VALUE 641964802.793786426526878. + 77 FLD0784B PIC 9(06)V9(25) COMP-3 + VALUE 824637.3935062285553954097849782. + 77 FLD0784E PIC X VALUE 'N'. + + 77 FLD0785A PIC 9(08)V9(17) COMP-3 + VALUE 68097654.34600172362422654. + 77 FLD0785B PIC 9(09)V9(03) COMP-6 + VALUE 325202869.704. + 77 FLD0785E PIC X VALUE 'N'. + + 77 FLD0786A PIC 9(01)V9(36) COMP-3 + VALUE 9.820249933224565186407062356011010706. + 77 FLD0786B PIC 9(05)V9(27) COMP-3 + VALUE 85417.725929538756979297886573476. + 77 FLD0786E PIC X VALUE 'N'. + + 77 FLD0787A PIC 9(10)V9(11) COMP-6 + VALUE 5592847098.07636559730. + 77 FLD0787B PIC 9(06)V9(01) COMP-6 + VALUE 199330.4. + 77 FLD0787E PIC X VALUE 'N'. + + 77 FLD0788A PIC 9(02)V9(34) COMP-6 + VALUE 95.6557531637097668841818176588276401. + 77 FLD0788B PIC 9(07)V9(22) COMP-6 + VALUE 7789929.3063459995600794627534. + 77 FLD0788E PIC X VALUE 'N'. + + 77 FLD0789A PIC S9(05)V9(01) COMP-3 + VALUE -17101.7. + 77 FLD0789B PIC 9(09)V9(16) COMP-3 + VALUE 660444958.2132847496040994. + 77 FLD0789E PIC X VALUE 'N'. + + 77 FLD0790A PIC 9(07)V9(02) COMP-6 + VALUE 2384369.54. + 77 FLD0790B PIC S9(08)V9(03) COMP-3 + VALUE -29309999.122. + 77 FLD0790E PIC X VALUE 'N'. + + 77 FLD0791A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0791B PIC 9(08)V9(20) COMP-6 + VALUE 73827325.48868294886190710712. + 77 FLD0791E PIC X VALUE 'N'. + + 77 FLD0792A PIC 9(02)V9(34) COMP-6 + VALUE 95.5230059106088935649836457741912454. + 77 FLD0792B PIC 9(09)V9(05) COMP-6 + VALUE 379824535.06313. + 77 FLD0792E PIC X VALUE 'N'. + + 77 FLD0793A PIC 9(06)V9(01) COMP-6 + VALUE 199221.9. + 77 FLD0793B PIC 9(10)V9(11) COMP-6 + VALUE 5591577156.30166807230. + 77 FLD0793E PIC X VALUE 'N'. + + 77 FLD0794A PIC S9(08)V9(04) COMP-3 + VALUE +33437009.5807. + 77 FLD0794B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0794E PIC X VALUE 'N'. + + 77 FLD0795A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0795B PIC S9(08)V9(04) COMP-3 + VALUE +33494400.6958. + 77 FLD0795E PIC X VALUE 'N'. + + 77 FLD0796A PIC 9(07)V9(21) COMP-6 + VALUE 7565685.006144580171394409262. + 77 FLD0796B PIC 9(08)V9(19) COMP-6 + VALUE 72949831.5977354816475042298. + 77 FLD0796E PIC X VALUE 'N'. + + 77 FLD0797A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0797B PIC 9(09)V9(04) COMP-6 + VALUE 348777486.0252. + 77 FLD0797E PIC X VALUE 'N'. + + 77 FLD0798A PIC S9(09)V9(03) COMP-3 + VALUE +332243375.906. + 77 FLD0798B PIC 9(09)V9(16) COMP-3 + VALUE 673821443.1439371043808250. + 77 FLD0798E PIC X VALUE 'N'. + + 77 FLD0799A PIC 9(09)V9(17) COMP-3 + VALUE 690866271.33683375934225523. + 77 FLD0799B PIC 9(09)V9(11) COMP-3 + VALUE 551526790.74963362193. + 77 FLD0799E PIC X VALUE 'N'. + + 77 FLD0800A PIC 9(08)V9(18) COMP-3 + VALUE 70036112.416705975647346349. + 77 FLD0800B PIC 9(08)V9(02) COMP-6 + VALUE 26662512.18. + 77 FLD0800E PIC X VALUE 'N'. + + 77 FLD0801A PIC S9(09)V9(07) COMP-3 + VALUE +443093279.8052367. + 77 FLD0801B PIC 9(01)V9(36) COMP-3 + VALUE 9.827967002397862694706986985693220049. + 77 FLD0801E PIC X VALUE 'N'. + + 77 FLD0802A PIC S9(07)V9(02) COMP-3 + VALUE +2449505.23. + 77 FLD0802B PIC 9(04)V9(29) COMP-3 + VALUE 8911.32090012832223102634543465683. + 77 FLD0802E PIC X VALUE 'N'. + + 77 FLD0803A PIC S9(05)V9(01) COMP-3 + VALUE -17467.0. + 77 FLD0803B PIC 9(10)V9(11) COMP-6 + VALUE 5556247901.99399698487. + 77 FLD0803E PIC X VALUE 'N'. + + 77 FLD0804A PIC 9(07)V9(02) COMP-6 + VALUE 2599541.84. + 77 FLD0804B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0804E PIC X VALUE 'N'. + + 77 FLD0805A PIC 9(07)V9(01) COMP-6 + VALUE 2358341.0. + 77 FLD0805B PIC 9(10)V9(08) COMP-6 + VALUE 4796323563.66873291. + 77 FLD0805E PIC X VALUE 'N'. + + 77 FLD0806A PIC 9(10)V9(11) COMP-3 + VALUE 5703927562.80738821850. + 77 FLD0806B PIC 9(09)V9(07) COMP-6 + VALUE 445849105.9648416. + 77 FLD0806E PIC X VALUE 'N'. + + 77 FLD0807A PIC 9(09)V9(17) COMP-6 + VALUE 689326682.16034242991696601. + 77 FLD0807B PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0807E PIC X VALUE 'N'. + + 77 FLD0808A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0808B PIC 9(10)V9(07) COMP-6 + VALUE 4574455047.5690953. + 77 FLD0808E PIC X VALUE 'N'. + + 77 FLD0809A PIC 9(05)V9(28) COMP-6 + VALUE 86873.4196996681751201663246320094. + 77 FLD0809B PIC S9(09)V9(07) COMP-3 + VALUE +440334288.3961999. + 77 FLD0809E PIC X VALUE 'N'. + + 77 FLD0810A PIC S9(04) COMP-3 + VALUE +1129. + 77 FLD0810B PIC S9(07)V9(01) COMP-3 + VALUE +2130584.0. + 77 FLD0810E PIC X VALUE 'N'. + + 77 FLD0811A PIC 9(09)V9(15) COMP-6 + VALUE 648943185.643321429623142. + 77 FLD0811B PIC 9(01)V9(36) COMP-3 + VALUE 9.811592432324195423021251372119877487. + 77 FLD0811E PIC X VALUE 'N'. + + 77 FLD0812A PIC S9(08)V9(03) COMP-3 + VALUE -29270905.795. + 77 FLD0812B PIC 9(08)V9(02) COMP-6 + VALUE 27514068.39. + 77 FLD0812E PIC X VALUE 'N'. + + 77 FLD0813A PIC 9(10)V9(08) COMP-6 + VALUE 4881724662.84412076. + 77 FLD0813B PIC S9(08)V9(03) COMP-3 + VALUE -29113136.400. + 77 FLD0813E PIC X VALUE 'N'. + + 77 FLD0814A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0814B PIC 9(07)V9(21) COMP-3 + VALUE 7525112.595496631362479433846. + 77 FLD0814E PIC X VALUE 'N'. + + 77 FLD0815A PIC 9(06)V9(25) COMP-6 + VALUE 838676.0467962863785373883729334. + 77 FLD0815B PIC 9(02)V9(34) COMP-3 + VALUE 95.3836598694868031955707010638434439. + 77 FLD0815E PIC X VALUE 'N'. + + 77 FLD0816A PIC 9(08)V9(18) COMP-6 + VALUE 70774184.783492177786001775. + 77 FLD0816B PIC 9(04)V9(29) COMP-6 + VALUE 8859.15144904112161761133847903693. + 77 FLD0816E PIC X VALUE 'N'. + + 77 FLD0817A PIC 9(10)V9(09) COMP-6 + VALUE 5163345142.860672476. + 77 FLD0817B PIC 9(10)V9(09) COMP-6 + VALUE 5158922133.304477686. + 77 FLD0817E PIC X VALUE 'N'. + + 77 FLD0818A PIC 9(08)V9(03) COMP-6 + VALUE 30586164.664. + 77 FLD0818B PIC 9(08)V9(19) COMP-6 + VALUE 71565910.0751609544843745425. + 77 FLD0818E PIC X VALUE 'N'. + + 77 FLD0819A PIC 9(01)V9(36) COMP-3 + VALUE 9.844708607145921108738662042014766484. + 77 FLD0819B PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0819E PIC X VALUE 'N'. + + 77 FLD0820A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0820B PIC 9(02)V9(34) COMP-6 + VALUE 95.6537139953218984445015848905313760. + 77 FLD0820E PIC X VALUE 'N'. + + 77 FLD0821A PIC 9(09)V9(11) COMP-3 + VALUE 550576956.44832715942. + 77 FLD0821B PIC S9(09)V9(05) COMP-3 + VALUE -383656536.39422. + 77 FLD0821E PIC X VALUE 'N'. + + 77 FLD0822A PIC S9(05) COMP-3 + VALUE +14037. + 77 FLD0822B PIC 9(04) COMP-6 + VALUE 1092. + 77 FLD0822E PIC X VALUE 'N'. + + 77 FLD0823A PIC 9(08)V9(20) COMP-6 + VALUE 73880168.20028298070610617287. + 77 FLD0823B PIC S9(09)V9(06) COMP-3 + VALUE +410430433.569272. + 77 FLD0823E PIC X VALUE 'N'. + + 77 FLD0824A PIC 9(10)V9(10) COMP-6 + VALUE 5351534260.3280557920. + 77 FLD0824B PIC 9(09)V9(14) COMP-6 + VALUE 619637811.24301098301998. + 77 FLD0824E PIC X VALUE 'N'. + + 77 FLD0825A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0825B PIC S9(05)V9(01) COMP-3 + VALUE -17069.2. + 77 FLD0825E PIC X VALUE 'N'. + + 77 FLD0826A PIC S9(06)V9(01) COMP-3 + VALUE -190786.5. + 77 FLD0826B PIC S9(10)V9(08) COMP-3 + VALUE -4805976358.59735916. + 77 FLD0826E PIC X VALUE 'N'. + + 77 FLD0827A PIC 9(07)V9(22) COMP-6 + VALUE 7763847.1978375678261841130733. + 77 FLD0827B PIC 9(10)V9(07) COMP-6 + VALUE 4683286251.1747114. + 77 FLD0827E PIC X VALUE 'N'. + + 77 FLD0828A PIC S9(10)V9(07) COMP-3 + VALUE -4530916009.2405642. + 77 FLD0828B PIC S9(05) COMP-3 + VALUE -15016. + 77 FLD0828E PIC X VALUE 'N'. + + 77 FLD0829A PIC 9(09)V9(17) COMP-3 + VALUE 691486534.21926165041355716. + 77 FLD0829B PIC 9(07)V9(23) COMP-6 + VALUE 7963194.44710118728991687930829. + 77 FLD0829E PIC X VALUE 'N'. + + 77 FLD0830A PIC 9(04)V9(30) COMP-6 + VALUE 8965.722935126121395654763546190224. + 77 FLD0830B PIC 9(10)V9(11) COMP-6 + VALUE 5655358049.53465004452. + 77 FLD0830E PIC X VALUE 'N'. + + 77 FLD0831A PIC 9(04)V9(30) COMP-6 + VALUE 8956.555580996397036841472072410397. + 77 FLD0831B PIC 9(09)V9(16) COMP-3 + VALUE 660284490.9595845246386147. + 77 FLD0831E PIC X VALUE 'N'. + + 77 FLD0832A PIC 9(04) COMP-6 + VALUE 1185. + 77 FLD0832B PIC 9(09)V9(06) COMP-6 + VALUE 419049138.539795. + 77 FLD0832E PIC X VALUE 'N'. + + 77 FLD0833A PIC 9(06)V9(24) COMP-3 + VALUE 804859.798300300854911881742737. + 77 FLD0833B PIC 9(09)V9(16) COMP-3 + VALUE 664990588.4825918489511309. + 77 FLD0833E PIC X VALUE 'N'. + + 77 FLD0834A PIC 9(09)V9(04) COMP-6 + VALUE 349209744.2881. + 77 FLD0834B PIC 9(08)V9(19) COMP-3 + VALUE 71191898.1740956136050613167. + 77 FLD0834E PIC X VALUE 'N'. + + 77 FLD0835A PIC 9(08)V9(19) COMP-3 + VALUE 71178359.2779248075466114187. + 77 FLD0835B PIC 9(07)V9(22) COMP-6 + VALUE 7891261.8513661014763016510187. + 77 FLD0835E PIC X VALUE 'N'. + + 77 FLD0836A PIC 9(09)V9(07) COMP-6 + VALUE 446141389.3412962. + 77 FLD0836B PIC 9(09)V9(13) COMP-3 + VALUE 594066179.3005866941896. + 77 FLD0836E PIC X VALUE 'N'. + + 77 FLD0837A PIC 9(04)V9(30) COMP-6 + VALUE 8982.008694278872384941792006429750. + 77 FLD0837B PIC S9(08)V9(03) COMP-3 + VALUE -29146758.519. + 77 FLD0837E PIC X VALUE 'N'. + + 77 FLD0838A PIC 9(10)V9(12) COMP-6 + VALUE 5873188106.793812979233. + 77 FLD0838B PIC 9(07)V9(22) COMP-3 + VALUE 7748686.2151072521953665273031. + 77 FLD0838E PIC X VALUE 'N'. + + 77 FLD0839A PIC 9(08)V9(19) COMP-3 + VALUE 71324671.8649382605015318858. + 77 FLD0839B PIC 9(06)V9(01) COMP-6 + VALUE 205379.6. + 77 FLD0839E PIC X VALUE 'N'. + + 77 FLD0840A PIC S9(03) COMP-3 + VALUE -094. + 77 FLD0840B PIC 9(04) COMP-6 + VALUE 1059. + 77 FLD0840E PIC X VALUE 'N'. + + 77 FLD0841A PIC 9(08)V9(18) COMP-3 + VALUE 70179428.042996372383299785. + 77 FLD0841B PIC 9(06)V9(24) COMP-3 + VALUE 813553.693586876014443021176703. + 77 FLD0841E PIC X VALUE 'N'. + + 77 FLD0842A PIC 9(09)V9(16) COMP-3 + VALUE 661649948.5739699704112126. + 77 FLD0842B PIC 9(02)V9(33) COMP-6 + VALUE 94.543261545044898763734408930758945. + 77 FLD0842E PIC X VALUE 'N'. + + 77 FLD0843A PIC 9(06)V9(25) COMP-6 + VALUE 818928.0761087860405211813485948. + 77 FLD0843B PIC S9(08)V9(03) COMP-3 + VALUE +30347988.647. + 77 FLD0843E PIC X VALUE 'N'. + + 77 FLD0844A PIC 9(07)V9(22) COMP-6 + VALUE 7754458.9142564990247308287507. + 77 FLD0844B PIC 9(10)V9(07) COMP-6 + VALUE 4487113046.2525055. + 77 FLD0844E PIC X VALUE 'N'. + + 77 FLD0845A PIC 9(10)V9(12) COMP-3 + VALUE 5903835745.060688200425. + 77 FLD0845B PIC 9(09)V9(15) COMP-3 + VALUE 651184321.418812994686220. + 77 FLD0845E PIC X VALUE 'N'. + + 77 FLD0846A PIC 9(08)V9(03) COMP-6 + VALUE 29802576.878. + 77 FLD0846B PIC 9(10)V9(07) COMP-6 + VALUE 4580030325.9646085. + 77 FLD0846E PIC X VALUE 'N'. + + 77 FLD0847A PIC 9(05)V9(26) COMP-3 + VALUE 84041.42690564196938041163775778. + 77 FLD0847B PIC 9(08)V9(03) COMP-6 + VALUE 29618694.346. + 77 FLD0847E PIC X VALUE 'N'. + + 77 FLD0848A PIC 9(07)V9(23) COMP-3 + VALUE 7949747.62786875510656159349309. + 77 FLD0848B PIC 9(08)V9(19) COMP-3 + VALUE 71130247.7845018432667245633. + 77 FLD0848E PIC X VALUE 'N'. + + 77 FLD0849A PIC 9(09)V9(13) COMP-6 + VALUE 595598045.8961575019216. + 77 FLD0849B PIC 9(07)V9(21) COMP-3 + VALUE 7527838.155592773139446194363. + 77 FLD0849E PIC X VALUE 'N'. + + 77 FLD0850A PIC 9(09)V9(06) COMP-6 + VALUE 418716850.605351. + 77 FLD0850B PIC 9(09)V9(15) COMP-3 + VALUE 631787055.454641532925563. + 77 FLD0850E PIC X VALUE 'N'. + + 77 FLD0851A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0851B PIC 9(07)V9(01) COMP-6 + VALUE 2252059.3. + 77 FLD0851E PIC X VALUE 'N'. + + 77 FLD0852A PIC 9(10)V9(11) COMP-3 + VALUE 5643399909.75319838462. + 77 FLD0852B PIC 9(08)V9(02) COMP-6 + VALUE 28682579.88. + 77 FLD0852E PIC X VALUE 'N'. + + 77 FLD0853A PIC 9(06)V9(24) COMP-3 + VALUE 801200.590406665469345171004533. + 77 FLD0853B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0853E PIC X VALUE 'N'. + + 77 FLD0854A PIC 9(01)V9(35) COMP-3 + VALUE 9.72377885073923198255840816273121163. + 77 FLD0854B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0854E PIC X VALUE 'N'. + + 77 FLD0855A PIC 9(08)V9(19) COMP-6 + VALUE 73562901.0042854747375429269. + 77 FLD0855B PIC 9(05)V9(01) COMP-6 + VALUE 16705.4. + 77 FLD0855E PIC X VALUE 'N'. + + 77 FLD0856A PIC 9(09)V9(04) COMP-6 + VALUE 356144099.6704. + 77 FLD0856B PIC S9(05) COMP-3 + VALUE +13257. + 77 FLD0856E PIC X VALUE 'N'. + + 77 FLD0857A PIC 9(03)V9(31) COMP-6 + VALUE 915.3286634102202334872799838194623. + 77 FLD0857B PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0857E PIC X VALUE 'N'. + + 77 FLD0858A PIC 9(10)V9(11) COMP-6 + VALUE 5560594458.08950059131. + 77 FLD0858B PIC 9(08)V9(03) COMP-6 + VALUE 30966624.473. + 77 FLD0858E PIC X VALUE 'N'. + + 77 FLD0859A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0859B PIC 9(02)V9(34) COMP-3 + VALUE 97.1628168143447767945986015547532588. + 77 FLD0859E PIC X VALUE 'N'. + + 77 FLD0860A PIC 9(07)V9(02) COMP-6 + VALUE 2576407.94. + 77 FLD0860B PIC 9(08)V9(04) COMP-6 + VALUE 33654706.3315. + 77 FLD0860E PIC X VALUE 'N'. + + 77 FLD0861A PIC S9(10)V9(07) COMP-3 + VALUE -4605509961.3842453. + 77 FLD0861B PIC 9(04) COMP-6 + VALUE 1091. + 77 FLD0861E PIC X VALUE 'N'. + + 77 FLD0862A PIC 9(07)V9(22) COMP-6 + VALUE 7652464.2157409383802502134130. + 77 FLD0862B PIC 9(09)V9(12) COMP-6 + VALUE 576630833.581719182134. + 77 FLD0862E PIC X VALUE 'N'. + + 77 FLD0863A PIC 9(05)V9(27) COMP-3 + VALUE 85070.091557533766835064170663827. + 77 FLD0863B PIC 9(10)V9(09) COMP-6 + VALUE 5171260723.603198217. + 77 FLD0863E PIC X VALUE 'N'. + + 77 FLD0864A PIC 9(10)V9(11) COMP-3 + VALUE 5711242885.34377577697. + 77 FLD0864B PIC 9(04)V9(29) COMP-6 + VALUE 8791.30787212824560405977081245509. + 77 FLD0864E PIC X VALUE 'N'. + + 77 FLD0865A PIC 9(06)V9(24) COMP-6 + VALUE 807409.725415061507725056344497. + 77 FLD0865B PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0865E PIC X VALUE 'N'. + + 77 FLD0866A PIC 9(09)V9(05) COMP-6 + VALUE 376060050.51851. + 77 FLD0866B PIC 9(04)V9(30) COMP-6 + VALUE 9076.867019798932068042063292523380. + 77 FLD0866E PIC X VALUE 'N'. + + 77 FLD0867A PIC S9(05) COMP-3 + VALUE +14084. + 77 FLD0867B PIC 9(08)V9(19) COMP-6 + VALUE 72879777.6966572774526298417. + 77 FLD0867E PIC X VALUE 'N'. + + 77 FLD0868A PIC 9(07)V9(22) COMP-3 + VALUE 7648419.8420910554094831468319. + 77 FLD0868B PIC 9(10)V9(12) COMP-3 + VALUE 5849128371.667725589944. + 77 FLD0868E PIC X VALUE 'N'. + + 77 FLD0869A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0869B PIC 9(08)V9(17) COMP-3 + VALUE 68157822.06919422936408636. + 77 FLD0869E PIC X VALUE 'N'. + + 77 FLD0870A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0870B PIC 9(09)V9(15) COMP-6 + VALUE 657570531.523696821807334. + 77 FLD0870E PIC X VALUE 'N'. + + 77 FLD0871A PIC 9(09)V9(14) COMP-6 + VALUE 609764683.38536315982878. + 77 FLD0871B PIC 9(10)V9(09) COMP-3 + VALUE 5134836781.377033476. + 77 FLD0871E PIC X VALUE 'N'. + + 77 FLD0872A PIC 9(04)V9(29) COMP-3 + VALUE 8816.31176263962479389135751262074. + 77 FLD0872B PIC 9(10)V9(07) COMP-6 + VALUE 4591409950.7884903. + 77 FLD0872E PIC X VALUE 'N'. + + 77 FLD0873A PIC 9(07)V9(21) COMP-6 + VALUE 7561255.223942077163812314211. + 77 FLD0873B PIC 9(05) COMP-6 + VALUE 15597. + 77 FLD0873E PIC X VALUE 'N'. + + 77 FLD0874A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0874B PIC 9(06)V9(01) COMP-6 + VALUE 188106.3. + 77 FLD0874E PIC X VALUE 'N'. + + 77 FLD0875A PIC S9(06)V9(01) COMP-3 + VALUE +204126.0. + 77 FLD0875B PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0875E PIC X VALUE 'N'. + + 77 FLD0876A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0876B PIC 9(07)V9(23) COMP-3 + VALUE 7928238.87607293276147402139031. + 77 FLD0876E PIC X VALUE 'N'. + + 77 FLD0877A PIC 9(08)V9(18) COMP-6 + VALUE 69924605.886404200827399790. + 77 FLD0877B PIC 9(09)V9(15) COMP-3 + VALUE 651975862.412979334514773. + 77 FLD0877E PIC X VALUE 'N'. + + 77 FLD0878A PIC 9(07)V9(22) COMP-3 + VALUE 7831260.9220719830993573395971. + 77 FLD0878B PIC 9(04)V9(29) COMP-3 + VALUE 8832.64528360225620318146866338793. + 77 FLD0878E PIC X VALUE 'N'. + + 77 FLD0879A PIC 9(07)V9(02) COMP-6 + VALUE 2371533.81. + 77 FLD0879B PIC 9(05)V9(27) COMP-3 + VALUE 85230.962794591269560129376259283. + 77 FLD0879E PIC X VALUE 'N'. + + 77 FLD0880A PIC S9(10)V9(06) COMP-3 + VALUE +4237732309.742536. + 77 FLD0880B PIC 9(05)V9(26) COMP-6 + VALUE 83915.37539577657023315282458497. + 77 FLD0880E PIC X VALUE 'N'. + + 77 FLD0881A PIC 9(10)V9(11) COMP-6 + VALUE 5571129514.90407404264. + 77 FLD0881B PIC S9(09)V9(04) COMP-3 + VALUE -360610120.1846. + 77 FLD0881E PIC X VALUE 'N'. + + 77 FLD0882A PIC 9(10)V9(12) COMP-6 + VALUE 5888713345.878072713546. + 77 FLD0882B PIC 9(09)V9(16) COMP-6 + VALUE 677832951.8186110291821933. + 77 FLD0882E PIC X VALUE 'N'. + + 77 FLD0883A PIC 9(09)V9(16) COMP-3 + VALUE 672192258.1526228457349247. + 77 FLD0883B PIC 9(07)V9(21) COMP-6 + VALUE 7561874.624389478549701948395. + 77 FLD0883E PIC X VALUE 'N'. + + 77 FLD0884A PIC 9(10)V9(08) COMP-6 + VALUE 4954020911.85092596. + 77 FLD0884B PIC 9(07)V9(21) COMP-3 + VALUE 7530519.818486510752464369033. + 77 FLD0884E PIC X VALUE 'N'. + + 77 FLD0885A PIC S9(05) COMP-3 + VALUE +13360. + 77 FLD0885B PIC S9(05) COMP-3 + VALUE -15432. + 77 FLD0885E PIC X VALUE 'N'. + + 77 FLD0886A PIC S9(09)V9(05) COMP-3 + VALUE -374529584.88504. + 77 FLD0886B PIC S9(09)V9(05) COMP-3 + VALUE -380480275.58811. + 77 FLD0886E PIC X VALUE 'N'. + + 77 FLD0887A PIC S9(07)V9(01) COMP-3 + VALUE +2114795.5. + 77 FLD0887B PIC 9(06)V9(25) COMP-6 + VALUE 815821.3018675709582439026235078. + 77 FLD0887E PIC X VALUE 'N'. + + 77 FLD0888A PIC 9(08)V9(19) COMP-6 + VALUE 73580519.1914812417586233550. + 77 FLD0888B PIC 9(07)V9(02) COMP-6 + VALUE 2394446.18. + 77 FLD0888E PIC X VALUE 'N'. + + 77 FLD0889A PIC S9(05) COMP-3 + VALUE -15225. + 77 FLD0889B PIC 9(02)V9(34) COMP-3 + VALUE 96.3719675610497206186266794247785583. + 77 FLD0889E PIC X VALUE 'N'. + + 77 FLD0890A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0890B PIC 9(08)V9(19) COMP-3 + VALUE 72161358.3480198661490589984. + 77 FLD0890E PIC X VALUE 'N'. + + 77 FLD0891A PIC 9(02)V9(34) COMP-6 + VALUE 95.7956124985634538404610793804749846. + 77 FLD0891B PIC 9(08)V9(19) COMP-6 + VALUE 73526985.6204998628612656830. + 77 FLD0891E PIC X VALUE 'N'. + + 77 FLD0892A PIC 9(10)V9(09) COMP-6 + VALUE 5079027644.377075434. + 77 FLD0892B PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0892E PIC X VALUE 'N'. + + 77 FLD0893A PIC 9(10)V9(12) COMP-3 + VALUE 5900775083.003402254888. + 77 FLD0893B PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0893E PIC X VALUE 'N'. + + 77 FLD0894A PIC 9(06)V9(25) COMP-6 + VALUE 819872.1409522375935807758651208. + 77 FLD0894B PIC 9(09)V9(15) COMP-6 + VALUE 655129000.141700390535959. + 77 FLD0894E PIC X VALUE 'N'. + + 77 FLD0895A PIC 9(10)V9(09) COMP-6 + VALUE 5099949658.575000377. + 77 FLD0895B PIC 9(08)V9(02) COMP-6 + VALUE 28944204.51. + 77 FLD0895E PIC X VALUE 'N'. + + 77 FLD0896A PIC 9(10)V9(07) COMP-6 + VALUE 4576511370.6787369. + 77 FLD0896B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0896E PIC X VALUE 'N'. + + 77 FLD0897A PIC 9(01)V9(36) COMP-6 + VALUE 9.997543976245016894566219889384228736. + 77 FLD0897B PIC S9(09)V9(07) COMP-3 + VALUE +440492210.0858147. + 77 FLD0897E PIC X VALUE 'N'. + + 77 FLD0898A PIC 9(09)V9(05) COMP-6 + VALUE 378033726.09171. + 77 FLD0898B PIC 9(06)V9(01) COMP-6 + VALUE 199374.1. + 77 FLD0898E PIC X VALUE 'N'. + + 77 FLD0899A PIC 9(08)V9(20) COMP-6 + VALUE 74918436.40783237834313013081. + 77 FLD0899B PIC 9(09)V9(07) COMP-6 + VALUE 438142184.6749312. + 77 FLD0899E PIC X VALUE 'N'. + + 77 FLD0900A PIC 9(03)V9(32) COMP-6 + VALUE 929.41329164379282712360463847289793. + 77 FLD0900B PIC 9(06)V9(01) COMP-6 + VALUE 185639.8. + 77 FLD0900E PIC X VALUE 'N'. + + 77 FLD0901A PIC 9(10)V9(07) COMP-6 + VALUE 4563598931.5070740. + 77 FLD0901B PIC 9(01)V9(36) COMP-6 + VALUE 9.782322298369796609307513790554367005. + 77 FLD0901E PIC X VALUE 'N'. + + 77 FLD0902A PIC 9(05)V9(28) COMP-3 + VALUE 87405.6741908566081633580324705690. + 77 FLD0902B PIC 9(10)V9(09) COMP-3 + VALUE 5131137190.755751253. + 77 FLD0902E PIC X VALUE 'N'. + + 77 FLD0903A PIC 9(08)V9(02) COMP-6 + VALUE 28616952.10. + 77 FLD0903B PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0903E PIC X VALUE 'N'. + + 77 FLD0904A PIC S9(04) COMP-3 + VALUE +1137. + 77 FLD0904B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0904E PIC X VALUE 'N'. + + 77 FLD0905A PIC 9(09)V9(04) COMP-6 + VALUE 357938124.4724. + 77 FLD0905B PIC 9(09)V9(04) COMP-6 + VALUE 349599231.9688. + 77 FLD0905E PIC X VALUE 'N'. + + 77 FLD0906A PIC 9(09)V9(16) COMP-6 + VALUE 669388906.6218295935684068. + 77 FLD0906B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0906E PIC X VALUE 'N'. + + 77 FLD0907A PIC S9(09)V9(05) COMP-3 + VALUE -390800584.69506. + 77 FLD0907B PIC 9(10)V9(11) COMP-6 + VALUE 5692874702.16027324809. + 77 FLD0907E PIC X VALUE 'N'. + + 77 FLD0908A PIC S9(10)V9(06) COMP-3 + VALUE +4306350776.286586. + 77 FLD0908B PIC 9(03)V9(31) COMP-3 + VALUE 912.0472776451683527554337160836439. + 77 FLD0908E PIC X VALUE 'N'. + + 77 FLD0909A PIC 9(08)V9(03) COMP-6 + VALUE 30663800.453. + 77 FLD0909B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0909E PIC X VALUE 'N'. + + 77 FLD0910A PIC S9(06)V9(01) COMP-3 + VALUE -193158.9. + 77 FLD0910B PIC 9(04)V9(30) COMP-6 + VALUE 9098.433765600096867487422969134058. + 77 FLD0910E PIC X VALUE 'N'. + + 77 FLD0911A PIC S9(10)V9(07) COMP-3 + VALUE -4611964452.0728980. + 77 FLD0911B PIC 9(08)V9(20) COMP-3 + VALUE 74305071.04102702653491974160. + 77 FLD0911E PIC X VALUE 'N'. + + 77 FLD0912A PIC 9(10)V9(09) COMP-3 + VALUE 5000191930.396378214. + 77 FLD0912B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0912E PIC X VALUE 'N'. + + 77 FLD0913A PIC S9(04) COMP-3 + VALUE +1246. + 77 FLD0913B PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0913E PIC X VALUE 'N'. + + 77 FLD0914A PIC 9(03)V9(31) COMP-6 + VALUE 917.2012666333545505281676923914346. + 77 FLD0914B PIC 9(01)V9(36) COMP-3 + VALUE 9.801144784183424274459639491396956145. + 77 FLD0914E PIC X VALUE 'N'. + + 77 FLD0915A PIC 9(08)V9(20) COMP-6 + VALUE 74750906.49492384109464637731. + 77 FLD0915B PIC S9(04) COMP-3 + VALUE +1130. + 77 FLD0915E PIC X VALUE 'N'. + + 77 FLD0916A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0916B PIC 9(10)V9(06) COMP-6 + VALUE 4372777685.598984. + 77 FLD0916E PIC X VALUE 'N'. + + 77 FLD0917A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0917B PIC 9(04) COMP-6 + VALUE 1084. + 77 FLD0917E PIC X VALUE 'N'. + + 77 FLD0918A PIC 9(04) COMP-6 + VALUE 1059. + 77 FLD0918B PIC 9(10)V9(11) COMP-6 + VALUE 5693106161.94893204244. + 77 FLD0918E PIC X VALUE 'N'. + + 77 FLD0919A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0919B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0919E PIC X VALUE 'N'. + + 77 FLD0920A PIC S9(05)V9(01) COMP-3 + VALUE -17474.9. + 77 FLD0920B PIC 9(09)V9(16) COMP-6 + VALUE 669843285.3658151664433262. + 77 FLD0920E PIC X VALUE 'N'. + + 77 FLD0921A PIC 9(10)V9(10) COMP-6 + VALUE 5463494999.0456427304. + 77 FLD0921B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0921E PIC X VALUE 'N'. + + 77 FLD0922A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0922B PIC S9(05)V9(01) COMP-3 + VALUE -18331.8. + 77 FLD0922E PIC X VALUE 'N'. + + 77 FLD0923A PIC 9(06) COMP-6 + VALUE 159582. + 77 FLD0923B PIC S9(04) COMP-3 + VALUE +1310. + 77 FLD0923E PIC X VALUE 'N'. + + 77 FLD0924A PIC 9(10)V9(11) COMP-6 + VALUE 5650505738.70210182114. + 77 FLD0924B PIC 9(06)V9(25) COMP-3 + VALUE 830413.4742864166529585645548650. + 77 FLD0924E PIC X VALUE 'N'. + + 77 FLD0925A PIC S9(04) COMP-3 + VALUE +1236. + 77 FLD0925B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0925E PIC X VALUE 'N'. + + 77 FLD0926A PIC 9(08)V9(18) COMP-6 + VALUE 69535643.175280814620720093. + 77 FLD0926B PIC S9(07)V9(02) COMP-3 + VALUE -2533128.95. + 77 FLD0926E PIC X VALUE 'N'. + + 77 FLD0927A PIC 9(06)V9(24) COMP-3 + VALUE 800954.558131814597921049880824. + 77 FLD0927B PIC 9(10)V9(09) COMP-3 + VALUE 5121064754.192180545. + 77 FLD0927E PIC X VALUE 'N'. + + 77 FLD0928A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0928B PIC 9(07)V9(02) COMP-6 + VALUE 2551694.92. + 77 FLD0928E PIC X VALUE 'N'. + + 77 FLD0929A PIC 9(05)V9(28) COMP-3 + VALUE 87174.0739403786824013309342262800. + 77 FLD0929B PIC 9(08)V9(19) COMP-3 + VALUE 71306594.2354483839338286088. + 77 FLD0929E PIC X VALUE 'N'. + + 77 FLD0930A PIC 9(01)V9(36) COMP-3 + VALUE 9.911281003002671008417223674769047647. + 77 FLD0930B PIC 9(09)V9(13) COMP-3 + VALUE 591594874.8305130955316. + 77 FLD0930E PIC X VALUE 'N'. + + 77 FLD0931A PIC 9(09)V9(12) COMP-3 + VALUE 573747057.720371378408. + 77 FLD0931B PIC S9(07)V9(02) COMP-3 + VALUE -2503283.13. + 77 FLD0931E PIC X VALUE 'N'. + + 77 FLD0932A PIC 9(10)V9(09) COMP-6 + VALUE 5079506475.355934913. + 77 FLD0932B PIC 9(10)V9(09) COMP-6 + VALUE 5196217943.575858200. + 77 FLD0932E PIC X VALUE 'N'. + + 77 FLD0933A PIC 9(07)V9(22) COMP-6 + VALUE 7776883.1704294028028812135744. + 77 FLD0933B PIC 9(09)V9(03) COMP-6 + VALUE 328435728.864. + 77 FLD0933E PIC X VALUE 'N'. + + 77 FLD0934A PIC 9(05)V9(01) COMP-6 + VALUE 16899.6. + 77 FLD0934B PIC 9(07)V9(02) COMP-6 + VALUE 2394400.51. + 77 FLD0934E PIC X VALUE 'N'. + + 77 FLD0935A PIC 9(05)V9(01) COMP-6 + VALUE 16691.2. + 77 FLD0935B PIC 9(10)V9(08) COMP-6 + VALUE 4853829665.64275264. + 77 FLD0935E PIC X VALUE 'N'. + + 77 FLD0936A PIC 9(08)V9(03) COMP-6 + VALUE 29560937.131. + 77 FLD0936B PIC 9(02)V9(34) COMP-3 + VALUE 95.2998853185021421730027668672846630. + 77 FLD0936E PIC X VALUE 'N'. + + 77 FLD0937A PIC 9(02)V9(33) COMP-3 + VALUE 94.462893191714936147462822191300801. + 77 FLD0937B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0937E PIC X VALUE 'N'. + + 77 FLD0938A PIC 9(09)V9(12) COMP-6 + VALUE 578242437.999430092254. + 77 FLD0938B PIC 9(08)V9(18) COMP-6 + VALUE 70721875.972746128802270959. + 77 FLD0938E PIC X VALUE 'N'. + + 77 FLD0939A PIC 9(10)V9(13) COMP-6 + VALUE 6084884727.3780637401330. + 77 FLD0939B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0939E PIC X VALUE 'N'. + + 77 FLD0940A PIC 9(09)V9(12) COMP-6 + VALUE 577997061.609985873786. + 77 FLD0940B PIC 9(10)V9(08) COMP-6 + VALUE 4780052522.48498546. + 77 FLD0940E PIC X VALUE 'N'. + + 77 FLD0941A PIC 9(09)V9(16) COMP-3 + VALUE 670449367.9367865555107641. + 77 FLD0941B PIC 9(09)V9(04) COMP-6 + VALUE 345028332.3540. + 77 FLD0941E PIC X VALUE 'N'. + + 77 FLD0942A PIC 9(10)V9(10) COMP-3 + VALUE 5309347867.8071082121. + 77 FLD0942B PIC 9(03)V9(32) COMP-3 + VALUE 922.70492697630424050458941565011627. + 77 FLD0942E PIC X VALUE 'N'. + + 77 FLD0943A PIC S9(09)V9(03) COMP-3 + VALUE +323766798.919. + 77 FLD0943B PIC S9(06)V9(01) COMP-3 + VALUE +203018.6. + 77 FLD0943E PIC X VALUE 'N'. + + 77 FLD0944A PIC 9(02)V9(34) COMP-6 + VALUE 95.7363239628727824559462078468641266. + 77 FLD0944B PIC S9(07)V9(02) COMP-3 + VALUE -2600465.21. + 77 FLD0944E PIC X VALUE 'N'. + + 77 FLD0945A PIC 9(10)V9(10) COMP-3 + VALUE 5427766423.1255295934. + 77 FLD0945B PIC S9(10)V9(06) COMP-3 + VALUE +4211785767.712989. + 77 FLD0945E PIC X VALUE 'N'. + + 77 FLD0946A PIC S9(07)V9(02) COMP-3 + VALUE -2603132.30. + 77 FLD0946B PIC 9(02)V9(34) COMP-3 + VALUE 96.2407519811451561686510558502050116. + 77 FLD0946E PIC X VALUE 'N'. + + 77 FLD0947A PIC 9(05)V9(27) COMP-6 + VALUE 85846.989065825540787812997223227. + 77 FLD0947B PIC 9(09)V9(16) COMP-3 + VALUE 671942080.3697424560141371. + 77 FLD0947E PIC X VALUE 'N'. + + 77 FLD0948A PIC 9(04) COMP-6 + VALUE 1058. + 77 FLD0948B PIC 9(07)V9(21) COMP-6 + VALUE 7582594.805549627281493485497. + 77 FLD0948E PIC X VALUE 'N'. + + 77 FLD0949A PIC S9(10)V9(06) COMP-3 + VALUE +4307044196.647341. + 77 FLD0949B PIC 9(10)V9(07) COMP-6 + VALUE 4670230467.6696332. + 77 FLD0949E PIC X VALUE 'N'. + + 77 FLD0950A PIC 9(09)V9(14) COMP-3 + VALUE 614898523.03850200954116. + 77 FLD0950B PIC 9(04)V9(30) COMP-6 + VALUE 9056.465512238127679722765606129541. + 77 FLD0950E PIC X VALUE 'N'. + + 77 FLD0951A PIC S9(08)V9(03) COMP-3 + VALUE +31116955.475. + 77 FLD0951B PIC 9(08)V9(20) COMP-6 + VALUE 74599134.92992847894313968026. + 77 FLD0951E PIC X VALUE 'N'. + + 77 FLD0952A PIC 9(09)V9(03) COMP-6 + VALUE 315844571.317. + 77 FLD0952B PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0952E PIC X VALUE 'N'. + + 77 FLD0953A PIC 9(06) COMP-6 + VALUE 166635. + 77 FLD0953B PIC 9(10)V9(09) COMP-6 + VALUE 5187782319.462912461. + 77 FLD0953E PIC X VALUE 'N'. + + 77 FLD0954A PIC 9(10)V9(11) COMP-6 + VALUE 5577123049.60128579800. + 77 FLD0954B PIC 9(02)V9(34) COMP-3 + VALUE 97.0603521071659591790137255884474143. + 77 FLD0954E PIC X VALUE 'N'. + + 77 FLD0955A PIC S9(08)V9(02) COMP-3 + VALUE -27357789.23. + 77 FLD0955B PIC 9(06)V9(25) COMP-3 + VALUE 823687.4590304759102821208216482. + 77 FLD0955E PIC X VALUE 'N'. + + 77 FLD0956A PIC S9(08)V9(02) COMP-3 + VALUE -27355040.84. + 77 FLD0956B PIC 9(08)V9(18) COMP-3 + VALUE 70029518.862281070479269828. + 77 FLD0956E PIC X VALUE 'N'. + + 77 FLD0957A PIC 9(09)V9(15) COMP-6 + VALUE 637627083.330792543414133. + 77 FLD0957B PIC S9(04) COMP-3 + VALUE +1212. + 77 FLD0957E PIC X VALUE 'N'. + + 77 FLD0958A PIC S9(08)V9(03) COMP-3 + VALUE -29370744.150. + 77 FLD0958B PIC 9(10)V9(06) COMP-6 + VALUE 4358178846.720288. + 77 FLD0958E PIC X VALUE 'N'. + + 77 FLD0959A PIC 9(06)V9(25) COMP-6 + VALUE 827211.6833605048791255853757320. + 77 FLD0959B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0959E PIC X VALUE 'N'. + + 77 FLD0960A PIC 9(10)V9(11) COMP-6 + VALUE 5559976801.18206716315. + 77 FLD0960B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0960E PIC X VALUE 'N'. + + 77 FLD0961A PIC 9(08)V9(19) COMP-6 + VALUE 72708740.7191407630868695832. + 77 FLD0961B PIC S9(04) COMP-3 + VALUE +1315. + 77 FLD0961E PIC X VALUE 'N'. + + 77 FLD0962A PIC 9(02)V9(34) COMP-6 + VALUE 96.8081984946274620718043024680810049. + 77 FLD0962B PIC 9(08)V9(17) COMP-3 + VALUE 68265700.44059103725686554. + 77 FLD0962E PIC X VALUE 'N'. + + 77 FLD0963A PIC 9(01)V9(36) COMP-3 + VALUE 9.803573230667260718362854277074802666. + 77 FLD0963B PIC 9(09)V9(16) COMP-6 + VALUE 657950850.8072698935720268. + 77 FLD0963E PIC X VALUE 'N'. + + 77 FLD0964A PIC 9(09)V9(15) COMP-6 + VALUE 639504907.969730918004813. + 77 FLD0964B PIC 9(09)V9(13) COMP-6 + VALUE 599568613.7680703575725. + 77 FLD0964E PIC X VALUE 'N'. + + 77 FLD0965A PIC 9(05) COMP-6 + VALUE 13581. + 77 FLD0965B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0965E PIC X VALUE 'N'. + + 77 FLD0966A PIC 9(06)V9(01) COMP-6 + VALUE 189200.6. + 77 FLD0966B PIC 9(06)V9(01) COMP-6 + VALUE 189757.7. + 77 FLD0966E PIC X VALUE 'N'. + + 77 FLD0967A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0967B PIC 9(09)V9(04) COMP-6 + VALUE 356045641.3147. + 77 FLD0967E PIC X VALUE 'N'. + + 77 FLD0968A PIC 9(09)V9(15) COMP-6 + VALUE 649996663.320669743058033. + 77 FLD0968B PIC S9(04) COMP-3 + VALUE +1132. + 77 FLD0968E PIC X VALUE 'N'. + + 77 FLD0969A PIC S9(05) COMP-3 + VALUE -15366. + 77 FLD0969B PIC 9(09)V9(13) COMP-3 + VALUE 594539058.0989867723715. + 77 FLD0969E PIC X VALUE 'N'. + + 77 FLD0970A PIC 9(09)V9(14) COMP-3 + VALUE 631417540.20798013247173. + 77 FLD0970B PIC 9(02)V9(34) COMP-6 + VALUE 96.8862081091470539462306987843476235. + 77 FLD0970E PIC X VALUE 'N'. + + 77 FLD0971A PIC 9(07)V9(01) COMP-6 + VALUE 2161446.9. + 77 FLD0971B PIC S9(09)V9(06) COMP-3 + VALUE +400705169.115322. + 77 FLD0971E PIC X VALUE 'N'. + + 77 FLD0972A PIC 9(09)V9(15) COMP-6 + VALUE 647710182.878484586055378. + 77 FLD0972B PIC 9(05) COMP-6 + VALUE 13649. + 77 FLD0972E PIC X VALUE 'N'. + + 77 FLD0973A PIC 9(05) COMP-6 + VALUE 13817. + 77 FLD0973B PIC 9(06)V9(25) COMP-6 + VALUE 828260.5282429751358819203232997. + 77 FLD0973E PIC X VALUE 'N'. + + 77 FLD0974A PIC 9(04) COMP-6 + VALUE 1180. + 77 FLD0974B PIC S9(03) COMP-3 + VALUE +104. + 77 FLD0974E PIC X VALUE 'N'. + + 77 FLD0975A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0975B PIC 9(09)V9(03) COMP-6 + VALUE 329183580.054. + 77 FLD0975E PIC X VALUE 'N'. + + 77 FLD0976A PIC S9(07)V9(01) COMP-3 + VALUE +2206144.7. + 77 FLD0976B PIC 9(10)V9(09) COMP-6 + VALUE 5191401776.232426046. + 77 FLD0976E PIC X VALUE 'N'. + + 77 FLD0977A PIC 9(09)V9(03) COMP-6 + VALUE 327431372.704. + 77 FLD0977B PIC S9(09)V9(05) COMP-3 + VALUE -393208707.80387. + 77 FLD0977E PIC X VALUE 'N'. + + 77 FLD0978A PIC 9(09)V9(16) COMP-6 + VALUE 675062190.8116747338368668. + 77 FLD0978B PIC S9(09)V9(06) COMP-3 + VALUE +411411057.685845. + 77 FLD0978E PIC X VALUE 'N'. + + 77 FLD0979A PIC 9(03)V9(32) COMP-6 + VALUE 925.33169671466619643496187563869170. + 77 FLD0979B PIC 9(09)V9(05) COMP-6 + VALUE 388509802.38797. + 77 FLD0979E PIC X VALUE 'N'. + + 77 FLD0980A PIC 9(03)V9(32) COMP-6 + VALUE 935.82234581280043794748735308530740. + 77 FLD0980B PIC 9(09)V9(15) COMP-6 + VALUE 647159992.565670250108667. + 77 FLD0980E PIC X VALUE 'N'. + + 77 FLD0981A PIC 9(06)V9(01) COMP-6 + VALUE 195132.7. + 77 FLD0981B PIC S9(09)V9(04) COMP-3 + VALUE -360473610.9762. + 77 FLD0981E PIC X VALUE 'N'. + + 77 FLD0982A PIC 9(06)V9(25) COMP-6 + VALUE 816610.1728260642955703474399342. + 77 FLD0982B PIC S9(08)V9(03) COMP-3 + VALUE +31469845.616. + 77 FLD0982E PIC X VALUE 'N'. + + 77 FLD0983A PIC 9(10)V9(09) COMP-3 + VALUE 5114754992.436914005. + 77 FLD0983B PIC 9(02)V9(34) COMP-6 + VALUE 95.8147071945383510538363225350622087. + 77 FLD0983E PIC X VALUE 'N'. + + 77 FLD0984A PIC 9(09)V9(15) COMP-3 + VALUE 632949921.330981046807551. + 77 FLD0984B PIC 9(10)V9(09) COMP-6 + VALUE 5090793805.153389639. + 77 FLD0984E PIC X VALUE 'N'. + + 77 FLD0985A PIC 9(10)V9(06) COMP-6 + VALUE 4296662473.303992. + 77 FLD0985B PIC 9(05)V9(28) COMP-3 + VALUE 87137.5808353749947698929645412135. + 77 FLD0985E PIC X VALUE 'N'. + + 77 FLD0986A PIC 9(05) COMP-6 + VALUE 14588. + 77 FLD0986B PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0986E PIC X VALUE 'N'. + + 77 FLD0987A PIC 9(01)V9(36) COMP-3 + VALUE 9.834402345123109956404050535638816654. + 77 FLD0987B PIC 9(06)V9(26) COMP-3 + VALUE 842525.10302045313661523096016026. + 77 FLD0987E PIC X VALUE 'N'. + + 77 FLD0988A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0988B PIC S9(05)V9(01) COMP-3 + VALUE -18152.0. + 77 FLD0988E PIC X VALUE 'N'. + + 77 FLD0989A PIC S9(04) COMP-3 + VALUE +1235. + 77 FLD0989B PIC 9(09)V9(13) COMP-3 + VALUE 593212782.9792923634499. + 77 FLD0989E PIC X VALUE 'N'. + + 77 FLD0990A PIC 9(07)V9(22) COMP-3 + VALUE 7806084.0781040319313888176111. + 77 FLD0990B PIC 9(06)V9(01) COMP-6 + VALUE 208986.1. + 77 FLD0990E PIC X VALUE 'N'. + + 77 FLD0991A PIC 9(06)V9(24) COMP-6 + VALUE 807774.663029880435338725419569. + 77 FLD0991B PIC S9(09)V9(06) COMP-3 + VALUE +403465254.324070. + 77 FLD0991E PIC X VALUE 'N'. + + 77 FLD0992A PIC 9(07)V9(22) COMP-6 + VALUE 7784108.2583169551867285917978. + 77 FLD0992B PIC 9(04)V9(29) COMP-3 + VALUE 8920.19846678347883006665597349638. + 77 FLD0992E PIC X VALUE 'N'. + + 77 FLD0993A PIC 9(08)V9(20) COMP-6 + VALUE 74534466.64416291111976420324. + 77 FLD0993B PIC S9(04) COMP-3 + VALUE +1132. + 77 FLD0993E PIC X VALUE 'N'. + + 77 FLD0994A PIC 9(06)V9(24) COMP-6 + VALUE 815107.307501011568717785849003. + 77 FLD0994B PIC S9(10)V9(08) COMP-3 + VALUE -4847118976.22432053. + 77 FLD0994E PIC X VALUE 'N'. + + 77 FLD0995A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0995B PIC 9(06)V9(01) COMP-6 + VALUE 188825.8. + 77 FLD0995E PIC X VALUE 'N'. + + 77 FLD0996A PIC 9(09)V9(14) COMP-6 + VALUE 619241405.61761309431432. + 77 FLD0996B PIC 9(09)V9(16) COMP-6 + VALUE 669751940.2443259384227758. + 77 FLD0996E PIC X VALUE 'N'. + + 77 FLD0997A PIC 9(10)V9(09) COMP-3 + VALUE 5006446394.611311356. + 77 FLD0997B PIC 9(10)V9(09) COMP-3 + VALUE 5005353152.147143935. + 77 FLD0997E PIC X VALUE 'N'. + + 77 FLD0998A PIC 9(09)V9(13) COMP-6 + VALUE 598229443.4201559374386. + 77 FLD0998B PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0998E PIC X VALUE 'N'. + + 77 FLD0999A PIC S9(03) COMP-3 + VALUE -081. + 77 FLD0999B PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0999E PIC X VALUE 'N'. + + * RESULTS-AREA. + + 78 XPC-FLD0500B + VALUE X'0708'. + 78 XPC-FLD0500E VALUE 'N'. + 78 XPC-FLD0501B + VALUE X'062809334873677369337485'. + 78 XPC-FLD0501E VALUE 'Y'. + 78 XPC-FLD0502B + VALUE X'078931626286150020034995122841'. + 78 XPC-FLD0502E VALUE 'N'. + 78 XPC-FLD0503B + VALUE X'241748150924885620905391882843105F'. + 78 XPC-FLD0503E VALUE 'N'. + 78 XPC-FLD0504B + VALUE X'5028930926587901486F'. + 78 XPC-FLD0504E VALUE 'N'. + 78 XPC-FLD0505B + VALUE X'054079887440916072855F'. + 78 XPC-FLD0505E VALUE 'N'. + 78 XPC-FLD0506B + VALUE X'044983810D'. + 78 XPC-FLD0506E VALUE 'N'. + 78 XPC-FLD0507B + VALUE X'5276166649082409209F'. + 78 XPC-FLD0507E VALUE 'N'. + 78 XPC-FLD0508B + VALUE X'02144088220848885D'. + 78 XPC-FLD0508E VALUE 'N'. + 78 XPC-FLD0509B + VALUE X'488937338626299289'. + 78 XPC-FLD0509E VALUE 'N'. + 78 XPC-FLD0510B + VALUE X'092D'. + 78 XPC-FLD0510E VALUE 'Y'. + 78 XPC-FLD0511B + VALUE X'05257737010265951195'. + 78 XPC-FLD0511E VALUE 'N'. + 78 XPC-FLD0512B + VALUE X'5091717968686512163500879069033544511F'. + 78 XPC-FLD0512E VALUE 'N'. + 78 XPC-FLD0513B + VALUE X'07412408747450585089211472222F'. + 78 XPC-FLD0513E VALUE 'Y'. + 78 XPC-FLD0514B + VALUE X'02787819996822'. + 78 XPC-FLD0514E VALUE 'N'. + 78 XPC-FLD0515B + VALUE X'37690011845231452527479784448514692F'. + 78 XPC-FLD0515E VALUE 'N'. + 78 XPC-FLD0516B + VALUE X'09'. + 78 XPC-FLD0516E VALUE 'N'. + 78 XPC-FLD0517B + VALUE X'0031340134042710696D'. + 78 XPC-FLD0517E VALUE 'N'. + 78 XPC-FLD0518B + VALUE X'089D'. + 78 XPC-FLD0518E VALUE 'N'. + 78 XPC-FLD0519B + VALUE X'6841259606583623975595287F'. + 78 XPC-FLD0519E VALUE 'Y'. + 78 XPC-FLD0520B + VALUE X'61059553432451049552742F'. + 78 XPC-FLD0520E VALUE 'N'. + 78 XPC-FLD0521B + VALUE X'28055C'. + 78 XPC-FLD0521E VALUE 'N'. + 78 XPC-FLD0522B + VALUE X'3510676144076D'. + 78 XPC-FLD0522E VALUE 'N'. + 78 XPC-FLD0523B + VALUE X'04280314707C'. + 78 XPC-FLD0523E VALUE 'N'. + 78 XPC-FLD0524B + VALUE X'5046008862205329081F'. + 78 XPC-FLD0524E VALUE 'N'. + 78 XPC-FLD0525B + VALUE X'0887336156634660588871099662355845'. + 78 XPC-FLD0525E VALUE 'N'. + 78 XPC-FLD0526B + VALUE X'0535158707'. + 78 XPC-FLD0526E VALUE 'N'. + 78 XPC-FLD0527B + VALUE X'0993866582275886311F'. + 78 XPC-FLD0527E VALUE 'N'. + 78 XPC-FLD0528B + VALUE X'01207C'. + 78 XPC-FLD0528E VALUE 'Y'. + 78 XPC-FLD0529B + VALUE X'06852906977087936C'. + 78 XPC-FLD0529E VALUE 'N'. + 78 XPC-FLD0530B + VALUE X'042D'. + 78 XPC-FLD0530E VALUE 'N'. + 78 XPC-FLD0531B + VALUE X'023227722C'. + 78 XPC-FLD0531E VALUE 'Y'. + 78 XPC-FLD0532B + VALUE X'6D'. + 78 XPC-FLD0532E VALUE 'N'. + 78 XPC-FLD0533B + VALUE X'0014'. + 78 XPC-FLD0533E VALUE 'N'. + 78 XPC-FLD0534B + VALUE X'4796286047627412578F'. + 78 XPC-FLD0534E VALUE 'N'. + 78 XPC-FLD0535B + VALUE X'086934843746367858133650045201648F'. + 78 XPC-FLD0535E VALUE 'N'. + 78 XPC-FLD0536B + VALUE X'0C'. + 78 XPC-FLD0536E VALUE 'N'. + 78 XPC-FLD0537B + VALUE X'1199'. + 78 XPC-FLD0537E VALUE 'Y'. + 78 XPC-FLD0538B + VALUE X'0793946754459935233327882997400592'. + 78 XPC-FLD0538E VALUE 'N'. + 78 XPC-FLD0539B + VALUE X'070042059898033071085876599681795F'. + 78 XPC-FLD0539E VALUE 'N'. + 78 XPC-FLD0540B + VALUE X'00'. + 78 XPC-FLD0540E VALUE 'Y'. + 78 XPC-FLD0541B + VALUE X'049167641848286621388982121061'. + 78 XPC-FLD0541E VALUE 'N'. + 78 XPC-FLD0542B + VALUE X'553207696393934218126F'. + 78 XPC-FLD0542E VALUE 'N'. + 78 XPC-FLD0543B + VALUE X'0277016069'. + 78 XPC-FLD0543E VALUE 'N'. + 78 XPC-FLD0544B + VALUE X'1381302823'. + 78 XPC-FLD0544E VALUE 'N'. + 78 XPC-FLD0545B + VALUE X'944856446145206807507570674F'. + 78 XPC-FLD0545E VALUE 'N'. + 78 XPC-FLD0546B + VALUE X'60995883518421766866790F'. + 78 XPC-FLD0546E VALUE 'N'. + 78 XPC-FLD0547B + VALUE X'3598695862059D'. + 78 XPC-FLD0547E VALUE 'N'. + 78 XPC-FLD0548B + VALUE X'68119457212008152846571817'. + 78 XPC-FLD0548E VALUE 'N'. + 78 XPC-FLD0549B + VALUE X'0417916211751954'. + 78 XPC-FLD0549E VALUE 'N'. + 78 XPC-FLD0550B + VALUE X'94'. + 78 XPC-FLD0550E VALUE 'N'. + 78 XPC-FLD0551B + VALUE X'0655119044597454263904505F'. + 78 XPC-FLD0551E VALUE 'N'. + 78 XPC-FLD0552B + VALUE X'014745'. + 78 XPC-FLD0552E VALUE 'Y'. + 78 XPC-FLD0553B + VALUE X'3608710969090D'. + 78 XPC-FLD0553E VALUE 'N'. + 78 XPC-FLD0554B + VALUE X'28615763752268179551663251913851128F'. + 78 XPC-FLD0554E VALUE 'N'. + 78 XPC-FLD0555B + VALUE X'5605686733653602811F'. + 78 XPC-FLD0555E VALUE 'N'. + 78 XPC-FLD0556B + VALUE X'0568555321722934526833'. + 78 XPC-FLD0556E VALUE 'N'. + 78 XPC-FLD0557B + VALUE X'90340C'. + 78 XPC-FLD0557E VALUE 'N'. + 78 XPC-FLD0558B + VALUE X'02096049'. + 78 XPC-FLD0558E VALUE 'Y'. + 78 XPC-FLD0559B + VALUE X'099142824147194545678672682843'. + 78 XPC-FLD0559E VALUE 'N'. + 78 XPC-FLD0560B + VALUE X'0351025116078023'. + 78 XPC-FLD0560E VALUE 'N'. + 78 XPC-FLD0561B + VALUE X'00'. + 78 XPC-FLD0561E VALUE 'Y'. + 78 XPC-FLD0562B + VALUE X'958208334412512741096179524902254343'. + 78 XPC-FLD0562E VALUE 'N'. + 78 XPC-FLD0563B + VALUE X'72227339713C'. + 78 XPC-FLD0563E VALUE 'N'. + 78 XPC-FLD0564B + VALUE X'092573034981753798966508384182816371'. + 78 XPC-FLD0564E VALUE 'Y'. + 78 XPC-FLD0565B + VALUE X'02180881'. + 78 XPC-FLD0565E VALUE 'N'. + 78 XPC-FLD0566B + VALUE X'134200212625'. + 78 XPC-FLD0566E VALUE 'N'. + 78 XPC-FLD0567B + VALUE X'0878970351596639054569948257267242'. + 78 XPC-FLD0567E VALUE 'Y'. + 78 XPC-FLD0568B + VALUE X'064501399773583058336459'. + 78 XPC-FLD0568E VALUE 'N'. + 78 XPC-FLD0569B + VALUE X'722108073354755C'. + 78 XPC-FLD0569E VALUE 'N'. + 78 XPC-FLD0570B + VALUE X'720060225322646066764775696F'. + 78 XPC-FLD0570E VALUE 'N'. + 78 XPC-FLD0571B + VALUE X'06621729185931387539619251'. + 78 XPC-FLD0571E VALUE 'N'. + 78 XPC-FLD0572B + VALUE X'0363058D'. + 78 XPC-FLD0572E VALUE 'N'. + 78 XPC-FLD0573B + VALUE X'9908582147727897915245875992695800960F'. + 78 XPC-FLD0573E VALUE 'Y'. + 78 XPC-FLD0574B + VALUE X'6D'. + 78 XPC-FLD0574E VALUE 'N'. + 78 XPC-FLD0575B + VALUE X'6C'. + 78 XPC-FLD0575E VALUE 'N'. + 78 XPC-FLD0576B + VALUE X'47238400610562072401'. + 78 XPC-FLD0576E VALUE 'N'. + 78 XPC-FLD0577B + VALUE X'805001512301445405164770363626303151'. + 78 XPC-FLD0577E VALUE 'N'. + 78 XPC-FLD0578B + VALUE X'273809'. + 78 XPC-FLD0578E VALUE 'N'. + 78 XPC-FLD0579B + VALUE X'5908380596787501714F'. + 78 XPC-FLD0579E VALUE 'N'. + 78 XPC-FLD0580B + VALUE X'0646450258967046645771858948137378321F'. + 78 XPC-FLD0580E VALUE 'N'. + 78 XPC-FLD0581B + VALUE X'610062973643881143036828'. + 78 XPC-FLD0581E VALUE 'N'. + 78 XPC-FLD0582B + VALUE X'062856274902063530202835'. + 78 XPC-FLD0582E VALUE 'N'. + 78 XPC-FLD0583B + VALUE X'4C'. + 78 XPC-FLD0583E VALUE 'N'. + 78 XPC-FLD0584B + VALUE X'955867594557756605766485336062032729'. + 78 XPC-FLD0584E VALUE 'N'. + 78 XPC-FLD0585B + VALUE X'092667442032915370297985191427869722'. + 78 XPC-FLD0585E VALUE 'Y'. + 78 XPC-FLD0586B + VALUE X'077794189960829245200635284617'. + 78 XPC-FLD0586E VALUE 'N'. + 78 XPC-FLD0587B + VALUE X'02128D'. + 78 XPC-FLD0587E VALUE 'N'. + 78 XPC-FLD0588B + VALUE X'09002074772136551272794235956098418F'. + 78 XPC-FLD0588E VALUE 'Y'. + 78 XPC-FLD0589B + VALUE X'03292C'. + 78 XPC-FLD0589E VALUE 'N'. + 78 XPC-FLD0590B + VALUE X'1062119D'. + 78 XPC-FLD0590E VALUE 'N'. + 78 XPC-FLD0591B + VALUE X'5700661418154348791F'. + 78 XPC-FLD0591E VALUE 'N'. + 78 XPC-FLD0592B + VALUE X'73907098193D'. + 78 XPC-FLD0592E VALUE 'N'. + 78 XPC-FLD0593B + VALUE X'037C'. + 78 XPC-FLD0593E VALUE 'N'. + 78 XPC-FLD0594B + VALUE X'77388935043103479483050932685F'. + 78 XPC-FLD0594E VALUE 'Y'. + 78 XPC-FLD0595B + VALUE X'3197374054167890777833347730124F'. + 78 XPC-FLD0595E VALUE 'N'. + 78 XPC-FLD0596B + VALUE X'657855963298508210108650'. + 78 XPC-FLD0596E VALUE 'N'. + 78 XPC-FLD0597B + VALUE X'08162559991782142310157155407068'. + 78 XPC-FLD0597E VALUE 'Y'. + 78 XPC-FLD0598B + VALUE X'468477633184507D'. + 78 XPC-FLD0598E VALUE 'N'. + 78 XPC-FLD0599B + VALUE X'09'. + 78 XPC-FLD0599E VALUE 'N'. + 78 XPC-FLD0600B + VALUE X'0804504375985138686644404515391F'. + 78 XPC-FLD0600E VALUE 'Y'. + 78 XPC-FLD0601B + VALUE X'029749813110'. + 78 XPC-FLD0601E VALUE 'N'. + 78 XPC-FLD0602B + VALUE X'0303615938'. + 78 XPC-FLD0602E VALUE 'N'. + 78 XPC-FLD0603B + VALUE X'0170896D'. + 78 XPC-FLD0603E VALUE 'Y'. + 78 XPC-FLD0604B + VALUE X'0551440145498789572319'. + 78 XPC-FLD0604E VALUE 'N'. + 78 XPC-FLD0605B + VALUE X'4256957897307752'. + 78 XPC-FLD0605E VALUE 'N'. + 78 XPC-FLD0606B + VALUE X'0254178383481C'. + 78 XPC-FLD0606E VALUE 'N'. + 78 XPC-FLD0607B + VALUE X'025781'. + 78 XPC-FLD0607E VALUE 'N'. + 78 XPC-FLD0608B + VALUE X'225226869583767068085933260590536520'. + 78 XPC-FLD0608E VALUE 'N'. + 78 XPC-FLD0609B + VALUE X'045126229228847267'. + 78 XPC-FLD0609E VALUE 'N'. + 78 XPC-FLD0610B + VALUE X'2786455271'. + 78 XPC-FLD0610E VALUE 'N'. + 78 XPC-FLD0611B + VALUE X'03'. + 78 XPC-FLD0611E VALUE 'N'. + 78 XPC-FLD0612B + VALUE X'078744622890006543691754359315'. + 78 XPC-FLD0612E VALUE 'Y'. + 78 XPC-FLD0613B + VALUE X'022648276C'. + 78 XPC-FLD0613E VALUE 'N'. + 78 XPC-FLD0614B + VALUE X'6052981544136128984377'. + 78 XPC-FLD0614E VALUE 'N'. + 78 XPC-FLD0615B + VALUE X'023341961C'. + 78 XPC-FLD0615E VALUE 'N'. + 78 XPC-FLD0616B + VALUE X'23'. + 78 XPC-FLD0616E VALUE 'N'. + 78 XPC-FLD0617B + VALUE X'00'. + 78 XPC-FLD0617E VALUE 'N'. + 78 XPC-FLD0618B + VALUE X'0079'. + 78 XPC-FLD0618E VALUE 'N'. + 78 XPC-FLD0619B + VALUE X'053429823777539313843F'. + 78 XPC-FLD0619E VALUE 'N'. + 78 XPC-FLD0620B + VALUE X'583959822349086421500174'. + 78 XPC-FLD0620E VALUE 'N'. + 78 XPC-FLD0621B + VALUE X'734334021823122911598602513F'. + 78 XPC-FLD0621E VALUE 'N'. + 78 XPC-FLD0622B + VALUE X'9542421746848D'. + 78 XPC-FLD0622E VALUE 'N'. + 78 XPC-FLD0623B + VALUE X'0641616922896418195095066F'. + 78 XPC-FLD0623E VALUE 'N'. + 78 XPC-FLD0624B + VALUE X'4356505095582531'. + 78 XPC-FLD0624E VALUE 'N'. + 78 XPC-FLD0625B + VALUE X'78308435769811728739000500354F'. + 78 XPC-FLD0625E VALUE 'N'. + 78 XPC-FLD0626B + VALUE X'037427477932063D'. + 78 XPC-FLD0626E VALUE 'N'. + 78 XPC-FLD0627B + VALUE X'023249882C'. + 78 XPC-FLD0627E VALUE 'N'. + 78 XPC-FLD0628B + VALUE X'029681727729'. + 78 XPC-FLD0628E VALUE 'N'. + 78 XPC-FLD0629B + VALUE X'880171084163677411860149391031882F'. + 78 XPC-FLD0629E VALUE 'N'. + 78 XPC-FLD0630B + VALUE X'0174519095249753304734'. + 78 XPC-FLD0630E VALUE 'N'. + 78 XPC-FLD0631B + VALUE X'824634'. + 78 XPC-FLD0631E VALUE 'N'. + 78 XPC-FLD0632B + VALUE X'05012280455704922587'. + 78 XPC-FLD0632E VALUE 'N'. + 78 XPC-FLD0633B + VALUE X'0405176751227C'. + 78 XPC-FLD0633E VALUE 'N'. + 78 XPC-FLD0634B + VALUE X'0868098250115819156979655872420F'. + 78 XPC-FLD0634E VALUE 'N'. + 78 XPC-FLD0635B + VALUE X'0558066570900784292498'. + 78 XPC-FLD0635E VALUE 'N'. + 78 XPC-FLD0636B + VALUE X'015706'. + 78 XPC-FLD0636E VALUE 'Y'. + 78 XPC-FLD0637B + VALUE X'053791487329715233167F'. + 78 XPC-FLD0637E VALUE 'N'. + 78 XPC-FLD0638B + VALUE X'9300997013279628244930563595546F'. + 78 XPC-FLD0638E VALUE 'N'. + 78 XPC-FLD0639B + VALUE X'09751092072024196699686626743641681969'. + 78 XPC-FLD0639E VALUE 'Y'. + 78 XPC-FLD0640B + VALUE X'89710938089320346744415246575953928F'. + 78 XPC-FLD0640E VALUE 'N'. + 78 XPC-FLD0641B + VALUE X'0802113336084028338834883697'. + 78 XPC-FLD0641E VALUE 'N'. + 78 XPC-FLD0642B + VALUE X'05220924521868707701698F'. + 78 XPC-FLD0642E VALUE 'N'. + 78 XPC-FLD0643B + VALUE X'2890586849'. + 78 XPC-FLD0643E VALUE 'N'. + 78 XPC-FLD0644B + VALUE X'092997460492260109532480782945640385'. + 78 XPC-FLD0644E VALUE 'N'. + 78 XPC-FLD0645B + VALUE X'0246821544'. + 78 XPC-FLD0645E VALUE 'N'. + 78 XPC-FLD0646B + VALUE X'5883231932131506547456'. + 78 XPC-FLD0646E VALUE 'N'. + 78 XPC-FLD0647B + VALUE X'06598931491456289340839020'. + 78 XPC-FLD0647E VALUE 'N'. + 78 XPC-FLD0648B + VALUE X'0634285861942461315643470F'. + 78 XPC-FLD0648E VALUE 'N'. + 78 XPC-FLD0649B + VALUE X'5034432631533975375F'. + 78 XPC-FLD0649E VALUE 'N'. + 78 XPC-FLD0650B + VALUE X'6715745920981104473110078F'. + 78 XPC-FLD0650E VALUE 'N'. + 78 XPC-FLD0651B + VALUE X'032093946374946D'. + 78 XPC-FLD0651E VALUE 'N'. + 78 XPC-FLD0652B + VALUE X'020927047C'. + 78 XPC-FLD0652E VALUE 'N'. + 78 XPC-FLD0653B + VALUE X'398302'. + 78 XPC-FLD0653E VALUE 'N'. + 78 XPC-FLD0654B + VALUE X'2781322351'. + 78 XPC-FLD0654E VALUE 'Y'. + 78 XPC-FLD0655B + VALUE X'05949843308386091165206F'. + 78 XPC-FLD0655E VALUE 'N'. + 78 XPC-FLD0656B + VALUE X'0650007677567117914204561F'. + 78 XPC-FLD0656E VALUE 'N'. + 78 XPC-FLD0657B + VALUE X'070469220160326710801212967F'. + 78 XPC-FLD0657E VALUE 'N'. + 78 XPC-FLD0658B + VALUE X'053680173247006238712F'. + 78 XPC-FLD0658E VALUE 'N'. + 78 XPC-FLD0659B + VALUE X'0719555666672452026677575531'. + 78 XPC-FLD0659E VALUE 'N'. + 78 XPC-FLD0660B + VALUE X'15464D'. + 78 XPC-FLD0660E VALUE 'Y'. + 78 XPC-FLD0661B + VALUE X'570540954971062823984F'. + 78 XPC-FLD0661E VALUE 'N'. + 78 XPC-FLD0662B + VALUE X'06678282186476681732324323'. + 78 XPC-FLD0662E VALUE 'N'. + 78 XPC-FLD0663B + VALUE X'0889469232052811142885673234559362'. + 78 XPC-FLD0663E VALUE 'Y'. + 78 XPC-FLD0664B + VALUE X'04405659595288489C'. + 78 XPC-FLD0664E VALUE 'N'. + 78 XPC-FLD0665B + VALUE X'6766161649406166886924393F'. + 78 XPC-FLD0665E VALUE 'N'. + 78 XPC-FLD0666B + VALUE X'05'. + 78 XPC-FLD0666E VALUE 'Y'. + 78 XPC-FLD0667B + VALUE X'0632143970272669745917437F'. + 78 XPC-FLD0667E VALUE 'N'. + 78 XPC-FLD0668B + VALUE X'5144628458672427460F'. + 78 XPC-FLD0668E VALUE 'N'. + 78 XPC-FLD0669B + VALUE X'0395936640779813'. + 78 XPC-FLD0669E VALUE 'N'. + 78 XPC-FLD0670B + VALUE X'0164380926561097741789296833303524182F'. + 78 XPC-FLD0670E VALUE 'N'. + 78 XPC-FLD0671B + VALUE X'08090443'. + 78 XPC-FLD0671E VALUE 'N'. + 78 XPC-FLD0672B + VALUE X'637002039815689924395769'. + 78 XPC-FLD0672E VALUE 'Y'. + 78 XPC-FLD0673B + VALUE X'0749211223'. + 78 XPC-FLD0673E VALUE 'N'. + 78 XPC-FLD0674B + VALUE X'08225787711159490474084418921848'. + 78 XPC-FLD0674E VALUE 'N'. + 78 XPC-FLD0675B + VALUE X'05083625274155812857'. + 78 XPC-FLD0675E VALUE 'N'. + 78 XPC-FLD0676B + VALUE X'0004664170342459437179627457226160913F'. + 78 XPC-FLD0676E VALUE 'N'. + 78 XPC-FLD0677B + VALUE X'708676445455624266891447859961772F'. + 78 XPC-FLD0677E VALUE 'N'. + 78 XPC-FLD0678B + VALUE X'85979366357613359468814451247453'. + 78 XPC-FLD0678E VALUE 'N'. + 78 XPC-FLD0679B + VALUE X'044902781556612852'. + 78 XPC-FLD0679E VALUE 'N'. + 78 XPC-FLD0680B + VALUE X'564571038982083600804F'. + 78 XPC-FLD0680E VALUE 'N'. + 78 XPC-FLD0681B + VALUE X'8213717547801553386932482681004F'. + 78 XPC-FLD0681E VALUE 'Y'. + 78 XPC-FLD0682B + VALUE X'5608815389721361803129542749957F'. + 78 XPC-FLD0682E VALUE 'N'. + 78 XPC-FLD0683B + VALUE X'05829822468269903673642F'. + 78 XPC-FLD0683E VALUE 'N'. + 78 XPC-FLD0684B + VALUE X'4383394737646870'. + 78 XPC-FLD0684E VALUE 'Y'. + 78 XPC-FLD0685B + VALUE X'0536985204876752143500539204978F'. + 78 XPC-FLD0685E VALUE 'N'. + 78 XPC-FLD0686B + VALUE X'00180741962593756744226F'. + 78 XPC-FLD0686E VALUE 'N'. + 78 XPC-FLD0687B + VALUE X'456697463326542715'. + 78 XPC-FLD0687E VALUE 'N'. + 78 XPC-FLD0688B + VALUE X'0131'. + 78 XPC-FLD0688E VALUE 'N'. + 78 XPC-FLD0689B + VALUE X'0933318323051C'. + 78 XPC-FLD0689E VALUE 'N'. + 78 XPC-FLD0690B + VALUE X'02807895954D'. + 78 XPC-FLD0690E VALUE 'N'. + 78 XPC-FLD0691B + VALUE X'04747985190129339C'. + 78 XPC-FLD0691E VALUE 'N'. + 78 XPC-FLD0692B + VALUE X'278067587806645121846764'. + 78 XPC-FLD0692E VALUE 'N'. + 78 XPC-FLD0693B + VALUE X'0C'. + 78 XPC-FLD0693E VALUE 'Y'. + 78 XPC-FLD0694B + VALUE X'06'. + 78 XPC-FLD0694E VALUE 'N'. + 78 XPC-FLD0695B + VALUE X'285416863016785357397587'. + 78 XPC-FLD0695E VALUE 'N'. + 78 XPC-FLD0696B + VALUE X'318862710902'. + 78 XPC-FLD0696E VALUE 'N'. + 78 XPC-FLD0697B + VALUE X'05576423548738693906'. + 78 XPC-FLD0697E VALUE 'N'. + 78 XPC-FLD0698B + VALUE X'613D'. + 78 XPC-FLD0698E VALUE 'N'. + 78 XPC-FLD0699B + VALUE X'63028840127729701681147F'. + 78 XPC-FLD0699E VALUE 'Y'. + 78 XPC-FLD0700B + VALUE X'4D'. + 78 XPC-FLD0700E VALUE 'N'. + 78 XPC-FLD0701B + VALUE X'0824434325033338688548667501709982529F'. + 78 XPC-FLD0701E VALUE 'N'. + 78 XPC-FLD0702B + VALUE X'23424178'. + 78 XPC-FLD0702E VALUE 'N'. + 78 XPC-FLD0703B + VALUE X'335267041235'. + 78 XPC-FLD0703E VALUE 'N'. + 78 XPC-FLD0704B + VALUE X'08515404888861616825987F'. + 78 XPC-FLD0704E VALUE 'N'. + 78 XPC-FLD0705B + VALUE X'046999504797278301'. + 78 XPC-FLD0705E VALUE 'Y'. + 78 XPC-FLD0706B + VALUE X'0327398D'. + 78 XPC-FLD0706E VALUE 'N'. + 78 XPC-FLD0707B + VALUE X'5129442198407349051F'. + 78 XPC-FLD0707E VALUE 'N'. + 78 XPC-FLD0708B + VALUE X'338347991943'. + 78 XPC-FLD0708E VALUE 'N'. + 78 XPC-FLD0709B + VALUE X'37934595068404'. + 78 XPC-FLD0709E VALUE 'N'. + 78 XPC-FLD0710B + VALUE X'0322996288512C'. + 78 XPC-FLD0710E VALUE 'N'. + 78 XPC-FLD0711B + VALUE X'06'. + 78 XPC-FLD0711E VALUE 'Y'. + 78 XPC-FLD0712B + VALUE X'0555782537921349383D'. + 78 XPC-FLD0712E VALUE 'N'. + 78 XPC-FLD0713B + VALUE X'71121008'. + 78 XPC-FLD0713E VALUE 'N'. + 78 XPC-FLD0714B + VALUE X'03473859515252'. + 78 XPC-FLD0714E VALUE 'Y'. + 78 XPC-FLD0715B + VALUE X'58869262308134147685'. + 78 XPC-FLD0715E VALUE 'N'. + 78 XPC-FLD0716B + VALUE X'04094336916239737930141018296126276F'. + 78 XPC-FLD0716E VALUE 'N'. + 78 XPC-FLD0717B + VALUE X'7657108845718485268250219632'. + 78 XPC-FLD0717E VALUE 'N'. + 78 XPC-FLD0718B + VALUE X'4283258317648062'. + 78 XPC-FLD0718E VALUE 'N'. + 78 XPC-FLD0719B + VALUE X'0239090461'. + 78 XPC-FLD0719E VALUE 'N'. + 78 XPC-FLD0720B + VALUE X'404886229426392C'. + 78 XPC-FLD0720E VALUE 'N'. + 78 XPC-FLD0721B + VALUE X'45808242'. + 78 XPC-FLD0721E VALUE 'N'. + 78 XPC-FLD0722B + VALUE X'07624904820924922808538326535F'. + 78 XPC-FLD0722E VALUE 'N'. + 78 XPC-FLD0723B + VALUE X'07'. + 78 XPC-FLD0723E VALUE 'Y'. + 78 XPC-FLD0724B + VALUE X'04934011851187240393'. + 78 XPC-FLD0724E VALUE 'N'. + 78 XPC-FLD0725B + VALUE X'04444137342530902C'. + 78 XPC-FLD0725E VALUE 'N'. + 78 XPC-FLD0726B + VALUE X'401820868675800C'. + 78 XPC-FLD0726E VALUE 'N'. + 78 XPC-FLD0727B + VALUE X'00896082861134319673904889'. + 78 XPC-FLD0727E VALUE 'N'. + 78 XPC-FLD0728B + VALUE X'081076915652245D'. + 78 XPC-FLD0728E VALUE 'N'. + 78 XPC-FLD0729B + VALUE X'795979478015814722415832704882'. + 78 XPC-FLD0729E VALUE 'N'. + 78 XPC-FLD0730B + VALUE X'62944830238001500322119F'. + 78 XPC-FLD0730E VALUE 'N'. + 78 XPC-FLD0731B + VALUE X'04086517499647340789789F'. + 78 XPC-FLD0731E VALUE 'N'. + 78 XPC-FLD0732B + VALUE X'00313C'. + 78 XPC-FLD0732E VALUE 'N'. + 78 XPC-FLD0733B + VALUE X'965641152048700750127567'. + 78 XPC-FLD0733E VALUE 'N'. + 78 XPC-FLD0734B + VALUE X'26'. + 78 XPC-FLD0734E VALUE 'N'. + 78 XPC-FLD0735B + VALUE X'0641708846027484955070190F'. + 78 XPC-FLD0735E VALUE 'N'. + 78 XPC-FLD0736B + VALUE X'072589764082146861645222974767'. + 78 XPC-FLD0736E VALUE 'N'. + 78 XPC-FLD0737B + VALUE X'522443922D'. + 78 XPC-FLD0737E VALUE 'N'. + 78 XPC-FLD0738B + VALUE X'967470462418068333221299326396547257'. + 78 XPC-FLD0738E VALUE 'Y'. + 78 XPC-FLD0739B + VALUE X'0459162078493461292D'. + 78 XPC-FLD0739E VALUE 'N'. + 78 XPC-FLD0740B + VALUE X'072773632191726975291885537444614F'. + 78 XPC-FLD0740E VALUE 'N'. + 78 XPC-FLD0741B + VALUE X'0644169236711C'. + 78 XPC-FLD0741E VALUE 'N'. + 78 XPC-FLD0742B + VALUE X'88899021862D'. + 78 XPC-FLD0742E VALUE 'N'. + 78 XPC-FLD0743B + VALUE X'02956850'. + 78 XPC-FLD0743E VALUE 'N'. + 78 XPC-FLD0744B + VALUE X'2695622879'. + 78 XPC-FLD0744E VALUE 'N'. + 78 XPC-FLD0745B + VALUE X'013557'. + 78 XPC-FLD0745E VALUE 'N'. + 78 XPC-FLD0746B + VALUE X'0231527099755997057F'. + 78 XPC-FLD0746E VALUE 'N'. + 78 XPC-FLD0747B + VALUE X'9169159297409485986918298294767737'. + 78 XPC-FLD0747E VALUE 'Y'. + 78 XPC-FLD0748B + VALUE X'0181187D'. + 78 XPC-FLD0748E VALUE 'N'. + 78 XPC-FLD0749B + VALUE X'2760411381430374631233670697839F'. + 78 XPC-FLD0749E VALUE 'N'. + 78 XPC-FLD0750B + VALUE X'262999561973'. + 78 XPC-FLD0750E VALUE 'N'. + 78 XPC-FLD0751B + VALUE X'15170D'. + 78 XPC-FLD0751E VALUE 'N'. + 78 XPC-FLD0752B + VALUE X'91538508268330654527034084821934811F'. + 78 XPC-FLD0752E VALUE 'N'. + 78 XPC-FLD0753B + VALUE X'0C'. + 78 XPC-FLD0753E VALUE 'Y'. + 78 XPC-FLD0754B + VALUE X'0961172589'. + 78 XPC-FLD0754E VALUE 'N'. + 78 XPC-FLD0755B + VALUE X'053471365948751090643F'. + 78 XPC-FLD0755E VALUE 'N'. + 78 XPC-FLD0756B + VALUE X'15366D'. + 78 XPC-FLD0756E VALUE 'Y'. + 78 XPC-FLD0757B + VALUE X'389641442C'. + 78 XPC-FLD0757E VALUE 'N'. + 78 XPC-FLD0758B + VALUE X'0455928D'. + 78 XPC-FLD0758E VALUE 'N'. + 78 XPC-FLD0759B + VALUE X'07622235272467824718001239148F'. + 78 XPC-FLD0759E VALUE 'N'. + 78 XPC-FLD0760B + VALUE X'09469886609778104836721013271017001F'. + 78 XPC-FLD0760E VALUE 'N'. + 78 XPC-FLD0761B + VALUE X'031926781976263429729811'. + 78 XPC-FLD0761E VALUE 'N'. + 78 XPC-FLD0762B + VALUE X'0259134361'. + 78 XPC-FLD0762E VALUE 'Y'. + 78 XPC-FLD0763B + VALUE X'283690925904618196362605387461'. + 78 XPC-FLD0763E VALUE 'N'. + 78 XPC-FLD0764B + VALUE X'055560951487484800'. + 78 XPC-FLD0764E VALUE 'N'. + 78 XPC-FLD0765B + VALUE X'01212C'. + 78 XPC-FLD0765E VALUE 'Y'. + 78 XPC-FLD0766B + VALUE X'22949432'. + 78 XPC-FLD0766E VALUE 'N'. + 78 XPC-FLD0767B + VALUE X'0D'. + 78 XPC-FLD0767E VALUE 'N'. + 78 XPC-FLD0768B + VALUE X'007D'. + 78 XPC-FLD0768E VALUE 'Y'. + 78 XPC-FLD0769B + VALUE X'03586597857349'. + 78 XPC-FLD0769E VALUE 'N'. + 78 XPC-FLD0770B + VALUE X'054829803888151060764504'. + 78 XPC-FLD0770E VALUE 'N'. + 78 XPC-FLD0771B + VALUE X'075991198999121606361129010F'. + 78 XPC-FLD0771E VALUE 'N'. + 78 XPC-FLD0772B + VALUE X'0090893446885685'. + 78 XPC-FLD0772E VALUE 'N'. + 78 XPC-FLD0773B + VALUE X'76783997423560348547511011929600499F'. + 78 XPC-FLD0773E VALUE 'N'. + 78 XPC-FLD0774B + VALUE X'242589104C'. + 78 XPC-FLD0774E VALUE 'N'. + 78 XPC-FLD0775B + VALUE X'83006085498341006789723905967548489F'. + 78 XPC-FLD0775E VALUE 'N'. + 78 XPC-FLD0776B + VALUE X'65983936382796708763014976284467'. + 78 XPC-FLD0776E VALUE 'N'. + 78 XPC-FLD0777B + VALUE X'563799910901816754889F'. + 78 XPC-FLD0777E VALUE 'N'. + 78 XPC-FLD0778B + VALUE X'6562465464730475300569878527312539'. + 78 XPC-FLD0778E VALUE 'N'. + 78 XPC-FLD0779B + VALUE X'0474089855326103228D'. + 78 XPC-FLD0779E VALUE 'N'. + 78 XPC-FLD0780B + VALUE X'8227596235369002419801631731388F'. + 78 XPC-FLD0780E VALUE 'Y'. + 78 XPC-FLD0781B + VALUE X'096874455399'. + 78 XPC-FLD0781E VALUE 'N'. + 78 XPC-FLD0782B + VALUE X'974841984908992382763415207591606305'. + 78 XPC-FLD0782E VALUE 'N'. + 78 XPC-FLD0783B + VALUE X'04236442572674454C'. + 78 XPC-FLD0783E VALUE 'N'. + 78 XPC-FLD0784B + VALUE X'1401654002801979714825902150218F'. + 78 XPC-FLD0784E VALUE 'N'. + 78 XPC-FLD0785B + VALUE X'393300524050'. + 78 XPC-FLD0785E VALUE 'N'. + 78 XPC-FLD0786B + VALUE X'085407905679605532414111479511119F'. + 78 XPC-FLD0786E VALUE 'N'. + 78 XPC-FLD0787B + VALUE X'00464284'. + 78 XPC-FLD0787E VALUE 'N'. + 78 XPC-FLD0788B + VALUE X'077898336505928358503125785715'. + 78 XPC-FLD0788E VALUE 'N'. + 78 XPC-FLD0789B + VALUE X'6604278565132847496040994F'. + 78 XPC-FLD0789E VALUE 'N'. + 78 XPC-FLD0790B + VALUE X'31694368662D'. + 78 XPC-FLD0790E VALUE 'N'. + 78 XPC-FLD0791B + VALUE X'7382741348868294886190710712'. + 78 XPC-FLD0791E VALUE 'N'. + 78 XPC-FLD0792B + VALUE X'37982443954012'. + 78 XPC-FLD0792E VALUE 'N'. + 78 XPC-FLD0793B + VALUE X'0559177637820166807230'. + 78 XPC-FLD0793E VALUE 'N'. + 78 XPC-FLD0794B + VALUE X'9D'. + 78 XPC-FLD0794E VALUE 'N'. + 78 XPC-FLD0795B + VALUE X'0334944006958C'. + 78 XPC-FLD0795E VALUE 'N'. + 78 XPC-FLD0796B + VALUE X'0653841465915909014761098205'. + 78 XPC-FLD0796E VALUE 'N'. + 78 XPC-FLD0797B + VALUE X'03487774860252'. + 78 XPC-FLD0797E VALUE 'N'. + 78 XPC-FLD0798B + VALUE X'3415780672379371043808250F'. + 78 XPC-FLD0798E VALUE 'N'. + 78 XPC-FLD0799B + VALUE X'024239306208646738127F'. + 78 XPC-FLD0799E VALUE 'N'. + 78 XPC-FLD0800B + VALUE X'4337360023'. + 78 XPC-FLD0800E VALUE 'N'. + 78 XPC-FLD0801B + VALUE X'9827967002397862694706986985693220049F'. + 78 XPC-FLD0801E VALUE 'Y'. + 78 XPC-FLD0802B + VALUE X'059390909987167776897365456534317F'. + 78 XPC-FLD0802E VALUE 'N'. + 78 XPC-FLD0803B + VALUE X'0555623043499399698487'. + 78 XPC-FLD0803E VALUE 'N'. + 78 XPC-FLD0804B + VALUE X'00'. + 78 XPC-FLD0804E VALUE 'Y'. + 78 XPC-FLD0805B + VALUE X'479868190466873291'. + 78 XPC-FLD0805E VALUE 'N'. + 78 XPC-FLD0806B + VALUE X'2580784568425466'. + 78 XPC-FLD0806E VALUE 'N'. + 78 XPC-FLD0807B + VALUE X'090D'. + 78 XPC-FLD0807E VALUE 'Y'. + 78 XPC-FLD0808B + VALUE X'045744550475690953'. + 78 XPC-FLD0808E VALUE 'N'. + 78 XPC-FLD0809B + VALUE X'04404211618158995C'. + 78 XPC-FLD0809E VALUE 'N'. + 78 XPC-FLD0810B + VALUE X'021294550C'. + 78 XPC-FLD0810E VALUE 'N'. + 78 XPC-FLD0811B + VALUE X'5454913861947337423021251372119877487F'. + 78 XPC-FLD0811E VALUE 'N'. + 78 XPC-FLD0812B + VALUE X'5678497418'. + 78 XPC-FLD0812E VALUE 'N'. + 78 XPC-FLD0813B + VALUE X'29113136400D'. + 78 XPC-FLD0813E VALUE 'Y'. + 78 XPC-FLD0814B + VALUE X'07525119595496631362479433846F'. + 78 XPC-FLD0814E VALUE 'N'. + 78 XPC-FLD0815B + VALUE X'0714304561558653405839436344638434439F'. + 78 XPC-FLD0815E VALUE 'N'. + 78 XPC-FLD0816B + VALUE X'0885915144904112161761133847903693'. + 78 XPC-FLD0816E VALUE 'Y'. + 78 XPC-FLD0817B + VALUE X'00322267276165150162'. + 78 XPC-FLD0817E VALUE 'N'. + 78 XPC-FLD0818B + VALUE X'0409797454111609544843745425'. + 78 XPC-FLD0818E VALUE 'N'. + 78 XPC-FLD0819B + VALUE X'082D'. + 78 XPC-FLD0819E VALUE 'N'. + 78 XPC-FLD0820B + VALUE X'956537139953218984445015848905313760'. + 78 XPC-FLD0820E VALUE 'N'. + 78 XPC-FLD0821B + VALUE X'016692042005410C'. + 78 XPC-FLD0821E VALUE 'N'. + 78 XPC-FLD0822B + VALUE X'1092'. + 78 XPC-FLD0822E VALUE 'Y'. + 78 XPC-FLD0823B + VALUE X'484310601769554C'. + 78 XPC-FLD0823E VALUE 'N'. + 78 XPC-FLD0824B + VALUE X'073189644908504480898002'. + 78 XPC-FLD0824E VALUE 'N'. + 78 XPC-FLD0825B + VALUE X'0170692D'. + 78 XPC-FLD0825E VALUE 'N'. + 78 XPC-FLD0826B + VALUE X'0480578557209735916D'. + 78 XPC-FLD0826E VALUE 'N'. + 78 XPC-FLD0827B + VALUE X'046910500983725489'. + 78 XPC-FLD0827E VALUE 'N'. + 78 XPC-FLD0828B + VALUE X'15016D'. + 78 XPC-FLD0828E VALUE 'Y'. + 78 XPC-FLD0829B + VALUE X'944972866636283770347403930829'. + 78 XPC-FLD0829E VALUE 'N'. + 78 XPC-FLD0830B + VALUE X'0565534908381171491839'. + 78 XPC-FLD0830E VALUE 'N'. + 78 XPC-FLD0831B + VALUE X'6602934475151655210356515F'. + 78 XPC-FLD0831E VALUE 'N'. + 78 XPC-FLD0832B + VALUE X'0419047953539795'. + 78 XPC-FLD0832E VALUE 'N'. + 78 XPC-FLD0833B + VALUE X'6657954482808921498060427F'. + 78 XPC-FLD0833E VALUE 'N'. + 78 XPC-FLD0834B + VALUE X'711918981740956136050613167F'. + 78 XPC-FLD0834E VALUE 'Y'. + 78 XPC-FLD0835B + VALUE X'090696211292909090229130697187'. + 78 XPC-FLD0835E VALUE 'N'. + 78 XPC-FLD0836B + VALUE X'01479247899592904941896F'. + 78 XPC-FLD0836E VALUE 'N'. + 78 XPC-FLD0837B + VALUE X'29137776510D'. + 78 XPC-FLD0837E VALUE 'N'. + 78 XPC-FLD0838B + VALUE X'54394205787057270376334726969F'. + 78 XPC-FLD0838E VALUE 'N'. + 78 XPC-FLD0839B + VALUE X'05300514'. + 78 XPC-FLD0839E VALUE 'N'. + 78 XPC-FLD0840B + VALUE X'1153'. + 78 XPC-FLD0840E VALUE 'N'. + 78 XPC-FLD0841B + VALUE X'0992981736583248397742806176703F'. + 78 XPC-FLD0841E VALUE 'N'. + 78 XPC-FLD0842B + VALUE X'054030708425366313836265591069241055'. + 78 XPC-FLD0842E VALUE 'N'. + 78 XPC-FLD0843B + VALUE X'31166916723C'. + 78 XPC-FLD0843E VALUE 'N'. + 78 XPC-FLD0844B + VALUE X'044793585873382490'. + 78 XPC-FLD0844E VALUE 'N'. + 78 XPC-FLD0845B + VALUE X'0555020066479501195111220F'. + 78 XPC-FLD0845E VALUE 'N'. + 78 XPC-FLD0846B + VALUE X'045502277490866085'. + 78 XPC-FLD0846E VALUE 'N'. + 78 XPC-FLD0847B + VALUE X'029702735772'. + 78 XPC-FLD0847E VALUE 'N'. + 78 XPC-FLD0848B + VALUE X'631805001566330881601629698F'. + 78 XPC-FLD0848E VALUE 'N'. + 78 XPC-FLD0849B + VALUE X'07527838155592773139446194363F'. + 78 XPC-FLD0849E VALUE 'Y'. + 78 XPC-FLD0850B + VALUE X'0213070204849290532925563F'. + 78 XPC-FLD0850E VALUE 'N'. + 78 XPC-FLD0851B + VALUE X'22519773'. + 78 XPC-FLD0851E VALUE 'N'. + 78 XPC-FLD0852B + VALUE X'2868257988'. + 78 XPC-FLD0852E VALUE 'Y'. + 78 XPC-FLD0853B + VALUE X'0C'. + 78 XPC-FLD0853E VALUE 'N'. + 78 XPC-FLD0854B + VALUE X'09'. + 78 XPC-FLD0854E VALUE 'N'. + 78 XPC-FLD0855B + VALUE X'167054'. + 78 XPC-FLD0855E VALUE 'Y'. + 78 XPC-FLD0856B + VALUE X'30842D'. + 78 XPC-FLD0856E VALUE 'N'. + 78 XPC-FLD0857B + VALUE X'010C'. + 78 XPC-FLD0857E VALUE 'N'. + 78 XPC-FLD0858B + VALUE X'030966624473'. + 78 XPC-FLD0858E VALUE 'Y'. + 78 XPC-FLD0859B + VALUE X'0971628168143447767945986015547532588F'. + 78 XPC-FLD0859E VALUE 'N'. + 78 XPC-FLD0860B + VALUE X'310782983915'. + 78 XPC-FLD0860E VALUE 'N'. + 78 XPC-FLD0861B + VALUE X'1091'. + 78 XPC-FLD0861E VALUE 'Y'. + 78 XPC-FLD0862B + VALUE X'0568978369365978243753'. + 78 XPC-FLD0862E VALUE 'N'. + 78 XPC-FLD0863B + VALUE X'05171345793694755750'. + 78 XPC-FLD0863E VALUE 'N'. + 78 XPC-FLD0864B + VALUE X'0879130787212824560405977081245509'. + 78 XPC-FLD0864E VALUE 'Y'. + 78 XPC-FLD0865B + VALUE X'327C'. + 78 XPC-FLD0865E VALUE 'N'. + 78 XPC-FLD0866B + VALUE X'0973651490201067931957936707476620'. + 78 XPC-FLD0866E VALUE 'N'. + 78 XPC-FLD0867B + VALUE X'0728938616966572774526298417'. + 78 XPC-FLD0867E VALUE 'N'. + 78 XPC-FLD0868B + VALUE X'05841479951825634534534F'. + 78 XPC-FLD0868E VALUE 'N'. + 78 XPC-FLD0869B + VALUE X'6815782206919422936408636F'. + 78 XPC-FLD0869E VALUE 'N'. + 78 XPC-FLD0870B + VALUE X'657570531523696821807334'. + 78 XPC-FLD0870E VALUE 'N'. + 78 XPC-FLD0871B + VALUE X'5744601464762396635F'. + 78 XPC-FLD0871E VALUE 'N'. + 78 XPC-FLD0872B + VALUE X'045914011344767276'. + 78 XPC-FLD0872E VALUE 'N'. + 78 XPC-FLD0873B + VALUE X'015597'. + 78 XPC-FLD0873E VALUE 'Y'. + 78 XPC-FLD0874B + VALUE X'01881063'. + 78 XPC-FLD0874E VALUE 'N'. + 78 XPC-FLD0875B + VALUE X'32'. + 78 XPC-FLD0875E VALUE 'N'. + 78 XPC-FLD0876B + VALUE X'0792823887607293276147402139031F'. + 78 XPC-FLD0876E VALUE 'N'. + 78 XPC-FLD0877B + VALUE X'0721900468299383535342172F'. + 78 XPC-FLD0877E VALUE 'N'. + 78 XPC-FLD0878B + VALUE X'242827678838084315415812843661207F'. + 78 XPC-FLD0878E VALUE 'N'. + 78 XPC-FLD0879B + VALUE X'085230962794591269560129376259283F'. + 78 XPC-FLD0879E VALUE 'Y'. + 78 XPC-FLD0880B + VALUE X'04839436714022342976684717541503'. + 78 XPC-FLD0880E VALUE 'N'. + 78 XPC-FLD0881B + VALUE X'2105193947194C'. + 78 XPC-FLD0881E VALUE 'N'. + 78 XPC-FLD0882B + VALUE X'06778329518186110291821933'. + 78 XPC-FLD0882E VALUE 'Y'. + 78 XPC-FLD0883B + VALUE X'9754132777012324284626648395'. + 78 XPC-FLD0883E VALUE 'N'. + 78 XPC-FLD0884B + VALUE X'06490392032439449247535630967F'. + 78 XPC-FLD0884E VALUE 'N'. + 78 XPC-FLD0885B + VALUE X'02072D'. + 78 XPC-FLD0885E VALUE 'N'. + 78 XPC-FLD0886B + VALUE X'000595069070307D'. + 78 XPC-FLD0886E VALUE 'N'. + 78 XPC-FLD0887B + VALUE X'09306168018675709582439026235078'. + 78 XPC-FLD0887E VALUE 'N'. + 78 XPC-FLD0888B + VALUE X'0239444618'. + 78 XPC-FLD0888E VALUE 'Y'. + 78 XPC-FLD0889B + VALUE X'0286280324389502793813733205752214417F'. + 78 XPC-FLD0889E VALUE 'N'. + 78 XPC-FLD0890B + VALUE X'721613583480198661490589984F'. + 78 XPC-FLD0890E VALUE 'N'. + 78 XPC-FLD0891B + VALUE X'0735270814161123614247195234'. + 78 XPC-FLD0891E VALUE 'N'. + 78 XPC-FLD0892B + VALUE X'0556'. + 78 XPC-FLD0892E VALUE 'N'. + 78 XPC-FLD0893B + VALUE X'90'. + 78 XPC-FLD0893E VALUE 'N'. + 78 XPC-FLD0894B + VALUE X'654309128000748152942378'. + 78 XPC-FLD0894E VALUE 'N'. + 78 XPC-FLD0895B + VALUE X'2889386308'. + 78 XPC-FLD0895E VALUE 'N'. + 78 XPC-FLD0896B + VALUE X'0D'. + 78 XPC-FLD0896E VALUE 'N'. + 78 XPC-FLD0897B + VALUE X'04404922200833586C'. + 78 XPC-FLD0897E VALUE 'N'. + 78 XPC-FLD0898B + VALUE X'08343519'. + 78 XPC-FLD0898E VALUE 'N'. + 78 XPC-FLD0899B + VALUE X'5130606210827635'. + 78 XPC-FLD0899E VALUE 'N'. + 78 XPC-FLD0900B + VALUE X'01847103'. + 78 XPC-FLD0900E VALUE 'N'. + 78 XPC-FLD0901B + VALUE X'01289396298369796609307513790554367005'. + 78 XPC-FLD0901E VALUE 'N'. + 78 XPC-FLD0902B + VALUE X'5131049785081560396F'. + 78 XPC-FLD0902E VALUE 'N'. + 78 XPC-FLD0903B + VALUE X'006D'. + 78 XPC-FLD0903E VALUE 'Y'. + 78 XPC-FLD0904B + VALUE X'7D'. + 78 XPC-FLD0904E VALUE 'N'. + 78 XPC-FLD0905B + VALUE X'07075373564412'. + 78 XPC-FLD0905E VALUE 'N'. + 78 XPC-FLD0906B + VALUE X'00'. + 78 XPC-FLD0906E VALUE 'Y'. + 78 XPC-FLD0907B + VALUE X'0530207411746521324809'. + 78 XPC-FLD0907E VALUE 'N'. + 78 XPC-FLD0908B + VALUE X'08642393083548316472445662839163561F'. + 78 XPC-FLD0908E VALUE 'N'. + 78 XPC-FLD0909B + VALUE X'00'. + 78 XPC-FLD0909E VALUE 'Y'. + 78 XPC-FLD0910B + VALUE X'2257333765600096867487422969134058'. + 78 XPC-FLD0910E VALUE 'N'. + 78 XPC-FLD0911B + VALUE X'03765938103187097346508025840F'. + 78 XPC-FLD0911E VALUE 'N'. + 78 XPC-FLD0912B + VALUE X'00'. + 78 XPC-FLD0912E VALUE 'Y'. + 78 XPC-FLD0913B + VALUE X'0325'. + 78 XPC-FLD0913E VALUE 'N'. + 78 XPC-FLD0914B + VALUE X'7400121849171126253708052900037643855F'. + 78 XPC-FLD0914E VALUE 'N'. + 78 XPC-FLD0915B + VALUE X'01130C'. + 78 XPC-FLD0915E VALUE 'Y'. + 78 XPC-FLD0916B + VALUE X'4372777685598984'. + 78 XPC-FLD0916E VALUE 'N'. + 78 XPC-FLD0917B + VALUE X'1084'. + 78 XPC-FLD0917E VALUE 'N'. + 78 XPC-FLD0918B + VALUE X'0569310510294893204244'. + 78 XPC-FLD0918E VALUE 'N'. + 78 XPC-FLD0919B + VALUE X'6D'. + 78 XPC-FLD0919E VALUE 'N'. + 78 XPC-FLD0920B + VALUE X'06698607602658151664433262'. + 78 XPC-FLD0920E VALUE 'N'. + 78 XPC-FLD0921B + VALUE X'0C'. + 78 XPC-FLD0921E VALUE 'Y'. + 78 XPC-FLD0922B + VALUE X'0183318D'. + 78 XPC-FLD0922E VALUE 'N'. + 78 XPC-FLD0923B + VALUE X'60892C'. + 78 XPC-FLD0923E VALUE 'N'. + 78 XPC-FLD0924B + VALUE X'8304134742864166529585645548650F'. + 78 XPC-FLD0924E VALUE 'Y'. + 78 XPC-FLD0925B + VALUE X'6C'. + 78 XPC-FLD0925E VALUE 'N'. + 78 XPC-FLD0926B + VALUE X'206877212D'. + 78 XPC-FLD0926E VALUE 'N'. + 78 XPC-FLD0927B + VALUE X'5121865708750312359F'. + 78 XPC-FLD0927E VALUE 'N'. + 78 XPC-FLD0928B + VALUE X'0255169492'. + 78 XPC-FLD0928E VALUE 'N'. + 78 XPC-FLD0929B + VALUE X'713937683093887626162299397F'. + 78 XPC-FLD0929E VALUE 'N'. + 78 XPC-FLD0930B + VALUE X'05915948649192320925289F'. + 78 XPC-FLD0930E VALUE 'N'. + 78 XPC-FLD0931B + VALUE X'124377459C'. + 78 XPC-FLD0931E VALUE 'N'. + 78 XPC-FLD0932B + VALUE X'00116711468219923287'. + 78 XPC-FLD0932E VALUE 'N'. + 78 XPC-FLD0933B + VALUE X'336212612034'. + 78 XPC-FLD0933E VALUE 'N'. + 78 XPC-FLD0934B + VALUE X'0237750091'. + 78 XPC-FLD0934E VALUE 'N'. + 78 XPC-FLD0935B + VALUE X'485384635684275264'. + 78 XPC-FLD0935E VALUE 'N'. + 78 XPC-FLD0936B + VALUE X'0952998853185021421730027668672846630F'. + 78 XPC-FLD0936E VALUE 'Y'. + 78 XPC-FLD0937B + VALUE X'04'. + 78 XPC-FLD0937E VALUE 'N'. + 78 XPC-FLD0938B + VALUE X'07520562026683963451729041'. + 78 XPC-FLD0938E VALUE 'N'. + 78 XPC-FLD0939B + VALUE X'0C'. + 78 XPC-FLD0939E VALUE 'Y'. + 78 XPC-FLD0940B + VALUE X'420205546087499958'. + 78 XPC-FLD0940E VALUE 'N'. + 78 XPC-FLD0941B + VALUE X'00154777002907'. + 78 XPC-FLD0941E VALUE 'N'. + 78 XPC-FLD0942B + VALUE X'92270492697630424050458941565011627F'. + 78 XPC-FLD0942E VALUE 'Y'. + 78 XPC-FLD0943B + VALUE X'9698175C'. + 78 XPC-FLD0943E VALUE 'N'. + 78 XPC-FLD0944B + VALUE X'260056094D'. + 78 XPC-FLD0944E VALUE 'N'. + 78 XPC-FLD0945B + VALUE X'09639552190838518C'. + 78 XPC-FLD0945E VALUE 'N'. + 78 XPC-FLD0946B + VALUE X'0285407519811451561686510558502050116F'. + 78 XPC-FLD0946E VALUE 'N'. + 78 XPC-FLD0947B + VALUE X'6720279273588082815549249F'. + 78 XPC-FLD0947E VALUE 'N'. + 78 XPC-FLD0948B + VALUE X'7581536805549627281493485497'. + 78 XPC-FLD0948E VALUE 'N'. + 78 XPC-FLD0949B + VALUE X'089772746643169742'. + 78 XPC-FLD0949E VALUE 'N'. + 78 XPC-FLD0950B + VALUE X'9466572989771413480277234393870459'. + 78 XPC-FLD0950E VALUE 'N'. + 78 XPC-FLD0951B + VALUE X'7459913492992847894313968026'. + 78 XPC-FLD0951E VALUE 'Y'. + 78 XPC-FLD0952B + VALUE X'65'. + 78 XPC-FLD0952E VALUE 'N'. + 78 XPC-FLD0953B + VALUE X'05187948954462912461'. + 78 XPC-FLD0953E VALUE 'N'. + 78 XPC-FLD0954B + VALUE X'0970603521071659591790137255884474143F'. + 78 XPC-FLD0954E VALUE 'Y'. + 78 XPC-FLD0955B + VALUE X'5341017709695240897178791783518F'. + 78 XPC-FLD0955E VALUE 'N'. + 78 XPC-FLD0956B + VALUE X'097384559702281070479269828F'. + 78 XPC-FLD0956E VALUE 'N'. + 78 XPC-FLD0957B + VALUE X'01212C'. + 78 XPC-FLD0957E VALUE 'Y'. + 78 XPC-FLD0958B + VALUE X'4387549590870288'. + 78 XPC-FLD0958E VALUE 'N'. + 78 XPC-FLD0959B + VALUE X'1C'. + 78 XPC-FLD0959E VALUE 'N'. + 78 XPC-FLD0960B + VALUE X'0C'. + 78 XPC-FLD0960E VALUE 'Y'. + 78 XPC-FLD0961B + VALUE X'00055C'. + 78 XPC-FLD0961E VALUE 'N'. + 78 XPC-FLD0962B + VALUE X'6826560363239254262940346F'. + 78 XPC-FLD0962E VALUE 'N'. + 78 XPC-FLD0963B + VALUE X'06579508606108431242392875'. + 78 XPC-FLD0963E VALUE 'N'. + 78 XPC-FLD0964B + VALUE X'0399362942016605604323'. + 78 XPC-FLD0964E VALUE 'N'. + 78 XPC-FLD0965B + VALUE X'01'. + 78 XPC-FLD0965E VALUE 'N'. + 78 XPC-FLD0966B + VALUE X'00005571'. + 78 XPC-FLD0966E VALUE 'N'. + 78 XPC-FLD0967B + VALUE X'03560456473147'. + 78 XPC-FLD0967E VALUE 'N'. + 78 XPC-FLD0968B + VALUE X'05531D'. + 78 XPC-FLD0968E VALUE 'N'. + 78 XPC-FLD0969B + VALUE X'05945236920989867723715F'. + 78 XPC-FLD0969E VALUE 'N'. + 78 XPC-FLD0970B + VALUE X'433217720233246760537693012156523765'. + 78 XPC-FLD0970E VALUE 'N'. + 78 XPC-FLD0971B + VALUE X'402866616015322C'. + 78 XPC-FLD0971E VALUE 'N'. + 78 XPC-FLD0972B + VALUE X'013649'. + 78 XPC-FLD0972E VALUE 'Y'. + 78 XPC-FLD0973B + VALUE X'08420775282429751358819203232997'. + 78 XPC-FLD0973E VALUE 'N'. + 78 XPC-FLD0974B + VALUE X'076D'. + 78 XPC-FLD0974E VALUE 'N'. + 78 XPC-FLD0975B + VALUE X'329183574054'. + 78 XPC-FLD0975E VALUE 'N'. + 78 XPC-FLD0976B + VALUE X'05189195631532426046'. + 78 XPC-FLD0976E VALUE 'N'. + 78 XPC-FLD0977B + VALUE X'006577733509987D'. + 78 XPC-FLD0977E VALUE 'N'. + 78 XPC-FLD0978B + VALUE X'263651133125829D'. + 78 XPC-FLD0978E VALUE 'N'. + 78 XPC-FLD0979B + VALUE X'38851072771966'. + 78 XPC-FLD0979E VALUE 'N'. + 78 XPC-FLD0980B + VALUE X'647159056743324437308229'. + 78 XPC-FLD0980E VALUE 'N'. + 78 XPC-FLD0981B + VALUE X'3602784782762D'. + 78 XPC-FLD0981E VALUE 'N'. + 78 XPC-FLD0982B + VALUE X'30653235443C'. + 78 XPC-FLD0982E VALUE 'N'. + 78 XPC-FLD0983B + VALUE X'882516211995383510538363225350622087'. + 78 XPC-FLD0983E VALUE 'N'. + 78 XPC-FLD0984B + VALUE X'04457843883822408592'. + 78 XPC-FLD0984E VALUE 'N'. + 78 XPC-FLD0985B + VALUE X'496108848273749947698929645412135F'. + 78 XPC-FLD0985E VALUE 'N'. + 78 XPC-FLD0986B + VALUE X'08'. + 78 XPC-FLD0986E VALUE 'N'. + 78 XPC-FLD0987B + VALUE X'084253493742279825972518736421079F'. + 78 XPC-FLD0987E VALUE 'N'. + 78 XPC-FLD0988B + VALUE X'0181520D'. + 78 XPC-FLD0988E VALUE 'N'. + 78 XPC-FLD0989B + VALUE X'05932140179792923634499F'. + 78 XPC-FLD0989E VALUE 'N'. + 78 XPC-FLD0990B + VALUE X'02089861'. + 78 XPC-FLD0990E VALUE 'Y'. + 78 XPC-FLD0991B + VALUE X'404273028987099C'. + 78 XPC-FLD0991E VALUE 'N'. + 78 XPC-FLD0992B + VALUE X'518805985017170789852514182650362F'. + 78 XPC-FLD0992E VALUE 'N'. + 78 XPC-FLD0993B + VALUE X'01132C'. + 78 XPC-FLD0993E VALUE 'Y'. + 78 XPC-FLD0994B + VALUE X'0484793408353182154D'. + 78 XPC-FLD0994E VALUE 'N'. + 78 XPC-FLD0995B + VALUE X'01888258'. + 78 XPC-FLD0995E VALUE 'N'. + 78 XPC-FLD0996B + VALUE X'00505105346267128441084558'. + 78 XPC-FLD0996E VALUE 'N'. + 78 XPC-FLD0997B + VALUE X'0011799546758455291F'. + 78 XPC-FLD0997E VALUE 'N'. + 78 XPC-FLD0998B + VALUE X'3D'. + 78 XPC-FLD0998E VALUE 'N'. + 78 XPC-FLD0999B + VALUE X'0C'. + 78 XPC-FLD0999E VALUE 'Y'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + SUBTRACT FLD0500A FROM FLD0500B. + ADD FLD0501A TO FLD0501B + ON SIZE ERROR MOVE 'Y' TO FLD0501E. + SUBTRACT FLD0502A FROM FLD0502B. + ADD FLD0503A TO FLD0503B. + SUBTRACT FLD0504A FROM FLD0504B + ON SIZE ERROR MOVE 'Y' TO FLD0504E. + ADD FLD0505A TO FLD0505B. + SUBTRACT FLD0506A FROM FLD0506B. + ADD FLD0507A TO FLD0507B + ON SIZE ERROR MOVE 'Y' TO FLD0507E. + SUBTRACT FLD0508A FROM FLD0508B. + ADD FLD0509A TO FLD0509B. + SUBTRACT FLD0510A FROM FLD0510B + ON SIZE ERROR MOVE 'Y' TO FLD0510E. + ADD FLD0511A TO FLD0511B. + SUBTRACT FLD0512A FROM FLD0512B. + ADD FLD0513A TO FLD0513B + ON SIZE ERROR MOVE 'Y' TO FLD0513E. + SUBTRACT FLD0514A FROM FLD0514B. + ADD FLD0515A TO FLD0515B. + SUBTRACT FLD0516A FROM FLD0516B + ON SIZE ERROR MOVE 'Y' TO FLD0516E. + ADD FLD0517A TO FLD0517B. + SUBTRACT FLD0518A FROM FLD0518B. + ADD FLD0519A TO FLD0519B + ON SIZE ERROR MOVE 'Y' TO FLD0519E. + SUBTRACT FLD0520A FROM FLD0520B. + ADD FLD0521A TO FLD0521B. + SUBTRACT FLD0522A FROM FLD0522B + ON SIZE ERROR MOVE 'Y' TO FLD0522E. + ADD FLD0523A TO FLD0523B. + SUBTRACT FLD0524A FROM FLD0524B. + ADD FLD0525A TO FLD0525B + ON SIZE ERROR MOVE 'Y' TO FLD0525E. + SUBTRACT FLD0526A FROM FLD0526B. + ADD FLD0527A TO FLD0527B. + SUBTRACT FLD0528A FROM FLD0528B + ON SIZE ERROR MOVE 'Y' TO FLD0528E. + ADD FLD0529A TO FLD0529B. + SUBTRACT FLD0530A FROM FLD0530B. + ADD FLD0531A TO FLD0531B + ON SIZE ERROR MOVE 'Y' TO FLD0531E. + SUBTRACT FLD0532A FROM FLD0532B. + ADD FLD0533A TO FLD0533B. + SUBTRACT FLD0534A FROM FLD0534B + ON SIZE ERROR MOVE 'Y' TO FLD0534E. + ADD FLD0535A TO FLD0535B. + SUBTRACT FLD0536A FROM FLD0536B. + ADD FLD0537A TO FLD0537B + ON SIZE ERROR MOVE 'Y' TO FLD0537E. + SUBTRACT FLD0538A FROM FLD0538B. + ADD FLD0539A TO FLD0539B. + SUBTRACT FLD0540A FROM FLD0540B + ON SIZE ERROR MOVE 'Y' TO FLD0540E. + ADD FLD0541A TO FLD0541B. + SUBTRACT FLD0542A FROM FLD0542B. + ADD FLD0543A TO FLD0543B + ON SIZE ERROR MOVE 'Y' TO FLD0543E. + SUBTRACT FLD0544A FROM FLD0544B. + ADD FLD0545A TO FLD0545B. + SUBTRACT FLD0546A FROM FLD0546B + ON SIZE ERROR MOVE 'Y' TO FLD0546E. + ADD FLD0547A TO FLD0547B. + SUBTRACT FLD0548A FROM FLD0548B. + ADD FLD0549A TO FLD0549B + ON SIZE ERROR MOVE 'Y' TO FLD0549E. + SUBTRACT FLD0550A FROM FLD0550B. + ADD FLD0551A TO FLD0551B. + SUBTRACT FLD0552A FROM FLD0552B + ON SIZE ERROR MOVE 'Y' TO FLD0552E. + ADD FLD0553A TO FLD0553B. + SUBTRACT FLD0554A FROM FLD0554B. + ADD FLD0555A TO FLD0555B + ON SIZE ERROR MOVE 'Y' TO FLD0555E. + SUBTRACT FLD0556A FROM FLD0556B. + ADD FLD0557A TO FLD0557B. + SUBTRACT FLD0558A FROM FLD0558B + ON SIZE ERROR MOVE 'Y' TO FLD0558E. + ADD FLD0559A TO FLD0559B. + SUBTRACT FLD0560A FROM FLD0560B. + ADD FLD0561A TO FLD0561B + ON SIZE ERROR MOVE 'Y' TO FLD0561E. + SUBTRACT FLD0562A FROM FLD0562B. + ADD FLD0563A TO FLD0563B. + SUBTRACT FLD0564A FROM FLD0564B + ON SIZE ERROR MOVE 'Y' TO FLD0564E. + ADD FLD0565A TO FLD0565B. + SUBTRACT FLD0566A FROM FLD0566B. + ADD FLD0567A TO FLD0567B + ON SIZE ERROR MOVE 'Y' TO FLD0567E. + SUBTRACT FLD0568A FROM FLD0568B. + ADD FLD0569A TO FLD0569B. + SUBTRACT FLD0570A FROM FLD0570B + ON SIZE ERROR MOVE 'Y' TO FLD0570E. + ADD FLD0571A TO FLD0571B. + SUBTRACT FLD0572A FROM FLD0572B. + ADD FLD0573A TO FLD0573B + ON SIZE ERROR MOVE 'Y' TO FLD0573E. + SUBTRACT FLD0574A FROM FLD0574B. + ADD FLD0575A TO FLD0575B. + SUBTRACT FLD0576A FROM FLD0576B + ON SIZE ERROR MOVE 'Y' TO FLD0576E. + ADD FLD0577A TO FLD0577B. + SUBTRACT FLD0578A FROM FLD0578B. + ADD FLD0579A TO FLD0579B + ON SIZE ERROR MOVE 'Y' TO FLD0579E. + SUBTRACT FLD0580A FROM FLD0580B. + ADD FLD0581A TO FLD0581B. + SUBTRACT FLD0582A FROM FLD0582B + ON SIZE ERROR MOVE 'Y' TO FLD0582E. + ADD FLD0583A TO FLD0583B. + SUBTRACT FLD0584A FROM FLD0584B. + ADD FLD0585A TO FLD0585B + ON SIZE ERROR MOVE 'Y' TO FLD0585E. + SUBTRACT FLD0586A FROM FLD0586B. + ADD FLD0587A TO FLD0587B. + SUBTRACT FLD0588A FROM FLD0588B + ON SIZE ERROR MOVE 'Y' TO FLD0588E. + ADD FLD0589A TO FLD0589B. + SUBTRACT FLD0590A FROM FLD0590B. + ADD FLD0591A TO FLD0591B + ON SIZE ERROR MOVE 'Y' TO FLD0591E. + SUBTRACT FLD0592A FROM FLD0592B. + ADD FLD0593A TO FLD0593B. + SUBTRACT FLD0594A FROM FLD0594B + ON SIZE ERROR MOVE 'Y' TO FLD0594E. + ADD FLD0595A TO FLD0595B. + SUBTRACT FLD0596A FROM FLD0596B. + ADD FLD0597A TO FLD0597B + ON SIZE ERROR MOVE 'Y' TO FLD0597E. + SUBTRACT FLD0598A FROM FLD0598B. + ADD FLD0599A TO FLD0599B. + SUBTRACT FLD0600A FROM FLD0600B + ON SIZE ERROR MOVE 'Y' TO FLD0600E. + ADD FLD0601A TO FLD0601B. + SUBTRACT FLD0602A FROM FLD0602B. + ADD FLD0603A TO FLD0603B + ON SIZE ERROR MOVE 'Y' TO FLD0603E. + SUBTRACT FLD0604A FROM FLD0604B. + ADD FLD0605A TO FLD0605B. + SUBTRACT FLD0606A FROM FLD0606B + ON SIZE ERROR MOVE 'Y' TO FLD0606E. + ADD FLD0607A TO FLD0607B. + SUBTRACT FLD0608A FROM FLD0608B. + ADD FLD0609A TO FLD0609B + ON SIZE ERROR MOVE 'Y' TO FLD0609E. + SUBTRACT FLD0610A FROM FLD0610B. + ADD FLD0611A TO FLD0611B. + SUBTRACT FLD0612A FROM FLD0612B + ON SIZE ERROR MOVE 'Y' TO FLD0612E. + ADD FLD0613A TO FLD0613B. + SUBTRACT FLD0614A FROM FLD0614B. + ADD FLD0615A TO FLD0615B + ON SIZE ERROR MOVE 'Y' TO FLD0615E. + SUBTRACT FLD0616A FROM FLD0616B. + ADD FLD0617A TO FLD0617B. + SUBTRACT FLD0618A FROM FLD0618B + ON SIZE ERROR MOVE 'Y' TO FLD0618E. + ADD FLD0619A TO FLD0619B. + SUBTRACT FLD0620A FROM FLD0620B. + ADD FLD0621A TO FLD0621B + ON SIZE ERROR MOVE 'Y' TO FLD0621E. + SUBTRACT FLD0622A FROM FLD0622B. + ADD FLD0623A TO FLD0623B. + SUBTRACT FLD0624A FROM FLD0624B + ON SIZE ERROR MOVE 'Y' TO FLD0624E. + ADD FLD0625A TO FLD0625B. + SUBTRACT FLD0626A FROM FLD0626B. + ADD FLD0627A TO FLD0627B + ON SIZE ERROR MOVE 'Y' TO FLD0627E. + SUBTRACT FLD0628A FROM FLD0628B. + ADD FLD0629A TO FLD0629B. + SUBTRACT FLD0630A FROM FLD0630B + ON SIZE ERROR MOVE 'Y' TO FLD0630E. + ADD FLD0631A TO FLD0631B. + SUBTRACT FLD0632A FROM FLD0632B. + ADD FLD0633A TO FLD0633B + ON SIZE ERROR MOVE 'Y' TO FLD0633E. + SUBTRACT FLD0634A FROM FLD0634B. + ADD FLD0635A TO FLD0635B. + SUBTRACT FLD0636A FROM FLD0636B + ON SIZE ERROR MOVE 'Y' TO FLD0636E. + ADD FLD0637A TO FLD0637B. + SUBTRACT FLD0638A FROM FLD0638B. + ADD FLD0639A TO FLD0639B + ON SIZE ERROR MOVE 'Y' TO FLD0639E. + SUBTRACT FLD0640A FROM FLD0640B. + ADD FLD0641A TO FLD0641B. + SUBTRACT FLD0642A FROM FLD0642B + ON SIZE ERROR MOVE 'Y' TO FLD0642E. + ADD FLD0643A TO FLD0643B. + SUBTRACT FLD0644A FROM FLD0644B. + ADD FLD0645A TO FLD0645B + ON SIZE ERROR MOVE 'Y' TO FLD0645E. + SUBTRACT FLD0646A FROM FLD0646B. + ADD FLD0647A TO FLD0647B. + SUBTRACT FLD0648A FROM FLD0648B + ON SIZE ERROR MOVE 'Y' TO FLD0648E. + ADD FLD0649A TO FLD0649B. + SUBTRACT FLD0650A FROM FLD0650B. + ADD FLD0651A TO FLD0651B + ON SIZE ERROR MOVE 'Y' TO FLD0651E. + SUBTRACT FLD0652A FROM FLD0652B. + ADD FLD0653A TO FLD0653B. + SUBTRACT FLD0654A FROM FLD0654B + ON SIZE ERROR MOVE 'Y' TO FLD0654E. + ADD FLD0655A TO FLD0655B. + SUBTRACT FLD0656A FROM FLD0656B. + ADD FLD0657A TO FLD0657B + ON SIZE ERROR MOVE 'Y' TO FLD0657E. + SUBTRACT FLD0658A FROM FLD0658B. + ADD FLD0659A TO FLD0659B. + SUBTRACT FLD0660A FROM FLD0660B + ON SIZE ERROR MOVE 'Y' TO FLD0660E. + ADD FLD0661A TO FLD0661B. + SUBTRACT FLD0662A FROM FLD0662B. + ADD FLD0663A TO FLD0663B + ON SIZE ERROR MOVE 'Y' TO FLD0663E. + SUBTRACT FLD0664A FROM FLD0664B. + ADD FLD0665A TO FLD0665B. + SUBTRACT FLD0666A FROM FLD0666B + ON SIZE ERROR MOVE 'Y' TO FLD0666E. + ADD FLD0667A TO FLD0667B. + SUBTRACT FLD0668A FROM FLD0668B. + ADD FLD0669A TO FLD0669B + ON SIZE ERROR MOVE 'Y' TO FLD0669E. + SUBTRACT FLD0670A FROM FLD0670B. + ADD FLD0671A TO FLD0671B. + SUBTRACT FLD0672A FROM FLD0672B + ON SIZE ERROR MOVE 'Y' TO FLD0672E. + ADD FLD0673A TO FLD0673B. + SUBTRACT FLD0674A FROM FLD0674B. + ADD FLD0675A TO FLD0675B + ON SIZE ERROR MOVE 'Y' TO FLD0675E. + SUBTRACT FLD0676A FROM FLD0676B. + ADD FLD0677A TO FLD0677B. + SUBTRACT FLD0678A FROM FLD0678B + ON SIZE ERROR MOVE 'Y' TO FLD0678E. + ADD FLD0679A TO FLD0679B. + SUBTRACT FLD0680A FROM FLD0680B. + ADD FLD0681A TO FLD0681B + ON SIZE ERROR MOVE 'Y' TO FLD0681E. + SUBTRACT FLD0682A FROM FLD0682B. + ADD FLD0683A TO FLD0683B. + SUBTRACT FLD0684A FROM FLD0684B + ON SIZE ERROR MOVE 'Y' TO FLD0684E. + ADD FLD0685A TO FLD0685B. + SUBTRACT FLD0686A FROM FLD0686B. + ADD FLD0687A TO FLD0687B + ON SIZE ERROR MOVE 'Y' TO FLD0687E. + SUBTRACT FLD0688A FROM FLD0688B. + ADD FLD0689A TO FLD0689B. + SUBTRACT FLD0690A FROM FLD0690B + ON SIZE ERROR MOVE 'Y' TO FLD0690E. + ADD FLD0691A TO FLD0691B. + SUBTRACT FLD0692A FROM FLD0692B. + ADD FLD0693A TO FLD0693B + ON SIZE ERROR MOVE 'Y' TO FLD0693E. + SUBTRACT FLD0694A FROM FLD0694B. + ADD FLD0695A TO FLD0695B. + SUBTRACT FLD0696A FROM FLD0696B + ON SIZE ERROR MOVE 'Y' TO FLD0696E. + ADD FLD0697A TO FLD0697B. + SUBTRACT FLD0698A FROM FLD0698B. + ADD FLD0699A TO FLD0699B + ON SIZE ERROR MOVE 'Y' TO FLD0699E. + SUBTRACT FLD0700A FROM FLD0700B. + ADD FLD0701A TO FLD0701B. + SUBTRACT FLD0702A FROM FLD0702B + ON SIZE ERROR MOVE 'Y' TO FLD0702E. + ADD FLD0703A TO FLD0703B. + SUBTRACT FLD0704A FROM FLD0704B. + ADD FLD0705A TO FLD0705B + ON SIZE ERROR MOVE 'Y' TO FLD0705E. + SUBTRACT FLD0706A FROM FLD0706B. + ADD FLD0707A TO FLD0707B. + SUBTRACT FLD0708A FROM FLD0708B + ON SIZE ERROR MOVE 'Y' TO FLD0708E. + ADD FLD0709A TO FLD0709B. + SUBTRACT FLD0710A FROM FLD0710B. + ADD FLD0711A TO FLD0711B + ON SIZE ERROR MOVE 'Y' TO FLD0711E. + SUBTRACT FLD0712A FROM FLD0712B. + ADD FLD0713A TO FLD0713B. + SUBTRACT FLD0714A FROM FLD0714B + ON SIZE ERROR MOVE 'Y' TO FLD0714E. + ADD FLD0715A TO FLD0715B. + SUBTRACT FLD0716A FROM FLD0716B. + ADD FLD0717A TO FLD0717B + ON SIZE ERROR MOVE 'Y' TO FLD0717E. + SUBTRACT FLD0718A FROM FLD0718B. + ADD FLD0719A TO FLD0719B. + SUBTRACT FLD0720A FROM FLD0720B + ON SIZE ERROR MOVE 'Y' TO FLD0720E. + ADD FLD0721A TO FLD0721B. + SUBTRACT FLD0722A FROM FLD0722B. + ADD FLD0723A TO FLD0723B + ON SIZE ERROR MOVE 'Y' TO FLD0723E. + SUBTRACT FLD0724A FROM FLD0724B. + ADD FLD0725A TO FLD0725B. + SUBTRACT FLD0726A FROM FLD0726B + ON SIZE ERROR MOVE 'Y' TO FLD0726E. + ADD FLD0727A TO FLD0727B. + SUBTRACT FLD0728A FROM FLD0728B. + ADD FLD0729A TO FLD0729B + ON SIZE ERROR MOVE 'Y' TO FLD0729E. + SUBTRACT FLD0730A FROM FLD0730B. + ADD FLD0731A TO FLD0731B. + SUBTRACT FLD0732A FROM FLD0732B + ON SIZE ERROR MOVE 'Y' TO FLD0732E. + ADD FLD0733A TO FLD0733B. + SUBTRACT FLD0734A FROM FLD0734B. + ADD FLD0735A TO FLD0735B + ON SIZE ERROR MOVE 'Y' TO FLD0735E. + SUBTRACT FLD0736A FROM FLD0736B. + ADD FLD0737A TO FLD0737B. + SUBTRACT FLD0738A FROM FLD0738B + ON SIZE ERROR MOVE 'Y' TO FLD0738E. + ADD FLD0739A TO FLD0739B. + SUBTRACT FLD0740A FROM FLD0740B. + ADD FLD0741A TO FLD0741B + ON SIZE ERROR MOVE 'Y' TO FLD0741E. + SUBTRACT FLD0742A FROM FLD0742B. + ADD FLD0743A TO FLD0743B. + SUBTRACT FLD0744A FROM FLD0744B + ON SIZE ERROR MOVE 'Y' TO FLD0744E. + ADD FLD0745A TO FLD0745B. + SUBTRACT FLD0746A FROM FLD0746B. + ADD FLD0747A TO FLD0747B + ON SIZE ERROR MOVE 'Y' TO FLD0747E. + SUBTRACT FLD0748A FROM FLD0748B. + ADD FLD0749A TO FLD0749B. + SUBTRACT FLD0750A FROM FLD0750B + ON SIZE ERROR MOVE 'Y' TO FLD0750E. + ADD FLD0751A TO FLD0751B. + SUBTRACT FLD0752A FROM FLD0752B. + ADD FLD0753A TO FLD0753B + ON SIZE ERROR MOVE 'Y' TO FLD0753E. + SUBTRACT FLD0754A FROM FLD0754B. + ADD FLD0755A TO FLD0755B. + SUBTRACT FLD0756A FROM FLD0756B + ON SIZE ERROR MOVE 'Y' TO FLD0756E. + ADD FLD0757A TO FLD0757B. + SUBTRACT FLD0758A FROM FLD0758B. + ADD FLD0759A TO FLD0759B + ON SIZE ERROR MOVE 'Y' TO FLD0759E. + SUBTRACT FLD0760A FROM FLD0760B. + ADD FLD0761A TO FLD0761B. + SUBTRACT FLD0762A FROM FLD0762B + ON SIZE ERROR MOVE 'Y' TO FLD0762E. + ADD FLD0763A TO FLD0763B. + SUBTRACT FLD0764A FROM FLD0764B. + ADD FLD0765A TO FLD0765B + ON SIZE ERROR MOVE 'Y' TO FLD0765E. + SUBTRACT FLD0766A FROM FLD0766B. + ADD FLD0767A TO FLD0767B. + SUBTRACT FLD0768A FROM FLD0768B + ON SIZE ERROR MOVE 'Y' TO FLD0768E. + ADD FLD0769A TO FLD0769B. + SUBTRACT FLD0770A FROM FLD0770B. + ADD FLD0771A TO FLD0771B + ON SIZE ERROR MOVE 'Y' TO FLD0771E. + SUBTRACT FLD0772A FROM FLD0772B. + ADD FLD0773A TO FLD0773B. + SUBTRACT FLD0774A FROM FLD0774B + ON SIZE ERROR MOVE 'Y' TO FLD0774E. + ADD FLD0775A TO FLD0775B. + SUBTRACT FLD0776A FROM FLD0776B. + ADD FLD0777A TO FLD0777B + ON SIZE ERROR MOVE 'Y' TO FLD0777E. + SUBTRACT FLD0778A FROM FLD0778B. + ADD FLD0779A TO FLD0779B. + SUBTRACT FLD0780A FROM FLD0780B + ON SIZE ERROR MOVE 'Y' TO FLD0780E. + ADD FLD0781A TO FLD0781B. + SUBTRACT FLD0782A FROM FLD0782B. + ADD FLD0783A TO FLD0783B + ON SIZE ERROR MOVE 'Y' TO FLD0783E. + SUBTRACT FLD0784A FROM FLD0784B. + ADD FLD0785A TO FLD0785B. + SUBTRACT FLD0786A FROM FLD0786B + ON SIZE ERROR MOVE 'Y' TO FLD0786E. + ADD FLD0787A TO FLD0787B. + SUBTRACT FLD0788A FROM FLD0788B. + ADD FLD0789A TO FLD0789B + ON SIZE ERROR MOVE 'Y' TO FLD0789E. + SUBTRACT FLD0790A FROM FLD0790B. + ADD FLD0791A TO FLD0791B. + SUBTRACT FLD0792A FROM FLD0792B + ON SIZE ERROR MOVE 'Y' TO FLD0792E. + ADD FLD0793A TO FLD0793B. + SUBTRACT FLD0794A FROM FLD0794B. + ADD FLD0795A TO FLD0795B + ON SIZE ERROR MOVE 'Y' TO FLD0795E. + SUBTRACT FLD0796A FROM FLD0796B. + ADD FLD0797A TO FLD0797B. + SUBTRACT FLD0798A FROM FLD0798B + ON SIZE ERROR MOVE 'Y' TO FLD0798E. + ADD FLD0799A TO FLD0799B. + SUBTRACT FLD0800A FROM FLD0800B. + ADD FLD0801A TO FLD0801B + ON SIZE ERROR MOVE 'Y' TO FLD0801E. + SUBTRACT FLD0802A FROM FLD0802B. + ADD FLD0803A TO FLD0803B. + SUBTRACT FLD0804A FROM FLD0804B + ON SIZE ERROR MOVE 'Y' TO FLD0804E. + ADD FLD0805A TO FLD0805B. + SUBTRACT FLD0806A FROM FLD0806B. + ADD FLD0807A TO FLD0807B + ON SIZE ERROR MOVE 'Y' TO FLD0807E. + SUBTRACT FLD0808A FROM FLD0808B. + ADD FLD0809A TO FLD0809B. + SUBTRACT FLD0810A FROM FLD0810B + ON SIZE ERROR MOVE 'Y' TO FLD0810E. + ADD FLD0811A TO FLD0811B. + SUBTRACT FLD0812A FROM FLD0812B. + ADD FLD0813A TO FLD0813B + ON SIZE ERROR MOVE 'Y' TO FLD0813E. + SUBTRACT FLD0814A FROM FLD0814B. + ADD FLD0815A TO FLD0815B. + SUBTRACT FLD0816A FROM FLD0816B + ON SIZE ERROR MOVE 'Y' TO FLD0816E. + ADD FLD0817A TO FLD0817B. + SUBTRACT FLD0818A FROM FLD0818B. + ADD FLD0819A TO FLD0819B + ON SIZE ERROR MOVE 'Y' TO FLD0819E. + SUBTRACT FLD0820A FROM FLD0820B. + ADD FLD0821A TO FLD0821B. + SUBTRACT FLD0822A FROM FLD0822B + ON SIZE ERROR MOVE 'Y' TO FLD0822E. + ADD FLD0823A TO FLD0823B. + SUBTRACT FLD0824A FROM FLD0824B. + ADD FLD0825A TO FLD0825B + ON SIZE ERROR MOVE 'Y' TO FLD0825E. + SUBTRACT FLD0826A FROM FLD0826B. + ADD FLD0827A TO FLD0827B. + SUBTRACT FLD0828A FROM FLD0828B + ON SIZE ERROR MOVE 'Y' TO FLD0828E. + ADD FLD0829A TO FLD0829B. + SUBTRACT FLD0830A FROM FLD0830B. + ADD FLD0831A TO FLD0831B + ON SIZE ERROR MOVE 'Y' TO FLD0831E. + SUBTRACT FLD0832A FROM FLD0832B. + ADD FLD0833A TO FLD0833B. + SUBTRACT FLD0834A FROM FLD0834B + ON SIZE ERROR MOVE 'Y' TO FLD0834E. + ADD FLD0835A TO FLD0835B. + SUBTRACT FLD0836A FROM FLD0836B. + ADD FLD0837A TO FLD0837B + ON SIZE ERROR MOVE 'Y' TO FLD0837E. + SUBTRACT FLD0838A FROM FLD0838B. + ADD FLD0839A TO FLD0839B. + SUBTRACT FLD0840A FROM FLD0840B + ON SIZE ERROR MOVE 'Y' TO FLD0840E. + ADD FLD0841A TO FLD0841B. + SUBTRACT FLD0842A FROM FLD0842B. + ADD FLD0843A TO FLD0843B + ON SIZE ERROR MOVE 'Y' TO FLD0843E. + SUBTRACT FLD0844A FROM FLD0844B. + ADD FLD0845A TO FLD0845B. + SUBTRACT FLD0846A FROM FLD0846B + ON SIZE ERROR MOVE 'Y' TO FLD0846E. + ADD FLD0847A TO FLD0847B. + SUBTRACT FLD0848A FROM FLD0848B. + ADD FLD0849A TO FLD0849B + ON SIZE ERROR MOVE 'Y' TO FLD0849E. + SUBTRACT FLD0850A FROM FLD0850B. + ADD FLD0851A TO FLD0851B. + SUBTRACT FLD0852A FROM FLD0852B + ON SIZE ERROR MOVE 'Y' TO FLD0852E. + ADD FLD0853A TO FLD0853B. + SUBTRACT FLD0854A FROM FLD0854B. + ADD FLD0855A TO FLD0855B + ON SIZE ERROR MOVE 'Y' TO FLD0855E. + SUBTRACT FLD0856A FROM FLD0856B. + ADD FLD0857A TO FLD0857B. + SUBTRACT FLD0858A FROM FLD0858B + ON SIZE ERROR MOVE 'Y' TO FLD0858E. + ADD FLD0859A TO FLD0859B. + SUBTRACT FLD0860A FROM FLD0860B. + ADD FLD0861A TO FLD0861B + ON SIZE ERROR MOVE 'Y' TO FLD0861E. + SUBTRACT FLD0862A FROM FLD0862B. + ADD FLD0863A TO FLD0863B. + SUBTRACT FLD0864A FROM FLD0864B + ON SIZE ERROR MOVE 'Y' TO FLD0864E. + ADD FLD0865A TO FLD0865B. + SUBTRACT FLD0866A FROM FLD0866B. + ADD FLD0867A TO FLD0867B + ON SIZE ERROR MOVE 'Y' TO FLD0867E. + SUBTRACT FLD0868A FROM FLD0868B. + ADD FLD0869A TO FLD0869B. + SUBTRACT FLD0870A FROM FLD0870B + ON SIZE ERROR MOVE 'Y' TO FLD0870E. + ADD FLD0871A TO FLD0871B. + SUBTRACT FLD0872A FROM FLD0872B. + ADD FLD0873A TO FLD0873B + ON SIZE ERROR MOVE 'Y' TO FLD0873E. + SUBTRACT FLD0874A FROM FLD0874B. + ADD FLD0875A TO FLD0875B. + SUBTRACT FLD0876A FROM FLD0876B + ON SIZE ERROR MOVE 'Y' TO FLD0876E. + ADD FLD0877A TO FLD0877B. + SUBTRACT FLD0878A FROM FLD0878B. + ADD FLD0879A TO FLD0879B + ON SIZE ERROR MOVE 'Y' TO FLD0879E. + SUBTRACT FLD0880A FROM FLD0880B. + ADD FLD0881A TO FLD0881B. + SUBTRACT FLD0882A FROM FLD0882B + ON SIZE ERROR MOVE 'Y' TO FLD0882E. + ADD FLD0883A TO FLD0883B. + SUBTRACT FLD0884A FROM FLD0884B. + ADD FLD0885A TO FLD0885B + ON SIZE ERROR MOVE 'Y' TO FLD0885E. + SUBTRACT FLD0886A FROM FLD0886B. + ADD FLD0887A TO FLD0887B. + SUBTRACT FLD0888A FROM FLD0888B + ON SIZE ERROR MOVE 'Y' TO FLD0888E. + ADD FLD0889A TO FLD0889B. + SUBTRACT FLD0890A FROM FLD0890B. + ADD FLD0891A TO FLD0891B + ON SIZE ERROR MOVE 'Y' TO FLD0891E. + SUBTRACT FLD0892A FROM FLD0892B. + ADD FLD0893A TO FLD0893B. + SUBTRACT FLD0894A FROM FLD0894B + ON SIZE ERROR MOVE 'Y' TO FLD0894E. + ADD FLD0895A TO FLD0895B. + SUBTRACT FLD0896A FROM FLD0896B. + ADD FLD0897A TO FLD0897B + ON SIZE ERROR MOVE 'Y' TO FLD0897E. + SUBTRACT FLD0898A FROM FLD0898B. + ADD FLD0899A TO FLD0899B. + SUBTRACT FLD0900A FROM FLD0900B + ON SIZE ERROR MOVE 'Y' TO FLD0900E. + ADD FLD0901A TO FLD0901B. + SUBTRACT FLD0902A FROM FLD0902B. + ADD FLD0903A TO FLD0903B + ON SIZE ERROR MOVE 'Y' TO FLD0903E. + SUBTRACT FLD0904A FROM FLD0904B. + ADD FLD0905A TO FLD0905B. + SUBTRACT FLD0906A FROM FLD0906B + ON SIZE ERROR MOVE 'Y' TO FLD0906E. + ADD FLD0907A TO FLD0907B. + SUBTRACT FLD0908A FROM FLD0908B. + ADD FLD0909A TO FLD0909B + ON SIZE ERROR MOVE 'Y' TO FLD0909E. + SUBTRACT FLD0910A FROM FLD0910B. + ADD FLD0911A TO FLD0911B. + SUBTRACT FLD0912A FROM FLD0912B + ON SIZE ERROR MOVE 'Y' TO FLD0912E. + ADD FLD0913A TO FLD0913B. + SUBTRACT FLD0914A FROM FLD0914B. + ADD FLD0915A TO FLD0915B + ON SIZE ERROR MOVE 'Y' TO FLD0915E. + SUBTRACT FLD0916A FROM FLD0916B. + ADD FLD0917A TO FLD0917B. + SUBTRACT FLD0918A FROM FLD0918B + ON SIZE ERROR MOVE 'Y' TO FLD0918E. + ADD FLD0919A TO FLD0919B. + SUBTRACT FLD0920A FROM FLD0920B. + ADD FLD0921A TO FLD0921B + ON SIZE ERROR MOVE 'Y' TO FLD0921E. + SUBTRACT FLD0922A FROM FLD0922B. + ADD FLD0923A TO FLD0923B. + SUBTRACT FLD0924A FROM FLD0924B + ON SIZE ERROR MOVE 'Y' TO FLD0924E. + ADD FLD0925A TO FLD0925B. + SUBTRACT FLD0926A FROM FLD0926B. + ADD FLD0927A TO FLD0927B + ON SIZE ERROR MOVE 'Y' TO FLD0927E. + SUBTRACT FLD0928A FROM FLD0928B. + ADD FLD0929A TO FLD0929B. + SUBTRACT FLD0930A FROM FLD0930B + ON SIZE ERROR MOVE 'Y' TO FLD0930E. + ADD FLD0931A TO FLD0931B. + SUBTRACT FLD0932A FROM FLD0932B. + ADD FLD0933A TO FLD0933B + ON SIZE ERROR MOVE 'Y' TO FLD0933E. + SUBTRACT FLD0934A FROM FLD0934B. + ADD FLD0935A TO FLD0935B. + SUBTRACT FLD0936A FROM FLD0936B + ON SIZE ERROR MOVE 'Y' TO FLD0936E. + ADD FLD0937A TO FLD0937B. + SUBTRACT FLD0938A FROM FLD0938B. + ADD FLD0939A TO FLD0939B + ON SIZE ERROR MOVE 'Y' TO FLD0939E. + SUBTRACT FLD0940A FROM FLD0940B. + ADD FLD0941A TO FLD0941B. + SUBTRACT FLD0942A FROM FLD0942B + ON SIZE ERROR MOVE 'Y' TO FLD0942E. + ADD FLD0943A TO FLD0943B. + SUBTRACT FLD0944A FROM FLD0944B. + ADD FLD0945A TO FLD0945B + ON SIZE ERROR MOVE 'Y' TO FLD0945E. + SUBTRACT FLD0946A FROM FLD0946B. + ADD FLD0947A TO FLD0947B. + SUBTRACT FLD0948A FROM FLD0948B + ON SIZE ERROR MOVE 'Y' TO FLD0948E. + ADD FLD0949A TO FLD0949B. + SUBTRACT FLD0950A FROM FLD0950B. + ADD FLD0951A TO FLD0951B + ON SIZE ERROR MOVE 'Y' TO FLD0951E. + SUBTRACT FLD0952A FROM FLD0952B. + ADD FLD0953A TO FLD0953B. + SUBTRACT FLD0954A FROM FLD0954B + ON SIZE ERROR MOVE 'Y' TO FLD0954E. + ADD FLD0955A TO FLD0955B. + SUBTRACT FLD0956A FROM FLD0956B. + ADD FLD0957A TO FLD0957B + ON SIZE ERROR MOVE 'Y' TO FLD0957E. + SUBTRACT FLD0958A FROM FLD0958B. + ADD FLD0959A TO FLD0959B. + SUBTRACT FLD0960A FROM FLD0960B + ON SIZE ERROR MOVE 'Y' TO FLD0960E. + ADD FLD0961A TO FLD0961B. + SUBTRACT FLD0962A FROM FLD0962B. + ADD FLD0963A TO FLD0963B + ON SIZE ERROR MOVE 'Y' TO FLD0963E. + SUBTRACT FLD0964A FROM FLD0964B. + ADD FLD0965A TO FLD0965B. + SUBTRACT FLD0966A FROM FLD0966B + ON SIZE ERROR MOVE 'Y' TO FLD0966E. + ADD FLD0967A TO FLD0967B. + SUBTRACT FLD0968A FROM FLD0968B. + ADD FLD0969A TO FLD0969B + ON SIZE ERROR MOVE 'Y' TO FLD0969E. + SUBTRACT FLD0970A FROM FLD0970B. + ADD FLD0971A TO FLD0971B. + SUBTRACT FLD0972A FROM FLD0972B + ON SIZE ERROR MOVE 'Y' TO FLD0972E. + ADD FLD0973A TO FLD0973B. + SUBTRACT FLD0974A FROM FLD0974B. + ADD FLD0975A TO FLD0975B + ON SIZE ERROR MOVE 'Y' TO FLD0975E. + SUBTRACT FLD0976A FROM FLD0976B. + ADD FLD0977A TO FLD0977B. + SUBTRACT FLD0978A FROM FLD0978B + ON SIZE ERROR MOVE 'Y' TO FLD0978E. + ADD FLD0979A TO FLD0979B. + SUBTRACT FLD0980A FROM FLD0980B. + ADD FLD0981A TO FLD0981B + ON SIZE ERROR MOVE 'Y' TO FLD0981E. + SUBTRACT FLD0982A FROM FLD0982B. + ADD FLD0983A TO FLD0983B. + SUBTRACT FLD0984A FROM FLD0984B + ON SIZE ERROR MOVE 'Y' TO FLD0984E. + ADD FLD0985A TO FLD0985B. + SUBTRACT FLD0986A FROM FLD0986B. + ADD FLD0987A TO FLD0987B + ON SIZE ERROR MOVE 'Y' TO FLD0987E. + SUBTRACT FLD0988A FROM FLD0988B. + ADD FLD0989A TO FLD0989B. + SUBTRACT FLD0990A FROM FLD0990B + ON SIZE ERROR MOVE 'Y' TO FLD0990E. + ADD FLD0991A TO FLD0991B. + SUBTRACT FLD0992A FROM FLD0992B. + ADD FLD0993A TO FLD0993B + ON SIZE ERROR MOVE 'Y' TO FLD0993E. + SUBTRACT FLD0994A FROM FLD0994B. + ADD FLD0995A TO FLD0995B. + SUBTRACT FLD0996A FROM FLD0996B + ON SIZE ERROR MOVE 'Y' TO FLD0996E. + ADD FLD0997A TO FLD0997B. + SUBTRACT FLD0998A FROM FLD0998B. + ADD FLD0999A TO FLD0999B + ON SIZE ERROR MOVE 'Y' TO FLD0999E. + + *4000-COMPARE. + + IF FLD0500B (1:) NOT EQUAL XPC-FLD0500B + DISPLAY 'FLD0500B ==> ' HEX-OF (FLD0500B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0500B). + IF FLD0500E NOT EQUAL XPC-FLD0500E + DISPLAY 'FLD0500E ==> ' FLD0500E + DISPLAY 'EXPECTED ==> ' XPC-FLD0500E. + IF FLD0501B (1:) NOT EQUAL XPC-FLD0501B + DISPLAY 'FLD0501B ==> ' HEX-OF (FLD0501B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0501B). + IF FLD0501E NOT EQUAL XPC-FLD0501E + DISPLAY 'FLD0501E ==> ' FLD0501E + DISPLAY 'EXPECTED ==> ' XPC-FLD0501E. + IF FLD0502B (1:) NOT EQUAL XPC-FLD0502B + DISPLAY 'FLD0502B ==> ' HEX-OF (FLD0502B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0502B). + IF FLD0502E NOT EQUAL XPC-FLD0502E + DISPLAY 'FLD0502E ==> ' FLD0502E + DISPLAY 'EXPECTED ==> ' XPC-FLD0502E. + IF FLD0503B (1:) NOT EQUAL XPC-FLD0503B + DISPLAY 'FLD0503B ==> ' HEX-OF (FLD0503B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0503B). + IF FLD0503E NOT EQUAL XPC-FLD0503E + DISPLAY 'FLD0503E ==> ' FLD0503E + DISPLAY 'EXPECTED ==> ' XPC-FLD0503E. + IF FLD0504B (1:) NOT EQUAL XPC-FLD0504B + DISPLAY 'FLD0504B ==> ' HEX-OF (FLD0504B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0504B). + IF FLD0504E NOT EQUAL XPC-FLD0504E + DISPLAY 'FLD0504E ==> ' FLD0504E + DISPLAY 'EXPECTED ==> ' XPC-FLD0504E. + IF FLD0505B (1:) NOT EQUAL XPC-FLD0505B + DISPLAY 'FLD0505B ==> ' HEX-OF (FLD0505B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0505B). + IF FLD0505E NOT EQUAL XPC-FLD0505E + DISPLAY 'FLD0505E ==> ' FLD0505E + DISPLAY 'EXPECTED ==> ' XPC-FLD0505E. + IF FLD0506B (1:) NOT EQUAL XPC-FLD0506B + DISPLAY 'FLD0506B ==> ' HEX-OF (FLD0506B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0506B). + IF FLD0506E NOT EQUAL XPC-FLD0506E + DISPLAY 'FLD0506E ==> ' FLD0506E + DISPLAY 'EXPECTED ==> ' XPC-FLD0506E. + IF FLD0507B (1:) NOT EQUAL XPC-FLD0507B + DISPLAY 'FLD0507B ==> ' HEX-OF (FLD0507B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0507B). + IF FLD0507E NOT EQUAL XPC-FLD0507E + DISPLAY 'FLD0507E ==> ' FLD0507E + DISPLAY 'EXPECTED ==> ' XPC-FLD0507E. + IF FLD0508B (1:) NOT EQUAL XPC-FLD0508B + DISPLAY 'FLD0508B ==> ' HEX-OF (FLD0508B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0508B). + IF FLD0508E NOT EQUAL XPC-FLD0508E + DISPLAY 'FLD0508E ==> ' FLD0508E + DISPLAY 'EXPECTED ==> ' XPC-FLD0508E. + IF FLD0509B (1:) NOT EQUAL XPC-FLD0509B + DISPLAY 'FLD0509B ==> ' HEX-OF (FLD0509B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0509B). + IF FLD0509E NOT EQUAL XPC-FLD0509E + DISPLAY 'FLD0509E ==> ' FLD0509E + DISPLAY 'EXPECTED ==> ' XPC-FLD0509E. + IF FLD0510B (1:) NOT EQUAL XPC-FLD0510B + DISPLAY 'FLD0510B ==> ' HEX-OF (FLD0510B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0510B). + IF FLD0510E NOT EQUAL XPC-FLD0510E + DISPLAY 'FLD0510E ==> ' FLD0510E + DISPLAY 'EXPECTED ==> ' XPC-FLD0510E. + IF FLD0511B (1:) NOT EQUAL XPC-FLD0511B + DISPLAY 'FLD0511B ==> ' HEX-OF (FLD0511B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0511B). + IF FLD0511E NOT EQUAL XPC-FLD0511E + DISPLAY 'FLD0511E ==> ' FLD0511E + DISPLAY 'EXPECTED ==> ' XPC-FLD0511E. + IF FLD0512B (1:) NOT EQUAL XPC-FLD0512B + DISPLAY 'FLD0512B ==> ' HEX-OF (FLD0512B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0512B). + IF FLD0512E NOT EQUAL XPC-FLD0512E + DISPLAY 'FLD0512E ==> ' FLD0512E + DISPLAY 'EXPECTED ==> ' XPC-FLD0512E. + IF FLD0513B (1:) NOT EQUAL XPC-FLD0513B + DISPLAY 'FLD0513B ==> ' HEX-OF (FLD0513B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0513B). + IF FLD0513E NOT EQUAL XPC-FLD0513E + DISPLAY 'FLD0513E ==> ' FLD0513E + DISPLAY 'EXPECTED ==> ' XPC-FLD0513E. + IF FLD0514B (1:) NOT EQUAL XPC-FLD0514B + DISPLAY 'FLD0514B ==> ' HEX-OF (FLD0514B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0514B). + IF FLD0514E NOT EQUAL XPC-FLD0514E + DISPLAY 'FLD0514E ==> ' FLD0514E + DISPLAY 'EXPECTED ==> ' XPC-FLD0514E. + IF FLD0515B (1:) NOT EQUAL XPC-FLD0515B + DISPLAY 'FLD0515B ==> ' HEX-OF (FLD0515B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0515B). + IF FLD0515E NOT EQUAL XPC-FLD0515E + DISPLAY 'FLD0515E ==> ' FLD0515E + DISPLAY 'EXPECTED ==> ' XPC-FLD0515E. + IF FLD0516B (1:) NOT EQUAL XPC-FLD0516B + DISPLAY 'FLD0516B ==> ' HEX-OF (FLD0516B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0516B). + IF FLD0516E NOT EQUAL XPC-FLD0516E + DISPLAY 'FLD0516E ==> ' FLD0516E + DISPLAY 'EXPECTED ==> ' XPC-FLD0516E. + IF FLD0517B (1:) NOT EQUAL XPC-FLD0517B + DISPLAY 'FLD0517B ==> ' HEX-OF (FLD0517B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0517B). + IF FLD0517E NOT EQUAL XPC-FLD0517E + DISPLAY 'FLD0517E ==> ' FLD0517E + DISPLAY 'EXPECTED ==> ' XPC-FLD0517E. + IF FLD0518B (1:) NOT EQUAL XPC-FLD0518B + DISPLAY 'FLD0518B ==> ' HEX-OF (FLD0518B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0518B). + IF FLD0518E NOT EQUAL XPC-FLD0518E + DISPLAY 'FLD0518E ==> ' FLD0518E + DISPLAY 'EXPECTED ==> ' XPC-FLD0518E. + IF FLD0519B (1:) NOT EQUAL XPC-FLD0519B + DISPLAY 'FLD0519B ==> ' HEX-OF (FLD0519B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0519B). + IF FLD0519E NOT EQUAL XPC-FLD0519E + DISPLAY 'FLD0519E ==> ' FLD0519E + DISPLAY 'EXPECTED ==> ' XPC-FLD0519E. + IF FLD0520B (1:) NOT EQUAL XPC-FLD0520B + DISPLAY 'FLD0520B ==> ' HEX-OF (FLD0520B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0520B). + IF FLD0520E NOT EQUAL XPC-FLD0520E + DISPLAY 'FLD0520E ==> ' FLD0520E + DISPLAY 'EXPECTED ==> ' XPC-FLD0520E. + IF FLD0521B (1:) NOT EQUAL XPC-FLD0521B + DISPLAY 'FLD0521B ==> ' HEX-OF (FLD0521B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0521B). + IF FLD0521E NOT EQUAL XPC-FLD0521E + DISPLAY 'FLD0521E ==> ' FLD0521E + DISPLAY 'EXPECTED ==> ' XPC-FLD0521E. + IF FLD0522B (1:) NOT EQUAL XPC-FLD0522B + DISPLAY 'FLD0522B ==> ' HEX-OF (FLD0522B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0522B). + IF FLD0522E NOT EQUAL XPC-FLD0522E + DISPLAY 'FLD0522E ==> ' FLD0522E + DISPLAY 'EXPECTED ==> ' XPC-FLD0522E. + IF FLD0523B (1:) NOT EQUAL XPC-FLD0523B + DISPLAY 'FLD0523B ==> ' HEX-OF (FLD0523B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0523B). + IF FLD0523E NOT EQUAL XPC-FLD0523E + DISPLAY 'FLD0523E ==> ' FLD0523E + DISPLAY 'EXPECTED ==> ' XPC-FLD0523E. + IF FLD0524B (1:) NOT EQUAL XPC-FLD0524B + DISPLAY 'FLD0524B ==> ' HEX-OF (FLD0524B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0524B). + IF FLD0524E NOT EQUAL XPC-FLD0524E + DISPLAY 'FLD0524E ==> ' FLD0524E + DISPLAY 'EXPECTED ==> ' XPC-FLD0524E. + IF FLD0525B (1:) NOT EQUAL XPC-FLD0525B + DISPLAY 'FLD0525B ==> ' HEX-OF (FLD0525B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0525B). + IF FLD0525E NOT EQUAL XPC-FLD0525E + DISPLAY 'FLD0525E ==> ' FLD0525E + DISPLAY 'EXPECTED ==> ' XPC-FLD0525E. + IF FLD0526B (1:) NOT EQUAL XPC-FLD0526B + DISPLAY 'FLD0526B ==> ' HEX-OF (FLD0526B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0526B). + IF FLD0526E NOT EQUAL XPC-FLD0526E + DISPLAY 'FLD0526E ==> ' FLD0526E + DISPLAY 'EXPECTED ==> ' XPC-FLD0526E. + IF FLD0527B (1:) NOT EQUAL XPC-FLD0527B + DISPLAY 'FLD0527B ==> ' HEX-OF (FLD0527B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0527B). + IF FLD0527E NOT EQUAL XPC-FLD0527E + DISPLAY 'FLD0527E ==> ' FLD0527E + DISPLAY 'EXPECTED ==> ' XPC-FLD0527E. + IF FLD0528B (1:) NOT EQUAL XPC-FLD0528B + DISPLAY 'FLD0528B ==> ' HEX-OF (FLD0528B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0528B). + IF FLD0528E NOT EQUAL XPC-FLD0528E + DISPLAY 'FLD0528E ==> ' FLD0528E + DISPLAY 'EXPECTED ==> ' XPC-FLD0528E. + IF FLD0529B (1:) NOT EQUAL XPC-FLD0529B + DISPLAY 'FLD0529B ==> ' HEX-OF (FLD0529B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0529B). + IF FLD0529E NOT EQUAL XPC-FLD0529E + DISPLAY 'FLD0529E ==> ' FLD0529E + DISPLAY 'EXPECTED ==> ' XPC-FLD0529E. + IF FLD0530B (1:) NOT EQUAL XPC-FLD0530B + DISPLAY 'FLD0530B ==> ' HEX-OF (FLD0530B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0530B). + IF FLD0530E NOT EQUAL XPC-FLD0530E + DISPLAY 'FLD0530E ==> ' FLD0530E + DISPLAY 'EXPECTED ==> ' XPC-FLD0530E. + IF FLD0531B (1:) NOT EQUAL XPC-FLD0531B + DISPLAY 'FLD0531B ==> ' HEX-OF (FLD0531B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0531B). + IF FLD0531E NOT EQUAL XPC-FLD0531E + DISPLAY 'FLD0531E ==> ' FLD0531E + DISPLAY 'EXPECTED ==> ' XPC-FLD0531E. + IF FLD0532B (1:) NOT EQUAL XPC-FLD0532B + DISPLAY 'FLD0532B ==> ' HEX-OF (FLD0532B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0532B). + IF FLD0532E NOT EQUAL XPC-FLD0532E + DISPLAY 'FLD0532E ==> ' FLD0532E + DISPLAY 'EXPECTED ==> ' XPC-FLD0532E. + IF FLD0533B (1:) NOT EQUAL XPC-FLD0533B + DISPLAY 'FLD0533B ==> ' HEX-OF (FLD0533B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0533B). + IF FLD0533E NOT EQUAL XPC-FLD0533E + DISPLAY 'FLD0533E ==> ' FLD0533E + DISPLAY 'EXPECTED ==> ' XPC-FLD0533E. + IF FLD0534B (1:) NOT EQUAL XPC-FLD0534B + DISPLAY 'FLD0534B ==> ' HEX-OF (FLD0534B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0534B). + IF FLD0534E NOT EQUAL XPC-FLD0534E + DISPLAY 'FLD0534E ==> ' FLD0534E + DISPLAY 'EXPECTED ==> ' XPC-FLD0534E. + IF FLD0535B (1:) NOT EQUAL XPC-FLD0535B + DISPLAY 'FLD0535B ==> ' HEX-OF (FLD0535B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0535B). + IF FLD0535E NOT EQUAL XPC-FLD0535E + DISPLAY 'FLD0535E ==> ' FLD0535E + DISPLAY 'EXPECTED ==> ' XPC-FLD0535E. + IF FLD0536B (1:) NOT EQUAL XPC-FLD0536B + DISPLAY 'FLD0536B ==> ' HEX-OF (FLD0536B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0536B). + IF FLD0536E NOT EQUAL XPC-FLD0536E + DISPLAY 'FLD0536E ==> ' FLD0536E + DISPLAY 'EXPECTED ==> ' XPC-FLD0536E. + IF FLD0537B (1:) NOT EQUAL XPC-FLD0537B + DISPLAY 'FLD0537B ==> ' HEX-OF (FLD0537B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0537B). + IF FLD0537E NOT EQUAL XPC-FLD0537E + DISPLAY 'FLD0537E ==> ' FLD0537E + DISPLAY 'EXPECTED ==> ' XPC-FLD0537E. + IF FLD0538B (1:) NOT EQUAL XPC-FLD0538B + DISPLAY 'FLD0538B ==> ' HEX-OF (FLD0538B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0538B). + IF FLD0538E NOT EQUAL XPC-FLD0538E + DISPLAY 'FLD0538E ==> ' FLD0538E + DISPLAY 'EXPECTED ==> ' XPC-FLD0538E. + IF FLD0539B (1:) NOT EQUAL XPC-FLD0539B + DISPLAY 'FLD0539B ==> ' HEX-OF (FLD0539B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0539B). + IF FLD0539E NOT EQUAL XPC-FLD0539E + DISPLAY 'FLD0539E ==> ' FLD0539E + DISPLAY 'EXPECTED ==> ' XPC-FLD0539E. + IF FLD0540B (1:) NOT EQUAL XPC-FLD0540B + DISPLAY 'FLD0540B ==> ' HEX-OF (FLD0540B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0540B). + IF FLD0540E NOT EQUAL XPC-FLD0540E + DISPLAY 'FLD0540E ==> ' FLD0540E + DISPLAY 'EXPECTED ==> ' XPC-FLD0540E. + IF FLD0541B (1:) NOT EQUAL XPC-FLD0541B + DISPLAY 'FLD0541B ==> ' HEX-OF (FLD0541B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0541B). + IF FLD0541E NOT EQUAL XPC-FLD0541E + DISPLAY 'FLD0541E ==> ' FLD0541E + DISPLAY 'EXPECTED ==> ' XPC-FLD0541E. + IF FLD0542B (1:) NOT EQUAL XPC-FLD0542B + DISPLAY 'FLD0542B ==> ' HEX-OF (FLD0542B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0542B). + IF FLD0542E NOT EQUAL XPC-FLD0542E + DISPLAY 'FLD0542E ==> ' FLD0542E + DISPLAY 'EXPECTED ==> ' XPC-FLD0542E. + IF FLD0543B (1:) NOT EQUAL XPC-FLD0543B + DISPLAY 'FLD0543B ==> ' HEX-OF (FLD0543B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0543B). + IF FLD0543E NOT EQUAL XPC-FLD0543E + DISPLAY 'FLD0543E ==> ' FLD0543E + DISPLAY 'EXPECTED ==> ' XPC-FLD0543E. + IF FLD0544B (1:) NOT EQUAL XPC-FLD0544B + DISPLAY 'FLD0544B ==> ' HEX-OF (FLD0544B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0544B). + IF FLD0544E NOT EQUAL XPC-FLD0544E + DISPLAY 'FLD0544E ==> ' FLD0544E + DISPLAY 'EXPECTED ==> ' XPC-FLD0544E. + IF FLD0545B (1:) NOT EQUAL XPC-FLD0545B + DISPLAY 'FLD0545B ==> ' HEX-OF (FLD0545B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0545B). + IF FLD0545E NOT EQUAL XPC-FLD0545E + DISPLAY 'FLD0545E ==> ' FLD0545E + DISPLAY 'EXPECTED ==> ' XPC-FLD0545E. + IF FLD0546B (1:) NOT EQUAL XPC-FLD0546B + DISPLAY 'FLD0546B ==> ' HEX-OF (FLD0546B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0546B). + IF FLD0546E NOT EQUAL XPC-FLD0546E + DISPLAY 'FLD0546E ==> ' FLD0546E + DISPLAY 'EXPECTED ==> ' XPC-FLD0546E. + IF FLD0547B (1:) NOT EQUAL XPC-FLD0547B + DISPLAY 'FLD0547B ==> ' HEX-OF (FLD0547B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0547B). + IF FLD0547E NOT EQUAL XPC-FLD0547E + DISPLAY 'FLD0547E ==> ' FLD0547E + DISPLAY 'EXPECTED ==> ' XPC-FLD0547E. + IF FLD0548B (1:) NOT EQUAL XPC-FLD0548B + DISPLAY 'FLD0548B ==> ' HEX-OF (FLD0548B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0548B). + IF FLD0548E NOT EQUAL XPC-FLD0548E + DISPLAY 'FLD0548E ==> ' FLD0548E + DISPLAY 'EXPECTED ==> ' XPC-FLD0548E. + IF FLD0549B (1:) NOT EQUAL XPC-FLD0549B + DISPLAY 'FLD0549B ==> ' HEX-OF (FLD0549B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0549B). + IF FLD0549E NOT EQUAL XPC-FLD0549E + DISPLAY 'FLD0549E ==> ' FLD0549E + DISPLAY 'EXPECTED ==> ' XPC-FLD0549E. + IF FLD0550B (1:) NOT EQUAL XPC-FLD0550B + DISPLAY 'FLD0550B ==> ' HEX-OF (FLD0550B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0550B). + IF FLD0550E NOT EQUAL XPC-FLD0550E + DISPLAY 'FLD0550E ==> ' FLD0550E + DISPLAY 'EXPECTED ==> ' XPC-FLD0550E. + IF FLD0551B (1:) NOT EQUAL XPC-FLD0551B + DISPLAY 'FLD0551B ==> ' HEX-OF (FLD0551B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0551B). + IF FLD0551E NOT EQUAL XPC-FLD0551E + DISPLAY 'FLD0551E ==> ' FLD0551E + DISPLAY 'EXPECTED ==> ' XPC-FLD0551E. + IF FLD0552B (1:) NOT EQUAL XPC-FLD0552B + DISPLAY 'FLD0552B ==> ' HEX-OF (FLD0552B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0552B). + IF FLD0552E NOT EQUAL XPC-FLD0552E + DISPLAY 'FLD0552E ==> ' FLD0552E + DISPLAY 'EXPECTED ==> ' XPC-FLD0552E. + IF FLD0553B (1:) NOT EQUAL XPC-FLD0553B + DISPLAY 'FLD0553B ==> ' HEX-OF (FLD0553B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0553B). + IF FLD0553E NOT EQUAL XPC-FLD0553E + DISPLAY 'FLD0553E ==> ' FLD0553E + DISPLAY 'EXPECTED ==> ' XPC-FLD0553E. + IF FLD0554B (1:) NOT EQUAL XPC-FLD0554B + DISPLAY 'FLD0554B ==> ' HEX-OF (FLD0554B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0554B). + IF FLD0554E NOT EQUAL XPC-FLD0554E + DISPLAY 'FLD0554E ==> ' FLD0554E + DISPLAY 'EXPECTED ==> ' XPC-FLD0554E. + IF FLD0555B (1:) NOT EQUAL XPC-FLD0555B + DISPLAY 'FLD0555B ==> ' HEX-OF (FLD0555B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0555B). + IF FLD0555E NOT EQUAL XPC-FLD0555E + DISPLAY 'FLD0555E ==> ' FLD0555E + DISPLAY 'EXPECTED ==> ' XPC-FLD0555E. + IF FLD0556B (1:) NOT EQUAL XPC-FLD0556B + DISPLAY 'FLD0556B ==> ' HEX-OF (FLD0556B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0556B). + IF FLD0556E NOT EQUAL XPC-FLD0556E + DISPLAY 'FLD0556E ==> ' FLD0556E + DISPLAY 'EXPECTED ==> ' XPC-FLD0556E. + IF FLD0557B (1:) NOT EQUAL XPC-FLD0557B + DISPLAY 'FLD0557B ==> ' HEX-OF (FLD0557B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0557B). + IF FLD0557E NOT EQUAL XPC-FLD0557E + DISPLAY 'FLD0557E ==> ' FLD0557E + DISPLAY 'EXPECTED ==> ' XPC-FLD0557E. + IF FLD0558B (1:) NOT EQUAL XPC-FLD0558B + DISPLAY 'FLD0558B ==> ' HEX-OF (FLD0558B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0558B). + IF FLD0558E NOT EQUAL XPC-FLD0558E + DISPLAY 'FLD0558E ==> ' FLD0558E + DISPLAY 'EXPECTED ==> ' XPC-FLD0558E. + IF FLD0559B (1:) NOT EQUAL XPC-FLD0559B + DISPLAY 'FLD0559B ==> ' HEX-OF (FLD0559B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0559B). + IF FLD0559E NOT EQUAL XPC-FLD0559E + DISPLAY 'FLD0559E ==> ' FLD0559E + DISPLAY 'EXPECTED ==> ' XPC-FLD0559E. + IF FLD0560B (1:) NOT EQUAL XPC-FLD0560B + DISPLAY 'FLD0560B ==> ' HEX-OF (FLD0560B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0560B). + IF FLD0560E NOT EQUAL XPC-FLD0560E + DISPLAY 'FLD0560E ==> ' FLD0560E + DISPLAY 'EXPECTED ==> ' XPC-FLD0560E. + IF FLD0561B (1:) NOT EQUAL XPC-FLD0561B + DISPLAY 'FLD0561B ==> ' HEX-OF (FLD0561B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0561B). + IF FLD0561E NOT EQUAL XPC-FLD0561E + DISPLAY 'FLD0561E ==> ' FLD0561E + DISPLAY 'EXPECTED ==> ' XPC-FLD0561E. + IF FLD0562B (1:) NOT EQUAL XPC-FLD0562B + DISPLAY 'FLD0562B ==> ' HEX-OF (FLD0562B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0562B). + IF FLD0562E NOT EQUAL XPC-FLD0562E + DISPLAY 'FLD0562E ==> ' FLD0562E + DISPLAY 'EXPECTED ==> ' XPC-FLD0562E. + IF FLD0563B (1:) NOT EQUAL XPC-FLD0563B + DISPLAY 'FLD0563B ==> ' HEX-OF (FLD0563B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0563B). + IF FLD0563E NOT EQUAL XPC-FLD0563E + DISPLAY 'FLD0563E ==> ' FLD0563E + DISPLAY 'EXPECTED ==> ' XPC-FLD0563E. + IF FLD0564B (1:) NOT EQUAL XPC-FLD0564B + DISPLAY 'FLD0564B ==> ' HEX-OF (FLD0564B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0564B). + IF FLD0564E NOT EQUAL XPC-FLD0564E + DISPLAY 'FLD0564E ==> ' FLD0564E + DISPLAY 'EXPECTED ==> ' XPC-FLD0564E. + IF FLD0565B (1:) NOT EQUAL XPC-FLD0565B + DISPLAY 'FLD0565B ==> ' HEX-OF (FLD0565B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0565B). + IF FLD0565E NOT EQUAL XPC-FLD0565E + DISPLAY 'FLD0565E ==> ' FLD0565E + DISPLAY 'EXPECTED ==> ' XPC-FLD0565E. + IF FLD0566B (1:) NOT EQUAL XPC-FLD0566B + DISPLAY 'FLD0566B ==> ' HEX-OF (FLD0566B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0566B). + IF FLD0566E NOT EQUAL XPC-FLD0566E + DISPLAY 'FLD0566E ==> ' FLD0566E + DISPLAY 'EXPECTED ==> ' XPC-FLD0566E. + IF FLD0567B (1:) NOT EQUAL XPC-FLD0567B + DISPLAY 'FLD0567B ==> ' HEX-OF (FLD0567B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0567B). + IF FLD0567E NOT EQUAL XPC-FLD0567E + DISPLAY 'FLD0567E ==> ' FLD0567E + DISPLAY 'EXPECTED ==> ' XPC-FLD0567E. + IF FLD0568B (1:) NOT EQUAL XPC-FLD0568B + DISPLAY 'FLD0568B ==> ' HEX-OF (FLD0568B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0568B). + IF FLD0568E NOT EQUAL XPC-FLD0568E + DISPLAY 'FLD0568E ==> ' FLD0568E + DISPLAY 'EXPECTED ==> ' XPC-FLD0568E. + IF FLD0569B (1:) NOT EQUAL XPC-FLD0569B + DISPLAY 'FLD0569B ==> ' HEX-OF (FLD0569B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0569B). + IF FLD0569E NOT EQUAL XPC-FLD0569E + DISPLAY 'FLD0569E ==> ' FLD0569E + DISPLAY 'EXPECTED ==> ' XPC-FLD0569E. + IF FLD0570B (1:) NOT EQUAL XPC-FLD0570B + DISPLAY 'FLD0570B ==> ' HEX-OF (FLD0570B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0570B). + IF FLD0570E NOT EQUAL XPC-FLD0570E + DISPLAY 'FLD0570E ==> ' FLD0570E + DISPLAY 'EXPECTED ==> ' XPC-FLD0570E. + IF FLD0571B (1:) NOT EQUAL XPC-FLD0571B + DISPLAY 'FLD0571B ==> ' HEX-OF (FLD0571B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0571B). + IF FLD0571E NOT EQUAL XPC-FLD0571E + DISPLAY 'FLD0571E ==> ' FLD0571E + DISPLAY 'EXPECTED ==> ' XPC-FLD0571E. + IF FLD0572B (1:) NOT EQUAL XPC-FLD0572B + DISPLAY 'FLD0572B ==> ' HEX-OF (FLD0572B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0572B). + IF FLD0572E NOT EQUAL XPC-FLD0572E + DISPLAY 'FLD0572E ==> ' FLD0572E + DISPLAY 'EXPECTED ==> ' XPC-FLD0572E. + IF FLD0573B (1:) NOT EQUAL XPC-FLD0573B + DISPLAY 'FLD0573B ==> ' HEX-OF (FLD0573B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0573B). + IF FLD0573E NOT EQUAL XPC-FLD0573E + DISPLAY 'FLD0573E ==> ' FLD0573E + DISPLAY 'EXPECTED ==> ' XPC-FLD0573E. + IF FLD0574B (1:) NOT EQUAL XPC-FLD0574B + DISPLAY 'FLD0574B ==> ' HEX-OF (FLD0574B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0574B). + IF FLD0574E NOT EQUAL XPC-FLD0574E + DISPLAY 'FLD0574E ==> ' FLD0574E + DISPLAY 'EXPECTED ==> ' XPC-FLD0574E. + IF FLD0575B (1:) NOT EQUAL XPC-FLD0575B + DISPLAY 'FLD0575B ==> ' HEX-OF (FLD0575B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0575B). + IF FLD0575E NOT EQUAL XPC-FLD0575E + DISPLAY 'FLD0575E ==> ' FLD0575E + DISPLAY 'EXPECTED ==> ' XPC-FLD0575E. + IF FLD0576B (1:) NOT EQUAL XPC-FLD0576B + DISPLAY 'FLD0576B ==> ' HEX-OF (FLD0576B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0576B). + IF FLD0576E NOT EQUAL XPC-FLD0576E + DISPLAY 'FLD0576E ==> ' FLD0576E + DISPLAY 'EXPECTED ==> ' XPC-FLD0576E. + IF FLD0577B (1:) NOT EQUAL XPC-FLD0577B + DISPLAY 'FLD0577B ==> ' HEX-OF (FLD0577B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0577B). + IF FLD0577E NOT EQUAL XPC-FLD0577E + DISPLAY 'FLD0577E ==> ' FLD0577E + DISPLAY 'EXPECTED ==> ' XPC-FLD0577E. + IF FLD0578B (1:) NOT EQUAL XPC-FLD0578B + DISPLAY 'FLD0578B ==> ' HEX-OF (FLD0578B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0578B). + IF FLD0578E NOT EQUAL XPC-FLD0578E + DISPLAY 'FLD0578E ==> ' FLD0578E + DISPLAY 'EXPECTED ==> ' XPC-FLD0578E. + IF FLD0579B (1:) NOT EQUAL XPC-FLD0579B + DISPLAY 'FLD0579B ==> ' HEX-OF (FLD0579B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0579B). + IF FLD0579E NOT EQUAL XPC-FLD0579E + DISPLAY 'FLD0579E ==> ' FLD0579E + DISPLAY 'EXPECTED ==> ' XPC-FLD0579E. + IF FLD0580B (1:) NOT EQUAL XPC-FLD0580B + DISPLAY 'FLD0580B ==> ' HEX-OF (FLD0580B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0580B). + IF FLD0580E NOT EQUAL XPC-FLD0580E + DISPLAY 'FLD0580E ==> ' FLD0580E + DISPLAY 'EXPECTED ==> ' XPC-FLD0580E. + IF FLD0581B (1:) NOT EQUAL XPC-FLD0581B + DISPLAY 'FLD0581B ==> ' HEX-OF (FLD0581B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0581B). + IF FLD0581E NOT EQUAL XPC-FLD0581E + DISPLAY 'FLD0581E ==> ' FLD0581E + DISPLAY 'EXPECTED ==> ' XPC-FLD0581E. + IF FLD0582B (1:) NOT EQUAL XPC-FLD0582B + DISPLAY 'FLD0582B ==> ' HEX-OF (FLD0582B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0582B). + IF FLD0582E NOT EQUAL XPC-FLD0582E + DISPLAY 'FLD0582E ==> ' FLD0582E + DISPLAY 'EXPECTED ==> ' XPC-FLD0582E. + IF FLD0583B (1:) NOT EQUAL XPC-FLD0583B + DISPLAY 'FLD0583B ==> ' HEX-OF (FLD0583B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0583B). + IF FLD0583E NOT EQUAL XPC-FLD0583E + DISPLAY 'FLD0583E ==> ' FLD0583E + DISPLAY 'EXPECTED ==> ' XPC-FLD0583E. + IF FLD0584B (1:) NOT EQUAL XPC-FLD0584B + DISPLAY 'FLD0584B ==> ' HEX-OF (FLD0584B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0584B). + IF FLD0584E NOT EQUAL XPC-FLD0584E + DISPLAY 'FLD0584E ==> ' FLD0584E + DISPLAY 'EXPECTED ==> ' XPC-FLD0584E. + IF FLD0585B (1:) NOT EQUAL XPC-FLD0585B + DISPLAY 'FLD0585B ==> ' HEX-OF (FLD0585B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0585B). + IF FLD0585E NOT EQUAL XPC-FLD0585E + DISPLAY 'FLD0585E ==> ' FLD0585E + DISPLAY 'EXPECTED ==> ' XPC-FLD0585E. + IF FLD0586B (1:) NOT EQUAL XPC-FLD0586B + DISPLAY 'FLD0586B ==> ' HEX-OF (FLD0586B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0586B). + IF FLD0586E NOT EQUAL XPC-FLD0586E + DISPLAY 'FLD0586E ==> ' FLD0586E + DISPLAY 'EXPECTED ==> ' XPC-FLD0586E. + IF FLD0587B (1:) NOT EQUAL XPC-FLD0587B + DISPLAY 'FLD0587B ==> ' HEX-OF (FLD0587B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0587B). + IF FLD0587E NOT EQUAL XPC-FLD0587E + DISPLAY 'FLD0587E ==> ' FLD0587E + DISPLAY 'EXPECTED ==> ' XPC-FLD0587E. + IF FLD0588B (1:) NOT EQUAL XPC-FLD0588B + DISPLAY 'FLD0588B ==> ' HEX-OF (FLD0588B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0588B). + IF FLD0588E NOT EQUAL XPC-FLD0588E + DISPLAY 'FLD0588E ==> ' FLD0588E + DISPLAY 'EXPECTED ==> ' XPC-FLD0588E. + IF FLD0589B (1:) NOT EQUAL XPC-FLD0589B + DISPLAY 'FLD0589B ==> ' HEX-OF (FLD0589B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0589B). + IF FLD0589E NOT EQUAL XPC-FLD0589E + DISPLAY 'FLD0589E ==> ' FLD0589E + DISPLAY 'EXPECTED ==> ' XPC-FLD0589E. + IF FLD0590B (1:) NOT EQUAL XPC-FLD0590B + DISPLAY 'FLD0590B ==> ' HEX-OF (FLD0590B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0590B). + IF FLD0590E NOT EQUAL XPC-FLD0590E + DISPLAY 'FLD0590E ==> ' FLD0590E + DISPLAY 'EXPECTED ==> ' XPC-FLD0590E. + IF FLD0591B (1:) NOT EQUAL XPC-FLD0591B + DISPLAY 'FLD0591B ==> ' HEX-OF (FLD0591B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0591B). + IF FLD0591E NOT EQUAL XPC-FLD0591E + DISPLAY 'FLD0591E ==> ' FLD0591E + DISPLAY 'EXPECTED ==> ' XPC-FLD0591E. + IF FLD0592B (1:) NOT EQUAL XPC-FLD0592B + DISPLAY 'FLD0592B ==> ' HEX-OF (FLD0592B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0592B). + IF FLD0592E NOT EQUAL XPC-FLD0592E + DISPLAY 'FLD0592E ==> ' FLD0592E + DISPLAY 'EXPECTED ==> ' XPC-FLD0592E. + IF FLD0593B (1:) NOT EQUAL XPC-FLD0593B + DISPLAY 'FLD0593B ==> ' HEX-OF (FLD0593B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0593B). + IF FLD0593E NOT EQUAL XPC-FLD0593E + DISPLAY 'FLD0593E ==> ' FLD0593E + DISPLAY 'EXPECTED ==> ' XPC-FLD0593E. + IF FLD0594B (1:) NOT EQUAL XPC-FLD0594B + DISPLAY 'FLD0594B ==> ' HEX-OF (FLD0594B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0594B). + IF FLD0594E NOT EQUAL XPC-FLD0594E + DISPLAY 'FLD0594E ==> ' FLD0594E + DISPLAY 'EXPECTED ==> ' XPC-FLD0594E. + IF FLD0595B (1:) NOT EQUAL XPC-FLD0595B + DISPLAY 'FLD0595B ==> ' HEX-OF (FLD0595B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0595B). + IF FLD0595E NOT EQUAL XPC-FLD0595E + DISPLAY 'FLD0595E ==> ' FLD0595E + DISPLAY 'EXPECTED ==> ' XPC-FLD0595E. + IF FLD0596B (1:) NOT EQUAL XPC-FLD0596B + DISPLAY 'FLD0596B ==> ' HEX-OF (FLD0596B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0596B). + IF FLD0596E NOT EQUAL XPC-FLD0596E + DISPLAY 'FLD0596E ==> ' FLD0596E + DISPLAY 'EXPECTED ==> ' XPC-FLD0596E. + IF FLD0597B (1:) NOT EQUAL XPC-FLD0597B + DISPLAY 'FLD0597B ==> ' HEX-OF (FLD0597B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0597B). + IF FLD0597E NOT EQUAL XPC-FLD0597E + DISPLAY 'FLD0597E ==> ' FLD0597E + DISPLAY 'EXPECTED ==> ' XPC-FLD0597E. + IF FLD0598B (1:) NOT EQUAL XPC-FLD0598B + DISPLAY 'FLD0598B ==> ' HEX-OF (FLD0598B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0598B). + IF FLD0598E NOT EQUAL XPC-FLD0598E + DISPLAY 'FLD0598E ==> ' FLD0598E + DISPLAY 'EXPECTED ==> ' XPC-FLD0598E. + IF FLD0599B (1:) NOT EQUAL XPC-FLD0599B + DISPLAY 'FLD0599B ==> ' HEX-OF (FLD0599B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0599B). + IF FLD0599E NOT EQUAL XPC-FLD0599E + DISPLAY 'FLD0599E ==> ' FLD0599E + DISPLAY 'EXPECTED ==> ' XPC-FLD0599E. + IF FLD0600B (1:) NOT EQUAL XPC-FLD0600B + DISPLAY 'FLD0600B ==> ' HEX-OF (FLD0600B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0600B). + IF FLD0600E NOT EQUAL XPC-FLD0600E + DISPLAY 'FLD0600E ==> ' FLD0600E + DISPLAY 'EXPECTED ==> ' XPC-FLD0600E. + IF FLD0601B (1:) NOT EQUAL XPC-FLD0601B + DISPLAY 'FLD0601B ==> ' HEX-OF (FLD0601B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0601B). + IF FLD0601E NOT EQUAL XPC-FLD0601E + DISPLAY 'FLD0601E ==> ' FLD0601E + DISPLAY 'EXPECTED ==> ' XPC-FLD0601E. + IF FLD0602B (1:) NOT EQUAL XPC-FLD0602B + DISPLAY 'FLD0602B ==> ' HEX-OF (FLD0602B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0602B). + IF FLD0602E NOT EQUAL XPC-FLD0602E + DISPLAY 'FLD0602E ==> ' FLD0602E + DISPLAY 'EXPECTED ==> ' XPC-FLD0602E. + IF FLD0603B (1:) NOT EQUAL XPC-FLD0603B + DISPLAY 'FLD0603B ==> ' HEX-OF (FLD0603B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0603B). + IF FLD0603E NOT EQUAL XPC-FLD0603E + DISPLAY 'FLD0603E ==> ' FLD0603E + DISPLAY 'EXPECTED ==> ' XPC-FLD0603E. + IF FLD0604B (1:) NOT EQUAL XPC-FLD0604B + DISPLAY 'FLD0604B ==> ' HEX-OF (FLD0604B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0604B). + IF FLD0604E NOT EQUAL XPC-FLD0604E + DISPLAY 'FLD0604E ==> ' FLD0604E + DISPLAY 'EXPECTED ==> ' XPC-FLD0604E. + IF FLD0605B (1:) NOT EQUAL XPC-FLD0605B + DISPLAY 'FLD0605B ==> ' HEX-OF (FLD0605B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0605B). + IF FLD0605E NOT EQUAL XPC-FLD0605E + DISPLAY 'FLD0605E ==> ' FLD0605E + DISPLAY 'EXPECTED ==> ' XPC-FLD0605E. + IF FLD0606B (1:) NOT EQUAL XPC-FLD0606B + DISPLAY 'FLD0606B ==> ' HEX-OF (FLD0606B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0606B). + IF FLD0606E NOT EQUAL XPC-FLD0606E + DISPLAY 'FLD0606E ==> ' FLD0606E + DISPLAY 'EXPECTED ==> ' XPC-FLD0606E. + IF FLD0607B (1:) NOT EQUAL XPC-FLD0607B + DISPLAY 'FLD0607B ==> ' HEX-OF (FLD0607B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0607B). + IF FLD0607E NOT EQUAL XPC-FLD0607E + DISPLAY 'FLD0607E ==> ' FLD0607E + DISPLAY 'EXPECTED ==> ' XPC-FLD0607E. + IF FLD0608B (1:) NOT EQUAL XPC-FLD0608B + DISPLAY 'FLD0608B ==> ' HEX-OF (FLD0608B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0608B). + IF FLD0608E NOT EQUAL XPC-FLD0608E + DISPLAY 'FLD0608E ==> ' FLD0608E + DISPLAY 'EXPECTED ==> ' XPC-FLD0608E. + IF FLD0609B (1:) NOT EQUAL XPC-FLD0609B + DISPLAY 'FLD0609B ==> ' HEX-OF (FLD0609B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0609B). + IF FLD0609E NOT EQUAL XPC-FLD0609E + DISPLAY 'FLD0609E ==> ' FLD0609E + DISPLAY 'EXPECTED ==> ' XPC-FLD0609E. + IF FLD0610B (1:) NOT EQUAL XPC-FLD0610B + DISPLAY 'FLD0610B ==> ' HEX-OF (FLD0610B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0610B). + IF FLD0610E NOT EQUAL XPC-FLD0610E + DISPLAY 'FLD0610E ==> ' FLD0610E + DISPLAY 'EXPECTED ==> ' XPC-FLD0610E. + IF FLD0611B (1:) NOT EQUAL XPC-FLD0611B + DISPLAY 'FLD0611B ==> ' HEX-OF (FLD0611B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0611B). + IF FLD0611E NOT EQUAL XPC-FLD0611E + DISPLAY 'FLD0611E ==> ' FLD0611E + DISPLAY 'EXPECTED ==> ' XPC-FLD0611E. + IF FLD0612B (1:) NOT EQUAL XPC-FLD0612B + DISPLAY 'FLD0612B ==> ' HEX-OF (FLD0612B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0612B). + IF FLD0612E NOT EQUAL XPC-FLD0612E + DISPLAY 'FLD0612E ==> ' FLD0612E + DISPLAY 'EXPECTED ==> ' XPC-FLD0612E. + IF FLD0613B (1:) NOT EQUAL XPC-FLD0613B + DISPLAY 'FLD0613B ==> ' HEX-OF (FLD0613B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0613B). + IF FLD0613E NOT EQUAL XPC-FLD0613E + DISPLAY 'FLD0613E ==> ' FLD0613E + DISPLAY 'EXPECTED ==> ' XPC-FLD0613E. + IF FLD0614B (1:) NOT EQUAL XPC-FLD0614B + DISPLAY 'FLD0614B ==> ' HEX-OF (FLD0614B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0614B). + IF FLD0614E NOT EQUAL XPC-FLD0614E + DISPLAY 'FLD0614E ==> ' FLD0614E + DISPLAY 'EXPECTED ==> ' XPC-FLD0614E. + IF FLD0615B (1:) NOT EQUAL XPC-FLD0615B + DISPLAY 'FLD0615B ==> ' HEX-OF (FLD0615B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0615B). + IF FLD0615E NOT EQUAL XPC-FLD0615E + DISPLAY 'FLD0615E ==> ' FLD0615E + DISPLAY 'EXPECTED ==> ' XPC-FLD0615E. + IF FLD0616B (1:) NOT EQUAL XPC-FLD0616B + DISPLAY 'FLD0616B ==> ' HEX-OF (FLD0616B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0616B). + IF FLD0616E NOT EQUAL XPC-FLD0616E + DISPLAY 'FLD0616E ==> ' FLD0616E + DISPLAY 'EXPECTED ==> ' XPC-FLD0616E. + IF FLD0617B (1:) NOT EQUAL XPC-FLD0617B + DISPLAY 'FLD0617B ==> ' HEX-OF (FLD0617B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0617B). + IF FLD0617E NOT EQUAL XPC-FLD0617E + DISPLAY 'FLD0617E ==> ' FLD0617E + DISPLAY 'EXPECTED ==> ' XPC-FLD0617E. + IF FLD0618B (1:) NOT EQUAL XPC-FLD0618B + DISPLAY 'FLD0618B ==> ' HEX-OF (FLD0618B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0618B). + IF FLD0618E NOT EQUAL XPC-FLD0618E + DISPLAY 'FLD0618E ==> ' FLD0618E + DISPLAY 'EXPECTED ==> ' XPC-FLD0618E. + IF FLD0619B (1:) NOT EQUAL XPC-FLD0619B + DISPLAY 'FLD0619B ==> ' HEX-OF (FLD0619B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0619B). + IF FLD0619E NOT EQUAL XPC-FLD0619E + DISPLAY 'FLD0619E ==> ' FLD0619E + DISPLAY 'EXPECTED ==> ' XPC-FLD0619E. + IF FLD0620B (1:) NOT EQUAL XPC-FLD0620B + DISPLAY 'FLD0620B ==> ' HEX-OF (FLD0620B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0620B). + IF FLD0620E NOT EQUAL XPC-FLD0620E + DISPLAY 'FLD0620E ==> ' FLD0620E + DISPLAY 'EXPECTED ==> ' XPC-FLD0620E. + IF FLD0621B (1:) NOT EQUAL XPC-FLD0621B + DISPLAY 'FLD0621B ==> ' HEX-OF (FLD0621B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0621B). + IF FLD0621E NOT EQUAL XPC-FLD0621E + DISPLAY 'FLD0621E ==> ' FLD0621E + DISPLAY 'EXPECTED ==> ' XPC-FLD0621E. + IF FLD0622B (1:) NOT EQUAL XPC-FLD0622B + DISPLAY 'FLD0622B ==> ' HEX-OF (FLD0622B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0622B). + IF FLD0622E NOT EQUAL XPC-FLD0622E + DISPLAY 'FLD0622E ==> ' FLD0622E + DISPLAY 'EXPECTED ==> ' XPC-FLD0622E. + IF FLD0623B (1:) NOT EQUAL XPC-FLD0623B + DISPLAY 'FLD0623B ==> ' HEX-OF (FLD0623B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0623B). + IF FLD0623E NOT EQUAL XPC-FLD0623E + DISPLAY 'FLD0623E ==> ' FLD0623E + DISPLAY 'EXPECTED ==> ' XPC-FLD0623E. + IF FLD0624B (1:) NOT EQUAL XPC-FLD0624B + DISPLAY 'FLD0624B ==> ' HEX-OF (FLD0624B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0624B). + IF FLD0624E NOT EQUAL XPC-FLD0624E + DISPLAY 'FLD0624E ==> ' FLD0624E + DISPLAY 'EXPECTED ==> ' XPC-FLD0624E. + IF FLD0625B (1:) NOT EQUAL XPC-FLD0625B + DISPLAY 'FLD0625B ==> ' HEX-OF (FLD0625B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0625B). + IF FLD0625E NOT EQUAL XPC-FLD0625E + DISPLAY 'FLD0625E ==> ' FLD0625E + DISPLAY 'EXPECTED ==> ' XPC-FLD0625E. + IF FLD0626B (1:) NOT EQUAL XPC-FLD0626B + DISPLAY 'FLD0626B ==> ' HEX-OF (FLD0626B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0626B). + IF FLD0626E NOT EQUAL XPC-FLD0626E + DISPLAY 'FLD0626E ==> ' FLD0626E + DISPLAY 'EXPECTED ==> ' XPC-FLD0626E. + IF FLD0627B (1:) NOT EQUAL XPC-FLD0627B + DISPLAY 'FLD0627B ==> ' HEX-OF (FLD0627B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0627B). + IF FLD0627E NOT EQUAL XPC-FLD0627E + DISPLAY 'FLD0627E ==> ' FLD0627E + DISPLAY 'EXPECTED ==> ' XPC-FLD0627E. + IF FLD0628B (1:) NOT EQUAL XPC-FLD0628B + DISPLAY 'FLD0628B ==> ' HEX-OF (FLD0628B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0628B). + IF FLD0628E NOT EQUAL XPC-FLD0628E + DISPLAY 'FLD0628E ==> ' FLD0628E + DISPLAY 'EXPECTED ==> ' XPC-FLD0628E. + IF FLD0629B (1:) NOT EQUAL XPC-FLD0629B + DISPLAY 'FLD0629B ==> ' HEX-OF (FLD0629B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0629B). + IF FLD0629E NOT EQUAL XPC-FLD0629E + DISPLAY 'FLD0629E ==> ' FLD0629E + DISPLAY 'EXPECTED ==> ' XPC-FLD0629E. + IF FLD0630B (1:) NOT EQUAL XPC-FLD0630B + DISPLAY 'FLD0630B ==> ' HEX-OF (FLD0630B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0630B). + IF FLD0630E NOT EQUAL XPC-FLD0630E + DISPLAY 'FLD0630E ==> ' FLD0630E + DISPLAY 'EXPECTED ==> ' XPC-FLD0630E. + IF FLD0631B (1:) NOT EQUAL XPC-FLD0631B + DISPLAY 'FLD0631B ==> ' HEX-OF (FLD0631B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0631B). + IF FLD0631E NOT EQUAL XPC-FLD0631E + DISPLAY 'FLD0631E ==> ' FLD0631E + DISPLAY 'EXPECTED ==> ' XPC-FLD0631E. + IF FLD0632B (1:) NOT EQUAL XPC-FLD0632B + DISPLAY 'FLD0632B ==> ' HEX-OF (FLD0632B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0632B). + IF FLD0632E NOT EQUAL XPC-FLD0632E + DISPLAY 'FLD0632E ==> ' FLD0632E + DISPLAY 'EXPECTED ==> ' XPC-FLD0632E. + IF FLD0633B (1:) NOT EQUAL XPC-FLD0633B + DISPLAY 'FLD0633B ==> ' HEX-OF (FLD0633B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0633B). + IF FLD0633E NOT EQUAL XPC-FLD0633E + DISPLAY 'FLD0633E ==> ' FLD0633E + DISPLAY 'EXPECTED ==> ' XPC-FLD0633E. + IF FLD0634B (1:) NOT EQUAL XPC-FLD0634B + DISPLAY 'FLD0634B ==> ' HEX-OF (FLD0634B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0634B). + IF FLD0634E NOT EQUAL XPC-FLD0634E + DISPLAY 'FLD0634E ==> ' FLD0634E + DISPLAY 'EXPECTED ==> ' XPC-FLD0634E. + IF FLD0635B (1:) NOT EQUAL XPC-FLD0635B + DISPLAY 'FLD0635B ==> ' HEX-OF (FLD0635B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0635B). + IF FLD0635E NOT EQUAL XPC-FLD0635E + DISPLAY 'FLD0635E ==> ' FLD0635E + DISPLAY 'EXPECTED ==> ' XPC-FLD0635E. + IF FLD0636B (1:) NOT EQUAL XPC-FLD0636B + DISPLAY 'FLD0636B ==> ' HEX-OF (FLD0636B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0636B). + IF FLD0636E NOT EQUAL XPC-FLD0636E + DISPLAY 'FLD0636E ==> ' FLD0636E + DISPLAY 'EXPECTED ==> ' XPC-FLD0636E. + IF FLD0637B (1:) NOT EQUAL XPC-FLD0637B + DISPLAY 'FLD0637B ==> ' HEX-OF (FLD0637B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0637B). + IF FLD0637E NOT EQUAL XPC-FLD0637E + DISPLAY 'FLD0637E ==> ' FLD0637E + DISPLAY 'EXPECTED ==> ' XPC-FLD0637E. + IF FLD0638B (1:) NOT EQUAL XPC-FLD0638B + DISPLAY 'FLD0638B ==> ' HEX-OF (FLD0638B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0638B). + IF FLD0638E NOT EQUAL XPC-FLD0638E + DISPLAY 'FLD0638E ==> ' FLD0638E + DISPLAY 'EXPECTED ==> ' XPC-FLD0638E. + IF FLD0639B (1:) NOT EQUAL XPC-FLD0639B + DISPLAY 'FLD0639B ==> ' HEX-OF (FLD0639B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0639B). + IF FLD0639E NOT EQUAL XPC-FLD0639E + DISPLAY 'FLD0639E ==> ' FLD0639E + DISPLAY 'EXPECTED ==> ' XPC-FLD0639E. + IF FLD0640B (1:) NOT EQUAL XPC-FLD0640B + DISPLAY 'FLD0640B ==> ' HEX-OF (FLD0640B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0640B). + IF FLD0640E NOT EQUAL XPC-FLD0640E + DISPLAY 'FLD0640E ==> ' FLD0640E + DISPLAY 'EXPECTED ==> ' XPC-FLD0640E. + IF FLD0641B (1:) NOT EQUAL XPC-FLD0641B + DISPLAY 'FLD0641B ==> ' HEX-OF (FLD0641B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0641B). + IF FLD0641E NOT EQUAL XPC-FLD0641E + DISPLAY 'FLD0641E ==> ' FLD0641E + DISPLAY 'EXPECTED ==> ' XPC-FLD0641E. + IF FLD0642B (1:) NOT EQUAL XPC-FLD0642B + DISPLAY 'FLD0642B ==> ' HEX-OF (FLD0642B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0642B). + IF FLD0642E NOT EQUAL XPC-FLD0642E + DISPLAY 'FLD0642E ==> ' FLD0642E + DISPLAY 'EXPECTED ==> ' XPC-FLD0642E. + IF FLD0643B (1:) NOT EQUAL XPC-FLD0643B + DISPLAY 'FLD0643B ==> ' HEX-OF (FLD0643B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0643B). + IF FLD0643E NOT EQUAL XPC-FLD0643E + DISPLAY 'FLD0643E ==> ' FLD0643E + DISPLAY 'EXPECTED ==> ' XPC-FLD0643E. + IF FLD0644B (1:) NOT EQUAL XPC-FLD0644B + DISPLAY 'FLD0644B ==> ' HEX-OF (FLD0644B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0644B). + IF FLD0644E NOT EQUAL XPC-FLD0644E + DISPLAY 'FLD0644E ==> ' FLD0644E + DISPLAY 'EXPECTED ==> ' XPC-FLD0644E. + IF FLD0645B (1:) NOT EQUAL XPC-FLD0645B + DISPLAY 'FLD0645B ==> ' HEX-OF (FLD0645B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0645B). + IF FLD0645E NOT EQUAL XPC-FLD0645E + DISPLAY 'FLD0645E ==> ' FLD0645E + DISPLAY 'EXPECTED ==> ' XPC-FLD0645E. + IF FLD0646B (1:) NOT EQUAL XPC-FLD0646B + DISPLAY 'FLD0646B ==> ' HEX-OF (FLD0646B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0646B). + IF FLD0646E NOT EQUAL XPC-FLD0646E + DISPLAY 'FLD0646E ==> ' FLD0646E + DISPLAY 'EXPECTED ==> ' XPC-FLD0646E. + IF FLD0647B (1:) NOT EQUAL XPC-FLD0647B + DISPLAY 'FLD0647B ==> ' HEX-OF (FLD0647B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0647B). + IF FLD0647E NOT EQUAL XPC-FLD0647E + DISPLAY 'FLD0647E ==> ' FLD0647E + DISPLAY 'EXPECTED ==> ' XPC-FLD0647E. + IF FLD0648B (1:) NOT EQUAL XPC-FLD0648B + DISPLAY 'FLD0648B ==> ' HEX-OF (FLD0648B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0648B). + IF FLD0648E NOT EQUAL XPC-FLD0648E + DISPLAY 'FLD0648E ==> ' FLD0648E + DISPLAY 'EXPECTED ==> ' XPC-FLD0648E. + IF FLD0649B (1:) NOT EQUAL XPC-FLD0649B + DISPLAY 'FLD0649B ==> ' HEX-OF (FLD0649B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0649B). + IF FLD0649E NOT EQUAL XPC-FLD0649E + DISPLAY 'FLD0649E ==> ' FLD0649E + DISPLAY 'EXPECTED ==> ' XPC-FLD0649E. + IF FLD0650B (1:) NOT EQUAL XPC-FLD0650B + DISPLAY 'FLD0650B ==> ' HEX-OF (FLD0650B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0650B). + IF FLD0650E NOT EQUAL XPC-FLD0650E + DISPLAY 'FLD0650E ==> ' FLD0650E + DISPLAY 'EXPECTED ==> ' XPC-FLD0650E. + IF FLD0651B (1:) NOT EQUAL XPC-FLD0651B + DISPLAY 'FLD0651B ==> ' HEX-OF (FLD0651B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0651B). + IF FLD0651E NOT EQUAL XPC-FLD0651E + DISPLAY 'FLD0651E ==> ' FLD0651E + DISPLAY 'EXPECTED ==> ' XPC-FLD0651E. + IF FLD0652B (1:) NOT EQUAL XPC-FLD0652B + DISPLAY 'FLD0652B ==> ' HEX-OF (FLD0652B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0652B). + IF FLD0652E NOT EQUAL XPC-FLD0652E + DISPLAY 'FLD0652E ==> ' FLD0652E + DISPLAY 'EXPECTED ==> ' XPC-FLD0652E. + IF FLD0653B (1:) NOT EQUAL XPC-FLD0653B + DISPLAY 'FLD0653B ==> ' HEX-OF (FLD0653B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0653B). + IF FLD0653E NOT EQUAL XPC-FLD0653E + DISPLAY 'FLD0653E ==> ' FLD0653E + DISPLAY 'EXPECTED ==> ' XPC-FLD0653E. + IF FLD0654B (1:) NOT EQUAL XPC-FLD0654B + DISPLAY 'FLD0654B ==> ' HEX-OF (FLD0654B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0654B). + IF FLD0654E NOT EQUAL XPC-FLD0654E + DISPLAY 'FLD0654E ==> ' FLD0654E + DISPLAY 'EXPECTED ==> ' XPC-FLD0654E. + IF FLD0655B (1:) NOT EQUAL XPC-FLD0655B + DISPLAY 'FLD0655B ==> ' HEX-OF (FLD0655B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0655B). + IF FLD0655E NOT EQUAL XPC-FLD0655E + DISPLAY 'FLD0655E ==> ' FLD0655E + DISPLAY 'EXPECTED ==> ' XPC-FLD0655E. + IF FLD0656B (1:) NOT EQUAL XPC-FLD0656B + DISPLAY 'FLD0656B ==> ' HEX-OF (FLD0656B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0656B). + IF FLD0656E NOT EQUAL XPC-FLD0656E + DISPLAY 'FLD0656E ==> ' FLD0656E + DISPLAY 'EXPECTED ==> ' XPC-FLD0656E. + IF FLD0657B (1:) NOT EQUAL XPC-FLD0657B + DISPLAY 'FLD0657B ==> ' HEX-OF (FLD0657B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0657B). + IF FLD0657E NOT EQUAL XPC-FLD0657E + DISPLAY 'FLD0657E ==> ' FLD0657E + DISPLAY 'EXPECTED ==> ' XPC-FLD0657E. + IF FLD0658B (1:) NOT EQUAL XPC-FLD0658B + DISPLAY 'FLD0658B ==> ' HEX-OF (FLD0658B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0658B). + IF FLD0658E NOT EQUAL XPC-FLD0658E + DISPLAY 'FLD0658E ==> ' FLD0658E + DISPLAY 'EXPECTED ==> ' XPC-FLD0658E. + IF FLD0659B (1:) NOT EQUAL XPC-FLD0659B + DISPLAY 'FLD0659B ==> ' HEX-OF (FLD0659B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0659B). + IF FLD0659E NOT EQUAL XPC-FLD0659E + DISPLAY 'FLD0659E ==> ' FLD0659E + DISPLAY 'EXPECTED ==> ' XPC-FLD0659E. + IF FLD0660B (1:) NOT EQUAL XPC-FLD0660B + DISPLAY 'FLD0660B ==> ' HEX-OF (FLD0660B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0660B). + IF FLD0660E NOT EQUAL XPC-FLD0660E + DISPLAY 'FLD0660E ==> ' FLD0660E + DISPLAY 'EXPECTED ==> ' XPC-FLD0660E. + IF FLD0661B (1:) NOT EQUAL XPC-FLD0661B + DISPLAY 'FLD0661B ==> ' HEX-OF (FLD0661B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0661B). + IF FLD0661E NOT EQUAL XPC-FLD0661E + DISPLAY 'FLD0661E ==> ' FLD0661E + DISPLAY 'EXPECTED ==> ' XPC-FLD0661E. + IF FLD0662B (1:) NOT EQUAL XPC-FLD0662B + DISPLAY 'FLD0662B ==> ' HEX-OF (FLD0662B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0662B). + IF FLD0662E NOT EQUAL XPC-FLD0662E + DISPLAY 'FLD0662E ==> ' FLD0662E + DISPLAY 'EXPECTED ==> ' XPC-FLD0662E. + IF FLD0663B (1:) NOT EQUAL XPC-FLD0663B + DISPLAY 'FLD0663B ==> ' HEX-OF (FLD0663B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0663B). + IF FLD0663E NOT EQUAL XPC-FLD0663E + DISPLAY 'FLD0663E ==> ' FLD0663E + DISPLAY 'EXPECTED ==> ' XPC-FLD0663E. + IF FLD0664B (1:) NOT EQUAL XPC-FLD0664B + DISPLAY 'FLD0664B ==> ' HEX-OF (FLD0664B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0664B). + IF FLD0664E NOT EQUAL XPC-FLD0664E + DISPLAY 'FLD0664E ==> ' FLD0664E + DISPLAY 'EXPECTED ==> ' XPC-FLD0664E. + IF FLD0665B (1:) NOT EQUAL XPC-FLD0665B + DISPLAY 'FLD0665B ==> ' HEX-OF (FLD0665B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0665B). + IF FLD0665E NOT EQUAL XPC-FLD0665E + DISPLAY 'FLD0665E ==> ' FLD0665E + DISPLAY 'EXPECTED ==> ' XPC-FLD0665E. + IF FLD0666B (1:) NOT EQUAL XPC-FLD0666B + DISPLAY 'FLD0666B ==> ' HEX-OF (FLD0666B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0666B). + IF FLD0666E NOT EQUAL XPC-FLD0666E + DISPLAY 'FLD0666E ==> ' FLD0666E + DISPLAY 'EXPECTED ==> ' XPC-FLD0666E. + IF FLD0667B (1:) NOT EQUAL XPC-FLD0667B + DISPLAY 'FLD0667B ==> ' HEX-OF (FLD0667B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0667B). + IF FLD0667E NOT EQUAL XPC-FLD0667E + DISPLAY 'FLD0667E ==> ' FLD0667E + DISPLAY 'EXPECTED ==> ' XPC-FLD0667E. + IF FLD0668B (1:) NOT EQUAL XPC-FLD0668B + DISPLAY 'FLD0668B ==> ' HEX-OF (FLD0668B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0668B). + IF FLD0668E NOT EQUAL XPC-FLD0668E + DISPLAY 'FLD0668E ==> ' FLD0668E + DISPLAY 'EXPECTED ==> ' XPC-FLD0668E. + IF FLD0669B (1:) NOT EQUAL XPC-FLD0669B + DISPLAY 'FLD0669B ==> ' HEX-OF (FLD0669B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0669B). + IF FLD0669E NOT EQUAL XPC-FLD0669E + DISPLAY 'FLD0669E ==> ' FLD0669E + DISPLAY 'EXPECTED ==> ' XPC-FLD0669E. + IF FLD0670B (1:) NOT EQUAL XPC-FLD0670B + DISPLAY 'FLD0670B ==> ' HEX-OF (FLD0670B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0670B). + IF FLD0670E NOT EQUAL XPC-FLD0670E + DISPLAY 'FLD0670E ==> ' FLD0670E + DISPLAY 'EXPECTED ==> ' XPC-FLD0670E. + IF FLD0671B (1:) NOT EQUAL XPC-FLD0671B + DISPLAY 'FLD0671B ==> ' HEX-OF (FLD0671B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0671B). + IF FLD0671E NOT EQUAL XPC-FLD0671E + DISPLAY 'FLD0671E ==> ' FLD0671E + DISPLAY 'EXPECTED ==> ' XPC-FLD0671E. + IF FLD0672B (1:) NOT EQUAL XPC-FLD0672B + DISPLAY 'FLD0672B ==> ' HEX-OF (FLD0672B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0672B). + IF FLD0672E NOT EQUAL XPC-FLD0672E + DISPLAY 'FLD0672E ==> ' FLD0672E + DISPLAY 'EXPECTED ==> ' XPC-FLD0672E. + IF FLD0673B (1:) NOT EQUAL XPC-FLD0673B + DISPLAY 'FLD0673B ==> ' HEX-OF (FLD0673B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0673B). + IF FLD0673E NOT EQUAL XPC-FLD0673E + DISPLAY 'FLD0673E ==> ' FLD0673E + DISPLAY 'EXPECTED ==> ' XPC-FLD0673E. + IF FLD0674B (1:) NOT EQUAL XPC-FLD0674B + DISPLAY 'FLD0674B ==> ' HEX-OF (FLD0674B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0674B). + IF FLD0674E NOT EQUAL XPC-FLD0674E + DISPLAY 'FLD0674E ==> ' FLD0674E + DISPLAY 'EXPECTED ==> ' XPC-FLD0674E. + IF FLD0675B (1:) NOT EQUAL XPC-FLD0675B + DISPLAY 'FLD0675B ==> ' HEX-OF (FLD0675B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0675B). + IF FLD0675E NOT EQUAL XPC-FLD0675E + DISPLAY 'FLD0675E ==> ' FLD0675E + DISPLAY 'EXPECTED ==> ' XPC-FLD0675E. + IF FLD0676B (1:) NOT EQUAL XPC-FLD0676B + DISPLAY 'FLD0676B ==> ' HEX-OF (FLD0676B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0676B). + IF FLD0676E NOT EQUAL XPC-FLD0676E + DISPLAY 'FLD0676E ==> ' FLD0676E + DISPLAY 'EXPECTED ==> ' XPC-FLD0676E. + IF FLD0677B (1:) NOT EQUAL XPC-FLD0677B + DISPLAY 'FLD0677B ==> ' HEX-OF (FLD0677B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0677B). + IF FLD0677E NOT EQUAL XPC-FLD0677E + DISPLAY 'FLD0677E ==> ' FLD0677E + DISPLAY 'EXPECTED ==> ' XPC-FLD0677E. + IF FLD0678B (1:) NOT EQUAL XPC-FLD0678B + DISPLAY 'FLD0678B ==> ' HEX-OF (FLD0678B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0678B). + IF FLD0678E NOT EQUAL XPC-FLD0678E + DISPLAY 'FLD0678E ==> ' FLD0678E + DISPLAY 'EXPECTED ==> ' XPC-FLD0678E. + IF FLD0679B (1:) NOT EQUAL XPC-FLD0679B + DISPLAY 'FLD0679B ==> ' HEX-OF (FLD0679B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0679B). + IF FLD0679E NOT EQUAL XPC-FLD0679E + DISPLAY 'FLD0679E ==> ' FLD0679E + DISPLAY 'EXPECTED ==> ' XPC-FLD0679E. + IF FLD0680B (1:) NOT EQUAL XPC-FLD0680B + DISPLAY 'FLD0680B ==> ' HEX-OF (FLD0680B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0680B). + IF FLD0680E NOT EQUAL XPC-FLD0680E + DISPLAY 'FLD0680E ==> ' FLD0680E + DISPLAY 'EXPECTED ==> ' XPC-FLD0680E. + IF FLD0681B (1:) NOT EQUAL XPC-FLD0681B + DISPLAY 'FLD0681B ==> ' HEX-OF (FLD0681B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0681B). + IF FLD0681E NOT EQUAL XPC-FLD0681E + DISPLAY 'FLD0681E ==> ' FLD0681E + DISPLAY 'EXPECTED ==> ' XPC-FLD0681E. + IF FLD0682B (1:) NOT EQUAL XPC-FLD0682B + DISPLAY 'FLD0682B ==> ' HEX-OF (FLD0682B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0682B). + IF FLD0682E NOT EQUAL XPC-FLD0682E + DISPLAY 'FLD0682E ==> ' FLD0682E + DISPLAY 'EXPECTED ==> ' XPC-FLD0682E. + IF FLD0683B (1:) NOT EQUAL XPC-FLD0683B + DISPLAY 'FLD0683B ==> ' HEX-OF (FLD0683B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0683B). + IF FLD0683E NOT EQUAL XPC-FLD0683E + DISPLAY 'FLD0683E ==> ' FLD0683E + DISPLAY 'EXPECTED ==> ' XPC-FLD0683E. + IF FLD0684B (1:) NOT EQUAL XPC-FLD0684B + DISPLAY 'FLD0684B ==> ' HEX-OF (FLD0684B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0684B). + IF FLD0684E NOT EQUAL XPC-FLD0684E + DISPLAY 'FLD0684E ==> ' FLD0684E + DISPLAY 'EXPECTED ==> ' XPC-FLD0684E. + IF FLD0685B (1:) NOT EQUAL XPC-FLD0685B + DISPLAY 'FLD0685B ==> ' HEX-OF (FLD0685B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0685B). + IF FLD0685E NOT EQUAL XPC-FLD0685E + DISPLAY 'FLD0685E ==> ' FLD0685E + DISPLAY 'EXPECTED ==> ' XPC-FLD0685E. + IF FLD0686B (1:) NOT EQUAL XPC-FLD0686B + DISPLAY 'FLD0686B ==> ' HEX-OF (FLD0686B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0686B). + IF FLD0686E NOT EQUAL XPC-FLD0686E + DISPLAY 'FLD0686E ==> ' FLD0686E + DISPLAY 'EXPECTED ==> ' XPC-FLD0686E. + IF FLD0687B (1:) NOT EQUAL XPC-FLD0687B + DISPLAY 'FLD0687B ==> ' HEX-OF (FLD0687B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0687B). + IF FLD0687E NOT EQUAL XPC-FLD0687E + DISPLAY 'FLD0687E ==> ' FLD0687E + DISPLAY 'EXPECTED ==> ' XPC-FLD0687E. + IF FLD0688B (1:) NOT EQUAL XPC-FLD0688B + DISPLAY 'FLD0688B ==> ' HEX-OF (FLD0688B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0688B). + IF FLD0688E NOT EQUAL XPC-FLD0688E + DISPLAY 'FLD0688E ==> ' FLD0688E + DISPLAY 'EXPECTED ==> ' XPC-FLD0688E. + IF FLD0689B (1:) NOT EQUAL XPC-FLD0689B + DISPLAY 'FLD0689B ==> ' HEX-OF (FLD0689B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0689B). + IF FLD0689E NOT EQUAL XPC-FLD0689E + DISPLAY 'FLD0689E ==> ' FLD0689E + DISPLAY 'EXPECTED ==> ' XPC-FLD0689E. + IF FLD0690B (1:) NOT EQUAL XPC-FLD0690B + DISPLAY 'FLD0690B ==> ' HEX-OF (FLD0690B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0690B). + IF FLD0690E NOT EQUAL XPC-FLD0690E + DISPLAY 'FLD0690E ==> ' FLD0690E + DISPLAY 'EXPECTED ==> ' XPC-FLD0690E. + IF FLD0691B (1:) NOT EQUAL XPC-FLD0691B + DISPLAY 'FLD0691B ==> ' HEX-OF (FLD0691B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0691B). + IF FLD0691E NOT EQUAL XPC-FLD0691E + DISPLAY 'FLD0691E ==> ' FLD0691E + DISPLAY 'EXPECTED ==> ' XPC-FLD0691E. + IF FLD0692B (1:) NOT EQUAL XPC-FLD0692B + DISPLAY 'FLD0692B ==> ' HEX-OF (FLD0692B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0692B). + IF FLD0692E NOT EQUAL XPC-FLD0692E + DISPLAY 'FLD0692E ==> ' FLD0692E + DISPLAY 'EXPECTED ==> ' XPC-FLD0692E. + IF FLD0693B (1:) NOT EQUAL XPC-FLD0693B + DISPLAY 'FLD0693B ==> ' HEX-OF (FLD0693B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0693B). + IF FLD0693E NOT EQUAL XPC-FLD0693E + DISPLAY 'FLD0693E ==> ' FLD0693E + DISPLAY 'EXPECTED ==> ' XPC-FLD0693E. + IF FLD0694B (1:) NOT EQUAL XPC-FLD0694B + DISPLAY 'FLD0694B ==> ' HEX-OF (FLD0694B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0694B). + IF FLD0694E NOT EQUAL XPC-FLD0694E + DISPLAY 'FLD0694E ==> ' FLD0694E + DISPLAY 'EXPECTED ==> ' XPC-FLD0694E. + IF FLD0695B (1:) NOT EQUAL XPC-FLD0695B + DISPLAY 'FLD0695B ==> ' HEX-OF (FLD0695B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0695B). + IF FLD0695E NOT EQUAL XPC-FLD0695E + DISPLAY 'FLD0695E ==> ' FLD0695E + DISPLAY 'EXPECTED ==> ' XPC-FLD0695E. + IF FLD0696B (1:) NOT EQUAL XPC-FLD0696B + DISPLAY 'FLD0696B ==> ' HEX-OF (FLD0696B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0696B). + IF FLD0696E NOT EQUAL XPC-FLD0696E + DISPLAY 'FLD0696E ==> ' FLD0696E + DISPLAY 'EXPECTED ==> ' XPC-FLD0696E. + IF FLD0697B (1:) NOT EQUAL XPC-FLD0697B + DISPLAY 'FLD0697B ==> ' HEX-OF (FLD0697B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0697B). + IF FLD0697E NOT EQUAL XPC-FLD0697E + DISPLAY 'FLD0697E ==> ' FLD0697E + DISPLAY 'EXPECTED ==> ' XPC-FLD0697E. + IF FLD0698B (1:) NOT EQUAL XPC-FLD0698B + DISPLAY 'FLD0698B ==> ' HEX-OF (FLD0698B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0698B). + IF FLD0698E NOT EQUAL XPC-FLD0698E + DISPLAY 'FLD0698E ==> ' FLD0698E + DISPLAY 'EXPECTED ==> ' XPC-FLD0698E. + IF FLD0699B (1:) NOT EQUAL XPC-FLD0699B + DISPLAY 'FLD0699B ==> ' HEX-OF (FLD0699B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0699B). + IF FLD0699E NOT EQUAL XPC-FLD0699E + DISPLAY 'FLD0699E ==> ' FLD0699E + DISPLAY 'EXPECTED ==> ' XPC-FLD0699E. + IF FLD0700B (1:) NOT EQUAL XPC-FLD0700B + DISPLAY 'FLD0700B ==> ' HEX-OF (FLD0700B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0700B). + IF FLD0700E NOT EQUAL XPC-FLD0700E + DISPLAY 'FLD0700E ==> ' FLD0700E + DISPLAY 'EXPECTED ==> ' XPC-FLD0700E. + IF FLD0701B (1:) NOT EQUAL XPC-FLD0701B + DISPLAY 'FLD0701B ==> ' HEX-OF (FLD0701B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0701B). + IF FLD0701E NOT EQUAL XPC-FLD0701E + DISPLAY 'FLD0701E ==> ' FLD0701E + DISPLAY 'EXPECTED ==> ' XPC-FLD0701E. + IF FLD0702B (1:) NOT EQUAL XPC-FLD0702B + DISPLAY 'FLD0702B ==> ' HEX-OF (FLD0702B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0702B). + IF FLD0702E NOT EQUAL XPC-FLD0702E + DISPLAY 'FLD0702E ==> ' FLD0702E + DISPLAY 'EXPECTED ==> ' XPC-FLD0702E. + IF FLD0703B (1:) NOT EQUAL XPC-FLD0703B + DISPLAY 'FLD0703B ==> ' HEX-OF (FLD0703B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0703B). + IF FLD0703E NOT EQUAL XPC-FLD0703E + DISPLAY 'FLD0703E ==> ' FLD0703E + DISPLAY 'EXPECTED ==> ' XPC-FLD0703E. + IF FLD0704B (1:) NOT EQUAL XPC-FLD0704B + DISPLAY 'FLD0704B ==> ' HEX-OF (FLD0704B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0704B). + IF FLD0704E NOT EQUAL XPC-FLD0704E + DISPLAY 'FLD0704E ==> ' FLD0704E + DISPLAY 'EXPECTED ==> ' XPC-FLD0704E. + IF FLD0705B (1:) NOT EQUAL XPC-FLD0705B + DISPLAY 'FLD0705B ==> ' HEX-OF (FLD0705B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0705B). + IF FLD0705E NOT EQUAL XPC-FLD0705E + DISPLAY 'FLD0705E ==> ' FLD0705E + DISPLAY 'EXPECTED ==> ' XPC-FLD0705E. + IF FLD0706B (1:) NOT EQUAL XPC-FLD0706B + DISPLAY 'FLD0706B ==> ' HEX-OF (FLD0706B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0706B). + IF FLD0706E NOT EQUAL XPC-FLD0706E + DISPLAY 'FLD0706E ==> ' FLD0706E + DISPLAY 'EXPECTED ==> ' XPC-FLD0706E. + IF FLD0707B (1:) NOT EQUAL XPC-FLD0707B + DISPLAY 'FLD0707B ==> ' HEX-OF (FLD0707B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0707B). + IF FLD0707E NOT EQUAL XPC-FLD0707E + DISPLAY 'FLD0707E ==> ' FLD0707E + DISPLAY 'EXPECTED ==> ' XPC-FLD0707E. + IF FLD0708B (1:) NOT EQUAL XPC-FLD0708B + DISPLAY 'FLD0708B ==> ' HEX-OF (FLD0708B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0708B). + IF FLD0708E NOT EQUAL XPC-FLD0708E + DISPLAY 'FLD0708E ==> ' FLD0708E + DISPLAY 'EXPECTED ==> ' XPC-FLD0708E. + IF FLD0709B (1:) NOT EQUAL XPC-FLD0709B + DISPLAY 'FLD0709B ==> ' HEX-OF (FLD0709B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0709B). + IF FLD0709E NOT EQUAL XPC-FLD0709E + DISPLAY 'FLD0709E ==> ' FLD0709E + DISPLAY 'EXPECTED ==> ' XPC-FLD0709E. + IF FLD0710B (1:) NOT EQUAL XPC-FLD0710B + DISPLAY 'FLD0710B ==> ' HEX-OF (FLD0710B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0710B). + IF FLD0710E NOT EQUAL XPC-FLD0710E + DISPLAY 'FLD0710E ==> ' FLD0710E + DISPLAY 'EXPECTED ==> ' XPC-FLD0710E. + IF FLD0711B (1:) NOT EQUAL XPC-FLD0711B + DISPLAY 'FLD0711B ==> ' HEX-OF (FLD0711B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0711B). + IF FLD0711E NOT EQUAL XPC-FLD0711E + DISPLAY 'FLD0711E ==> ' FLD0711E + DISPLAY 'EXPECTED ==> ' XPC-FLD0711E. + IF FLD0712B (1:) NOT EQUAL XPC-FLD0712B + DISPLAY 'FLD0712B ==> ' HEX-OF (FLD0712B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0712B). + IF FLD0712E NOT EQUAL XPC-FLD0712E + DISPLAY 'FLD0712E ==> ' FLD0712E + DISPLAY 'EXPECTED ==> ' XPC-FLD0712E. + IF FLD0713B (1:) NOT EQUAL XPC-FLD0713B + DISPLAY 'FLD0713B ==> ' HEX-OF (FLD0713B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0713B). + IF FLD0713E NOT EQUAL XPC-FLD0713E + DISPLAY 'FLD0713E ==> ' FLD0713E + DISPLAY 'EXPECTED ==> ' XPC-FLD0713E. + IF FLD0714B (1:) NOT EQUAL XPC-FLD0714B + DISPLAY 'FLD0714B ==> ' HEX-OF (FLD0714B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0714B). + IF FLD0714E NOT EQUAL XPC-FLD0714E + DISPLAY 'FLD0714E ==> ' FLD0714E + DISPLAY 'EXPECTED ==> ' XPC-FLD0714E. + IF FLD0715B (1:) NOT EQUAL XPC-FLD0715B + DISPLAY 'FLD0715B ==> ' HEX-OF (FLD0715B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0715B). + IF FLD0715E NOT EQUAL XPC-FLD0715E + DISPLAY 'FLD0715E ==> ' FLD0715E + DISPLAY 'EXPECTED ==> ' XPC-FLD0715E. + IF FLD0716B (1:) NOT EQUAL XPC-FLD0716B + DISPLAY 'FLD0716B ==> ' HEX-OF (FLD0716B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0716B). + IF FLD0716E NOT EQUAL XPC-FLD0716E + DISPLAY 'FLD0716E ==> ' FLD0716E + DISPLAY 'EXPECTED ==> ' XPC-FLD0716E. + IF FLD0717B (1:) NOT EQUAL XPC-FLD0717B + DISPLAY 'FLD0717B ==> ' HEX-OF (FLD0717B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0717B). + IF FLD0717E NOT EQUAL XPC-FLD0717E + DISPLAY 'FLD0717E ==> ' FLD0717E + DISPLAY 'EXPECTED ==> ' XPC-FLD0717E. + IF FLD0718B (1:) NOT EQUAL XPC-FLD0718B + DISPLAY 'FLD0718B ==> ' HEX-OF (FLD0718B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0718B). + IF FLD0718E NOT EQUAL XPC-FLD0718E + DISPLAY 'FLD0718E ==> ' FLD0718E + DISPLAY 'EXPECTED ==> ' XPC-FLD0718E. + IF FLD0719B (1:) NOT EQUAL XPC-FLD0719B + DISPLAY 'FLD0719B ==> ' HEX-OF (FLD0719B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0719B). + IF FLD0719E NOT EQUAL XPC-FLD0719E + DISPLAY 'FLD0719E ==> ' FLD0719E + DISPLAY 'EXPECTED ==> ' XPC-FLD0719E. + IF FLD0720B (1:) NOT EQUAL XPC-FLD0720B + DISPLAY 'FLD0720B ==> ' HEX-OF (FLD0720B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0720B). + IF FLD0720E NOT EQUAL XPC-FLD0720E + DISPLAY 'FLD0720E ==> ' FLD0720E + DISPLAY 'EXPECTED ==> ' XPC-FLD0720E. + IF FLD0721B (1:) NOT EQUAL XPC-FLD0721B + DISPLAY 'FLD0721B ==> ' HEX-OF (FLD0721B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0721B). + IF FLD0721E NOT EQUAL XPC-FLD0721E + DISPLAY 'FLD0721E ==> ' FLD0721E + DISPLAY 'EXPECTED ==> ' XPC-FLD0721E. + IF FLD0722B (1:) NOT EQUAL XPC-FLD0722B + DISPLAY 'FLD0722B ==> ' HEX-OF (FLD0722B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0722B). + IF FLD0722E NOT EQUAL XPC-FLD0722E + DISPLAY 'FLD0722E ==> ' FLD0722E + DISPLAY 'EXPECTED ==> ' XPC-FLD0722E. + IF FLD0723B (1:) NOT EQUAL XPC-FLD0723B + DISPLAY 'FLD0723B ==> ' HEX-OF (FLD0723B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0723B). + IF FLD0723E NOT EQUAL XPC-FLD0723E + DISPLAY 'FLD0723E ==> ' FLD0723E + DISPLAY 'EXPECTED ==> ' XPC-FLD0723E. + IF FLD0724B (1:) NOT EQUAL XPC-FLD0724B + DISPLAY 'FLD0724B ==> ' HEX-OF (FLD0724B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0724B). + IF FLD0724E NOT EQUAL XPC-FLD0724E + DISPLAY 'FLD0724E ==> ' FLD0724E + DISPLAY 'EXPECTED ==> ' XPC-FLD0724E. + IF FLD0725B (1:) NOT EQUAL XPC-FLD0725B + DISPLAY 'FLD0725B ==> ' HEX-OF (FLD0725B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0725B). + IF FLD0725E NOT EQUAL XPC-FLD0725E + DISPLAY 'FLD0725E ==> ' FLD0725E + DISPLAY 'EXPECTED ==> ' XPC-FLD0725E. + IF FLD0726B (1:) NOT EQUAL XPC-FLD0726B + DISPLAY 'FLD0726B ==> ' HEX-OF (FLD0726B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0726B). + IF FLD0726E NOT EQUAL XPC-FLD0726E + DISPLAY 'FLD0726E ==> ' FLD0726E + DISPLAY 'EXPECTED ==> ' XPC-FLD0726E. + IF FLD0727B (1:) NOT EQUAL XPC-FLD0727B + DISPLAY 'FLD0727B ==> ' HEX-OF (FLD0727B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0727B). + IF FLD0727E NOT EQUAL XPC-FLD0727E + DISPLAY 'FLD0727E ==> ' FLD0727E + DISPLAY 'EXPECTED ==> ' XPC-FLD0727E. + IF FLD0728B (1:) NOT EQUAL XPC-FLD0728B + DISPLAY 'FLD0728B ==> ' HEX-OF (FLD0728B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0728B). + IF FLD0728E NOT EQUAL XPC-FLD0728E + DISPLAY 'FLD0728E ==> ' FLD0728E + DISPLAY 'EXPECTED ==> ' XPC-FLD0728E. + IF FLD0729B (1:) NOT EQUAL XPC-FLD0729B + DISPLAY 'FLD0729B ==> ' HEX-OF (FLD0729B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0729B). + IF FLD0729E NOT EQUAL XPC-FLD0729E + DISPLAY 'FLD0729E ==> ' FLD0729E + DISPLAY 'EXPECTED ==> ' XPC-FLD0729E. + IF FLD0730B (1:) NOT EQUAL XPC-FLD0730B + DISPLAY 'FLD0730B ==> ' HEX-OF (FLD0730B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0730B). + IF FLD0730E NOT EQUAL XPC-FLD0730E + DISPLAY 'FLD0730E ==> ' FLD0730E + DISPLAY 'EXPECTED ==> ' XPC-FLD0730E. + IF FLD0731B (1:) NOT EQUAL XPC-FLD0731B + DISPLAY 'FLD0731B ==> ' HEX-OF (FLD0731B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0731B). + IF FLD0731E NOT EQUAL XPC-FLD0731E + DISPLAY 'FLD0731E ==> ' FLD0731E + DISPLAY 'EXPECTED ==> ' XPC-FLD0731E. + IF FLD0732B (1:) NOT EQUAL XPC-FLD0732B + DISPLAY 'FLD0732B ==> ' HEX-OF (FLD0732B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0732B). + IF FLD0732E NOT EQUAL XPC-FLD0732E + DISPLAY 'FLD0732E ==> ' FLD0732E + DISPLAY 'EXPECTED ==> ' XPC-FLD0732E. + IF FLD0733B (1:) NOT EQUAL XPC-FLD0733B + DISPLAY 'FLD0733B ==> ' HEX-OF (FLD0733B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0733B). + IF FLD0733E NOT EQUAL XPC-FLD0733E + DISPLAY 'FLD0733E ==> ' FLD0733E + DISPLAY 'EXPECTED ==> ' XPC-FLD0733E. + IF FLD0734B (1:) NOT EQUAL XPC-FLD0734B + DISPLAY 'FLD0734B ==> ' HEX-OF (FLD0734B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0734B). + IF FLD0734E NOT EQUAL XPC-FLD0734E + DISPLAY 'FLD0734E ==> ' FLD0734E + DISPLAY 'EXPECTED ==> ' XPC-FLD0734E. + IF FLD0735B (1:) NOT EQUAL XPC-FLD0735B + DISPLAY 'FLD0735B ==> ' HEX-OF (FLD0735B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0735B). + IF FLD0735E NOT EQUAL XPC-FLD0735E + DISPLAY 'FLD0735E ==> ' FLD0735E + DISPLAY 'EXPECTED ==> ' XPC-FLD0735E. + IF FLD0736B (1:) NOT EQUAL XPC-FLD0736B + DISPLAY 'FLD0736B ==> ' HEX-OF (FLD0736B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0736B). + IF FLD0736E NOT EQUAL XPC-FLD0736E + DISPLAY 'FLD0736E ==> ' FLD0736E + DISPLAY 'EXPECTED ==> ' XPC-FLD0736E. + IF FLD0737B (1:) NOT EQUAL XPC-FLD0737B + DISPLAY 'FLD0737B ==> ' HEX-OF (FLD0737B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0737B). + IF FLD0737E NOT EQUAL XPC-FLD0737E + DISPLAY 'FLD0737E ==> ' FLD0737E + DISPLAY 'EXPECTED ==> ' XPC-FLD0737E. + IF FLD0738B (1:) NOT EQUAL XPC-FLD0738B + DISPLAY 'FLD0738B ==> ' HEX-OF (FLD0738B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0738B). + IF FLD0738E NOT EQUAL XPC-FLD0738E + DISPLAY 'FLD0738E ==> ' FLD0738E + DISPLAY 'EXPECTED ==> ' XPC-FLD0738E. + IF FLD0739B (1:) NOT EQUAL XPC-FLD0739B + DISPLAY 'FLD0739B ==> ' HEX-OF (FLD0739B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0739B). + IF FLD0739E NOT EQUAL XPC-FLD0739E + DISPLAY 'FLD0739E ==> ' FLD0739E + DISPLAY 'EXPECTED ==> ' XPC-FLD0739E. + IF FLD0740B (1:) NOT EQUAL XPC-FLD0740B + DISPLAY 'FLD0740B ==> ' HEX-OF (FLD0740B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0740B). + IF FLD0740E NOT EQUAL XPC-FLD0740E + DISPLAY 'FLD0740E ==> ' FLD0740E + DISPLAY 'EXPECTED ==> ' XPC-FLD0740E. + IF FLD0741B (1:) NOT EQUAL XPC-FLD0741B + DISPLAY 'FLD0741B ==> ' HEX-OF (FLD0741B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0741B). + IF FLD0741E NOT EQUAL XPC-FLD0741E + DISPLAY 'FLD0741E ==> ' FLD0741E + DISPLAY 'EXPECTED ==> ' XPC-FLD0741E. + IF FLD0742B (1:) NOT EQUAL XPC-FLD0742B + DISPLAY 'FLD0742B ==> ' HEX-OF (FLD0742B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0742B). + IF FLD0742E NOT EQUAL XPC-FLD0742E + DISPLAY 'FLD0742E ==> ' FLD0742E + DISPLAY 'EXPECTED ==> ' XPC-FLD0742E. + IF FLD0743B (1:) NOT EQUAL XPC-FLD0743B + DISPLAY 'FLD0743B ==> ' HEX-OF (FLD0743B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0743B). + IF FLD0743E NOT EQUAL XPC-FLD0743E + DISPLAY 'FLD0743E ==> ' FLD0743E + DISPLAY 'EXPECTED ==> ' XPC-FLD0743E. + IF FLD0744B (1:) NOT EQUAL XPC-FLD0744B + DISPLAY 'FLD0744B ==> ' HEX-OF (FLD0744B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0744B). + IF FLD0744E NOT EQUAL XPC-FLD0744E + DISPLAY 'FLD0744E ==> ' FLD0744E + DISPLAY 'EXPECTED ==> ' XPC-FLD0744E. + IF FLD0745B (1:) NOT EQUAL XPC-FLD0745B + DISPLAY 'FLD0745B ==> ' HEX-OF (FLD0745B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0745B). + IF FLD0745E NOT EQUAL XPC-FLD0745E + DISPLAY 'FLD0745E ==> ' FLD0745E + DISPLAY 'EXPECTED ==> ' XPC-FLD0745E. + IF FLD0746B (1:) NOT EQUAL XPC-FLD0746B + DISPLAY 'FLD0746B ==> ' HEX-OF (FLD0746B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0746B). + IF FLD0746E NOT EQUAL XPC-FLD0746E + DISPLAY 'FLD0746E ==> ' FLD0746E + DISPLAY 'EXPECTED ==> ' XPC-FLD0746E. + IF FLD0747B (1:) NOT EQUAL XPC-FLD0747B + DISPLAY 'FLD0747B ==> ' HEX-OF (FLD0747B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0747B). + IF FLD0747E NOT EQUAL XPC-FLD0747E + DISPLAY 'FLD0747E ==> ' FLD0747E + DISPLAY 'EXPECTED ==> ' XPC-FLD0747E. + IF FLD0748B (1:) NOT EQUAL XPC-FLD0748B + DISPLAY 'FLD0748B ==> ' HEX-OF (FLD0748B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0748B). + IF FLD0748E NOT EQUAL XPC-FLD0748E + DISPLAY 'FLD0748E ==> ' FLD0748E + DISPLAY 'EXPECTED ==> ' XPC-FLD0748E. + IF FLD0749B (1:) NOT EQUAL XPC-FLD0749B + DISPLAY 'FLD0749B ==> ' HEX-OF (FLD0749B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0749B). + IF FLD0749E NOT EQUAL XPC-FLD0749E + DISPLAY 'FLD0749E ==> ' FLD0749E + DISPLAY 'EXPECTED ==> ' XPC-FLD0749E. + IF FLD0750B (1:) NOT EQUAL XPC-FLD0750B + DISPLAY 'FLD0750B ==> ' HEX-OF (FLD0750B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0750B). + IF FLD0750E NOT EQUAL XPC-FLD0750E + DISPLAY 'FLD0750E ==> ' FLD0750E + DISPLAY 'EXPECTED ==> ' XPC-FLD0750E. + IF FLD0751B (1:) NOT EQUAL XPC-FLD0751B + DISPLAY 'FLD0751B ==> ' HEX-OF (FLD0751B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0751B). + IF FLD0751E NOT EQUAL XPC-FLD0751E + DISPLAY 'FLD0751E ==> ' FLD0751E + DISPLAY 'EXPECTED ==> ' XPC-FLD0751E. + IF FLD0752B (1:) NOT EQUAL XPC-FLD0752B + DISPLAY 'FLD0752B ==> ' HEX-OF (FLD0752B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0752B). + IF FLD0752E NOT EQUAL XPC-FLD0752E + DISPLAY 'FLD0752E ==> ' FLD0752E + DISPLAY 'EXPECTED ==> ' XPC-FLD0752E. + IF FLD0753B (1:) NOT EQUAL XPC-FLD0753B + DISPLAY 'FLD0753B ==> ' HEX-OF (FLD0753B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0753B). + IF FLD0753E NOT EQUAL XPC-FLD0753E + DISPLAY 'FLD0753E ==> ' FLD0753E + DISPLAY 'EXPECTED ==> ' XPC-FLD0753E. + IF FLD0754B (1:) NOT EQUAL XPC-FLD0754B + DISPLAY 'FLD0754B ==> ' HEX-OF (FLD0754B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0754B). + IF FLD0754E NOT EQUAL XPC-FLD0754E + DISPLAY 'FLD0754E ==> ' FLD0754E + DISPLAY 'EXPECTED ==> ' XPC-FLD0754E. + IF FLD0755B (1:) NOT EQUAL XPC-FLD0755B + DISPLAY 'FLD0755B ==> ' HEX-OF (FLD0755B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0755B). + IF FLD0755E NOT EQUAL XPC-FLD0755E + DISPLAY 'FLD0755E ==> ' FLD0755E + DISPLAY 'EXPECTED ==> ' XPC-FLD0755E. + IF FLD0756B (1:) NOT EQUAL XPC-FLD0756B + DISPLAY 'FLD0756B ==> ' HEX-OF (FLD0756B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0756B). + IF FLD0756E NOT EQUAL XPC-FLD0756E + DISPLAY 'FLD0756E ==> ' FLD0756E + DISPLAY 'EXPECTED ==> ' XPC-FLD0756E. + IF FLD0757B (1:) NOT EQUAL XPC-FLD0757B + DISPLAY 'FLD0757B ==> ' HEX-OF (FLD0757B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0757B). + IF FLD0757E NOT EQUAL XPC-FLD0757E + DISPLAY 'FLD0757E ==> ' FLD0757E + DISPLAY 'EXPECTED ==> ' XPC-FLD0757E. + IF FLD0758B (1:) NOT EQUAL XPC-FLD0758B + DISPLAY 'FLD0758B ==> ' HEX-OF (FLD0758B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0758B). + IF FLD0758E NOT EQUAL XPC-FLD0758E + DISPLAY 'FLD0758E ==> ' FLD0758E + DISPLAY 'EXPECTED ==> ' XPC-FLD0758E. + IF FLD0759B (1:) NOT EQUAL XPC-FLD0759B + DISPLAY 'FLD0759B ==> ' HEX-OF (FLD0759B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0759B). + IF FLD0759E NOT EQUAL XPC-FLD0759E + DISPLAY 'FLD0759E ==> ' FLD0759E + DISPLAY 'EXPECTED ==> ' XPC-FLD0759E. + IF FLD0760B (1:) NOT EQUAL XPC-FLD0760B + DISPLAY 'FLD0760B ==> ' HEX-OF (FLD0760B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0760B). + IF FLD0760E NOT EQUAL XPC-FLD0760E + DISPLAY 'FLD0760E ==> ' FLD0760E + DISPLAY 'EXPECTED ==> ' XPC-FLD0760E. + IF FLD0761B (1:) NOT EQUAL XPC-FLD0761B + DISPLAY 'FLD0761B ==> ' HEX-OF (FLD0761B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0761B). + IF FLD0761E NOT EQUAL XPC-FLD0761E + DISPLAY 'FLD0761E ==> ' FLD0761E + DISPLAY 'EXPECTED ==> ' XPC-FLD0761E. + IF FLD0762B (1:) NOT EQUAL XPC-FLD0762B + DISPLAY 'FLD0762B ==> ' HEX-OF (FLD0762B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0762B). + IF FLD0762E NOT EQUAL XPC-FLD0762E + DISPLAY 'FLD0762E ==> ' FLD0762E + DISPLAY 'EXPECTED ==> ' XPC-FLD0762E. + IF FLD0763B (1:) NOT EQUAL XPC-FLD0763B + DISPLAY 'FLD0763B ==> ' HEX-OF (FLD0763B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0763B). + IF FLD0763E NOT EQUAL XPC-FLD0763E + DISPLAY 'FLD0763E ==> ' FLD0763E + DISPLAY 'EXPECTED ==> ' XPC-FLD0763E. + IF FLD0764B (1:) NOT EQUAL XPC-FLD0764B + DISPLAY 'FLD0764B ==> ' HEX-OF (FLD0764B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0764B). + IF FLD0764E NOT EQUAL XPC-FLD0764E + DISPLAY 'FLD0764E ==> ' FLD0764E + DISPLAY 'EXPECTED ==> ' XPC-FLD0764E. + IF FLD0765B (1:) NOT EQUAL XPC-FLD0765B + DISPLAY 'FLD0765B ==> ' HEX-OF (FLD0765B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0765B). + IF FLD0765E NOT EQUAL XPC-FLD0765E + DISPLAY 'FLD0765E ==> ' FLD0765E + DISPLAY 'EXPECTED ==> ' XPC-FLD0765E. + IF FLD0766B (1:) NOT EQUAL XPC-FLD0766B + DISPLAY 'FLD0766B ==> ' HEX-OF (FLD0766B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0766B). + IF FLD0766E NOT EQUAL XPC-FLD0766E + DISPLAY 'FLD0766E ==> ' FLD0766E + DISPLAY 'EXPECTED ==> ' XPC-FLD0766E. + IF FLD0767B (1:) NOT EQUAL XPC-FLD0767B + DISPLAY 'FLD0767B ==> ' HEX-OF (FLD0767B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0767B). + IF FLD0767E NOT EQUAL XPC-FLD0767E + DISPLAY 'FLD0767E ==> ' FLD0767E + DISPLAY 'EXPECTED ==> ' XPC-FLD0767E. + IF FLD0768B (1:) NOT EQUAL XPC-FLD0768B + DISPLAY 'FLD0768B ==> ' HEX-OF (FLD0768B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0768B). + IF FLD0768E NOT EQUAL XPC-FLD0768E + DISPLAY 'FLD0768E ==> ' FLD0768E + DISPLAY 'EXPECTED ==> ' XPC-FLD0768E. + IF FLD0769B (1:) NOT EQUAL XPC-FLD0769B + DISPLAY 'FLD0769B ==> ' HEX-OF (FLD0769B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0769B). + IF FLD0769E NOT EQUAL XPC-FLD0769E + DISPLAY 'FLD0769E ==> ' FLD0769E + DISPLAY 'EXPECTED ==> ' XPC-FLD0769E. + IF FLD0770B (1:) NOT EQUAL XPC-FLD0770B + DISPLAY 'FLD0770B ==> ' HEX-OF (FLD0770B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0770B). + IF FLD0770E NOT EQUAL XPC-FLD0770E + DISPLAY 'FLD0770E ==> ' FLD0770E + DISPLAY 'EXPECTED ==> ' XPC-FLD0770E. + IF FLD0771B (1:) NOT EQUAL XPC-FLD0771B + DISPLAY 'FLD0771B ==> ' HEX-OF (FLD0771B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0771B). + IF FLD0771E NOT EQUAL XPC-FLD0771E + DISPLAY 'FLD0771E ==> ' FLD0771E + DISPLAY 'EXPECTED ==> ' XPC-FLD0771E. + IF FLD0772B (1:) NOT EQUAL XPC-FLD0772B + DISPLAY 'FLD0772B ==> ' HEX-OF (FLD0772B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0772B). + IF FLD0772E NOT EQUAL XPC-FLD0772E + DISPLAY 'FLD0772E ==> ' FLD0772E + DISPLAY 'EXPECTED ==> ' XPC-FLD0772E. + IF FLD0773B (1:) NOT EQUAL XPC-FLD0773B + DISPLAY 'FLD0773B ==> ' HEX-OF (FLD0773B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0773B). + IF FLD0773E NOT EQUAL XPC-FLD0773E + DISPLAY 'FLD0773E ==> ' FLD0773E + DISPLAY 'EXPECTED ==> ' XPC-FLD0773E. + IF FLD0774B (1:) NOT EQUAL XPC-FLD0774B + DISPLAY 'FLD0774B ==> ' HEX-OF (FLD0774B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0774B). + IF FLD0774E NOT EQUAL XPC-FLD0774E + DISPLAY 'FLD0774E ==> ' FLD0774E + DISPLAY 'EXPECTED ==> ' XPC-FLD0774E. + IF FLD0775B (1:) NOT EQUAL XPC-FLD0775B + DISPLAY 'FLD0775B ==> ' HEX-OF (FLD0775B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0775B). + IF FLD0775E NOT EQUAL XPC-FLD0775E + DISPLAY 'FLD0775E ==> ' FLD0775E + DISPLAY 'EXPECTED ==> ' XPC-FLD0775E. + IF FLD0776B (1:) NOT EQUAL XPC-FLD0776B + DISPLAY 'FLD0776B ==> ' HEX-OF (FLD0776B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0776B). + IF FLD0776E NOT EQUAL XPC-FLD0776E + DISPLAY 'FLD0776E ==> ' FLD0776E + DISPLAY 'EXPECTED ==> ' XPC-FLD0776E. + IF FLD0777B (1:) NOT EQUAL XPC-FLD0777B + DISPLAY 'FLD0777B ==> ' HEX-OF (FLD0777B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0777B). + IF FLD0777E NOT EQUAL XPC-FLD0777E + DISPLAY 'FLD0777E ==> ' FLD0777E + DISPLAY 'EXPECTED ==> ' XPC-FLD0777E. + IF FLD0778B (1:) NOT EQUAL XPC-FLD0778B + DISPLAY 'FLD0778B ==> ' HEX-OF (FLD0778B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0778B). + IF FLD0778E NOT EQUAL XPC-FLD0778E + DISPLAY 'FLD0778E ==> ' FLD0778E + DISPLAY 'EXPECTED ==> ' XPC-FLD0778E. + IF FLD0779B (1:) NOT EQUAL XPC-FLD0779B + DISPLAY 'FLD0779B ==> ' HEX-OF (FLD0779B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0779B). + IF FLD0779E NOT EQUAL XPC-FLD0779E + DISPLAY 'FLD0779E ==> ' FLD0779E + DISPLAY 'EXPECTED ==> ' XPC-FLD0779E. + IF FLD0780B (1:) NOT EQUAL XPC-FLD0780B + DISPLAY 'FLD0780B ==> ' HEX-OF (FLD0780B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0780B). + IF FLD0780E NOT EQUAL XPC-FLD0780E + DISPLAY 'FLD0780E ==> ' FLD0780E + DISPLAY 'EXPECTED ==> ' XPC-FLD0780E. + IF FLD0781B (1:) NOT EQUAL XPC-FLD0781B + DISPLAY 'FLD0781B ==> ' HEX-OF (FLD0781B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0781B). + IF FLD0781E NOT EQUAL XPC-FLD0781E + DISPLAY 'FLD0781E ==> ' FLD0781E + DISPLAY 'EXPECTED ==> ' XPC-FLD0781E. + IF FLD0782B (1:) NOT EQUAL XPC-FLD0782B + DISPLAY 'FLD0782B ==> ' HEX-OF (FLD0782B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0782B). + IF FLD0782E NOT EQUAL XPC-FLD0782E + DISPLAY 'FLD0782E ==> ' FLD0782E + DISPLAY 'EXPECTED ==> ' XPC-FLD0782E. + IF FLD0783B (1:) NOT EQUAL XPC-FLD0783B + DISPLAY 'FLD0783B ==> ' HEX-OF (FLD0783B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0783B). + IF FLD0783E NOT EQUAL XPC-FLD0783E + DISPLAY 'FLD0783E ==> ' FLD0783E + DISPLAY 'EXPECTED ==> ' XPC-FLD0783E. + IF FLD0784B (1:) NOT EQUAL XPC-FLD0784B + DISPLAY 'FLD0784B ==> ' HEX-OF (FLD0784B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0784B). + IF FLD0784E NOT EQUAL XPC-FLD0784E + DISPLAY 'FLD0784E ==> ' FLD0784E + DISPLAY 'EXPECTED ==> ' XPC-FLD0784E. + IF FLD0785B (1:) NOT EQUAL XPC-FLD0785B + DISPLAY 'FLD0785B ==> ' HEX-OF (FLD0785B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0785B). + IF FLD0785E NOT EQUAL XPC-FLD0785E + DISPLAY 'FLD0785E ==> ' FLD0785E + DISPLAY 'EXPECTED ==> ' XPC-FLD0785E. + IF FLD0786B (1:) NOT EQUAL XPC-FLD0786B + DISPLAY 'FLD0786B ==> ' HEX-OF (FLD0786B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0786B). + IF FLD0786E NOT EQUAL XPC-FLD0786E + DISPLAY 'FLD0786E ==> ' FLD0786E + DISPLAY 'EXPECTED ==> ' XPC-FLD0786E. + IF FLD0787B (1:) NOT EQUAL XPC-FLD0787B + DISPLAY 'FLD0787B ==> ' HEX-OF (FLD0787B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0787B). + IF FLD0787E NOT EQUAL XPC-FLD0787E + DISPLAY 'FLD0787E ==> ' FLD0787E + DISPLAY 'EXPECTED ==> ' XPC-FLD0787E. + IF FLD0788B (1:) NOT EQUAL XPC-FLD0788B + DISPLAY 'FLD0788B ==> ' HEX-OF (FLD0788B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0788B). + IF FLD0788E NOT EQUAL XPC-FLD0788E + DISPLAY 'FLD0788E ==> ' FLD0788E + DISPLAY 'EXPECTED ==> ' XPC-FLD0788E. + IF FLD0789B (1:) NOT EQUAL XPC-FLD0789B + DISPLAY 'FLD0789B ==> ' HEX-OF (FLD0789B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0789B). + IF FLD0789E NOT EQUAL XPC-FLD0789E + DISPLAY 'FLD0789E ==> ' FLD0789E + DISPLAY 'EXPECTED ==> ' XPC-FLD0789E. + IF FLD0790B (1:) NOT EQUAL XPC-FLD0790B + DISPLAY 'FLD0790B ==> ' HEX-OF (FLD0790B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0790B). + IF FLD0790E NOT EQUAL XPC-FLD0790E + DISPLAY 'FLD0790E ==> ' FLD0790E + DISPLAY 'EXPECTED ==> ' XPC-FLD0790E. + IF FLD0791B (1:) NOT EQUAL XPC-FLD0791B + DISPLAY 'FLD0791B ==> ' HEX-OF (FLD0791B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0791B). + IF FLD0791E NOT EQUAL XPC-FLD0791E + DISPLAY 'FLD0791E ==> ' FLD0791E + DISPLAY 'EXPECTED ==> ' XPC-FLD0791E. + IF FLD0792B (1:) NOT EQUAL XPC-FLD0792B + DISPLAY 'FLD0792B ==> ' HEX-OF (FLD0792B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0792B). + IF FLD0792E NOT EQUAL XPC-FLD0792E + DISPLAY 'FLD0792E ==> ' FLD0792E + DISPLAY 'EXPECTED ==> ' XPC-FLD0792E. + IF FLD0793B (1:) NOT EQUAL XPC-FLD0793B + DISPLAY 'FLD0793B ==> ' HEX-OF (FLD0793B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0793B). + IF FLD0793E NOT EQUAL XPC-FLD0793E + DISPLAY 'FLD0793E ==> ' FLD0793E + DISPLAY 'EXPECTED ==> ' XPC-FLD0793E. + IF FLD0794B (1:) NOT EQUAL XPC-FLD0794B + DISPLAY 'FLD0794B ==> ' HEX-OF (FLD0794B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0794B). + IF FLD0794E NOT EQUAL XPC-FLD0794E + DISPLAY 'FLD0794E ==> ' FLD0794E + DISPLAY 'EXPECTED ==> ' XPC-FLD0794E. + IF FLD0795B (1:) NOT EQUAL XPC-FLD0795B + DISPLAY 'FLD0795B ==> ' HEX-OF (FLD0795B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0795B). + IF FLD0795E NOT EQUAL XPC-FLD0795E + DISPLAY 'FLD0795E ==> ' FLD0795E + DISPLAY 'EXPECTED ==> ' XPC-FLD0795E. + IF FLD0796B (1:) NOT EQUAL XPC-FLD0796B + DISPLAY 'FLD0796B ==> ' HEX-OF (FLD0796B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0796B). + IF FLD0796E NOT EQUAL XPC-FLD0796E + DISPLAY 'FLD0796E ==> ' FLD0796E + DISPLAY 'EXPECTED ==> ' XPC-FLD0796E. + IF FLD0797B (1:) NOT EQUAL XPC-FLD0797B + DISPLAY 'FLD0797B ==> ' HEX-OF (FLD0797B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0797B). + IF FLD0797E NOT EQUAL XPC-FLD0797E + DISPLAY 'FLD0797E ==> ' FLD0797E + DISPLAY 'EXPECTED ==> ' XPC-FLD0797E. + IF FLD0798B (1:) NOT EQUAL XPC-FLD0798B + DISPLAY 'FLD0798B ==> ' HEX-OF (FLD0798B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0798B). + IF FLD0798E NOT EQUAL XPC-FLD0798E + DISPLAY 'FLD0798E ==> ' FLD0798E + DISPLAY 'EXPECTED ==> ' XPC-FLD0798E. + IF FLD0799B (1:) NOT EQUAL XPC-FLD0799B + DISPLAY 'FLD0799B ==> ' HEX-OF (FLD0799B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0799B). + IF FLD0799E NOT EQUAL XPC-FLD0799E + DISPLAY 'FLD0799E ==> ' FLD0799E + DISPLAY 'EXPECTED ==> ' XPC-FLD0799E. + IF FLD0800B (1:) NOT EQUAL XPC-FLD0800B + DISPLAY 'FLD0800B ==> ' HEX-OF (FLD0800B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0800B). + IF FLD0800E NOT EQUAL XPC-FLD0800E + DISPLAY 'FLD0800E ==> ' FLD0800E + DISPLAY 'EXPECTED ==> ' XPC-FLD0800E. + IF FLD0801B (1:) NOT EQUAL XPC-FLD0801B + DISPLAY 'FLD0801B ==> ' HEX-OF (FLD0801B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0801B). + IF FLD0801E NOT EQUAL XPC-FLD0801E + DISPLAY 'FLD0801E ==> ' FLD0801E + DISPLAY 'EXPECTED ==> ' XPC-FLD0801E. + IF FLD0802B (1:) NOT EQUAL XPC-FLD0802B + DISPLAY 'FLD0802B ==> ' HEX-OF (FLD0802B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0802B). + IF FLD0802E NOT EQUAL XPC-FLD0802E + DISPLAY 'FLD0802E ==> ' FLD0802E + DISPLAY 'EXPECTED ==> ' XPC-FLD0802E. + IF FLD0803B (1:) NOT EQUAL XPC-FLD0803B + DISPLAY 'FLD0803B ==> ' HEX-OF (FLD0803B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0803B). + IF FLD0803E NOT EQUAL XPC-FLD0803E + DISPLAY 'FLD0803E ==> ' FLD0803E + DISPLAY 'EXPECTED ==> ' XPC-FLD0803E. + IF FLD0804B (1:) NOT EQUAL XPC-FLD0804B + DISPLAY 'FLD0804B ==> ' HEX-OF (FLD0804B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0804B). + IF FLD0804E NOT EQUAL XPC-FLD0804E + DISPLAY 'FLD0804E ==> ' FLD0804E + DISPLAY 'EXPECTED ==> ' XPC-FLD0804E. + IF FLD0805B (1:) NOT EQUAL XPC-FLD0805B + DISPLAY 'FLD0805B ==> ' HEX-OF (FLD0805B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0805B). + IF FLD0805E NOT EQUAL XPC-FLD0805E + DISPLAY 'FLD0805E ==> ' FLD0805E + DISPLAY 'EXPECTED ==> ' XPC-FLD0805E. + IF FLD0806B (1:) NOT EQUAL XPC-FLD0806B + DISPLAY 'FLD0806B ==> ' HEX-OF (FLD0806B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0806B). + IF FLD0806E NOT EQUAL XPC-FLD0806E + DISPLAY 'FLD0806E ==> ' FLD0806E + DISPLAY 'EXPECTED ==> ' XPC-FLD0806E. + IF FLD0807B (1:) NOT EQUAL XPC-FLD0807B + DISPLAY 'FLD0807B ==> ' HEX-OF (FLD0807B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0807B). + IF FLD0807E NOT EQUAL XPC-FLD0807E + DISPLAY 'FLD0807E ==> ' FLD0807E + DISPLAY 'EXPECTED ==> ' XPC-FLD0807E. + IF FLD0808B (1:) NOT EQUAL XPC-FLD0808B + DISPLAY 'FLD0808B ==> ' HEX-OF (FLD0808B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0808B). + IF FLD0808E NOT EQUAL XPC-FLD0808E + DISPLAY 'FLD0808E ==> ' FLD0808E + DISPLAY 'EXPECTED ==> ' XPC-FLD0808E. + IF FLD0809B (1:) NOT EQUAL XPC-FLD0809B + DISPLAY 'FLD0809B ==> ' HEX-OF (FLD0809B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0809B). + IF FLD0809E NOT EQUAL XPC-FLD0809E + DISPLAY 'FLD0809E ==> ' FLD0809E + DISPLAY 'EXPECTED ==> ' XPC-FLD0809E. + IF FLD0810B (1:) NOT EQUAL XPC-FLD0810B + DISPLAY 'FLD0810B ==> ' HEX-OF (FLD0810B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0810B). + IF FLD0810E NOT EQUAL XPC-FLD0810E + DISPLAY 'FLD0810E ==> ' FLD0810E + DISPLAY 'EXPECTED ==> ' XPC-FLD0810E. + IF FLD0811B (1:) NOT EQUAL XPC-FLD0811B + DISPLAY 'FLD0811B ==> ' HEX-OF (FLD0811B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0811B). + IF FLD0811E NOT EQUAL XPC-FLD0811E + DISPLAY 'FLD0811E ==> ' FLD0811E + DISPLAY 'EXPECTED ==> ' XPC-FLD0811E. + IF FLD0812B (1:) NOT EQUAL XPC-FLD0812B + DISPLAY 'FLD0812B ==> ' HEX-OF (FLD0812B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0812B). + IF FLD0812E NOT EQUAL XPC-FLD0812E + DISPLAY 'FLD0812E ==> ' FLD0812E + DISPLAY 'EXPECTED ==> ' XPC-FLD0812E. + IF FLD0813B (1:) NOT EQUAL XPC-FLD0813B + DISPLAY 'FLD0813B ==> ' HEX-OF (FLD0813B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0813B). + IF FLD0813E NOT EQUAL XPC-FLD0813E + DISPLAY 'FLD0813E ==> ' FLD0813E + DISPLAY 'EXPECTED ==> ' XPC-FLD0813E. + IF FLD0814B (1:) NOT EQUAL XPC-FLD0814B + DISPLAY 'FLD0814B ==> ' HEX-OF (FLD0814B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0814B). + IF FLD0814E NOT EQUAL XPC-FLD0814E + DISPLAY 'FLD0814E ==> ' FLD0814E + DISPLAY 'EXPECTED ==> ' XPC-FLD0814E. + IF FLD0815B (1:) NOT EQUAL XPC-FLD0815B + DISPLAY 'FLD0815B ==> ' HEX-OF (FLD0815B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0815B). + IF FLD0815E NOT EQUAL XPC-FLD0815E + DISPLAY 'FLD0815E ==> ' FLD0815E + DISPLAY 'EXPECTED ==> ' XPC-FLD0815E. + IF FLD0816B (1:) NOT EQUAL XPC-FLD0816B + DISPLAY 'FLD0816B ==> ' HEX-OF (FLD0816B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0816B). + IF FLD0816E NOT EQUAL XPC-FLD0816E + DISPLAY 'FLD0816E ==> ' FLD0816E + DISPLAY 'EXPECTED ==> ' XPC-FLD0816E. + IF FLD0817B (1:) NOT EQUAL XPC-FLD0817B + DISPLAY 'FLD0817B ==> ' HEX-OF (FLD0817B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0817B). + IF FLD0817E NOT EQUAL XPC-FLD0817E + DISPLAY 'FLD0817E ==> ' FLD0817E + DISPLAY 'EXPECTED ==> ' XPC-FLD0817E. + IF FLD0818B (1:) NOT EQUAL XPC-FLD0818B + DISPLAY 'FLD0818B ==> ' HEX-OF (FLD0818B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0818B). + IF FLD0818E NOT EQUAL XPC-FLD0818E + DISPLAY 'FLD0818E ==> ' FLD0818E + DISPLAY 'EXPECTED ==> ' XPC-FLD0818E. + IF FLD0819B (1:) NOT EQUAL XPC-FLD0819B + DISPLAY 'FLD0819B ==> ' HEX-OF (FLD0819B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0819B). + IF FLD0819E NOT EQUAL XPC-FLD0819E + DISPLAY 'FLD0819E ==> ' FLD0819E + DISPLAY 'EXPECTED ==> ' XPC-FLD0819E. + IF FLD0820B (1:) NOT EQUAL XPC-FLD0820B + DISPLAY 'FLD0820B ==> ' HEX-OF (FLD0820B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0820B). + IF FLD0820E NOT EQUAL XPC-FLD0820E + DISPLAY 'FLD0820E ==> ' FLD0820E + DISPLAY 'EXPECTED ==> ' XPC-FLD0820E. + IF FLD0821B (1:) NOT EQUAL XPC-FLD0821B + DISPLAY 'FLD0821B ==> ' HEX-OF (FLD0821B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0821B). + IF FLD0821E NOT EQUAL XPC-FLD0821E + DISPLAY 'FLD0821E ==> ' FLD0821E + DISPLAY 'EXPECTED ==> ' XPC-FLD0821E. + IF FLD0822B (1:) NOT EQUAL XPC-FLD0822B + DISPLAY 'FLD0822B ==> ' HEX-OF (FLD0822B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0822B). + IF FLD0822E NOT EQUAL XPC-FLD0822E + DISPLAY 'FLD0822E ==> ' FLD0822E + DISPLAY 'EXPECTED ==> ' XPC-FLD0822E. + IF FLD0823B (1:) NOT EQUAL XPC-FLD0823B + DISPLAY 'FLD0823B ==> ' HEX-OF (FLD0823B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0823B). + IF FLD0823E NOT EQUAL XPC-FLD0823E + DISPLAY 'FLD0823E ==> ' FLD0823E + DISPLAY 'EXPECTED ==> ' XPC-FLD0823E. + IF FLD0824B (1:) NOT EQUAL XPC-FLD0824B + DISPLAY 'FLD0824B ==> ' HEX-OF (FLD0824B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0824B). + IF FLD0824E NOT EQUAL XPC-FLD0824E + DISPLAY 'FLD0824E ==> ' FLD0824E + DISPLAY 'EXPECTED ==> ' XPC-FLD0824E. + IF FLD0825B (1:) NOT EQUAL XPC-FLD0825B + DISPLAY 'FLD0825B ==> ' HEX-OF (FLD0825B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0825B). + IF FLD0825E NOT EQUAL XPC-FLD0825E + DISPLAY 'FLD0825E ==> ' FLD0825E + DISPLAY 'EXPECTED ==> ' XPC-FLD0825E. + IF FLD0826B (1:) NOT EQUAL XPC-FLD0826B + DISPLAY 'FLD0826B ==> ' HEX-OF (FLD0826B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0826B). + IF FLD0826E NOT EQUAL XPC-FLD0826E + DISPLAY 'FLD0826E ==> ' FLD0826E + DISPLAY 'EXPECTED ==> ' XPC-FLD0826E. + IF FLD0827B (1:) NOT EQUAL XPC-FLD0827B + DISPLAY 'FLD0827B ==> ' HEX-OF (FLD0827B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0827B). + IF FLD0827E NOT EQUAL XPC-FLD0827E + DISPLAY 'FLD0827E ==> ' FLD0827E + DISPLAY 'EXPECTED ==> ' XPC-FLD0827E. + IF FLD0828B (1:) NOT EQUAL XPC-FLD0828B + DISPLAY 'FLD0828B ==> ' HEX-OF (FLD0828B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0828B). + IF FLD0828E NOT EQUAL XPC-FLD0828E + DISPLAY 'FLD0828E ==> ' FLD0828E + DISPLAY 'EXPECTED ==> ' XPC-FLD0828E. + IF FLD0829B (1:) NOT EQUAL XPC-FLD0829B + DISPLAY 'FLD0829B ==> ' HEX-OF (FLD0829B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0829B). + IF FLD0829E NOT EQUAL XPC-FLD0829E + DISPLAY 'FLD0829E ==> ' FLD0829E + DISPLAY 'EXPECTED ==> ' XPC-FLD0829E. + IF FLD0830B (1:) NOT EQUAL XPC-FLD0830B + DISPLAY 'FLD0830B ==> ' HEX-OF (FLD0830B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0830B). + IF FLD0830E NOT EQUAL XPC-FLD0830E + DISPLAY 'FLD0830E ==> ' FLD0830E + DISPLAY 'EXPECTED ==> ' XPC-FLD0830E. + IF FLD0831B (1:) NOT EQUAL XPC-FLD0831B + DISPLAY 'FLD0831B ==> ' HEX-OF (FLD0831B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0831B). + IF FLD0831E NOT EQUAL XPC-FLD0831E + DISPLAY 'FLD0831E ==> ' FLD0831E + DISPLAY 'EXPECTED ==> ' XPC-FLD0831E. + IF FLD0832B (1:) NOT EQUAL XPC-FLD0832B + DISPLAY 'FLD0832B ==> ' HEX-OF (FLD0832B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0832B). + IF FLD0832E NOT EQUAL XPC-FLD0832E + DISPLAY 'FLD0832E ==> ' FLD0832E + DISPLAY 'EXPECTED ==> ' XPC-FLD0832E. + IF FLD0833B (1:) NOT EQUAL XPC-FLD0833B + DISPLAY 'FLD0833B ==> ' HEX-OF (FLD0833B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0833B). + IF FLD0833E NOT EQUAL XPC-FLD0833E + DISPLAY 'FLD0833E ==> ' FLD0833E + DISPLAY 'EXPECTED ==> ' XPC-FLD0833E. + IF FLD0834B (1:) NOT EQUAL XPC-FLD0834B + DISPLAY 'FLD0834B ==> ' HEX-OF (FLD0834B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0834B). + IF FLD0834E NOT EQUAL XPC-FLD0834E + DISPLAY 'FLD0834E ==> ' FLD0834E + DISPLAY 'EXPECTED ==> ' XPC-FLD0834E. + IF FLD0835B (1:) NOT EQUAL XPC-FLD0835B + DISPLAY 'FLD0835B ==> ' HEX-OF (FLD0835B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0835B). + IF FLD0835E NOT EQUAL XPC-FLD0835E + DISPLAY 'FLD0835E ==> ' FLD0835E + DISPLAY 'EXPECTED ==> ' XPC-FLD0835E. + IF FLD0836B (1:) NOT EQUAL XPC-FLD0836B + DISPLAY 'FLD0836B ==> ' HEX-OF (FLD0836B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0836B). + IF FLD0836E NOT EQUAL XPC-FLD0836E + DISPLAY 'FLD0836E ==> ' FLD0836E + DISPLAY 'EXPECTED ==> ' XPC-FLD0836E. + IF FLD0837B (1:) NOT EQUAL XPC-FLD0837B + DISPLAY 'FLD0837B ==> ' HEX-OF (FLD0837B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0837B). + IF FLD0837E NOT EQUAL XPC-FLD0837E + DISPLAY 'FLD0837E ==> ' FLD0837E + DISPLAY 'EXPECTED ==> ' XPC-FLD0837E. + IF FLD0838B (1:) NOT EQUAL XPC-FLD0838B + DISPLAY 'FLD0838B ==> ' HEX-OF (FLD0838B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0838B). + IF FLD0838E NOT EQUAL XPC-FLD0838E + DISPLAY 'FLD0838E ==> ' FLD0838E + DISPLAY 'EXPECTED ==> ' XPC-FLD0838E. + IF FLD0839B (1:) NOT EQUAL XPC-FLD0839B + DISPLAY 'FLD0839B ==> ' HEX-OF (FLD0839B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0839B). + IF FLD0839E NOT EQUAL XPC-FLD0839E + DISPLAY 'FLD0839E ==> ' FLD0839E + DISPLAY 'EXPECTED ==> ' XPC-FLD0839E. + IF FLD0840B (1:) NOT EQUAL XPC-FLD0840B + DISPLAY 'FLD0840B ==> ' HEX-OF (FLD0840B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0840B). + IF FLD0840E NOT EQUAL XPC-FLD0840E + DISPLAY 'FLD0840E ==> ' FLD0840E + DISPLAY 'EXPECTED ==> ' XPC-FLD0840E. + IF FLD0841B (1:) NOT EQUAL XPC-FLD0841B + DISPLAY 'FLD0841B ==> ' HEX-OF (FLD0841B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0841B). + IF FLD0841E NOT EQUAL XPC-FLD0841E + DISPLAY 'FLD0841E ==> ' FLD0841E + DISPLAY 'EXPECTED ==> ' XPC-FLD0841E. + IF FLD0842B (1:) NOT EQUAL XPC-FLD0842B + DISPLAY 'FLD0842B ==> ' HEX-OF (FLD0842B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0842B). + IF FLD0842E NOT EQUAL XPC-FLD0842E + DISPLAY 'FLD0842E ==> ' FLD0842E + DISPLAY 'EXPECTED ==> ' XPC-FLD0842E. + IF FLD0843B (1:) NOT EQUAL XPC-FLD0843B + DISPLAY 'FLD0843B ==> ' HEX-OF (FLD0843B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0843B). + IF FLD0843E NOT EQUAL XPC-FLD0843E + DISPLAY 'FLD0843E ==> ' FLD0843E + DISPLAY 'EXPECTED ==> ' XPC-FLD0843E. + IF FLD0844B (1:) NOT EQUAL XPC-FLD0844B + DISPLAY 'FLD0844B ==> ' HEX-OF (FLD0844B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0844B). + IF FLD0844E NOT EQUAL XPC-FLD0844E + DISPLAY 'FLD0844E ==> ' FLD0844E + DISPLAY 'EXPECTED ==> ' XPC-FLD0844E. + IF FLD0845B (1:) NOT EQUAL XPC-FLD0845B + DISPLAY 'FLD0845B ==> ' HEX-OF (FLD0845B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0845B). + IF FLD0845E NOT EQUAL XPC-FLD0845E + DISPLAY 'FLD0845E ==> ' FLD0845E + DISPLAY 'EXPECTED ==> ' XPC-FLD0845E. + IF FLD0846B (1:) NOT EQUAL XPC-FLD0846B + DISPLAY 'FLD0846B ==> ' HEX-OF (FLD0846B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0846B). + IF FLD0846E NOT EQUAL XPC-FLD0846E + DISPLAY 'FLD0846E ==> ' FLD0846E + DISPLAY 'EXPECTED ==> ' XPC-FLD0846E. + IF FLD0847B (1:) NOT EQUAL XPC-FLD0847B + DISPLAY 'FLD0847B ==> ' HEX-OF (FLD0847B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0847B). + IF FLD0847E NOT EQUAL XPC-FLD0847E + DISPLAY 'FLD0847E ==> ' FLD0847E + DISPLAY 'EXPECTED ==> ' XPC-FLD0847E. + IF FLD0848B (1:) NOT EQUAL XPC-FLD0848B + DISPLAY 'FLD0848B ==> ' HEX-OF (FLD0848B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0848B). + IF FLD0848E NOT EQUAL XPC-FLD0848E + DISPLAY 'FLD0848E ==> ' FLD0848E + DISPLAY 'EXPECTED ==> ' XPC-FLD0848E. + IF FLD0849B (1:) NOT EQUAL XPC-FLD0849B + DISPLAY 'FLD0849B ==> ' HEX-OF (FLD0849B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0849B). + IF FLD0849E NOT EQUAL XPC-FLD0849E + DISPLAY 'FLD0849E ==> ' FLD0849E + DISPLAY 'EXPECTED ==> ' XPC-FLD0849E. + IF FLD0850B (1:) NOT EQUAL XPC-FLD0850B + DISPLAY 'FLD0850B ==> ' HEX-OF (FLD0850B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0850B). + IF FLD0850E NOT EQUAL XPC-FLD0850E + DISPLAY 'FLD0850E ==> ' FLD0850E + DISPLAY 'EXPECTED ==> ' XPC-FLD0850E. + IF FLD0851B (1:) NOT EQUAL XPC-FLD0851B + DISPLAY 'FLD0851B ==> ' HEX-OF (FLD0851B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0851B). + IF FLD0851E NOT EQUAL XPC-FLD0851E + DISPLAY 'FLD0851E ==> ' FLD0851E + DISPLAY 'EXPECTED ==> ' XPC-FLD0851E. + IF FLD0852B (1:) NOT EQUAL XPC-FLD0852B + DISPLAY 'FLD0852B ==> ' HEX-OF (FLD0852B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0852B). + IF FLD0852E NOT EQUAL XPC-FLD0852E + DISPLAY 'FLD0852E ==> ' FLD0852E + DISPLAY 'EXPECTED ==> ' XPC-FLD0852E. + IF FLD0853B (1:) NOT EQUAL XPC-FLD0853B + DISPLAY 'FLD0853B ==> ' HEX-OF (FLD0853B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0853B). + IF FLD0853E NOT EQUAL XPC-FLD0853E + DISPLAY 'FLD0853E ==> ' FLD0853E + DISPLAY 'EXPECTED ==> ' XPC-FLD0853E. + IF FLD0854B (1:) NOT EQUAL XPC-FLD0854B + DISPLAY 'FLD0854B ==> ' HEX-OF (FLD0854B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0854B). + IF FLD0854E NOT EQUAL XPC-FLD0854E + DISPLAY 'FLD0854E ==> ' FLD0854E + DISPLAY 'EXPECTED ==> ' XPC-FLD0854E. + IF FLD0855B (1:) NOT EQUAL XPC-FLD0855B + DISPLAY 'FLD0855B ==> ' HEX-OF (FLD0855B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0855B). + IF FLD0855E NOT EQUAL XPC-FLD0855E + DISPLAY 'FLD0855E ==> ' FLD0855E + DISPLAY 'EXPECTED ==> ' XPC-FLD0855E. + IF FLD0856B (1:) NOT EQUAL XPC-FLD0856B + DISPLAY 'FLD0856B ==> ' HEX-OF (FLD0856B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0856B). + IF FLD0856E NOT EQUAL XPC-FLD0856E + DISPLAY 'FLD0856E ==> ' FLD0856E + DISPLAY 'EXPECTED ==> ' XPC-FLD0856E. + IF FLD0857B (1:) NOT EQUAL XPC-FLD0857B + DISPLAY 'FLD0857B ==> ' HEX-OF (FLD0857B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0857B). + IF FLD0857E NOT EQUAL XPC-FLD0857E + DISPLAY 'FLD0857E ==> ' FLD0857E + DISPLAY 'EXPECTED ==> ' XPC-FLD0857E. + IF FLD0858B (1:) NOT EQUAL XPC-FLD0858B + DISPLAY 'FLD0858B ==> ' HEX-OF (FLD0858B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0858B). + IF FLD0858E NOT EQUAL XPC-FLD0858E + DISPLAY 'FLD0858E ==> ' FLD0858E + DISPLAY 'EXPECTED ==> ' XPC-FLD0858E. + IF FLD0859B (1:) NOT EQUAL XPC-FLD0859B + DISPLAY 'FLD0859B ==> ' HEX-OF (FLD0859B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0859B). + IF FLD0859E NOT EQUAL XPC-FLD0859E + DISPLAY 'FLD0859E ==> ' FLD0859E + DISPLAY 'EXPECTED ==> ' XPC-FLD0859E. + IF FLD0860B (1:) NOT EQUAL XPC-FLD0860B + DISPLAY 'FLD0860B ==> ' HEX-OF (FLD0860B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0860B). + IF FLD0860E NOT EQUAL XPC-FLD0860E + DISPLAY 'FLD0860E ==> ' FLD0860E + DISPLAY 'EXPECTED ==> ' XPC-FLD0860E. + IF FLD0861B (1:) NOT EQUAL XPC-FLD0861B + DISPLAY 'FLD0861B ==> ' HEX-OF (FLD0861B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0861B). + IF FLD0861E NOT EQUAL XPC-FLD0861E + DISPLAY 'FLD0861E ==> ' FLD0861E + DISPLAY 'EXPECTED ==> ' XPC-FLD0861E. + IF FLD0862B (1:) NOT EQUAL XPC-FLD0862B + DISPLAY 'FLD0862B ==> ' HEX-OF (FLD0862B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0862B). + IF FLD0862E NOT EQUAL XPC-FLD0862E + DISPLAY 'FLD0862E ==> ' FLD0862E + DISPLAY 'EXPECTED ==> ' XPC-FLD0862E. + IF FLD0863B (1:) NOT EQUAL XPC-FLD0863B + DISPLAY 'FLD0863B ==> ' HEX-OF (FLD0863B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0863B). + IF FLD0863E NOT EQUAL XPC-FLD0863E + DISPLAY 'FLD0863E ==> ' FLD0863E + DISPLAY 'EXPECTED ==> ' XPC-FLD0863E. + IF FLD0864B (1:) NOT EQUAL XPC-FLD0864B + DISPLAY 'FLD0864B ==> ' HEX-OF (FLD0864B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0864B). + IF FLD0864E NOT EQUAL XPC-FLD0864E + DISPLAY 'FLD0864E ==> ' FLD0864E + DISPLAY 'EXPECTED ==> ' XPC-FLD0864E. + IF FLD0865B (1:) NOT EQUAL XPC-FLD0865B + DISPLAY 'FLD0865B ==> ' HEX-OF (FLD0865B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0865B). + IF FLD0865E NOT EQUAL XPC-FLD0865E + DISPLAY 'FLD0865E ==> ' FLD0865E + DISPLAY 'EXPECTED ==> ' XPC-FLD0865E. + IF FLD0866B (1:) NOT EQUAL XPC-FLD0866B + DISPLAY 'FLD0866B ==> ' HEX-OF (FLD0866B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0866B). + IF FLD0866E NOT EQUAL XPC-FLD0866E + DISPLAY 'FLD0866E ==> ' FLD0866E + DISPLAY 'EXPECTED ==> ' XPC-FLD0866E. + IF FLD0867B (1:) NOT EQUAL XPC-FLD0867B + DISPLAY 'FLD0867B ==> ' HEX-OF (FLD0867B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0867B). + IF FLD0867E NOT EQUAL XPC-FLD0867E + DISPLAY 'FLD0867E ==> ' FLD0867E + DISPLAY 'EXPECTED ==> ' XPC-FLD0867E. + IF FLD0868B (1:) NOT EQUAL XPC-FLD0868B + DISPLAY 'FLD0868B ==> ' HEX-OF (FLD0868B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0868B). + IF FLD0868E NOT EQUAL XPC-FLD0868E + DISPLAY 'FLD0868E ==> ' FLD0868E + DISPLAY 'EXPECTED ==> ' XPC-FLD0868E. + IF FLD0869B (1:) NOT EQUAL XPC-FLD0869B + DISPLAY 'FLD0869B ==> ' HEX-OF (FLD0869B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0869B). + IF FLD0869E NOT EQUAL XPC-FLD0869E + DISPLAY 'FLD0869E ==> ' FLD0869E + DISPLAY 'EXPECTED ==> ' XPC-FLD0869E. + IF FLD0870B (1:) NOT EQUAL XPC-FLD0870B + DISPLAY 'FLD0870B ==> ' HEX-OF (FLD0870B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0870B). + IF FLD0870E NOT EQUAL XPC-FLD0870E + DISPLAY 'FLD0870E ==> ' FLD0870E + DISPLAY 'EXPECTED ==> ' XPC-FLD0870E. + IF FLD0871B (1:) NOT EQUAL XPC-FLD0871B + DISPLAY 'FLD0871B ==> ' HEX-OF (FLD0871B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0871B). + IF FLD0871E NOT EQUAL XPC-FLD0871E + DISPLAY 'FLD0871E ==> ' FLD0871E + DISPLAY 'EXPECTED ==> ' XPC-FLD0871E. + IF FLD0872B (1:) NOT EQUAL XPC-FLD0872B + DISPLAY 'FLD0872B ==> ' HEX-OF (FLD0872B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0872B). + IF FLD0872E NOT EQUAL XPC-FLD0872E + DISPLAY 'FLD0872E ==> ' FLD0872E + DISPLAY 'EXPECTED ==> ' XPC-FLD0872E. + IF FLD0873B (1:) NOT EQUAL XPC-FLD0873B + DISPLAY 'FLD0873B ==> ' HEX-OF (FLD0873B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0873B). + IF FLD0873E NOT EQUAL XPC-FLD0873E + DISPLAY 'FLD0873E ==> ' FLD0873E + DISPLAY 'EXPECTED ==> ' XPC-FLD0873E. + IF FLD0874B (1:) NOT EQUAL XPC-FLD0874B + DISPLAY 'FLD0874B ==> ' HEX-OF (FLD0874B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0874B). + IF FLD0874E NOT EQUAL XPC-FLD0874E + DISPLAY 'FLD0874E ==> ' FLD0874E + DISPLAY 'EXPECTED ==> ' XPC-FLD0874E. + IF FLD0875B (1:) NOT EQUAL XPC-FLD0875B + DISPLAY 'FLD0875B ==> ' HEX-OF (FLD0875B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0875B). + IF FLD0875E NOT EQUAL XPC-FLD0875E + DISPLAY 'FLD0875E ==> ' FLD0875E + DISPLAY 'EXPECTED ==> ' XPC-FLD0875E. + IF FLD0876B (1:) NOT EQUAL XPC-FLD0876B + DISPLAY 'FLD0876B ==> ' HEX-OF (FLD0876B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0876B). + IF FLD0876E NOT EQUAL XPC-FLD0876E + DISPLAY 'FLD0876E ==> ' FLD0876E + DISPLAY 'EXPECTED ==> ' XPC-FLD0876E. + IF FLD0877B (1:) NOT EQUAL XPC-FLD0877B + DISPLAY 'FLD0877B ==> ' HEX-OF (FLD0877B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0877B). + IF FLD0877E NOT EQUAL XPC-FLD0877E + DISPLAY 'FLD0877E ==> ' FLD0877E + DISPLAY 'EXPECTED ==> ' XPC-FLD0877E. + IF FLD0878B (1:) NOT EQUAL XPC-FLD0878B + DISPLAY 'FLD0878B ==> ' HEX-OF (FLD0878B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0878B). + IF FLD0878E NOT EQUAL XPC-FLD0878E + DISPLAY 'FLD0878E ==> ' FLD0878E + DISPLAY 'EXPECTED ==> ' XPC-FLD0878E. + IF FLD0879B (1:) NOT EQUAL XPC-FLD0879B + DISPLAY 'FLD0879B ==> ' HEX-OF (FLD0879B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0879B). + IF FLD0879E NOT EQUAL XPC-FLD0879E + DISPLAY 'FLD0879E ==> ' FLD0879E + DISPLAY 'EXPECTED ==> ' XPC-FLD0879E. + IF FLD0880B (1:) NOT EQUAL XPC-FLD0880B + DISPLAY 'FLD0880B ==> ' HEX-OF (FLD0880B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0880B). + IF FLD0880E NOT EQUAL XPC-FLD0880E + DISPLAY 'FLD0880E ==> ' FLD0880E + DISPLAY 'EXPECTED ==> ' XPC-FLD0880E. + IF FLD0881B (1:) NOT EQUAL XPC-FLD0881B + DISPLAY 'FLD0881B ==> ' HEX-OF (FLD0881B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0881B). + IF FLD0881E NOT EQUAL XPC-FLD0881E + DISPLAY 'FLD0881E ==> ' FLD0881E + DISPLAY 'EXPECTED ==> ' XPC-FLD0881E. + IF FLD0882B (1:) NOT EQUAL XPC-FLD0882B + DISPLAY 'FLD0882B ==> ' HEX-OF (FLD0882B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0882B). + IF FLD0882E NOT EQUAL XPC-FLD0882E + DISPLAY 'FLD0882E ==> ' FLD0882E + DISPLAY 'EXPECTED ==> ' XPC-FLD0882E. + IF FLD0883B (1:) NOT EQUAL XPC-FLD0883B + DISPLAY 'FLD0883B ==> ' HEX-OF (FLD0883B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0883B). + IF FLD0883E NOT EQUAL XPC-FLD0883E + DISPLAY 'FLD0883E ==> ' FLD0883E + DISPLAY 'EXPECTED ==> ' XPC-FLD0883E. + IF FLD0884B (1:) NOT EQUAL XPC-FLD0884B + DISPLAY 'FLD0884B ==> ' HEX-OF (FLD0884B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0884B). + IF FLD0884E NOT EQUAL XPC-FLD0884E + DISPLAY 'FLD0884E ==> ' FLD0884E + DISPLAY 'EXPECTED ==> ' XPC-FLD0884E. + IF FLD0885B (1:) NOT EQUAL XPC-FLD0885B + DISPLAY 'FLD0885B ==> ' HEX-OF (FLD0885B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0885B). + IF FLD0885E NOT EQUAL XPC-FLD0885E + DISPLAY 'FLD0885E ==> ' FLD0885E + DISPLAY 'EXPECTED ==> ' XPC-FLD0885E. + IF FLD0886B (1:) NOT EQUAL XPC-FLD0886B + DISPLAY 'FLD0886B ==> ' HEX-OF (FLD0886B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0886B). + IF FLD0886E NOT EQUAL XPC-FLD0886E + DISPLAY 'FLD0886E ==> ' FLD0886E + DISPLAY 'EXPECTED ==> ' XPC-FLD0886E. + IF FLD0887B (1:) NOT EQUAL XPC-FLD0887B + DISPLAY 'FLD0887B ==> ' HEX-OF (FLD0887B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0887B). + IF FLD0887E NOT EQUAL XPC-FLD0887E + DISPLAY 'FLD0887E ==> ' FLD0887E + DISPLAY 'EXPECTED ==> ' XPC-FLD0887E. + IF FLD0888B (1:) NOT EQUAL XPC-FLD0888B + DISPLAY 'FLD0888B ==> ' HEX-OF (FLD0888B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0888B). + IF FLD0888E NOT EQUAL XPC-FLD0888E + DISPLAY 'FLD0888E ==> ' FLD0888E + DISPLAY 'EXPECTED ==> ' XPC-FLD0888E. + IF FLD0889B (1:) NOT EQUAL XPC-FLD0889B + DISPLAY 'FLD0889B ==> ' HEX-OF (FLD0889B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0889B). + IF FLD0889E NOT EQUAL XPC-FLD0889E + DISPLAY 'FLD0889E ==> ' FLD0889E + DISPLAY 'EXPECTED ==> ' XPC-FLD0889E. + IF FLD0890B (1:) NOT EQUAL XPC-FLD0890B + DISPLAY 'FLD0890B ==> ' HEX-OF (FLD0890B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0890B). + IF FLD0890E NOT EQUAL XPC-FLD0890E + DISPLAY 'FLD0890E ==> ' FLD0890E + DISPLAY 'EXPECTED ==> ' XPC-FLD0890E. + IF FLD0891B (1:) NOT EQUAL XPC-FLD0891B + DISPLAY 'FLD0891B ==> ' HEX-OF (FLD0891B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0891B). + IF FLD0891E NOT EQUAL XPC-FLD0891E + DISPLAY 'FLD0891E ==> ' FLD0891E + DISPLAY 'EXPECTED ==> ' XPC-FLD0891E. + IF FLD0892B (1:) NOT EQUAL XPC-FLD0892B + DISPLAY 'FLD0892B ==> ' HEX-OF (FLD0892B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0892B). + IF FLD0892E NOT EQUAL XPC-FLD0892E + DISPLAY 'FLD0892E ==> ' FLD0892E + DISPLAY 'EXPECTED ==> ' XPC-FLD0892E. + IF FLD0893B (1:) NOT EQUAL XPC-FLD0893B + DISPLAY 'FLD0893B ==> ' HEX-OF (FLD0893B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0893B). + IF FLD0893E NOT EQUAL XPC-FLD0893E + DISPLAY 'FLD0893E ==> ' FLD0893E + DISPLAY 'EXPECTED ==> ' XPC-FLD0893E. + IF FLD0894B (1:) NOT EQUAL XPC-FLD0894B + DISPLAY 'FLD0894B ==> ' HEX-OF (FLD0894B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0894B). + IF FLD0894E NOT EQUAL XPC-FLD0894E + DISPLAY 'FLD0894E ==> ' FLD0894E + DISPLAY 'EXPECTED ==> ' XPC-FLD0894E. + IF FLD0895B (1:) NOT EQUAL XPC-FLD0895B + DISPLAY 'FLD0895B ==> ' HEX-OF (FLD0895B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0895B). + IF FLD0895E NOT EQUAL XPC-FLD0895E + DISPLAY 'FLD0895E ==> ' FLD0895E + DISPLAY 'EXPECTED ==> ' XPC-FLD0895E. + IF FLD0896B (1:) NOT EQUAL XPC-FLD0896B + DISPLAY 'FLD0896B ==> ' HEX-OF (FLD0896B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0896B). + IF FLD0896E NOT EQUAL XPC-FLD0896E + DISPLAY 'FLD0896E ==> ' FLD0896E + DISPLAY 'EXPECTED ==> ' XPC-FLD0896E. + IF FLD0897B (1:) NOT EQUAL XPC-FLD0897B + DISPLAY 'FLD0897B ==> ' HEX-OF (FLD0897B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0897B). + IF FLD0897E NOT EQUAL XPC-FLD0897E + DISPLAY 'FLD0897E ==> ' FLD0897E + DISPLAY 'EXPECTED ==> ' XPC-FLD0897E. + IF FLD0898B (1:) NOT EQUAL XPC-FLD0898B + DISPLAY 'FLD0898B ==> ' HEX-OF (FLD0898B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0898B). + IF FLD0898E NOT EQUAL XPC-FLD0898E + DISPLAY 'FLD0898E ==> ' FLD0898E + DISPLAY 'EXPECTED ==> ' XPC-FLD0898E. + IF FLD0899B (1:) NOT EQUAL XPC-FLD0899B + DISPLAY 'FLD0899B ==> ' HEX-OF (FLD0899B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0899B). + IF FLD0899E NOT EQUAL XPC-FLD0899E + DISPLAY 'FLD0899E ==> ' FLD0899E + DISPLAY 'EXPECTED ==> ' XPC-FLD0899E. + IF FLD0900B (1:) NOT EQUAL XPC-FLD0900B + DISPLAY 'FLD0900B ==> ' HEX-OF (FLD0900B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0900B). + IF FLD0900E NOT EQUAL XPC-FLD0900E + DISPLAY 'FLD0900E ==> ' FLD0900E + DISPLAY 'EXPECTED ==> ' XPC-FLD0900E. + IF FLD0901B (1:) NOT EQUAL XPC-FLD0901B + DISPLAY 'FLD0901B ==> ' HEX-OF (FLD0901B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0901B). + IF FLD0901E NOT EQUAL XPC-FLD0901E + DISPLAY 'FLD0901E ==> ' FLD0901E + DISPLAY 'EXPECTED ==> ' XPC-FLD0901E. + IF FLD0902B (1:) NOT EQUAL XPC-FLD0902B + DISPLAY 'FLD0902B ==> ' HEX-OF (FLD0902B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0902B). + IF FLD0902E NOT EQUAL XPC-FLD0902E + DISPLAY 'FLD0902E ==> ' FLD0902E + DISPLAY 'EXPECTED ==> ' XPC-FLD0902E. + IF FLD0903B (1:) NOT EQUAL XPC-FLD0903B + DISPLAY 'FLD0903B ==> ' HEX-OF (FLD0903B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0903B). + IF FLD0903E NOT EQUAL XPC-FLD0903E + DISPLAY 'FLD0903E ==> ' FLD0903E + DISPLAY 'EXPECTED ==> ' XPC-FLD0903E. + IF FLD0904B (1:) NOT EQUAL XPC-FLD0904B + DISPLAY 'FLD0904B ==> ' HEX-OF (FLD0904B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0904B). + IF FLD0904E NOT EQUAL XPC-FLD0904E + DISPLAY 'FLD0904E ==> ' FLD0904E + DISPLAY 'EXPECTED ==> ' XPC-FLD0904E. + IF FLD0905B (1:) NOT EQUAL XPC-FLD0905B + DISPLAY 'FLD0905B ==> ' HEX-OF (FLD0905B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0905B). + IF FLD0905E NOT EQUAL XPC-FLD0905E + DISPLAY 'FLD0905E ==> ' FLD0905E + DISPLAY 'EXPECTED ==> ' XPC-FLD0905E. + IF FLD0906B (1:) NOT EQUAL XPC-FLD0906B + DISPLAY 'FLD0906B ==> ' HEX-OF (FLD0906B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0906B). + IF FLD0906E NOT EQUAL XPC-FLD0906E + DISPLAY 'FLD0906E ==> ' FLD0906E + DISPLAY 'EXPECTED ==> ' XPC-FLD0906E. + IF FLD0907B (1:) NOT EQUAL XPC-FLD0907B + DISPLAY 'FLD0907B ==> ' HEX-OF (FLD0907B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0907B). + IF FLD0907E NOT EQUAL XPC-FLD0907E + DISPLAY 'FLD0907E ==> ' FLD0907E + DISPLAY 'EXPECTED ==> ' XPC-FLD0907E. + IF FLD0908B (1:) NOT EQUAL XPC-FLD0908B + DISPLAY 'FLD0908B ==> ' HEX-OF (FLD0908B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0908B). + IF FLD0908E NOT EQUAL XPC-FLD0908E + DISPLAY 'FLD0908E ==> ' FLD0908E + DISPLAY 'EXPECTED ==> ' XPC-FLD0908E. + IF FLD0909B (1:) NOT EQUAL XPC-FLD0909B + DISPLAY 'FLD0909B ==> ' HEX-OF (FLD0909B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0909B). + IF FLD0909E NOT EQUAL XPC-FLD0909E + DISPLAY 'FLD0909E ==> ' FLD0909E + DISPLAY 'EXPECTED ==> ' XPC-FLD0909E. + IF FLD0910B (1:) NOT EQUAL XPC-FLD0910B + DISPLAY 'FLD0910B ==> ' HEX-OF (FLD0910B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0910B). + IF FLD0910E NOT EQUAL XPC-FLD0910E + DISPLAY 'FLD0910E ==> ' FLD0910E + DISPLAY 'EXPECTED ==> ' XPC-FLD0910E. + IF FLD0911B (1:) NOT EQUAL XPC-FLD0911B + DISPLAY 'FLD0911B ==> ' HEX-OF (FLD0911B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0911B). + IF FLD0911E NOT EQUAL XPC-FLD0911E + DISPLAY 'FLD0911E ==> ' FLD0911E + DISPLAY 'EXPECTED ==> ' XPC-FLD0911E. + IF FLD0912B (1:) NOT EQUAL XPC-FLD0912B + DISPLAY 'FLD0912B ==> ' HEX-OF (FLD0912B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0912B). + IF FLD0912E NOT EQUAL XPC-FLD0912E + DISPLAY 'FLD0912E ==> ' FLD0912E + DISPLAY 'EXPECTED ==> ' XPC-FLD0912E. + IF FLD0913B (1:) NOT EQUAL XPC-FLD0913B + DISPLAY 'FLD0913B ==> ' HEX-OF (FLD0913B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0913B). + IF FLD0913E NOT EQUAL XPC-FLD0913E + DISPLAY 'FLD0913E ==> ' FLD0913E + DISPLAY 'EXPECTED ==> ' XPC-FLD0913E. + IF FLD0914B (1:) NOT EQUAL XPC-FLD0914B + DISPLAY 'FLD0914B ==> ' HEX-OF (FLD0914B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0914B). + IF FLD0914E NOT EQUAL XPC-FLD0914E + DISPLAY 'FLD0914E ==> ' FLD0914E + DISPLAY 'EXPECTED ==> ' XPC-FLD0914E. + IF FLD0915B (1:) NOT EQUAL XPC-FLD0915B + DISPLAY 'FLD0915B ==> ' HEX-OF (FLD0915B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0915B). + IF FLD0915E NOT EQUAL XPC-FLD0915E + DISPLAY 'FLD0915E ==> ' FLD0915E + DISPLAY 'EXPECTED ==> ' XPC-FLD0915E. + IF FLD0916B (1:) NOT EQUAL XPC-FLD0916B + DISPLAY 'FLD0916B ==> ' HEX-OF (FLD0916B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0916B). + IF FLD0916E NOT EQUAL XPC-FLD0916E + DISPLAY 'FLD0916E ==> ' FLD0916E + DISPLAY 'EXPECTED ==> ' XPC-FLD0916E. + IF FLD0917B (1:) NOT EQUAL XPC-FLD0917B + DISPLAY 'FLD0917B ==> ' HEX-OF (FLD0917B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0917B). + IF FLD0917E NOT EQUAL XPC-FLD0917E + DISPLAY 'FLD0917E ==> ' FLD0917E + DISPLAY 'EXPECTED ==> ' XPC-FLD0917E. + IF FLD0918B (1:) NOT EQUAL XPC-FLD0918B + DISPLAY 'FLD0918B ==> ' HEX-OF (FLD0918B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0918B). + IF FLD0918E NOT EQUAL XPC-FLD0918E + DISPLAY 'FLD0918E ==> ' FLD0918E + DISPLAY 'EXPECTED ==> ' XPC-FLD0918E. + IF FLD0919B (1:) NOT EQUAL XPC-FLD0919B + DISPLAY 'FLD0919B ==> ' HEX-OF (FLD0919B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0919B). + IF FLD0919E NOT EQUAL XPC-FLD0919E + DISPLAY 'FLD0919E ==> ' FLD0919E + DISPLAY 'EXPECTED ==> ' XPC-FLD0919E. + IF FLD0920B (1:) NOT EQUAL XPC-FLD0920B + DISPLAY 'FLD0920B ==> ' HEX-OF (FLD0920B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0920B). + IF FLD0920E NOT EQUAL XPC-FLD0920E + DISPLAY 'FLD0920E ==> ' FLD0920E + DISPLAY 'EXPECTED ==> ' XPC-FLD0920E. + IF FLD0921B (1:) NOT EQUAL XPC-FLD0921B + DISPLAY 'FLD0921B ==> ' HEX-OF (FLD0921B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0921B). + IF FLD0921E NOT EQUAL XPC-FLD0921E + DISPLAY 'FLD0921E ==> ' FLD0921E + DISPLAY 'EXPECTED ==> ' XPC-FLD0921E. + IF FLD0922B (1:) NOT EQUAL XPC-FLD0922B + DISPLAY 'FLD0922B ==> ' HEX-OF (FLD0922B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0922B). + IF FLD0922E NOT EQUAL XPC-FLD0922E + DISPLAY 'FLD0922E ==> ' FLD0922E + DISPLAY 'EXPECTED ==> ' XPC-FLD0922E. + IF FLD0923B (1:) NOT EQUAL XPC-FLD0923B + DISPLAY 'FLD0923B ==> ' HEX-OF (FLD0923B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0923B). + IF FLD0923E NOT EQUAL XPC-FLD0923E + DISPLAY 'FLD0923E ==> ' FLD0923E + DISPLAY 'EXPECTED ==> ' XPC-FLD0923E. + IF FLD0924B (1:) NOT EQUAL XPC-FLD0924B + DISPLAY 'FLD0924B ==> ' HEX-OF (FLD0924B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0924B). + IF FLD0924E NOT EQUAL XPC-FLD0924E + DISPLAY 'FLD0924E ==> ' FLD0924E + DISPLAY 'EXPECTED ==> ' XPC-FLD0924E. + IF FLD0925B (1:) NOT EQUAL XPC-FLD0925B + DISPLAY 'FLD0925B ==> ' HEX-OF (FLD0925B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0925B). + IF FLD0925E NOT EQUAL XPC-FLD0925E + DISPLAY 'FLD0925E ==> ' FLD0925E + DISPLAY 'EXPECTED ==> ' XPC-FLD0925E. + IF FLD0926B (1:) NOT EQUAL XPC-FLD0926B + DISPLAY 'FLD0926B ==> ' HEX-OF (FLD0926B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0926B). + IF FLD0926E NOT EQUAL XPC-FLD0926E + DISPLAY 'FLD0926E ==> ' FLD0926E + DISPLAY 'EXPECTED ==> ' XPC-FLD0926E. + IF FLD0927B (1:) NOT EQUAL XPC-FLD0927B + DISPLAY 'FLD0927B ==> ' HEX-OF (FLD0927B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0927B). + IF FLD0927E NOT EQUAL XPC-FLD0927E + DISPLAY 'FLD0927E ==> ' FLD0927E + DISPLAY 'EXPECTED ==> ' XPC-FLD0927E. + IF FLD0928B (1:) NOT EQUAL XPC-FLD0928B + DISPLAY 'FLD0928B ==> ' HEX-OF (FLD0928B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0928B). + IF FLD0928E NOT EQUAL XPC-FLD0928E + DISPLAY 'FLD0928E ==> ' FLD0928E + DISPLAY 'EXPECTED ==> ' XPC-FLD0928E. + IF FLD0929B (1:) NOT EQUAL XPC-FLD0929B + DISPLAY 'FLD0929B ==> ' HEX-OF (FLD0929B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0929B). + IF FLD0929E NOT EQUAL XPC-FLD0929E + DISPLAY 'FLD0929E ==> ' FLD0929E + DISPLAY 'EXPECTED ==> ' XPC-FLD0929E. + IF FLD0930B (1:) NOT EQUAL XPC-FLD0930B + DISPLAY 'FLD0930B ==> ' HEX-OF (FLD0930B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0930B). + IF FLD0930E NOT EQUAL XPC-FLD0930E + DISPLAY 'FLD0930E ==> ' FLD0930E + DISPLAY 'EXPECTED ==> ' XPC-FLD0930E. + IF FLD0931B (1:) NOT EQUAL XPC-FLD0931B + DISPLAY 'FLD0931B ==> ' HEX-OF (FLD0931B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0931B). + IF FLD0931E NOT EQUAL XPC-FLD0931E + DISPLAY 'FLD0931E ==> ' FLD0931E + DISPLAY 'EXPECTED ==> ' XPC-FLD0931E. + IF FLD0932B (1:) NOT EQUAL XPC-FLD0932B + DISPLAY 'FLD0932B ==> ' HEX-OF (FLD0932B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0932B). + IF FLD0932E NOT EQUAL XPC-FLD0932E + DISPLAY 'FLD0932E ==> ' FLD0932E + DISPLAY 'EXPECTED ==> ' XPC-FLD0932E. + IF FLD0933B (1:) NOT EQUAL XPC-FLD0933B + DISPLAY 'FLD0933B ==> ' HEX-OF (FLD0933B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0933B). + IF FLD0933E NOT EQUAL XPC-FLD0933E + DISPLAY 'FLD0933E ==> ' FLD0933E + DISPLAY 'EXPECTED ==> ' XPC-FLD0933E. + IF FLD0934B (1:) NOT EQUAL XPC-FLD0934B + DISPLAY 'FLD0934B ==> ' HEX-OF (FLD0934B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0934B). + IF FLD0934E NOT EQUAL XPC-FLD0934E + DISPLAY 'FLD0934E ==> ' FLD0934E + DISPLAY 'EXPECTED ==> ' XPC-FLD0934E. + IF FLD0935B (1:) NOT EQUAL XPC-FLD0935B + DISPLAY 'FLD0935B ==> ' HEX-OF (FLD0935B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0935B). + IF FLD0935E NOT EQUAL XPC-FLD0935E + DISPLAY 'FLD0935E ==> ' FLD0935E + DISPLAY 'EXPECTED ==> ' XPC-FLD0935E. + IF FLD0936B (1:) NOT EQUAL XPC-FLD0936B + DISPLAY 'FLD0936B ==> ' HEX-OF (FLD0936B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0936B). + IF FLD0936E NOT EQUAL XPC-FLD0936E + DISPLAY 'FLD0936E ==> ' FLD0936E + DISPLAY 'EXPECTED ==> ' XPC-FLD0936E. + IF FLD0937B (1:) NOT EQUAL XPC-FLD0937B + DISPLAY 'FLD0937B ==> ' HEX-OF (FLD0937B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0937B). + IF FLD0937E NOT EQUAL XPC-FLD0937E + DISPLAY 'FLD0937E ==> ' FLD0937E + DISPLAY 'EXPECTED ==> ' XPC-FLD0937E. + IF FLD0938B (1:) NOT EQUAL XPC-FLD0938B + DISPLAY 'FLD0938B ==> ' HEX-OF (FLD0938B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0938B). + IF FLD0938E NOT EQUAL XPC-FLD0938E + DISPLAY 'FLD0938E ==> ' FLD0938E + DISPLAY 'EXPECTED ==> ' XPC-FLD0938E. + IF FLD0939B (1:) NOT EQUAL XPC-FLD0939B + DISPLAY 'FLD0939B ==> ' HEX-OF (FLD0939B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0939B). + IF FLD0939E NOT EQUAL XPC-FLD0939E + DISPLAY 'FLD0939E ==> ' FLD0939E + DISPLAY 'EXPECTED ==> ' XPC-FLD0939E. + IF FLD0940B (1:) NOT EQUAL XPC-FLD0940B + DISPLAY 'FLD0940B ==> ' HEX-OF (FLD0940B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0940B). + IF FLD0940E NOT EQUAL XPC-FLD0940E + DISPLAY 'FLD0940E ==> ' FLD0940E + DISPLAY 'EXPECTED ==> ' XPC-FLD0940E. + IF FLD0941B (1:) NOT EQUAL XPC-FLD0941B + DISPLAY 'FLD0941B ==> ' HEX-OF (FLD0941B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0941B). + IF FLD0941E NOT EQUAL XPC-FLD0941E + DISPLAY 'FLD0941E ==> ' FLD0941E + DISPLAY 'EXPECTED ==> ' XPC-FLD0941E. + IF FLD0942B (1:) NOT EQUAL XPC-FLD0942B + DISPLAY 'FLD0942B ==> ' HEX-OF (FLD0942B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0942B). + IF FLD0942E NOT EQUAL XPC-FLD0942E + DISPLAY 'FLD0942E ==> ' FLD0942E + DISPLAY 'EXPECTED ==> ' XPC-FLD0942E. + IF FLD0943B (1:) NOT EQUAL XPC-FLD0943B + DISPLAY 'FLD0943B ==> ' HEX-OF (FLD0943B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0943B). + IF FLD0943E NOT EQUAL XPC-FLD0943E + DISPLAY 'FLD0943E ==> ' FLD0943E + DISPLAY 'EXPECTED ==> ' XPC-FLD0943E. + IF FLD0944B (1:) NOT EQUAL XPC-FLD0944B + DISPLAY 'FLD0944B ==> ' HEX-OF (FLD0944B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0944B). + IF FLD0944E NOT EQUAL XPC-FLD0944E + DISPLAY 'FLD0944E ==> ' FLD0944E + DISPLAY 'EXPECTED ==> ' XPC-FLD0944E. + IF FLD0945B (1:) NOT EQUAL XPC-FLD0945B + DISPLAY 'FLD0945B ==> ' HEX-OF (FLD0945B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0945B). + IF FLD0945E NOT EQUAL XPC-FLD0945E + DISPLAY 'FLD0945E ==> ' FLD0945E + DISPLAY 'EXPECTED ==> ' XPC-FLD0945E. + IF FLD0946B (1:) NOT EQUAL XPC-FLD0946B + DISPLAY 'FLD0946B ==> ' HEX-OF (FLD0946B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0946B). + IF FLD0946E NOT EQUAL XPC-FLD0946E + DISPLAY 'FLD0946E ==> ' FLD0946E + DISPLAY 'EXPECTED ==> ' XPC-FLD0946E. + IF FLD0947B (1:) NOT EQUAL XPC-FLD0947B + DISPLAY 'FLD0947B ==> ' HEX-OF (FLD0947B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0947B). + IF FLD0947E NOT EQUAL XPC-FLD0947E + DISPLAY 'FLD0947E ==> ' FLD0947E + DISPLAY 'EXPECTED ==> ' XPC-FLD0947E. + IF FLD0948B (1:) NOT EQUAL XPC-FLD0948B + DISPLAY 'FLD0948B ==> ' HEX-OF (FLD0948B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0948B). + IF FLD0948E NOT EQUAL XPC-FLD0948E + DISPLAY 'FLD0948E ==> ' FLD0948E + DISPLAY 'EXPECTED ==> ' XPC-FLD0948E. + IF FLD0949B (1:) NOT EQUAL XPC-FLD0949B + DISPLAY 'FLD0949B ==> ' HEX-OF (FLD0949B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0949B). + IF FLD0949E NOT EQUAL XPC-FLD0949E + DISPLAY 'FLD0949E ==> ' FLD0949E + DISPLAY 'EXPECTED ==> ' XPC-FLD0949E. + IF FLD0950B (1:) NOT EQUAL XPC-FLD0950B + DISPLAY 'FLD0950B ==> ' HEX-OF (FLD0950B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0950B). + IF FLD0950E NOT EQUAL XPC-FLD0950E + DISPLAY 'FLD0950E ==> ' FLD0950E + DISPLAY 'EXPECTED ==> ' XPC-FLD0950E. + IF FLD0951B (1:) NOT EQUAL XPC-FLD0951B + DISPLAY 'FLD0951B ==> ' HEX-OF (FLD0951B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0951B). + IF FLD0951E NOT EQUAL XPC-FLD0951E + DISPLAY 'FLD0951E ==> ' FLD0951E + DISPLAY 'EXPECTED ==> ' XPC-FLD0951E. + IF FLD0952B (1:) NOT EQUAL XPC-FLD0952B + DISPLAY 'FLD0952B ==> ' HEX-OF (FLD0952B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0952B). + IF FLD0952E NOT EQUAL XPC-FLD0952E + DISPLAY 'FLD0952E ==> ' FLD0952E + DISPLAY 'EXPECTED ==> ' XPC-FLD0952E. + IF FLD0953B (1:) NOT EQUAL XPC-FLD0953B + DISPLAY 'FLD0953B ==> ' HEX-OF (FLD0953B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0953B). + IF FLD0953E NOT EQUAL XPC-FLD0953E + DISPLAY 'FLD0953E ==> ' FLD0953E + DISPLAY 'EXPECTED ==> ' XPC-FLD0953E. + IF FLD0954B (1:) NOT EQUAL XPC-FLD0954B + DISPLAY 'FLD0954B ==> ' HEX-OF (FLD0954B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0954B). + IF FLD0954E NOT EQUAL XPC-FLD0954E + DISPLAY 'FLD0954E ==> ' FLD0954E + DISPLAY 'EXPECTED ==> ' XPC-FLD0954E. + IF FLD0955B (1:) NOT EQUAL XPC-FLD0955B + DISPLAY 'FLD0955B ==> ' HEX-OF (FLD0955B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0955B). + IF FLD0955E NOT EQUAL XPC-FLD0955E + DISPLAY 'FLD0955E ==> ' FLD0955E + DISPLAY 'EXPECTED ==> ' XPC-FLD0955E. + IF FLD0956B (1:) NOT EQUAL XPC-FLD0956B + DISPLAY 'FLD0956B ==> ' HEX-OF (FLD0956B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0956B). + IF FLD0956E NOT EQUAL XPC-FLD0956E + DISPLAY 'FLD0956E ==> ' FLD0956E + DISPLAY 'EXPECTED ==> ' XPC-FLD0956E. + IF FLD0957B (1:) NOT EQUAL XPC-FLD0957B + DISPLAY 'FLD0957B ==> ' HEX-OF (FLD0957B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0957B). + IF FLD0957E NOT EQUAL XPC-FLD0957E + DISPLAY 'FLD0957E ==> ' FLD0957E + DISPLAY 'EXPECTED ==> ' XPC-FLD0957E. + IF FLD0958B (1:) NOT EQUAL XPC-FLD0958B + DISPLAY 'FLD0958B ==> ' HEX-OF (FLD0958B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0958B). + IF FLD0958E NOT EQUAL XPC-FLD0958E + DISPLAY 'FLD0958E ==> ' FLD0958E + DISPLAY 'EXPECTED ==> ' XPC-FLD0958E. + IF FLD0959B (1:) NOT EQUAL XPC-FLD0959B + DISPLAY 'FLD0959B ==> ' HEX-OF (FLD0959B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0959B). + IF FLD0959E NOT EQUAL XPC-FLD0959E + DISPLAY 'FLD0959E ==> ' FLD0959E + DISPLAY 'EXPECTED ==> ' XPC-FLD0959E. + IF FLD0960B (1:) NOT EQUAL XPC-FLD0960B + DISPLAY 'FLD0960B ==> ' HEX-OF (FLD0960B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0960B). + IF FLD0960E NOT EQUAL XPC-FLD0960E + DISPLAY 'FLD0960E ==> ' FLD0960E + DISPLAY 'EXPECTED ==> ' XPC-FLD0960E. + IF FLD0961B (1:) NOT EQUAL XPC-FLD0961B + DISPLAY 'FLD0961B ==> ' HEX-OF (FLD0961B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0961B). + IF FLD0961E NOT EQUAL XPC-FLD0961E + DISPLAY 'FLD0961E ==> ' FLD0961E + DISPLAY 'EXPECTED ==> ' XPC-FLD0961E. + IF FLD0962B (1:) NOT EQUAL XPC-FLD0962B + DISPLAY 'FLD0962B ==> ' HEX-OF (FLD0962B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0962B). + IF FLD0962E NOT EQUAL XPC-FLD0962E + DISPLAY 'FLD0962E ==> ' FLD0962E + DISPLAY 'EXPECTED ==> ' XPC-FLD0962E. + IF FLD0963B (1:) NOT EQUAL XPC-FLD0963B + DISPLAY 'FLD0963B ==> ' HEX-OF (FLD0963B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0963B). + IF FLD0963E NOT EQUAL XPC-FLD0963E + DISPLAY 'FLD0963E ==> ' FLD0963E + DISPLAY 'EXPECTED ==> ' XPC-FLD0963E. + IF FLD0964B (1:) NOT EQUAL XPC-FLD0964B + DISPLAY 'FLD0964B ==> ' HEX-OF (FLD0964B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0964B). + IF FLD0964E NOT EQUAL XPC-FLD0964E + DISPLAY 'FLD0964E ==> ' FLD0964E + DISPLAY 'EXPECTED ==> ' XPC-FLD0964E. + IF FLD0965B (1:) NOT EQUAL XPC-FLD0965B + DISPLAY 'FLD0965B ==> ' HEX-OF (FLD0965B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0965B). + IF FLD0965E NOT EQUAL XPC-FLD0965E + DISPLAY 'FLD0965E ==> ' FLD0965E + DISPLAY 'EXPECTED ==> ' XPC-FLD0965E. + IF FLD0966B (1:) NOT EQUAL XPC-FLD0966B + DISPLAY 'FLD0966B ==> ' HEX-OF (FLD0966B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0966B). + IF FLD0966E NOT EQUAL XPC-FLD0966E + DISPLAY 'FLD0966E ==> ' FLD0966E + DISPLAY 'EXPECTED ==> ' XPC-FLD0966E. + IF FLD0967B (1:) NOT EQUAL XPC-FLD0967B + DISPLAY 'FLD0967B ==> ' HEX-OF (FLD0967B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0967B). + IF FLD0967E NOT EQUAL XPC-FLD0967E + DISPLAY 'FLD0967E ==> ' FLD0967E + DISPLAY 'EXPECTED ==> ' XPC-FLD0967E. + IF FLD0968B (1:) NOT EQUAL XPC-FLD0968B + DISPLAY 'FLD0968B ==> ' HEX-OF (FLD0968B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0968B). + IF FLD0968E NOT EQUAL XPC-FLD0968E + DISPLAY 'FLD0968E ==> ' FLD0968E + DISPLAY 'EXPECTED ==> ' XPC-FLD0968E. + IF FLD0969B (1:) NOT EQUAL XPC-FLD0969B + DISPLAY 'FLD0969B ==> ' HEX-OF (FLD0969B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0969B). + IF FLD0969E NOT EQUAL XPC-FLD0969E + DISPLAY 'FLD0969E ==> ' FLD0969E + DISPLAY 'EXPECTED ==> ' XPC-FLD0969E. + IF FLD0970B (1:) NOT EQUAL XPC-FLD0970B + DISPLAY 'FLD0970B ==> ' HEX-OF (FLD0970B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0970B). + IF FLD0970E NOT EQUAL XPC-FLD0970E + DISPLAY 'FLD0970E ==> ' FLD0970E + DISPLAY 'EXPECTED ==> ' XPC-FLD0970E. + IF FLD0971B (1:) NOT EQUAL XPC-FLD0971B + DISPLAY 'FLD0971B ==> ' HEX-OF (FLD0971B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0971B). + IF FLD0971E NOT EQUAL XPC-FLD0971E + DISPLAY 'FLD0971E ==> ' FLD0971E + DISPLAY 'EXPECTED ==> ' XPC-FLD0971E. + IF FLD0972B (1:) NOT EQUAL XPC-FLD0972B + DISPLAY 'FLD0972B ==> ' HEX-OF (FLD0972B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0972B). + IF FLD0972E NOT EQUAL XPC-FLD0972E + DISPLAY 'FLD0972E ==> ' FLD0972E + DISPLAY 'EXPECTED ==> ' XPC-FLD0972E. + IF FLD0973B (1:) NOT EQUAL XPC-FLD0973B + DISPLAY 'FLD0973B ==> ' HEX-OF (FLD0973B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0973B). + IF FLD0973E NOT EQUAL XPC-FLD0973E + DISPLAY 'FLD0973E ==> ' FLD0973E + DISPLAY 'EXPECTED ==> ' XPC-FLD0973E. + IF FLD0974B (1:) NOT EQUAL XPC-FLD0974B + DISPLAY 'FLD0974B ==> ' HEX-OF (FLD0974B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0974B). + IF FLD0974E NOT EQUAL XPC-FLD0974E + DISPLAY 'FLD0974E ==> ' FLD0974E + DISPLAY 'EXPECTED ==> ' XPC-FLD0974E. + IF FLD0975B (1:) NOT EQUAL XPC-FLD0975B + DISPLAY 'FLD0975B ==> ' HEX-OF (FLD0975B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0975B). + IF FLD0975E NOT EQUAL XPC-FLD0975E + DISPLAY 'FLD0975E ==> ' FLD0975E + DISPLAY 'EXPECTED ==> ' XPC-FLD0975E. + IF FLD0976B (1:) NOT EQUAL XPC-FLD0976B + DISPLAY 'FLD0976B ==> ' HEX-OF (FLD0976B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0976B). + IF FLD0976E NOT EQUAL XPC-FLD0976E + DISPLAY 'FLD0976E ==> ' FLD0976E + DISPLAY 'EXPECTED ==> ' XPC-FLD0976E. + IF FLD0977B (1:) NOT EQUAL XPC-FLD0977B + DISPLAY 'FLD0977B ==> ' HEX-OF (FLD0977B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0977B). + IF FLD0977E NOT EQUAL XPC-FLD0977E + DISPLAY 'FLD0977E ==> ' FLD0977E + DISPLAY 'EXPECTED ==> ' XPC-FLD0977E. + IF FLD0978B (1:) NOT EQUAL XPC-FLD0978B + DISPLAY 'FLD0978B ==> ' HEX-OF (FLD0978B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0978B). + IF FLD0978E NOT EQUAL XPC-FLD0978E + DISPLAY 'FLD0978E ==> ' FLD0978E + DISPLAY 'EXPECTED ==> ' XPC-FLD0978E. + IF FLD0979B (1:) NOT EQUAL XPC-FLD0979B + DISPLAY 'FLD0979B ==> ' HEX-OF (FLD0979B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0979B). + IF FLD0979E NOT EQUAL XPC-FLD0979E + DISPLAY 'FLD0979E ==> ' FLD0979E + DISPLAY 'EXPECTED ==> ' XPC-FLD0979E. + IF FLD0980B (1:) NOT EQUAL XPC-FLD0980B + DISPLAY 'FLD0980B ==> ' HEX-OF (FLD0980B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0980B). + IF FLD0980E NOT EQUAL XPC-FLD0980E + DISPLAY 'FLD0980E ==> ' FLD0980E + DISPLAY 'EXPECTED ==> ' XPC-FLD0980E. + IF FLD0981B (1:) NOT EQUAL XPC-FLD0981B + DISPLAY 'FLD0981B ==> ' HEX-OF (FLD0981B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0981B). + IF FLD0981E NOT EQUAL XPC-FLD0981E + DISPLAY 'FLD0981E ==> ' FLD0981E + DISPLAY 'EXPECTED ==> ' XPC-FLD0981E. + IF FLD0982B (1:) NOT EQUAL XPC-FLD0982B + DISPLAY 'FLD0982B ==> ' HEX-OF (FLD0982B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0982B). + IF FLD0982E NOT EQUAL XPC-FLD0982E + DISPLAY 'FLD0982E ==> ' FLD0982E + DISPLAY 'EXPECTED ==> ' XPC-FLD0982E. + IF FLD0983B (1:) NOT EQUAL XPC-FLD0983B + DISPLAY 'FLD0983B ==> ' HEX-OF (FLD0983B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0983B). + IF FLD0983E NOT EQUAL XPC-FLD0983E + DISPLAY 'FLD0983E ==> ' FLD0983E + DISPLAY 'EXPECTED ==> ' XPC-FLD0983E. + IF FLD0984B (1:) NOT EQUAL XPC-FLD0984B + DISPLAY 'FLD0984B ==> ' HEX-OF (FLD0984B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0984B). + IF FLD0984E NOT EQUAL XPC-FLD0984E + DISPLAY 'FLD0984E ==> ' FLD0984E + DISPLAY 'EXPECTED ==> ' XPC-FLD0984E. + IF FLD0985B (1:) NOT EQUAL XPC-FLD0985B + DISPLAY 'FLD0985B ==> ' HEX-OF (FLD0985B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0985B). + IF FLD0985E NOT EQUAL XPC-FLD0985E + DISPLAY 'FLD0985E ==> ' FLD0985E + DISPLAY 'EXPECTED ==> ' XPC-FLD0985E. + IF FLD0986B (1:) NOT EQUAL XPC-FLD0986B + DISPLAY 'FLD0986B ==> ' HEX-OF (FLD0986B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0986B). + IF FLD0986E NOT EQUAL XPC-FLD0986E + DISPLAY 'FLD0986E ==> ' FLD0986E + DISPLAY 'EXPECTED ==> ' XPC-FLD0986E. + IF FLD0987B (1:) NOT EQUAL XPC-FLD0987B + DISPLAY 'FLD0987B ==> ' HEX-OF (FLD0987B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0987B). + IF FLD0987E NOT EQUAL XPC-FLD0987E + DISPLAY 'FLD0987E ==> ' FLD0987E + DISPLAY 'EXPECTED ==> ' XPC-FLD0987E. + IF FLD0988B (1:) NOT EQUAL XPC-FLD0988B + DISPLAY 'FLD0988B ==> ' HEX-OF (FLD0988B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0988B). + IF FLD0988E NOT EQUAL XPC-FLD0988E + DISPLAY 'FLD0988E ==> ' FLD0988E + DISPLAY 'EXPECTED ==> ' XPC-FLD0988E. + IF FLD0989B (1:) NOT EQUAL XPC-FLD0989B + DISPLAY 'FLD0989B ==> ' HEX-OF (FLD0989B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0989B). + IF FLD0989E NOT EQUAL XPC-FLD0989E + DISPLAY 'FLD0989E ==> ' FLD0989E + DISPLAY 'EXPECTED ==> ' XPC-FLD0989E. + IF FLD0990B (1:) NOT EQUAL XPC-FLD0990B + DISPLAY 'FLD0990B ==> ' HEX-OF (FLD0990B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0990B). + IF FLD0990E NOT EQUAL XPC-FLD0990E + DISPLAY 'FLD0990E ==> ' FLD0990E + DISPLAY 'EXPECTED ==> ' XPC-FLD0990E. + IF FLD0991B (1:) NOT EQUAL XPC-FLD0991B + DISPLAY 'FLD0991B ==> ' HEX-OF (FLD0991B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0991B). + IF FLD0991E NOT EQUAL XPC-FLD0991E + DISPLAY 'FLD0991E ==> ' FLD0991E + DISPLAY 'EXPECTED ==> ' XPC-FLD0991E. + IF FLD0992B (1:) NOT EQUAL XPC-FLD0992B + DISPLAY 'FLD0992B ==> ' HEX-OF (FLD0992B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0992B). + IF FLD0992E NOT EQUAL XPC-FLD0992E + DISPLAY 'FLD0992E ==> ' FLD0992E + DISPLAY 'EXPECTED ==> ' XPC-FLD0992E. + IF FLD0993B (1:) NOT EQUAL XPC-FLD0993B + DISPLAY 'FLD0993B ==> ' HEX-OF (FLD0993B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0993B). + IF FLD0993E NOT EQUAL XPC-FLD0993E + DISPLAY 'FLD0993E ==> ' FLD0993E + DISPLAY 'EXPECTED ==> ' XPC-FLD0993E. + IF FLD0994B (1:) NOT EQUAL XPC-FLD0994B + DISPLAY 'FLD0994B ==> ' HEX-OF (FLD0994B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0994B). + IF FLD0994E NOT EQUAL XPC-FLD0994E + DISPLAY 'FLD0994E ==> ' FLD0994E + DISPLAY 'EXPECTED ==> ' XPC-FLD0994E. + IF FLD0995B (1:) NOT EQUAL XPC-FLD0995B + DISPLAY 'FLD0995B ==> ' HEX-OF (FLD0995B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0995B). + IF FLD0995E NOT EQUAL XPC-FLD0995E + DISPLAY 'FLD0995E ==> ' FLD0995E + DISPLAY 'EXPECTED ==> ' XPC-FLD0995E. + IF FLD0996B (1:) NOT EQUAL XPC-FLD0996B + DISPLAY 'FLD0996B ==> ' HEX-OF (FLD0996B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0996B). + IF FLD0996E NOT EQUAL XPC-FLD0996E + DISPLAY 'FLD0996E ==> ' FLD0996E + DISPLAY 'EXPECTED ==> ' XPC-FLD0996E. + IF FLD0997B (1:) NOT EQUAL XPC-FLD0997B + DISPLAY 'FLD0997B ==> ' HEX-OF (FLD0997B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0997B). + IF FLD0997E NOT EQUAL XPC-FLD0997E + DISPLAY 'FLD0997E ==> ' FLD0997E + DISPLAY 'EXPECTED ==> ' XPC-FLD0997E. + IF FLD0998B (1:) NOT EQUAL XPC-FLD0998B + DISPLAY 'FLD0998B ==> ' HEX-OF (FLD0998B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0998B). + IF FLD0998E NOT EQUAL XPC-FLD0998E + DISPLAY 'FLD0998E ==> ' FLD0998E + DISPLAY 'EXPECTED ==> ' XPC-FLD0998E. + IF FLD0999B (1:) NOT EQUAL XPC-FLD0999B + DISPLAY 'FLD0999B ==> ' HEX-OF (FLD0999B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0999B). + IF FLD0999E NOT EQUAL XPC-FLD0999E + DISPLAY 'FLD0999E ==> ' FLD0999E + DISPLAY 'EXPECTED ==> ' XPC-FLD0999E. +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:28740: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "data_packed.at:28740" +( $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/data_packed.at:28740" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:28741: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_packed.at:28741" +( $at_check_trace; $COBCRUN_DIRECT ./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/data_packed.at:28741" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1306 +#AT_START_1307 +at_fn_group_banner 1307 'data_packed.at:28746' \ + "BCD ADD and SUBTRACT, DEFAULT ROUNDING MODE" " " 5 +at_xfail=no +( + printf "%s\n" "1307. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was created to test the default rounding mode + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. GAG1. + * + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + SOURCE-COMPUTER. VAX-11. + OBJECT-COMPUTER. VAX-11. + SPECIAL-NAMES. + * DECIMAL-POINT IS COMMA. + * + DATA DIVISION. + WORKING-STORAGE SECTION. + 1 TOTO. + 2 RESULT PIC S9(13)V9(2) COMP-3. + 2 RESULT-5 PIC S9(13)V9(5) COMP-3. + + PROCEDURE DIVISION. + DEBUT. + MOVE 3.14659 TO RESULT-5. + MOVE ZERO TO RESULT. + ADD RESULT-5 TO RESULT ROUNDED. + IF RESULT NOT EQUAL 3.15 + DISPLAY "RESULT " RESULT. + GOBACK. +_ATEOF + + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:28779: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:28779" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:28779" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:28780: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:28780" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:28780" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1307 +#AT_START_1308 +at_fn_group_banner 1308 'data_packed.at:28785' \ + "BCD ADD and SUBTRACT, all ROUNDED MODEs" " " 5 +at_xfail=no +( + printf "%s\n" "1308. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test was originally generated and contributed by Chuck Haatvedt. +# It tests a huge amount of ADD / SUBTRACT between BCD fields with different +# attributes (size, decimal places, sign, sign nible) with different +# rounding options and checks for the expected hexadecimal value after +# the computation. +# The initial test was split later to be compilable without issues on +# "small tin" and also to make it easier for checking tools to insert +# additional debug code - without forcing the compiler to work too hard +# to compile / link that. +# As this code only tests BCD there is a duplicate in data_display.at +# that tests the same with cob_decimal. + +cat >prog.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTR. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0001A PIC 9(08)V9(19) COMP-3 + VALUE 72210483.5706116943150334464. + 77 FLD0001B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0002A PIC 9(05)V9(26) COMP-6 + VALUE 83954.98773698940597753903603006. + 77 FLD0002B PIC 9(05)V9(27) COMP-6 + VALUE 85526.912891598327881581553810974. + + 77 FLD0003A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0003B PIC 9(10)V9(08) COMP-6 + VALUE 4976916625.40136914. + + 77 FLD0004A PIC S9(08)V9(03) COMP-3 + VALUE +31348416.669. + 77 FLD0004B PIC 9(05)V9(01) COMP-6 + VALUE 16799.5. + + 77 FLD0005A PIC S9(07)V9(01) COMP-3 + VALUE +2337334.8. + 77 FLD0005B PIC S9(09)V9(03) COMP-3 + VALUE +324331791.973. + + 77 FLD0006A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0006B PIC 9(03)V9(31) COMP-3 + VALUE 912.5850054312464321171205483551602. + + 77 FLD0007A PIC S9(04) COMP-3 + VALUE +1123. + 77 FLD0007B PIC S9(08)V9(02) COMP-3 + VALUE -27032151.91. + + 77 FLD0008A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0008B PIC S9(03) COMP-3 + VALUE -091. + + 77 FLD0009A PIC 9(10)V9(07) COMP-6 + VALUE 4695987895.4491957. + 77 FLD0009B PIC 9(05)V9(28) COMP-3 + VALUE 87164.4396861416259625343627703841. + + 77 FLD0010A PIC 9(03)V9(32) COMP-3 + VALUE 932.59120224122482589734772773226723. + 77 FLD0010B PIC S9(09)V9(06) COMP-3 + VALUE +401314086.816856. + + 77 FLD0011A PIC 9(09)V9(04) COMP-6 + VALUE 356168291.4830. + 77 FLD0011B PIC 9(04)V9(29) COMP-6 + VALUE 8869.25340695890795927880390081554. + + 77 FLD0012A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0012B PIC 9(08)V9(19) COMP-3 + VALUE 71485769.2486604356929547066. + + 77 FLD0013A PIC 9(06)V9(25) COMP-6 + VALUE 829630.0004717120923913853403064. + 77 FLD0013B PIC 9(07)V9(02) COMP-6 + VALUE 2497013.60. + + 77 FLD0014A PIC 9(09)V9(13) COMP-3 + VALUE 592943121.2490873237541. + 77 FLD0014B PIC 9(06)V9(01) COMP-6 + VALUE 186764.7. + + 77 FLD0015A PIC 9(07)V9(23) COMP-6 + VALUE 7984732.71412134533164817185024. + 77 FLD0015B PIC 9(10)V9(08) COMP-6 + VALUE 4953047329.19498391. + + 77 FLD0016A PIC 9(05)V9(28) COMP-3 + VALUE 87275.9557853607148558694461826235. + 77 FLD0016B PIC S9(10)V9(06) COMP-3 + VALUE +4316165362.791636. + + 77 FLD0017A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0017B PIC 9(04)V9(30) COMP-6 + VALUE 8983.341087204116393039043941826093. + + 77 FLD0018A PIC 9(07)V9(21) COMP-3 + VALUE 7619026.805277494540646898713. + 77 FLD0018B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0019A PIC S9(10)V9(08) COMP-3 + VALUE -4930528885.68236813. + 77 FLD0019B PIC S9(09)V9(06) COMP-3 + VALUE +402620216.542097. + + 77 FLD0020A PIC 9(09)V9(15) COMP-3 + VALUE 643887452.720044328735582. + 77 FLD0020B PIC 9(09)V9(11) COMP-3 + VALUE 552340679.26366126055. + + 77 FLD0021A PIC 9(01)V9(36) COMP-6 + VALUE 9.880441680787707126043528660375159233. + 77 FLD0021B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0022A PIC 9(06)V9(24) COMP-3 + VALUE 810040.192546636172998830716096. + 77 FLD0022B PIC 9(07)V9(21) COMP-3 + VALUE 7610660.641468062204140210269. + + 77 FLD0023A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0023B PIC 9(02)V9(34) COMP-3 + VALUE 95.1865432391802879230624512274516746. + + 77 FLD0024A PIC 9(09)V9(03) COMP-6 + VALUE 329406009.124. + 77 FLD0024B PIC S9(09)V9(06) COMP-3 + VALUE +410668612.232476. + + 77 FLD0025A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0025B PIC 9(07)V9(02) COMP-6 + VALUE 2497488.27. + + 77 FLD0026A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0026B PIC S9(09)V9(05) COMP-3 + VALUE -383757196.20564. + + 77 FLD0027A PIC 9(09)V9(13) COMP-3 + VALUE 601026867.0937520818498. + 77 FLD0027B PIC 9(06)V9(25) COMP-6 + VALUE 815849.1045356750515082921992870. + + 77 FLD0028A PIC 9(04)V9(29) COMP-6 + VALUE 8794.72782911061568000832266989164. + 77 FLD0028B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0029A PIC 9(05) BINARY + VALUE 13697. + 77 FLD0029B PIC 9(09)V9(17) COMP-3 + VALUE 684374480.18294422258378517. + + 77 FLD0030A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0030B PIC 9(08)V9(18) COMP-3 + VALUE 70264210.169553353857452293. + + 77 FLD0031A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0031B PIC 9(08)V9(18) COMP-3 + VALUE 70450280.588407820925311852. + + 77 FLD0032A PIC 9(10)V9(10) COMP-6 + VALUE 5269599769.4606222516. + 77 FLD0032B PIC S9(09)V9(03) COMP-3 + VALUE +322379197.669. + + 77 FLD0033A PIC 9(09)V9(15) COMP-3 + VALUE 641903038.069859710468278. + 77 FLD0033B PIC 9(09)V9(03) COMP-6 + VALUE 318353502.142. + + 77 FLD0034A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0034B PIC S9(07)V9(01) COMP-3 + VALUE +2126766.9. + + 77 FLD0035A PIC 9(06)V9(25) COMP-6 + VALUE 816285.5924199176049782522568420. + 77 FLD0035B PIC 9(07)V9(01) COMP-6 + VALUE 2276316.1. + + 77 FLD0036A PIC 9(01)V9(36) COMP-6 + VALUE 9.789384107274801127829277902492322027. + 77 FLD0036B PIC 9(05)V9(27) COMP-6 + VALUE 84790.535447228665422159110676147. + + 77 FLD0037A PIC 9(10)V9(11) COMP-6 + VALUE 5559560836.79804091701. + 77 FLD0037B PIC S9(05) COMP-3 + VALUE -15352. + + 77 FLD0038A PIC 9(02)V9(34) COMP-6 + VALUE 95.5897506417712539139586169767426326. + 77 FLD0038B PIC 9(06)V9(25) COMP-6 + VALUE 819342.2486726212872198971126636. + + 77 FLD0039A PIC 9(04)V9(29) COMP-3 + VALUE 8933.20399454893721014059337903745. + 77 FLD0039B PIC 9(06)V9(01) COMP-6 + VALUE 205344.3. + + 77 FLD0040A PIC S9(06) COMP-5 + VALUE -162227. + 77 FLD0040B PIC S9(03) COMP-3 + VALUE +101. + + 77 FLD0041A PIC 9(09)V9(17) COMP-6 + VALUE 687709210.19485042879892944. + 77 FLD0041B PIC 9(10)V9(09) COMP-3 + VALUE 5032246021.307608119. + + 77 FLD0042A PIC 9(07)V9(22) COMP-6 + VALUE 7680734.5400734650109342283030. + 77 FLD0042B PIC 9(10)V9(10) COMP-6 + VALUE 5398987461.4943655917. + + 77 FLD0043A PIC S9(08)V9(02) COMP-3 + VALUE -28038049.48. + 77 FLD0043B PIC 9(04)V9(30) COMP-3 + VALUE 9102.051349475740460448491830902639. + + 77 FLD0044A PIC 9(06)V9(01) COMP-6 + VALUE 206224.3. + 77 FLD0044B PIC 9(09)V9(04) COMP-6 + VALUE 359534215.7883. + + 77 FLD0045A PIC 9(08)V9(02) COMP-6 + VALUE 28592495.81. + 77 FLD0045B PIC 9(09)V9(05) COMP-6 + VALUE 377058873.76830. + + 77 FLD0046A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0046B PIC 9(05)V9(27) COMP-3 + VALUE 86000.025910646182847330010190489. + + 77 FLD0047A PIC 9(08)V9(02) COMP-6 + VALUE 26966592.97. + 77 FLD0047B PIC 9(10)V9(08) COMP-6 + VALUE 4982239515.90845814. + + 77 FLD0048A PIC 9(05)V9(26) COMP-6 + VALUE 83962.84254838164429202151950448. + 77 FLD0048B PIC S9(05)V9(01) COMP-3 + VALUE -17309.9. + + 77 FLD0049A PIC 9(09)V9(16) COMP-6 + VALUE 677621907.0336453320635428. + 77 FLD0049B PIC 9(01)V9(36) COMP-6 + VALUE 9.784571866912429305429554915463086217. + + 77 FLD0050A PIC 9(09)V9(03) COMP-6 + VALUE 329667670.988. + 77 FLD0050B PIC 9(09)V9(06) COMP-6 + VALUE 408790070.710566. + + 77 FLD0051A PIC 9(09)V9(15) + VALUE 643375703.689413991348544. + 77 FLD0051B PIC 9(04)V9(30) COMP-6 + VALUE 9064.871948640588206203005938732530. + + 77 FLD0052A PIC 9(09)V9(04) COMP-6 + VALUE 367200483.8576. + 77 FLD0052B PIC 9(09)V9(11) COMP-3 + VALUE 550990476.15163754265. + + 77 FLD0053A PIC 9(07)V9(01) COMP-6 + VALUE 2260324.6. + 77 FLD0053B PIC S9(09)V9(04) COMP-3 + VALUE -361176713.4701. + + 77 FLD0054A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0054B PIC 9(09)V9(03) COMP-6 + VALUE 319288758.232. + + 77 FLD0055A PIC 9(09)V9(14) COMP-3 + VALUE 622232417.66982828604426. + 77 FLD0055B PIC 9(08)V9(17) COMP-3 + VALUE 68254498.02012105715576240. + + 77 FLD0056A PIC 9(07)V9(01) COMP-6 + VALUE 2161993.9. + 77 FLD0056B PIC 9(08)V9(02) COMP-6 + VALUE 27806089.73. + + 77 FLD0057A PIC 9(03)V9(32) COMP-6 + VALUE 929.20878243011406638629523513372987. + 77 FLD0057B PIC S9(02) COMP-3 + VALUE -06. + + 77 FLD0058A PIC 9(02)V9(34) COMP-6 + VALUE 96.6574119281082611010447180888149887. + 77 FLD0058B PIC S9(09)V9(04) COMP-3 + VALUE +343623662.0368. + + 77 FLD0059A PIC 9(07)V9(02) COMP-6 + VALUE 2566438.61. + 77 FLD0059B PIC 9(09)V9(14) COMP-6 + VALUE 625762300.58564874525472. + + 77 FLD0060A PIC 9(01)V9(36) COMP-6 + VALUE 9.888752946983269120906356874911580234. + 77 FLD0060B PIC 9(06) COMP-6 + VALUE 159150. + + 77 FLD0061A PIC 9(03) COMP-6 + VALUE 095. + 77 FLD0061B PIC 9(06)V9(25) COMP-6 + VALUE 816564.2123096498172785118185856. + + 77 FLD0062A PIC 9(10)V9(11) COMP-6 + VALUE 5579259193.81647705819. + 77 FLD0062B PIC 9(09)V9(13) COMP-3 + VALUE 602304146.8914084317631. + + 77 FLD0063A PIC S9(07)V9(01) COMP-3 + VALUE +2106925.6. + 77 FLD0063B PIC 9(08)V9(19) COMP-3 + VALUE 73193550.7264897311507922950. + + 77 FLD0064A PIC 9(06)V9(25) COMP-6 + VALUE 828553.1635867423583263757791428. + 77 FLD0064B PIC S9(04) COMP-3 + VALUE +1113. + + 77 FLD0065A PIC 9(08)V9(02) BINARY + VALUE 26934154.73. + 77 FLD0065B PIC S9(04) COMP-3 + VALUE +1223. + + 77 FLD0066A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0066B PIC 9(05)V9(27) COMP-3 + VALUE 85085.260849998822774153950376785. + + 77 FLD0067A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0067B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0068A PIC 9(06)V9(25) COMP-6 + VALUE 838055.6814082209537986045688739. + 77 FLD0068B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0069A PIC 9(10)V9(08) COMP-6 + VALUE 4880885916.76487937. + 77 FLD0069B PIC 9(03) COMP-6 + VALUE 097. + + 77 FLD0070A PIC 9(08)V9(18) COMP-6 + VALUE 69654747.914044090606466852. + 77 FLD0070B PIC S9(06)V9(01) COMP-3 + VALUE -192591.5. + + 77 FLD0071A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0071B PIC 9(04) COMP-6 + VALUE 1269. + + 77 FLD0072A PIC 9(01)V9(36) COMP-3 + VALUE 9.925387953744267965916492357791867107. + 77 FLD0072B PIC 9(09)V9(15) COMP-6 + VALUE 655377323.717403204028641. + + 77 FLD0073A PIC 9(01)V9(36) COMP-3 + VALUE 9.812328554525302504174533169134519994. + 77 FLD0073B PIC 9(08)V9(18) COMP-6 + VALUE 70717230.890474991333860543. + + 77 FLD0074A PIC 9(03)V9(32) COMP-6 + VALUE 925.84903592679257400277492706663906. + 77 FLD0074B PIC 9(01)V9(36) COMP-3 + VALUE 9.839916331263631743553332853480242192. + + 77 FLD0075A PIC 9(10)V9(10) COMP-3 + VALUE 5446083738.8683014381. + 77 FLD0075B PIC S9(07)V9(01) COMP-3 + VALUE +2205661.8. + + 77 FLD0076A PIC S9(07)V9(02) COMP-3 + VALUE +2412584.18. + 77 FLD0076B PIC 9(02)V9(34) COMP-3 + VALUE 95.1877730461857529675739897356834262. + + 77 FLD0077A PIC 9(10)V9(08) COMP-6 + VALUE 4971042025.86989840. + 77 FLD0077B PIC 9(05)V9(28) COMP-6 + VALUE 87747.7884783979700245026833727024. + + 77 FLD0078A PIC 9(06)V9(01) COMP-6 + VALUE 186044.2. + 77 FLD0078B PIC 9(10)V9(10) COMP-6 + VALUE 5264094377.6727222580. + + 77 FLD0079A PIC 9(09)V9(15) COMP-6 + VALUE 638119223.314542294289708. + 77 FLD0079B PIC S9(03) COMP-3 + VALUE +101. + + 77 FLD0080A PIC 9(07)V9(23) COMP-3 + VALUE 7905587.67133311302011122734256. + 77 FLD0080B PIC S9(09)V9(04) COMP-3 + VALUE -363247849.5626. + + 77 FLD0081A PIC 9(01)V9(36) COMP-6 + VALUE 9.951308658902108250643436804239172488. + 77 FLD0081B PIC 9(09)V9(04) COMP-6 + VALUE 367206952.3371. + + 77 FLD0082A PIC S9(08)V9(02) COMP-3 + VALUE -26324419.10. + 77 FLD0082B PIC 9(07)V9(22) COMP-6 + VALUE 7666475.1738066827524420432382. + + 77 FLD0083A PIC 9(09)V9(14) COMP-3 + VALUE 631384121.39469823891602. + 77 FLD0083B PIC S9(07)V9(02) COMP-3 + VALUE -2518657.33. + + 77 FLD0084A PIC 9(04)V9(29) COMP-3 + VALUE 8913.08379718931953483718189090723. + 77 FLD0084B PIC 9(09)V9(06) COMP-6 + VALUE 405118244.918866. + + 77 FLD0085A PIC 9(05) COMP-6 + VALUE 15779. + 77 FLD0085B PIC 9(10)V9(06) COMP-6 + VALUE 4354227755.611629. + + 77 FLD0086A PIC 9(01)V9(36) COMP-6 + VALUE 9.766547774737049936177868403319735080. + 77 FLD0086B PIC 9(10)V9(11) COMP-3 + VALUE 5711670223.78104349833. + + 77 FLD0087A PIC 9(09)V9(14) COMP-6 + VALUE 617158605.01368802193411. + 77 FLD0087B PIC 9(04) COMP-6 + VALUE 1168. + + 77 FLD0088A PIC 9(10)V9(12) COMP-3 + VALUE 5809468198.000283800652. + 77 FLD0088B PIC 9(09)V9(03) COMP-6 + VALUE 327927843.481. + + 77 FLD0089A PIC 9(06)V9(24) COMP-3 + VALUE 802942.222446262787727278009697. + 77 FLD0089B PIC 9(03)V9(31) COMP-3 + VALUE 913.0556640200002682661306607769802. + + 77 FLD0090A PIC S9(08)V9(02) COMP-3 + VALUE -28271627.31. + 77 FLD0090B PIC S9(08)V9(03) COMP-3 + VALUE -29023436.992. + + 77 FLD0091A PIC 9(09)V9(07) COMP-6 + VALUE 438808038.0901770. + 77 FLD0091B PIC 9(08)V9(18) COMP-6 + VALUE 69809163.794725925811235356. + + 77 FLD0092A PIC S9(07)V9(01) COMP-3 + VALUE +2146587.0. + 77 FLD0092B PIC 9(06)V9(25) COMP-6 + VALUE 828676.9901534452031910404912196. + + 77 FLD0093A PIC 9(06)V9(25) COMP-3 + VALUE 831848.6927757260396276706160278. + 77 FLD0093B PIC 9(07)V9(23) COMP-3 + VALUE 7909193.25337388512409120266966. + + 77 FLD0094A PIC 9(07)V9(01) COMP-6 + VALUE 2260698.5. + 77 FLD0094B PIC 9(10)V9(10) COMP-3 + VALUE 5308926344.5354850645. + + 77 FLD0095A PIC 9(07)V9(22) COMP-6 + VALUE 7681159.7607563408818265315858. + 77 FLD0095B PIC 9(06)V9(25) COMP-6 + VALUE 835614.2190518044410296738533361. + + 77 FLD0096A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0096B PIC 9(05)V9(28) COMP-6 + VALUE 87505.3049076218392166026660561328. + + 77 FLD0097A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0097B PIC 9(07)V9(22) COMP-6 + VALUE 7663819.4132902548449948199049. + + 77 FLD0098A PIC 9(05)V9(28) COMP-6 + VALUE 87637.1310136299430659789777564583. + 77 FLD0098B PIC 9(08)V9(04) COMP-6 + VALUE 33500668.0379. + + 77 FLD0099A PIC S9(10)V9(08) COMP-3 + VALUE -4946809917.70565292. + 77 FLD0099B PIC S9(08)V9(03) COMP-3 + VALUE +30007106.715. + + 77 FLD0100A PIC 9(10)V9(09) COMP-3 + VALUE 5148281813.288457797. + 77 FLD0100B PIC 9(09)V9(14) COMP-6 + VALUE 609442213.66168171982735. + + 77 FLD0101A PIC S9(07)V9(02) COMP-3 + VALUE -2605358.58. + 77 FLD0101B PIC S9(07)V9(02) COMP-3 + VALUE -2515761.93. + + 77 FLD0102A PIC 9(05) COMP-6 + VALUE 13880. + 77 FLD0102B PIC 9(09)V9(14) COMP-6 + VALUE 626009568.32775289662151. + + 77 FLD0103A PIC 9(03)V9(32) COMP-6 + VALUE 929.51599988912647631877916865050792. + 77 FLD0103B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0104A PIC 9(07)V9(01) COMP-6 + VALUE 2254306.3. + 77 FLD0104B PIC S9(10)V9(08) COMP-3 + VALUE -4810300752.02174334. + + 77 FLD0105A PIC S9(08)V9(03) COMP-3 + VALUE -29081388.428. + 77 FLD0105B PIC 9(08)V9(02) COMP-6 + VALUE 27558698.77. + + 77 FLD0106A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0106B PIC S9(08)V9(02) COMP-3 + VALUE -26362185.29. + + 77 FLD0107A PIC 9(09)V9(16) COMP-6 + VALUE 677462443.7557797973497031. + 77 FLD0107B PIC 9(08)V9(19) COMP-6 + VALUE 71705910.5997380985542122289. + + 77 FLD0108A PIC 9(09)V9(14) COMP-3 + VALUE 610210882.31341436003418. + 77 FLD0108B PIC S9(08)V9(02) COMP-3 + VALUE -28421053.19. + + 77 FLD0109A PIC S9(04) COMP-3 + VALUE +1136. + 77 FLD0109B PIC 9(04)V9(30) COMP-3 + VALUE 9020.720262660837374113498299266211. + + 77 FLD0110A PIC 9(07)V9(23) COMP-3 + VALUE 7940109.55673497886841971649118. + 77 FLD0110B PIC 9(08)V9(18) COMP-6 + VALUE 69721135.284383173313926818. + + 77 FLD0111A PIC 9(09)V9(03) COMP-6 + VALUE 326472185.831. + 77 FLD0111B PIC 9(10)V9(09) COMP-6 + VALUE 5255901748.964217912. + + 77 FLD0112A PIC 9(08)V9(19) COMP-3 + VALUE 71238052.4624002697819946661. + 77 FLD0112B PIC S9(08)V9(02) COMP-3 + VALUE -27133920.74. + + 77 FLD0113A PIC 9(04)V9(30) COMP-6 + VALUE 9092.566324157485002643852567416615. + 77 FLD0113B PIC 9(04) COMP-6 + VALUE 1277. + + 77 FLD0114A PIC 9(09)V9(07) COMP-6 + VALUE 437805064.1539988. + 77 FLD0114B PIC 9(05)V9(01) COMP-6 + VALUE 17667.3. + + 77 FLD0115A PIC 9(02)V9(34) COMP-3 + VALUE 96.2362934933669089687668929400388151. + 77 FLD0115B PIC S9(08)V9(03) COMP-3 + VALUE +30236682.408. + + 77 FLD0116A PIC 9(07)V9(22) COMP-3 + VALUE 7646463.4359510952332783517704. + 77 FLD0116B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0117A PIC 9(09)V9(14) COMP-6 + VALUE 617509561.34001855346582. + 77 FLD0117B PIC 9(05) COMP-6 + VALUE 13612. + + 77 FLD0118A PIC 9(10)V9(10) COMP-3 + VALUE 5408402726.5490597358. + 77 FLD0118B PIC S9(03) COMP-3 + VALUE -080. + + 77 FLD0119A PIC S9(08)V9(03) COMP-3 + VALUE +30078875.458. + 77 FLD0119B PIC 9(07)V9(02) COMP-6 + VALUE 2460449.05. + + 77 FLD0120A PIC 9(06)V9(25) COMP-3 + VALUE 830160.1137616416714593015058198. + 77 FLD0120B PIC S9(02) COMP-3 + VALUE -07. + + 77 FLD0121A PIC S9(07)V9(01) COMP-3 + VALUE +2338292.2. + 77 FLD0121B PIC S9(09)V9(03) COMP-3 + VALUE +320991974.822. + + 77 FLD0122A PIC S9(06)V9(01) COMP-3 + VALUE -184951.8. + 77 FLD0122B PIC 9(08)V9(02) COMP-6 + VALUE 26752619.72. + + 77 FLD0123A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0123B PIC 9(07)V9(21) COMP-3 + VALUE 7502027.502690824523057244732. + + 77 FLD0124A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0124B PIC S9(10)V9(06) COMP-3 + VALUE +4223876720.963152. + + 77 FLD0125A PIC 9(04)V9(29) COMP-3 + VALUE 8800.31826789913984576685379579430. + 77 FLD0125B PIC 9(09)V9(15) COMP-6 + VALUE 637787216.045794358443288. + + 77 FLD0126A PIC 9(06)V9(24) COMP-6 + VALUE 807990.071015203703552742808824. + 77 FLD0126B PIC 9(07)V9(01) COMP-6 + VALUE 2285688.0. + + 77 FLD0127A PIC 9(04)V9(30) COMP-6 + VALUE 8981.860178820127993404298649693373. + 77 FLD0127B PIC 9(05)V9(28) COMP-6 + VALUE 87878.0390073648609572387613297905. + + 77 FLD0128A PIC 9(10)V9(06) COMP-6 + VALUE 4298489587.591516. + 77 FLD0128B PIC 9(08)V9(02) COMP-6 + VALUE 26904320.50. + + 77 FLD0129A PIC S9(08)V9(04) COMP-3 + VALUE +33460508.1048. + 77 FLD0129B PIC 9(09)V9(14) COMP-6 + VALUE 629564859.51748508700376. + + 77 FLD0130A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0130B PIC 9(08)V9(03) COMP-6 + VALUE 30500681.275. + + 77 FLD0131A PIC 9(08)V9(02) COMP-6 + VALUE 26916210.05. + 77 FLD0131B PIC 9(08)V9(18) COMP-6 + VALUE 70626515.642831921848454612. + + 77 FLD0132A PIC 9(04) COMP-6 + VALUE 1270. + 77 FLD0132B PIC 9(07)V9(01) COMP-6 + VALUE 2163498.7. + + 77 FLD0133A PIC 9(01)V9(36) COMP-6 + VALUE 9.890353542063604619372085835493635386. + 77 FLD0133B PIC S9(07)V9(02) COMP-3 + VALUE -2528421.98. + + 77 FLD0134A PIC 9(08)V9(18) COMP-3 + VALUE 70385499.741438917187252855. + 77 FLD0134B PIC 9(09)V9(16) COMP-3 + VALUE 673960062.4739148226893803. + + 77 FLD0135A PIC 9(10)V9(07) COMP-6 + VALUE 4678335500.0128495. + 77 FLD0135B PIC 9(07)V9(02) COMP-6 + VALUE 2561321.97. + + 77 FLD0136A PIC S9(05) COMP-3 + VALUE -15169. + 77 FLD0136B PIC 9(08)V9(19) COMP-3 + VALUE 72091249.9695820607747975827. + + 77 FLD0137A PIC S9(08)V9(02) COMP-3 + VALUE -27190319.39. + 77 FLD0137B PIC 9(03)V9(32) COMP-3 + VALUE 921.23024961283406231160597599227912. + + 77 FLD0138A PIC S9(10)V9(08) COMP-3 + VALUE -4824223828.94490853. + 77 FLD0138B PIC 9(04)V9(30) COMP-6 + VALUE 8976.142294415691003095503219810780. + + 77 FLD0139A PIC 9(09)V9(03) COMP-6 + VALUE 319644653.394. + 77 FLD0139B PIC 9(06)V9(25) COMP-6 + VALUE 818318.3537620841718762676464393. + + 77 FLD0140A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0140B PIC 9(03)V9(31) COMP-3 + VALUE 913.4502802484925076953459210926666. + + 77 FLD0141A PIC 9(09)V9(14) COMP-3 + VALUE 612266512.11346116987499. + 77 FLD0141B PIC 9(06)V9(01) COMP-6 + VALUE 198046.5. + + 77 FLD0142A PIC 9(09)V9(04) COMP-6 + VALUE 356201246.7531. + 77 FLD0142B PIC S9(04) COMP-3 + VALUE +1134. + + 77 FLD0143A PIC S9(07)V9(02) COMP-3 + VALUE -2608987.15. + 77 FLD0143B PIC 9(06)V9(01) COMP-6 + VALUE 205887.8. + + 77 FLD0144A PIC 9(10)V9(11) COMP-6 + VALUE 5664625691.64754570216. + 77 FLD0144B PIC 9(07)V9(01) COMP-6 + VALUE 2170292.3. + + 77 FLD0145A PIC 9(09)V9(13) COMP-3 + VALUE 592809780.4295365813587. + 77 FLD0145B PIC 9(09)V9(06) COMP-6 + VALUE 416669902.306984. + + 77 FLD0146A PIC S9(03) COMP-3 + VALUE -091. + 77 FLD0146B PIC 9(09)V9(13) COMP-3 + VALUE 592675280.7490164309811. + + 77 FLD0147A PIC 9(03) COMP-6 + VALUE 085. + 77 FLD0147B PIC 9(10)V9(05) COMP-6 + VALUE 3974420340.21838. + + 77 FLD0148A PIC 9(04) COMP-6 + VALUE 1189. + 77 FLD0148B PIC 9(08)V9(04) COMP-6 + VALUE 33583306.9980. + + 77 FLD0149A PIC 9(05)V9(27) COMP-3 + VALUE 86469.811002464236349140946913394. + 77 FLD0149B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0150A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0150B PIC 9(01)V9(36) COMP-6 + VALUE 9.779789481524289174174668914929497987. + + 77 FLD0151A PIC 9(09)V9(13) COMP-3 + VALUE 602633749.4884196344102. + 77 FLD0151B PIC 9(07)V9(22) COMP-3 + VALUE 7715228.5011189425389943608024. + + 77 FLD0152A PIC S9(08)V9(02) COMP-3 + VALUE -28005400.65. + 77 FLD0152B PIC 9(02)V9(34) COMP-6 + VALUE 96.9689035330467796747200281970435753. + + 77 FLD0153A PIC 9(08)V9(18) COMP-3 + VALUE 69246387.672994647033419823. + 77 FLD0153B PIC 9(07)V9(22) COMP-3 + VALUE 7700147.9845998110906890588012. + + 77 FLD0154A PIC 9(09)V9(14) COMP-6 + VALUE 618531644.61004783714059. + 77 FLD0154B PIC 9(10)V9(07) COMP-6 + VALUE 4667533939.9326892. + + 77 FLD0155A PIC 9(10)V9(12) COMP-3 + VALUE 5816028861.286740569980. + 77 FLD0155B PIC 9(03)V9(31) COMP-3 + VALUE 920.9824083062539967770021576143335. + + 77 FLD0156A PIC 9(02)V9(34) COMP-3 + VALUE 95.3830714078202746009083057288080453. + 77 FLD0156B PIC 9(04)V9(30) COMP-6 + VALUE 9080.971133779824899789900882751680. + + 77 FLD0157A PIC 9(09)V9(16) COMP-6 + VALUE 659745695.0483697735165833. + 77 FLD0157B PIC 9(10)V9(06) COMP-6 + VALUE 4359875032.276696. + + 77 FLD0158A PIC S9(09)V9(06) COMP-3 + VALUE +412656981.234114. + 77 FLD0158B PIC 9(09)V9(14) COMP-3 + VALUE 611832243.66474420197192. + + 77 FLD0159A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0159B PIC 9(09)V9(15) COMP-3 + VALUE 643529357.674236912600918. + + 77 FLD0160A PIC 9(08)V9(20) COMP-6 + VALUE 74656107.83998073429756914265. + 77 FLD0160B PIC 9(06)V9(01) COMP-6 + VALUE 207077.8. + + 77 FLD0161A PIC 9(07)V9(22) COMP-6 + VALUE 7887170.9741627593626134284932. + 77 FLD0161B PIC 9(08)V9(19) COMP-6 + VALUE 71702582.3615881408024108623. + + 77 FLD0162A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0162B PIC 9(10)V9(11) COMP-6 + VALUE 5668143857.58160899086. + + 77 FLD0163A PIC 9(09)V9(14) COMP-6 + VALUE 618392824.19829444403802. + 77 FLD0163B PIC 9(09)V9(15) COMP-3 + VALUE 650815786.826470232817598. + + 77 FLD0164A PIC S9(06)V9(01) COMP-3 + VALUE +204076.7. + 77 FLD0164B PIC 9(04) COMP-6 + VALUE 1076. + + 77 FLD0165A PIC 9(09)V9(14) COMP-3 + VALUE 610409164.63927785695631. + 77 FLD0165B PIC 9(04) COMP-6 + VALUE 1267. + + 77 FLD0166A PIC 9(07)V9(02) COMP-6 + VALUE 2460589.98. + 77 FLD0166B PIC 9(05)V9(01) COMP-6 + VALUE 17630.0. + + 77 FLD0167A PIC S9(09)V9(03) COMP-3 + VALUE +323253458.962. + 77 FLD0167B PIC 9(06)V9(25) COMP-6 + VALUE 838285.1322478405142746282763255. + + 77 FLD0168A PIC S9(04) COMP-3 + VALUE +1200. + 77 FLD0168B PIC S9(10)V9(06) COMP-3 + VALUE +4326937205.661665. + + 77 FLD0169A PIC 9(06)V9(25) COMP-3 + VALUE 834885.7368063762329768451309064. + 77 FLD0169B PIC 9(08)V9(18) COMP-6 + VALUE 70699865.109667991980302304. + + 77 FLD0170A PIC 9(08)V9(19) COMP-3 + VALUE 72325482.4666709539293663056. + 77 FLD0170B PIC 9(01)V9(36) COMP-6 + VALUE 9.863493423765207213094186045054811984. + + 77 FLD0171A PIC 9(09)V9(16) COMP-6 + VALUE 675345293.4675296948086042. + 77 FLD0171B PIC 9(10)V9(06) COMP-6 + VALUE 4258478422.558273. + + 77 FLD0172A PIC 9(02)V9(34) COMP-3 + VALUE 96.0216523360032936373897882731398567. + 77 FLD0172B PIC 9(04)V9(30) COMP-6 + VALUE 8999.798406174591702821885519369971. + + 77 FLD0173A PIC S9(09)V9(06) COMP-3 + VALUE +412472914.336663. + 77 FLD0173B PIC 9(10)V9(08) COMP-6 + VALUE 4786981213.45750904. + + 77 FLD0174A PIC S9(04) COMP-3 + VALUE +1244. + 77 FLD0174B PIC 9(10)V9(09) COMP-6 + VALUE 5152586737.087611057. + + 77 FLD0175A PIC S9(05) COMP-3 + VALUE +13456. + 77 FLD0175B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0176A PIC 9(07)V9(23) COMP-3 + VALUE 7902178.74582138546379894705751. + 77 FLD0176B PIC 9(08)V9(03) COMP-6 + VALUE 29797398.003. + + 77 FLD0177A PIC 9(07)V9(21) COMP-3 + VALUE 7618839.577049143496623173632. + 77 FLD0177B PIC 9(07)V9(02) COMP-6 + VALUE 2373414.07. + + 77 FLD0178A PIC 9(09)V9(04) COMP-6 + VALUE 355502105.3348. + 77 FLD0178B PIC S9(08)V9(03) COMP-3 + VALUE +31397739.222. + + 77 FLD0179A PIC 9(09)V9(05) COMP-6 + VALUE 388560564.63472. + 77 FLD0179B PIC 9(03) COMP-6 + VALUE 099. + + 77 FLD0180A PIC 9(05)V9(27) COMP-6 + VALUE 85946.157652659294079455776227405. + 77 FLD0180B PIC 9(10)V9(10) COMP-3 + VALUE 5435189439.3573940700. + + 77 FLD0181A PIC 9(06)V9(01) COMP-6 + VALUE 188908.8. + 77 FLD0181B PIC S9(10)V9(08) COMP-3 + VALUE -4740924741.33910868. + + 77 FLD0182A PIC 9(10)V9(13) COMP-6 + VALUE 6061401860.3468300394609. + 77 FLD0182B PIC 9(09)V9(15) COMP-3 + VALUE 643493508.008180281620980. + + 77 FLD0183A PIC 9(07)V9(23) COMP-3 + VALUE 7910108.10526126539876656806882. + 77 FLD0183B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0184A PIC 9(09)V9(15) COMP-6 + VALUE 635945742.812533687526865. + 77 FLD0184B PIC S9(07)V9(01) COMP-3 + VALUE +2343773.6. + + 77 FLD0185A PIC 9(05) COMP-6 + VALUE 15666. + 77 FLD0185B PIC 9(08)V9(20) COMP-6 + VALUE 73935660.38753716096465495866. + + 77 FLD0186A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0186B PIC 9(05)V9(26) COMP-3 + VALUE 84084.08947119312415452441200613. + + 77 FLD0187A PIC 9(09)V9(13) COMP-3 + VALUE 604672028.7423602568921. + 77 FLD0187B PIC 9(10)V9(12) COMP-6 + VALUE 5893278013.192120301511. + + 77 FLD0188A PIC 9(08)V9(17) COMP-3 + VALUE 68008236.87569536035724127. + 77 FLD0188B PIC 9(07)V9(21) COMP-3 + VALUE 7537078.198448752264226868646. + + 77 FLD0189A PIC 9(10)V9(09) COMP-3 + VALUE 5115071016.238050827. + 77 FLD0189B PIC 9(10)V9(11) COMP-6 + VALUE 5668524677.20726727051. + + 77 FLD0190A PIC 9(07)V9(02) COMP-6 + VALUE 2382137.54. + 77 FLD0190B PIC 9(09)V9(14) COMP-6 + VALUE 627148648.94273569806415. + + 77 FLD0191A PIC 9(05) COMP-6 + VALUE 13720. + 77 FLD0191B PIC 9(06)V9(24) COMP-3 + VALUE 803717.168989411478996487403492. + + 77 FLD0192A PIC 9(01)V9(36) COMP-6 + VALUE 9.894259454195439840162862310535274446. + 77 FLD0192B PIC 9(09)V9(04) COMP-6 + VALUE 358034239.3955. + + 77 FLD0193A PIC 9(10)V9(06) COMP-6 + VALUE 4252943677.090519. + 77 FLD0193B PIC 9(09)V9(14) COMP-3 + VALUE 612048644.17243076690766. + + 77 FLD0194A PIC 9(09)V9(06) COMP-6 + VALUE 417168379.939779. + 77 FLD0194B PIC 9(09)V9(15) COMP-3 + VALUE 634454032.998696626499679. + + 77 FLD0195A PIC 9(08)V9(02) COMP-6 + VALUE 26645846.45. + 77 FLD0195B PIC 9(05) COMP-6 + VALUE 14921. + + 77 FLD0196A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0196B PIC S9(05)V9(01) COMP-3 + VALUE -18000.7. + + 77 FLD0197A PIC 9(01)V9(36) COMP-3 + VALUE 9.847788375924405590566834689525421708. + 77 FLD0197B PIC 9(02) COMP-6 + VALUE 05. + + 77 FLD0198A PIC 9(09)V9(13) COMP-3 + VALUE 593293108.5591157671643. + 77 FLD0198B PIC S9(05) COMP-3 + VALUE +14072. + + 77 FLD0199A PIC 9(07)V9(02) COMP-6 + VALUE 2483287.24. + 77 FLD0199B PIC 9(07)V9(23) COMP-6 + VALUE 7969040.17410605347571106449322. + + 77 FLD0200A PIC S9(10)V9(08) COMP-3 + VALUE -4935972790.60619176. + 77 FLD0200B PIC 9(10)V9(07) COMP-6 + VALUE 4582475224.7206340. + + 77 FLD0201A PIC 9(04) COMP-6 + VALUE 1282. + 77 FLD0201B PIC 9(07)V9(23) COMP-3 + VALUE 7926313.90444417882612526682351. + + 77 FLD0202A PIC S9(09)V9(04) COMP-3 + VALUE -360603443.7503. + 77 FLD0202B PIC 9(03)V9(32) COMP-6 + VALUE 935.68197555010013122256395945441909. + + 77 FLD0203A PIC 9(09)V9(14) COMP-6 + VALUE 628607663.38264040253847. + 77 FLD0203B PIC 9(03)V9(31) COMP-3 + VALUE 920.1886012491730104656539879215415. + + 77 FLD0204A PIC 9(01)V9(35) COMP-3 + VALUE 9.73054030732718233664968465745914727. + 77 FLD0204B PIC 9(07)V9(01) COMP-6 + VALUE 2363275.3. + + 77 FLD0205A PIC 9(09)V9(15) COMP-6 + VALUE 648926914.508991536933990. + 77 FLD0205B PIC 9(09)V9(15) COMP-6 + VALUE 639814213.238647178094709. + + 77 FLD0206A PIC 9(06)V9(01) COMP-6 + VALUE 186967.7. + 77 FLD0206B PIC 9(08)V9(18) COMP-6 + VALUE 70826356.466434425840361654. + + 77 FLD0207A PIC 9(05)V9(26) COMP-6 + VALUE 83944.39242287422553445708217623. + 77 FLD0207B PIC 9(07)V9(21) COMP-3 + VALUE 7607846.993308088334728722657. + + 77 FLD0208A PIC 9(02)V9(34) COMP-6 + VALUE 96.7940040016311842308027735271025449. + 77 FLD0208B PIC 9(07)V9(01) COMP-6 + VALUE 2151595.4. + + 77 FLD0209A PIC 9(03)V9(32) COMP-6 + VALUE 926.61149050802726900855077474261634. + 77 FLD0209B PIC 9(07)V9(23) COMP-6 + VALUE 7951784.48263920700789242346218. + + 77 FLD0210A PIC 9(08)V9(19) COMP-3 + VALUE 72323528.1456575562764044207. + 77 FLD0210B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0211A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0211B PIC S9(09)V9(07) COMP-3 + VALUE +442113770.7554604. + + 77 FLD0212A PIC 9(10)V9(08) COMP-6 + VALUE 4892032792.55731038. + 77 FLD0212B PIC S9(09)V9(05) COMP-3 + VALUE -372935567.70682. + + 77 FLD0213A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0213B PIC 9(07)V9(21) COMP-3 + VALUE 7525721.770631302875997903356. + + 77 FLD0214A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0214B PIC 9(09)V9(16) COMP-6 + VALUE 666893270.4655321508369070. + + 77 FLD0215A PIC 9(03)V9(32) COMP-6 + VALUE 926.34033699271633999217101518297567. + 77 FLD0215B PIC S9(05)V9(01) COMP-3 + VALUE -18226.5. + + 77 FLD0216A PIC S9(08)V9(02) COMP-3 + VALUE -28095374.87. + 77 FLD0216B PIC 9(08)V9(02) COMP-6 + VALUE 28541793.87. + + 77 FLD0217A PIC 9(08)V9(20) COMP-6 + VALUE 74562962.48658396130792880285. + 77 FLD0217B PIC S9(09)V9(07) COMP-3 + VALUE +444563659.0422049. + + 77 FLD0218A PIC S9(05)V9(01) COMP-3 + VALUE -18094.6. + 77 FLD0218B PIC 9(01)V9(36) COMP-6 + VALUE 9.867255193327033602201936446363106369. + + 77 FLD0219A PIC 9(09)V9(12) COMP-6 + VALUE 578788992.127507229135. + 77 FLD0219B PIC 9(10)V9(10) COMP-6 + VALUE 5297903516.0907261836. + + 77 FLD0220A PIC 9(09)V9(12) COMP-3 + VALUE 573343525.907533679841. + 77 FLD0220B PIC S9(05) COMP-3 + VALUE +14161. + + 77 FLD0221A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0221B PIC 9(04)V9(29) COMP-6 + VALUE 8789.10367794605407176788958167890. + + 77 FLD0222A PIC 9(09)V9(14) COMP-6 + VALUE 628182805.25174396977661. + 77 FLD0222B PIC S9(05) COMP-3 + VALUE -15228. + + 77 FLD0223A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0223B PIC 9(08)V9(18) COMP-6 + VALUE 69950927.082806102497158917. + + 77 FLD0224A PIC 9(06)V9(25) COMP-6 + VALUE 838187.2267509891116787912324070. + 77 FLD0224B PIC S9(09)V9(05) COMP-3 + VALUE -382169497.04991. + + 77 FLD0225A PIC 9(05) COMP-6 + VALUE 13797. + 77 FLD0225B PIC 9(09)V9(12) COMP-3 + VALUE 572598612.808938978169. + + 77 FLD0226A PIC 9(05) COMP-6 + VALUE 14900. + 77 FLD0226B PIC S9(07)V9(01) COMP-3 + VALUE +2129995.4. + + 77 FLD0227A PIC 9(09)V9(14) COMP-6 + VALUE 629583055.15940859997670. + 77 FLD0227B PIC 9(04)V9(30) COMP-6 + VALUE 8983.577034983017961522477889957372. + + 77 FLD0228A PIC S9(07)V9(01) COMP-3 + VALUE +2225916.3. + 77 FLD0228B PIC 9(01)V9(36) COMP-3 + VALUE 9.739690596877397243957830141880549490. + + 77 FLD0229A PIC 9(01)V9(36) COMP-6 + VALUE 9.870473603260505601753038718015886843. + 77 FLD0229B PIC 9(08)V9(20) COMP-6 + VALUE 73838029.76208535540081356884. + + 77 FLD0230A PIC S9(06)V9(01) COMP-3 + VALUE +201492.2. + 77 FLD0230B PIC S9(02) COMP-3 + VALUE -06. + + 77 FLD0231A PIC 9(05)V9(28) COMP-6 + VALUE 87781.6812716511907233041256404248. + 77 FLD0231B PIC S9(08)V9(02) COMP-3 + VALUE -27182116.43. + + 77 FLD0232A PIC 9(09)V9(04) COMP-6 + VALUE 356308264.5328. + 77 FLD0232B PIC 9(06)V9(25) COMP-3 + VALUE 833280.3014261945806495646138500. + + 77 FLD0233A PIC 9(07)V9(21) COMP-6 + VALUE 7552156.809035388551620826547. + 77 FLD0233B PIC 9(08)V9(04) COMP-6 + VALUE 33739768.3403. + + 77 FLD0234A PIC 9(08)V9(04) COMP-6 + VALUE 33831052.6754. + 77 FLD0234B PIC 9(09)V9(13) COMP-3 + VALUE 593899144.9424572133253. + + 77 FLD0235A PIC S9(05) COMP-3 + VALUE +14123. + 77 FLD0235B PIC S9(10)V9(08) COMP-3 + VALUE -4808329310.19295639. + + 77 FLD0236A PIC 9(04)V9(29) COMP-3 + VALUE 8818.23528289915170574886360554955. + 77 FLD0236B PIC 9(08)V9(18) COMP-3 + VALUE 70480160.116860446350983693. + + 77 FLD0237A PIC 9(08)V9(02) COMP-6 + VALUE 28742037.59. + 77 FLD0237B PIC 9(04)V9(29) COMP-6 + VALUE 8850.90488581330880890618573175743. + + 77 FLD0238A PIC 9(09)V9(15) COMP-3 + VALUE 634521096.430120334908053. + 77 FLD0238B PIC 9(06)V9(01) COMP-6 + VALUE 198396.3. + + 77 FLD0239A PIC 9(09)V9(16) COMP-6 + VALUE 678585779.2924817610824561. + 77 FLD0239B PIC 9(09)V9(14) COMP-3 + VALUE 614739880.97122655993587. + + 77 FLD0240A PIC 9(10)V9(06) COMP-6 + VALUE 4289853576.446766. + 77 FLD0240B PIC 9(06)V9(25) COMP-3 + VALUE 833165.4817075836438888813972880. + + 77 FLD0241A PIC S9(05) COMP-3 + VALUE +14407. + 77 FLD0241B PIC 9(09)V9(14) COMP-6 + VALUE 608742950.23205993171444. + + 77 FLD0242A PIC 9(10)V9(12) COMP-6 + VALUE 5860383854.989427154791. + 77 FLD0242B PIC S9(06)V9(01) COMP-3 + VALUE +201770.8. + + 77 FLD0243A PIC 9(02)V9(34) COMP-3 + VALUE 97.0409660969254295181940506154205650. + 77 FLD0243B PIC 9(05)V9(28) COMP-6 + VALUE 86928.4847432245544318618613033322. + + 77 FLD0244A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0244B PIC 9(09)V9(13) COMP-6 + VALUE 596454149.7067354924865. + + 77 FLD0245A PIC S9(09)V9(05) COMP-3 + VALUE -371716886.14542. + 77 FLD0245B PIC 9(09)V9(15) COMP-6 + VALUE 636050719.355519267317333. + + 77 FLD0246A PIC 9(05)V9(28) COMP-3 + VALUE 87216.9313623637143528810611314838. + 77 FLD0246B PIC 9(06)V9(01) COMP-6 + VALUE 208199.5. + + 77 FLD0247A PIC 9(06)V9(25) COMP-3 + VALUE 834494.8214770686600871840710169. + 77 FLD0247B PIC 9(08)V9(19) COMP-3 + VALUE 73372232.8570783122181353519. + + 77 FLD0248A PIC 9(04)V9(29) COMP-6 + VALUE 8885.56418584546814365410227765096. + 77 FLD0248B PIC 9(10)V9(11) COMP-6 + VALUE 5683594830.11341870550. + + 77 FLD0249A PIC 9(09)V9(16) COMP-6 + VALUE 678470839.5950102000071524. + 77 FLD0249B PIC 9(09)V9(16) COMP-3 + VALUE 673175418.3146980707874718. + + 77 FLD0250A PIC 9(09)V9(15) COMP-3 + VALUE 643468324.926731005675151. + 77 FLD0250B PIC 9(04)V9(30) COMP-6 + VALUE 9057.675398841628089385835664870683. + + 77 FLD0251A PIC S9(09)V9(06) COMP-3 + VALUE +402548910.007195. + 77 FLD0251B PIC 9(06)V9(25) COMP-3 + VALUE 830149.1080513825338016431487631. + + 77 FLD0252A PIC S9(05)V9(01) COMP-3 + VALUE -18339.3. + 77 FLD0252B PIC S9(07)V9(01) COMP-3 + VALUE +2343087.3. + + 77 FLD0253A PIC 9(06)V9(25) COMP-3 + VALUE 822593.8518184680026124055984837. + 77 FLD0253B PIC 9(07)V9(01) COMP-6 + VALUE 2159897.7. + + 77 FLD0254A PIC 9(10)V9(10) COMP-3 + VALUE 5401895692.3872574193. + 77 FLD0254B PIC S9(07)V9(02) COMP-3 + VALUE +2405256.16. + + 77 FLD0255A PIC 9(02)V9(34) COMP-6 + VALUE 94.8299297085154591080424779647728428. + 77 FLD0255B PIC 9(10)V9(10) COMP-3 + VALUE 5408143412.7739858030. + + 77 FLD0256A PIC S9(09)V9(08) COMP-3 + VALUE -473179644.06591722. + 77 FLD0256B PIC 9(04)V9(30) COMP-3 + VALUE 9107.434804383051085707734273455571. + + 77 FLD0257A PIC 9(09)V9(12) COMP-6 + VALUE 577029491.737192756772. + 77 FLD0257B PIC S9(03) COMP-3 + VALUE -084. + + 77 FLD0258A PIC 9(10)V9(12) COMP-3 + VALUE 5908893351.960881057394. + 77 FLD0258B PIC 9(05)V9(27) COMP-6 + VALUE 84978.202175808337237583600654033. + + 77 FLD0259A PIC 9(03)V9(32) COMP-6 + VALUE 937.55337057593879368511124994256533. + 77 FLD0259B PIC S9(09)V9(05) COMP-3 + VALUE -374669242.27931. + + 77 FLD0260A PIC 9(05)V9(27) COMP-6 + VALUE 86648.984966754782899300835197209. + 77 FLD0260B PIC 9(09)V9(13) COMP-3 + VALUE 601823310.0433563187436. + + 77 FLD0261A PIC S9(09)V9(05) COMP-3 + VALUE -374213925.47904. + 77 FLD0261B PIC 9(09)V9(05) COMP-6 + VALUE 379885544.06227. + + 77 FLD0262A PIC S9(05)V9(01) COMP-3 + VALUE -17015.9. + 77 FLD0262B PIC 9(09)V9(17) COMP-6 + VALUE 687559565.36759821329241049. + + 77 FLD0263A PIC 9(05)V9(26) COMP-3 + VALUE 84046.29767805690265802809335582. + 77 FLD0263B PIC S9(02) COMP-3 + VALUE -06. + + 77 FLD0264A PIC 9(03)V9(32) COMP-6 + VALUE 935.78568596491340514376133796758949. + 77 FLD0264B PIC 9(05)V9(01) COMP-6 + VALUE 17620.4. + + 77 FLD0265A PIC S9(09)V9(05) COMP-3 + VALUE -380334582.15301. + 77 FLD0265B PIC 9(01)V9(36) COMP-6 + VALUE 9.854231270822284560750858872779645025. + + 77 FLD0266A PIC 9(05)V9(27) COMP-6 + VALUE 84707.693570856212872399737534578. + 77 FLD0266B PIC 9(02)V9(34) COMP-3 + VALUE 96.1883348354436562566149859776487573. + + 77 FLD0267A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0267B PIC S9(07)V9(01) COMP-3 + VALUE +2348814.4. + + 77 FLD0268A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0268B PIC 9(06)V9(25) COMP-3 + VALUE 821150.0957830146774085733341053. + + 77 FLD0269A PIC 9(08)V9(18) COMP-6 + VALUE 69955495.182247551255727557. + 77 FLD0269B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0270A PIC 9(08)V9(18) COMP-6 + VALUE 69584936.933990082508216801. + 77 FLD0270B PIC S9(04) COMP-3 + VALUE +1200. + + 77 FLD0271A PIC 9(10)V9(07) COMP-6 + VALUE 4478155927.4435323. + 77 FLD0271B PIC 9(07)V9(02) COMP-6 + VALUE 2371664.59. + + 77 FLD0272A PIC S9(09)V9(06) COMP-3 + VALUE +411514667.070764. + 77 FLD0272B PIC S9(10)V9(08) COMP-3 + VALUE -4748492295.95657285. + + 77 FLD0273A PIC 9(10)V9(07) BINARY + VALUE 4698099460.5024867. + 77 FLD0273B PIC S9(10)V9(06) COMP-3 + VALUE +4338009792.593093. + + 77 FLD0274A PIC 9(07)V9(01) COMP-6 + VALUE 2190249.4. + 77 FLD0274B PIC 9(10)V9(10) COMP-6 + VALUE 5271665070.2586675958. + + 77 FLD0275A PIC 9(04) COMP-6 + VALUE 1157. + 77 FLD0275B PIC S9(07)V9(02) COMP-3 + VALUE +2422980.94. + + 77 FLD0276A PIC 9(04)V9(30) COMP-3 + VALUE 9021.044697283423507983002309629227. + 77 FLD0276B PIC 9(02)V9(33) COMP-6 + VALUE 94.591784695476577304873444518307223. + + 77 FLD0277A PIC 9(01)V9(36) COMP-3 + VALUE 9.749582162084949876756923003995325416. + 77 FLD0277B PIC 9(10)V9(08) COMP-6 + VALUE 4992154586.01645512. + + 77 FLD0278A PIC 9(10)V9(06) COMP-6 + VALUE 4251062706.993476. + 77 FLD0278B PIC 9(03)V9(31) COMP-3 + VALUE 914.7657257947739983805490737722720. + + 77 FLD0279A PIC S9(08)V9(02) COMP-3 + VALUE -27159201.10. + 77 FLD0279B PIC 9(03)V9(32) COMP-3 + VALUE 921.08160397424898579998853165307082. + + 77 FLD0280A PIC 9(07)V9(02) COMP-6 + VALUE 2571968.92. + 77 FLD0280B PIC 9(08)V9(19) COMP-3 + VALUE 71229222.1254675839148262639. + + 77 FLD0281A PIC S9(09)V9(04) COMP-3 + VALUE +342861689.3811. + 77 FLD0281B PIC 9(10)V9(07) COMP-6 + VALUE 4662459797.7205073. + + 77 FLD0282A PIC S9(10)V9(07) COMP-3 + VALUE -4600147325.4430291. + 77 FLD0282B PIC 9(07)V9(22) COMP-6 + VALUE 7889304.3658446049271049105300. + + 77 FLD0283A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0283B PIC S9(05)V9(01) COMP-3 + VALUE -18273.9. + + 77 FLD0284A PIC 9(09)V9(17) COMP-6 + VALUE 689733171.20512533939802324. + 77 FLD0284B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0285A PIC 9(03)V9(32) COMP-6 + VALUE 928.78828230193799520009179104818031. + 77 FLD0285B PIC 9(08)V9(20) COMP-6 + VALUE 73692142.62351649891158444916. + + 77 FLD0286A PIC 9(08)V9(18) COMP-3 + VALUE 70426964.322731444578806758. + 77 FLD0286B PIC 9(07)V9(01) COMP-6 + VALUE 2181620.7. + + 77 FLD0287A PIC S9(07)V9(02) COMP-3 + VALUE -2521413.84. + 77 FLD0287B PIC 9(06) COMP-6 + VALUE 158585. + + 77 FLD0288A PIC 9(09)V9(17) COMP-6 + VALUE 688074525.02240640246355951. + 77 FLD0288B PIC 9(04)V9(29) COMP-3 + VALUE 8936.92752615119712089608583482913. + + 77 FLD0289A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0289B PIC 9(10)V9(11) COMP-6 + VALUE 5676330984.14293657540. + + 77 FLD0290A PIC S9(09)V9(05) COMP-3 + VALUE -382951207.35442. + 77 FLD0290B PIC S9(03) COMP-3 + VALUE -094. + + 77 FLD0291A PIC 9(01)V9(36) COMP-6 + VALUE 9.859384124391753490002088256005663424. + 77 FLD0291B PIC 9(06)V9(25) COMP-3 + VALUE 830008.1335268413296191170047677. + + 77 FLD0292A PIC S9(08)V9(03) COMP-3 + VALUE +31020519.916. + 77 FLD0292B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0293A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0293B PIC 9(08)V9(03) COMP-6 + VALUE 30744484.924. + + 77 FLD0294A PIC S9(09)V9(06) COMP-3 + VALUE +412445339.504106. + 77 FLD0294B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0295A PIC S9(07)V9(02) COMP-3 + VALUE -2502548.06. + 77 FLD0295B PIC S9(07)V9(01) COMP-3 + VALUE +2138373.7. + + 77 FLD0296A PIC S9(06) COMP-3 + VALUE -160918. + 77 FLD0296B PIC 9(09)V9(12) COMP-3 + VALUE 574303107.736577889141. + + 77 FLD0297A PIC 9(08)V9(03) COMP-6 + VALUE 30843552.269. + 77 FLD0297B PIC 9(10)V9(09) COMP-6 + VALUE 5180156945.333709295. + + 77 FLD0298A PIC S9(10)V9(08) COMP-3 + VALUE -4831587379.88150510. + 77 FLD0298B PIC 9(01)V9(36) COMP-6 + VALUE 9.983859909908295859892746193509083241. + + 77 FLD0299A PIC 9(10)V9(13) COMP-6 + VALUE 6064872573.5835784522720. + 77 FLD0299B PIC 9(09)V9(16) COMP-6 + VALUE 669818284.8844781434038964. + + 77 FLD0300A PIC 9(08)V9(20) COMP-6 + VALUE 73956142.30661028409841151187. + 77 FLD0300B PIC 9(09)V9(14) COMP-3 + VALUE 624082886.12038953502292. + + 77 FLD0301A PIC S9(10)V9(07) COMP-3 + VALUE -4524568495.0704084. + 77 FLD0301B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0302A PIC 9(02)V9(34) COMP-6 + VALUE 94.9764690231816866017311440373305231. + 77 FLD0302B PIC 9(10)V9(06) COMP-6 + VALUE 4291773437.216153. + + 77 FLD0303A PIC 9(01)V9(36) COMP-6 + VALUE 9.998247249142951931233369577967096120. + 77 FLD0303B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0304A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0304B PIC 9(10)V9(11) COMP-6 + VALUE 5565734306.84127234968. + + 77 FLD0305A PIC 9(09)V9(03) COMP-6 + VALUE 328435884.788. + 77 FLD0305B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0306A PIC S9(03) COMP-3 + VALUE -083. + 77 FLD0306B PIC S9(10)V9(08) COMP-3 + VALUE -4936418970.17687181. + + 77 FLD0307A PIC 9(10)V9(10) COMP-3 + VALUE 5430567751.9659767416. + 77 FLD0307B PIC 9(03)V9(32) COMP-6 + VALUE 928.08547489686554765597747973515652. + + 77 FLD0308A PIC 9(09)V9(05) COMP-6 + VALUE 377189267.62120. + 77 FLD0308B PIC 9(02)V9(34) COMP-3 + VALUE 96.4274365663057242414879510761238634. + + 77 FLD0309A PIC 9(09)V9(03) COMP-6 + VALUE 325461096.612. + 77 FLD0309B PIC S9(03) COMP-3 + VALUE -093. + + 77 FLD0310A PIC 9(09)V9(05) COMP-6 + VALUE 377541451.37210. + 77 FLD0310B PIC 9(09)V9(06) COMP-6 + VALUE 416709099.760976. + + 77 FLD0311A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0311B PIC 9(01)V9(36) COMP-3 + VALUE 9.931117203050255914931199185957666486. + + 77 FLD0312A PIC S9(10)V9(07) COMP-3 + VALUE -4631183834.9707568. + 77 FLD0312B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0313A PIC 9(05)V9(27) COMP-3 + VALUE 86493.365621715367907995641871821. + 77 FLD0313B PIC 9(09)V9(05) COMP-6 + VALUE 375066571.23058. + + 77 FLD0314A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0314B PIC 9(08)V9(18) COMP-6 + VALUE 69720866.107690404600560896. + + 77 FLD0315A PIC 9(07)V9(23) COMP-3 + VALUE 7933336.74589681625555215305212. + 77 FLD0315B PIC 9(09)V9(17) COMP-6 + VALUE 688307785.43204196306959374. + + 77 FLD0316A PIC 9(06)V9(01) COMP-6 + VALUE 195827.4. + 77 FLD0316B PIC 9(10)V9(11) COMP-3 + VALUE 5611864585.06384822086. + + 77 FLD0317A PIC 9(10)V9(08) COMP-6 + VALUE 4983225307.65216153. + 77 FLD0317B PIC S9(09)V9(03) COMP-3 + VALUE +331361572.492. + + 77 FLD0318A PIC 9(08)V9(02) COMP-6 + VALUE 26926374.69. + 77 FLD0318B PIC 9(04)V9(29) COMP-3 + VALUE 8825.34717446214034275442372745601. + + 77 FLD0319A PIC 9(08)V9(18) COMP-6 + VALUE 69931441.978879860243978328. + 77 FLD0319B PIC 9(09)V9(15) COMP-3 + VALUE 650439668.121860714578019. + + 77 FLD0320A PIC 9(08)V9(19) COMP-6 + VALUE 71973495.8824565840274090078. + 77 FLD0320B PIC 9(10)V9(11) COMP-3 + VALUE 5542215777.53993832615. + + 77 FLD0321A PIC 9(10)V9(09) COMP-3 + VALUE 5005504874.853489161. + 77 FLD0321B PIC 9(09)V9(16) COMP-3 + VALUE 660163921.0521921263818967. + + 77 FLD0322A PIC S9(09)V9(07) COMP-3 + VALUE +442005310.2249054. + 77 FLD0322B PIC 9(09)V9(14) COMP-6 + VALUE 617916374.92097983841432. + + 77 FLD0323A PIC S9(05) COMP-3 + VALUE -15097. + 77 FLD0323B PIC 9(01)V9(35) COMP-3 + VALUE 9.73366140153258840861383305309573188. + + 77 FLD0324A PIC 9(10)V9(11) COMP-3 + VALUE 5601604504.75820970162. + 77 FLD0324B PIC 9(10)V9(10) COMP-3 + VALUE 5319146871.9734047443. + + 77 FLD0325A PIC 9(04) COMP-6 + VALUE 1169. + 77 FLD0325B PIC 9(08)V9(19) COMP-3 + VALUE 72332591.2353324218528882738. + + 77 FLD0326A PIC S9(08)V9(03) COMP-3 + VALUE +31312044.720. + 77 FLD0326B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0327A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0327B PIC S9(07)V9(01) COMP-3 + VALUE +2122536.7. + + 77 FLD0328A PIC 9(08)V9(19) COMP-3 + VALUE 71147504.7716873310044150002. + 77 FLD0328B PIC S9(09)V9(05) COMP-3 + VALUE -393175029.86891. + + 77 FLD0329A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0329B PIC 9(02)V9(34) COMP-3 + VALUE 95.2096907591406971249625712516717612. + + 77 FLD0330A PIC 9(09)V9(07) COMP-6 + VALUE 445280746.1581723. + 77 FLD0330B PIC 9(07)V9(23) COMP-6 + VALUE 7955244.25555017788980194382020. + + 77 FLD0331A PIC S9(07)V9(01) COMP-3 + VALUE +2232816.8. + 77 FLD0331B PIC 9(08)V9(02) COMP-6 + VALUE 27670053.03. + + 77 FLD0332A PIC 9(05)V9(27) COMP-6 + VALUE 86562.988696340348315771962006692. + 77 FLD0332B PIC 9(09)V9(04) COMP-6 + VALUE 355930982.9079. + + 77 FLD0333A PIC 9(02)V9(34) COMP-6 + VALUE 95.6494138775326296908474432711955159. + 77 FLD0333B PIC S9(07)V9(02) COMP-3 + VALUE +2431333.31. + + 77 FLD0334A PIC 9(08)V9(03) COMP-6 + VALUE 28999492.466. + 77 FLD0334B PIC 9(09)V9(03) COMP-6 + VALUE 326043905.981. + + 77 FLD0335A PIC S9(08)V9(03) COMP-3 + VALUE +30334218.791. + 77 FLD0335B PIC 9(10)V9(09) COMP-6 + VALUE 5075855226.668805064. + + 77 FLD0336A PIC 9(05)V9(27) COMP-6 + VALUE 85800.255545984371874368434873758. + 77 FLD0336B PIC S9(08)V9(03) COMP-3 + VALUE -29245898.644. + + 77 FLD0337A PIC 9(08)V9(19) COMP-3 + VALUE 72003996.5448931451597047725. + 77 FLD0337B PIC 9(08)V9(19) COMP-3 + VALUE 71409231.4076567258318561925. + + 77 FLD0338A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0338B PIC 9(10)V9(10) COMP-3 + VALUE 5304768900.0456310637. + + 77 FLD0339A PIC S9(06) COMP-3 + VALUE -160552. + 77 FLD0339B PIC 9(09)V9(13) COMP-3 + VALUE 594533435.7259434154840. + + 77 FLD0340A PIC 9(10)V9(09) COMP-3 + VALUE 5028381651.473269320. + 77 FLD0340B PIC S9(09)V9(04) COMP-3 + VALUE -361499697.6055. + + 77 FLD0341A PIC 9(10)V9(11) COMP-6 + VALUE 5676316159.01010966318. + 77 FLD0341B PIC 9(09)V9(12) COMP-3 + VALUE 572076310.146404809486. + + 77 FLD0342A PIC S9(07)V9(01) COMP-3 + VALUE +2347143.0. + 77 FLD0342B PIC S9(10)V9(07) COMP-3 + VALUE -4530575977.8135124. + + 77 FLD0343A PIC 9(08)V9(19) COMP-6 + VALUE 72866356.1504289902792663724. + 77 FLD0343B PIC 9(06)V9(01) COMP-6 + VALUE 195736.6. + + 77 FLD0344A PIC 9(09)V9(07) COMP-6 + VALUE 439744878.9947105. + 77 FLD0344B PIC 9(04)V9(29) COMP-3 + VALUE 8815.39565612843856179381418769480. + + 77 FLD0345A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0345B PIC 9(09)V9(06) COMP-6 + VALUE 405441574.894889. + + 77 FLD0346A PIC 9(07)V9(22) COMP-3 + VALUE 7807860.0333687642187641131386. + 77 FLD0346B PIC 9(09)V9(16) COMP-3 + VALUE 674345587.8778652490268541. + + 77 FLD0347A PIC 9(08)V9(18) COMP-3 + VALUE 70165985.253748408556617732. + 77 FLD0347B PIC 9(06) COMP-6 + VALUE 158396. + + 77 FLD0348A PIC 9(08)V9(04) COMP-6 + VALUE 33778742.7133. + 77 FLD0348B PIC 9(09)V9(12) COMP-6 + VALUE 575387126.330844100863. + + 77 FLD0349A PIC 9(10)V9(09) COMP-3 + VALUE 5122785066.779668161. + 77 FLD0349B PIC 9(03)V9(32) COMP-3 + VALUE 924.84903066843715535583214659709483. + + 77 FLD0350A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0350B PIC 9(06)V9(25) COMP-6 + VALUE 826494.1389960360762501068165875. + + 77 FLD0351A PIC 9(05)V9(27) COMP-6 + VALUE 84942.576912519174303639601930626. + 77 FLD0351B PIC 9(10)V9(10) COMP-6 + VALUE 5388327188.5283523516. + + 77 FLD0352A PIC 9(03)V9(32) COMP-6 + VALUE 937.88592938035042489985926295048557. + 77 FLD0352B PIC 9(06)V9(01) COMP-6 + VALUE 195629.8. + + 77 FLD0353A PIC S9(07)V9(02) COMP-3 + VALUE -2544588.73. + 77 FLD0353B PIC 9(02)V9(33) COMP-3 + VALUE 94.340663054368900652946194895775988. + + 77 FLD0354A PIC 9(07)V9(01) COMP-6 + VALUE 2152460.4. + 77 FLD0354B PIC S9(08)V9(03) COMP-3 + VALUE -29015200.342. + + 77 FLD0355A PIC 9(06)V9(01) COMP-6 + VALUE 208715.4. + 77 FLD0355B PIC S9(05) COMP-3 + VALUE -15428. + + 77 FLD0356A PIC S9(09)V9(05) COMP-3 + VALUE -391398983.37050. + 77 FLD0356B PIC 9(05)V9(27) COMP-6 + VALUE 84690.187478976841628508509529638. + + 77 FLD0357A PIC 9(10)V9(10) COMP-3 + VALUE 5323345989.0667944591. + 77 FLD0357B PIC 9(03) COMP-6 + VALUE 079. + + 77 FLD0358A PIC 9(08)V9(03) COMP-6 + VALUE 29848403.943. + 77 FLD0358B PIC 9(09)V9(17) COMP-6 + VALUE 688595894.53938552239264936. + + 77 FLD0359A PIC 9(07)V9(22) COMP-6 + VALUE 7654789.5985185210321333215688. + 77 FLD0359B PIC 9(01)V9(36) COMP-3 + VALUE 9.927521413787718795873615817981772124. + + 77 FLD0360A PIC S9(09)V9(06) COMP-3 + VALUE +400277612.276280. + 77 FLD0360B PIC 9(08)V9(02) COMP-6 + VALUE 26666225.04. + + 77 FLD0361A PIC 9(06)V9(25) COMP-3 + VALUE 823089.8044061112361902132761315. + 77 FLD0361B PIC 9(05)V9(27) COMP-6 + VALUE 84762.044237681810621154454565839. + + 77 FLD0362A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0362B PIC 9(04)V9(30) COMP-6 + VALUE 8970.899599407193836242413453874178. + + 77 FLD0363A PIC 9(09)V9(04) COMP-6 + VALUE 358575926.2078. + 77 FLD0363B PIC 9(04)V9(30) COMP-3 + VALUE 9034.927431796696550847514117776881. + + 77 FLD0364A PIC S9(04) COMP-3 + VALUE +1234. + 77 FLD0364B PIC 9(06)V9(25) COMP-3 + VALUE 830028.0009277749559970516202156. + + 77 FLD0365A PIC 9(09)V9(11) COMP-3 + VALUE 551967009.62472056151. + 77 FLD0365B PIC 9(09)V9(16) COMP-6 + VALUE 658782379.9892106313436102. + + 77 FLD0366A PIC 9(06)V9(25) COMP-3 + VALUE 822414.3642778768414913770357088. + 77 FLD0366B PIC 9(06)V9(25) COMP-6 + VALUE 838180.2974044693099742175945721. + + 77 FLD0367A PIC 9(09)V9(13) COMP-6 + VALUE 595975436.9256639039420. + 77 FLD0367B PIC S9(06)V9(01) COMP-3 + VALUE -191378.3. + + 77 FLD0368A PIC 9(05) COMP-6 + VALUE 15663. + 77 FLD0368B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0369A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0369B PIC S9(08)V9(03) COMP-3 + VALUE +31224128.387. + + 77 FLD0370A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0370B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0371A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0371B PIC S9(03) COMP-3 + VALUE -082. + + 77 FLD0372A PIC 9(10)V9(09) COMP-6 + VALUE 5067586024.551302692. + 77 FLD0372B PIC 9(10)V9(09) COMP-3 + VALUE 5017586497.117959565. + + 77 FLD0373A PIC 9(09)V9(16) COMP-3 + VALUE 660730415.8912360447786227. + 77 FLD0373B PIC S9(09)V9(04) COMP-3 + VALUE -352559577.5040. + + 77 FLD0374A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0374B PIC 9(08)V9(19) COMP-3 + VALUE 71126449.7973442155753787119. + + 77 FLD0375A PIC 9(07)V9(22) COMP-3 + VALUE 7816763.9605777072819847717255. + 77 FLD0375B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0376A PIC 9(05)V9(27) COMP-6 + VALUE 84980.958923270843996533585595898. + 77 FLD0376B PIC 9(10)V9(09) COMP-3 + VALUE 5240094598.000759607. + + 77 FLD0377A PIC 9(02)V9(34) COMP-6 + VALUE 96.7759547981370871205797357106348499. + 77 FLD0377B PIC 9(07)V9(22) COMP-3 + VALUE 7813622.4062247550126159012506. + + 77 FLD0378A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0378B PIC S9(06) COMP-3 + VALUE -163135. + + 77 FLD0379A PIC 9(10)V9(10) COMP-6 + VALUE 5351160784.1302399890. + 77 FLD0379B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0380A PIC 9(09)V9(03) COMP-6 + VALUE 318886259.138. + 77 FLD0380B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0381A PIC 9(10)V9(09) COMP-6 + VALUE 5188977124.912377281. + 77 FLD0381B PIC 9(03) COMP-6 + VALUE 096. + + 77 FLD0382A PIC 9(10)V9(10) COMP-6 + VALUE 5469463185.9002762475. + 77 FLD0382B PIC 9(04) COMP-6 + VALUE 1276. + + 77 FLD0383A PIC 9(04)V9(29) COMP-3 + VALUE 8846.28028341020278269013488170458. + 77 FLD0383B PIC 9(06)V9(24) COMP-3 + VALUE 801588.906111812216082057602761. + + 77 FLD0384A PIC S9(07)V9(02) COMP-3 + VALUE +2410021.83. + 77 FLD0384B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0385A PIC 9(09)V9(14) COMP-6 + VALUE 616198826.41569234671408. + 77 FLD0385B PIC 9(04)V9(29) COMP-3 + VALUE 8914.93363280043138452413131744833. + + 77 FLD0386A PIC 9(10)V9(11) COMP-6 + VALUE 5671006446.22052230126. + 77 FLD0386B PIC 9(07)V9(21) COMP-3 + VALUE 7538453.430795608589676248811. + + 77 FLD0387A PIC 9(08)V9(03) COMP-6 + VALUE 30516405.931. + 77 FLD0387B PIC 9(09)V9(16) COMP-3 + VALUE 660134959.6835575095354897. + + 77 FLD0388A PIC 9(10)V9(11) COMP-6 + VALUE 5691303425.20841603359. + 77 FLD0388B PIC 9(03) COMP-6 + VALUE 099. + + 77 FLD0389A PIC S9(10)V9(06) COMP-3 + VALUE +4300560615.719126. + 77 FLD0389B PIC 9(10)V9(12) COMP-6 + VALUE 5882065365.633618592156. + + 77 FLD0390A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0390B PIC 9(03) COMP-6 + VALUE 095. + + 77 FLD0391A PIC S9(08)V9(03) COMP-3 + VALUE +30066642.536. + 77 FLD0391B PIC S9(08)V9(02) COMP-3 + VALUE -26329271.26. + + 77 FLD0392A PIC 9(02)V9(34) COMP-6 + VALUE 95.7627258628673261320329856971511617. + 77 FLD0392B PIC 9(10)V9(07) COMP-6 + VALUE 4682510725.0510572. + + 77 FLD0393A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0393B PIC 9(04)V9(30) COMP-6 + VALUE 9067.420163680885991652758093550801. + + 77 FLD0394A PIC 9(05)V9(01) COMP-6 + VALUE 16807.8. + 77 FLD0394B PIC S9(10)V9(08) COMP-3 + VALUE -4746288002.63585892. + + 77 FLD0395A PIC 9(10)V9(09) COMP-3 + VALUE 5206691882.901124390. + 77 FLD0395B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0396A PIC 9(09)V9(06) BINARY + VALUE 419939827.280791. + 77 FLD0396B PIC 9(09)V9(07) COMP-6 + VALUE 446487444.5871826. + + 77 FLD0397A PIC 9(05)V9(27) COMP-6 + VALUE 85569.982924983467587054519754019. + 77 FLD0397B PIC S9(02) COMP-3 + VALUE -07. + + 77 FLD0398A PIC 9(05)V9(26) COMP-3 + VALUE 84110.85692078776876456913669244. + 77 FLD0398B PIC S9(08)V9(02) COMP-3 + VALUE -28358417.67. + + 77 FLD0399A PIC 9(05)V9(27) COMP-3 + VALUE 86215.377080746946614198122915695. + 77 FLD0399B PIC 9(07)V9(02) COMP-6 + VALUE 2481207.70. + + 77 FLD0400A PIC 9(10)V9(08) COMP-6 + VALUE 4880703034.67910082. + 77 FLD0400B PIC 9(06)V9(25) COMP-6 + VALUE 835199.6491942943467989834971376. + + 77 FLD0401A PIC 9(08)V9(03) COMP-6 + VALUE 30757829.425. + 77 FLD0401B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0402A PIC 9(04)V9(29) COMP-3 + VALUE 8843.41306989221531686951038864208. + 77 FLD0402B PIC 9(08)V9(18) COMP-6 + VALUE 69652895.633901057426129455. + + 77 FLD0403A PIC 9(10)V9(10) COMP-6 + VALUE 5351391185.2119278034. + 77 FLD0403B PIC 9(03)V9(32) COMP-6 + VALUE 939.96913575689089448417234962107613. + + 77 FLD0404A PIC S9(10)V9(08) COMP-3 + VALUE -4810592903.51378177. + 77 FLD0404B PIC 9(09)V9(16) COMP-3 + VALUE 670850774.7441430080215241. + + 77 FLD0405A PIC S9(09)V9(04) COMP-3 + VALUE -360620744.0007. + 77 FLD0405B PIC S9(05) COMP-3 + VALUE +14133. + + 77 FLD0406A PIC S9(07)V9(02) COMP-3 + VALUE -2503018.94. + 77 FLD0406B PIC 9(07)V9(23) COMP-6 + VALUE 7996063.91391730064732712435215. + + 77 FLD0407A PIC 9(09)V9(13) COMP-3 + VALUE 592634898.8738083800598. + 77 FLD0407B PIC 9(01)V9(36) COMP-6 + VALUE 9.879241102928391082826919955550692975. + + 77 FLD0408A PIC 9(09)V9(07) COMP-6 + VALUE 438100099.1119252. + 77 FLD0408B PIC 9(08)V9(02) COMP-6 + VALUE 28626783.20. + + 77 FLD0409A PIC 9(08)V9(02) COMP-6 + VALUE 28575188.65. + 77 FLD0409B PIC 9(09)V9(12) COMP-6 + VALUE 576691261.515216657684. + + 77 FLD0410A PIC 9(09)V9(14) COMP-6 + VALUE 615937928.60877261130525. + 77 FLD0410B PIC 9(01)V9(36) COMP-3 + VALUE 9.822719722312858170454319406417198479. + + 77 FLD0411A PIC 9(09)V9(17) COMP-6 + VALUE 688573322.26995748847286904. + 77 FLD0411B PIC 9(07)V9(22) COMP-6 + VALUE 7775778.4281136710369253250973. + + 77 FLD0412A PIC 9(09)V9(12) COMP-3 + VALUE 572677017.522024045526. + 77 FLD0412B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0413A PIC 9(06)V9(25) COMP-6 + VALUE 828822.6462986850728853482905833. + 77 FLD0413B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0414A PIC 9(05)V9(27) COMP-3 + VALUE 84413.303017262042438062508153961. + 77 FLD0414B PIC S9(05) COMP-3 + VALUE -15377. + + 77 FLD0415A PIC 9(09)V9(15) COMP-3 + VALUE 650722988.227690701812377. + 77 FLD0415B PIC 9(03)V9(31) COMP-6 + VALUE 919.0351051613949717733476063585840. + + 77 FLD0416A PIC 9(09)V9(16) COMP-6 + VALUE 675584038.8269652718733482. + 77 FLD0416B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0417A PIC 9(03)V9(32) COMP-3 + VALUE 942.59186417160190085695603556814603. + 77 FLD0417B PIC 9(04)V9(29) COMP-3 + VALUE 8943.54109346381376255408213182818. + + 77 FLD0418A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0418B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0419A PIC 9(09)V9(06) COMP-6 + VALUE 415695619.544491. + 77 FLD0419B PIC 9(10)V9(10) COMP-3 + VALUE 5349169017.3884820502. + + 77 FLD0420A PIC 9(08)V9(02) COMP-6 + VALUE 26881191.37. + 77 FLD0420B PIC 9(04)V9(30) COMP-6 + VALUE 9092.387304867948216724471421912312. + + 77 FLD0421A PIC 9(08)V9(19) COMP-3 + VALUE 71124707.9077118260492795798. + 77 FLD0421B PIC S9(06)V9(01) COMP-3 + VALUE +210383.3. + + 77 FLD0422A PIC 9(08)V9(18) COMP-3 + VALUE 69276472.004700051510184266. + 77 FLD0422B PIC 9(02)V9(34) COMP-6 + VALUE 96.7464238557165900900258748151827603. + + 77 FLD0423A PIC 9(09)V9(13) COMP-6 + VALUE 595417774.2919815052857. + 77 FLD0423B PIC 9(09)V9(17) COMP-6 + VALUE 689527286.14626146441679566. + + 77 FLD0424A PIC 9(09)V9(11) COMP-3 + VALUE 551151541.59885582085. + 77 FLD0424B PIC 9(08)V9(19) COMP-6 + VALUE 72724692.5117367437607640567. + + 77 FLD0425A PIC S9(10)V9(08) COMP-3 + VALUE -4741628720.81754727. + 77 FLD0425B PIC 9(10)V9(12) COMP-3 + VALUE 5846836543.074439562772. + + 77 FLD0426A PIC 9(10)V9(11) COMP-3 + VALUE 5601456695.80725313885. + 77 FLD0426B PIC 9(10)V9(11) COMP-6 + VALUE 5581868249.31393821280. + + 77 FLD0427A PIC 9(09)V9(04) COMP-6 + VALUE 365284621.5641. + 77 FLD0427B PIC 9(07)V9(22) COMP-6 + VALUE 7792109.4871910845380824639505. + + 77 FLD0428A PIC 9(05)V9(27) COMP-6 + VALUE 85913.234918316627730661139139556. + 77 FLD0428B PIC 9(01)V9(36) COMP-6 + VALUE 9.753152813075189886404814387788064777. + + 77 FLD0429A PIC 9(07)V9(22) COMP-3 + VALUE 7833347.6062909002113343603923. + 77 FLD0429B PIC 9(09)V9(06) COMP-6 + VALUE 415311789.274485. + + 77 FLD0430A PIC 9(08)V9(03) COMP-6 + VALUE 30820998.502. + 77 FLD0430B PIC 9(09)V9(04) COMP-6 + VALUE 345613119.3468. + + 77 FLD0431A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0431B PIC 9(03)V9(31) COMP-3 + VALUE 920.3928254587173674039490833820309. + + 77 FLD0432A PIC 9(10)V9(11) COMP-3 + VALUE 5612307034.00538710745. + 77 FLD0432B PIC S9(06) COMP-3 + VALUE -161655. + + 77 FLD0433A PIC 9(08)V9(19) COMP-3 + VALUE 72012955.8244768763763943297. + 77 FLD0433B PIC 9(06)V9(01) COMP-6 + VALUE 206502.1. + + 77 FLD0434A PIC S9(10)V9(07) COMP-3 + VALUE -4547054675.3415619. + 77 FLD0434B PIC 9(03)V9(32) COMP-3 + VALUE 931.50114075800283242045907172723673. + + 77 FLD0435A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0435B PIC 9(10)V9(12) COMP-3 + VALUE 5848414344.863717140299. + + 77 FLD0436A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0436B PIC 9(06)V9(25) COMP-3 + VALUE 830719.5843004202551185244374210. + + 77 FLD0437A PIC 9(09)V9(15) COMP-3 + VALUE 632897272.198471361193128. + 77 FLD0437B PIC 9(09)V9(15) COMP-3 + VALUE 644015379.475938010145341. + + 77 FLD0438A PIC 9(09)V9(16) COMP-3 + VALUE 664694021.6365745390802999. + 77 FLD0438B PIC 9(05)V9(28) COMP-3 + VALUE 87427.7230957161255453513604152249. + + 77 FLD0439A PIC 9(10)V9(08) COMP-6 + VALUE 4961134805.43429519. + 77 FLD0439B PIC 9(10)V9(11) COMP-3 + VALUE 5610850764.78219813012. + + 77 FLD0440A PIC 9(04)V9(29) COMP-6 + VALUE 8899.07507055040514210020319296745. + 77 FLD0440B PIC 9(10)V9(07) COMP-6 + VALUE 4554701137.8932739. + + 77 FLD0441A PIC 9(08)V9(19) COMP-3 + VALUE 71126905.4406556744396539215. + 77 FLD0441B PIC S9(10)V9(06) COMP-3 + VALUE +4339238601.837461. + + 77 FLD0442A PIC 9(05)V9(01) COMP-6 + VALUE 16995.1. + 77 FLD0442B PIC 9(03)V9(31) COMP-6 + VALUE 915.7753741786495149668212434335146. + + 77 FLD0443A PIC S9(10)V9(08) COMP-3 + VALUE -4744984255.46487689. + 77 FLD0443B PIC 9(09)V9(14) COMP-3 + VALUE 620915031.52970173307068. + + 77 FLD0444A PIC 9(02)V9(33) COMP-6 + VALUE 94.673816662087151296844922399031929. + 77 FLD0444B PIC 9(10)V9(09) COMP-3 + VALUE 5047752845.189990011. + + 77 FLD0445A PIC 9(10)V9(10) COMP-3 + VALUE 5416554544.5299512206. + 77 FLD0445B PIC S9(10)V9(07) COMP-3 + VALUE -4623541965.4562581. + + 77 FLD0446A PIC 9(10)V9(09) COMP-3 + VALUE 5044897846.697211640. + 77 FLD0446B PIC 9(09)V9(16) COMP-6 + VALUE 665206327.4939082893055797. + + 77 FLD0447A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0447B PIC 9(08)V9(02) COMP-6 + VALUE 27717300.69. + + 77 FLD0448A PIC 9(06)V9(01) COMP-6 + VALUE 186565.4. + 77 FLD0448B PIC 9(10)V9(10) COMP-6 + VALUE 5373290497.5367845601. + + 77 FLD0449A PIC S9(09)V9(05) COMP-3 + VALUE -384988094.18704. + 77 FLD0449B PIC S9(08)V9(04) COMP-3 + VALUE +34016016.2924. + + 77 FLD0450A PIC 9(09)V9(14) COMP-6 + VALUE 625578375.50228334588808. + 77 FLD0450B PIC 9(09)V9(13) COMP-6 + VALUE 597300618.6146695428718. + + 77 FLD0451A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0451B PIC S9(07)V9(02) COMP-3 + VALUE -2517390.40. + + 77 FLD0452A PIC 9(08)V9(02) COMP-6 + VALUE 26826484.18. + 77 FLD0452B PIC 9(10)V9(11) COMP-6 + VALUE 5576443525.30127562772. + + 77 FLD0453A PIC 9(10)V9(10) COMP-6 + VALUE 5383526546.5392911909. + 77 FLD0453B PIC 9(02)V9(34) COMP-6 + VALUE 96.7573296701221163829131910461001098. + + 77 FLD0454A PIC S9(03) COMP-3 + VALUE -090. + 77 FLD0454B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0455A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0455B PIC 9(05)V9(27) COMP-3 + VALUE 85105.998788168291113720442808698. + + 77 FLD0456A PIC S9(03) COMP-3 + VALUE -093. + 77 FLD0456B PIC 9(05) COMP-6 + VALUE 15509. + + 77 FLD0457A PIC 9(04)V9(30) COMP-6 + VALUE 9063.641671624598217249513254500925. + 77 FLD0457B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0458A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0458B PIC 9(09)V9(03) COMP-6 + VALUE 319507540.378. + + 77 FLD0459A PIC 9(06)V9(01) COMP-6 + VALUE 198479.9. + 77 FLD0459B PIC 9(10)V9(11) COMP-3 + VALUE 5635468078.16151518188. + + 77 FLD0460A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0460B PIC 9(07)V9(22) COMP-3 + VALUE 7834589.5335320658858790920930. + + 77 FLD0461A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0461B PIC S9(07)V9(01) COMP-3 + VALUE +2146839.2. + + 77 FLD0462A PIC 9(08)V9(02) COMP-6 + VALUE 26776595.69. + 77 FLD0462B PIC 9(02)V9(34) COMP-3 + VALUE 95.2391194548525610308331579290097579. + + 77 FLD0463A PIC 9(05)V9(27) COMP-3 + VALUE 85490.666934027292889197724434779. + 77 FLD0463B PIC 9(09)V9(06) COMP-6 + VALUE 407249114.981761. + + 77 FLD0464A PIC 9(10)V9(07) COMP-6 + VALUE 4587031190.3834293. + 77 FLD0464B PIC 9(08)V9(19) COMP-6 + VALUE 71857481.5704608793609509120. + + 77 FLD0465A PIC 9(10)V9(12) COMP-3 + VALUE 5816563985.597106301028. + 77 FLD0465B PIC 9(06)V9(25) COMP-6 + VALUE 837937.1800695708527584315561398. + + 77 FLD0466A PIC 9(09)V9(15) COMP-3 + VALUE 654381306.333900236715805. + 77 FLD0466B PIC 9(05) COMP-6 + VALUE 14616. + + 77 FLD0467A PIC S9(07)V9(01) COMP-3 + VALUE +2343287.0. + 77 FLD0467B PIC 9(04)V9(29) COMP-3 + VALUE 8929.74677715112297171629052172647. + + 77 FLD0468A PIC S9(10)V9(06) COMP-3 + VALUE +4344132145.767680. + 77 FLD0468B PIC 9(08)V9(03) COMP-6 + VALUE 29592230.696. + + 77 FLD0469A PIC 9(08)V9(18) COMP-6 + VALUE 70961503.876956555370014712. + 77 FLD0469B PIC 9(10)V9(09) COMP-3 + VALUE 5200119971.346918168. + + 77 FLD0470A PIC 9(03)V9(31) COMP-3 + VALUE 913.6810028966669827710234130790922. + 77 FLD0470B PIC S9(09)V9(05) COMP-3 + VALUE -383130523.18889. + + 77 FLD0471A PIC S9(07)V9(02) COMP-3 + VALUE -2507103.69. + 77 FLD0471B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0472A PIC 9(10)V9(09) COMP-3 + VALUE 5103990869.050332168. + 77 FLD0472B PIC 9(06)V9(26) COMP-3 + VALUE 843393.74409143441635450244575622. + + 77 FLD0473A PIC 9(08)V9(20) COMP-3 + VALUE 74367162.06805468187823748849. + 77 FLD0473B PIC 9(08)V9(18) COMP-3 + VALUE 70143773.259305752798553612. + + 77 FLD0474A PIC 9(08)V9(19) COMP-6 + VALUE 72625744.5118117406224200749. + 77 FLD0474B PIC S9(05) COMP-3 + VALUE +13295. + + 77 FLD0475A PIC 9(10)V9(07) COMP-6 + VALUE 4588724634.2999971. + 77 FLD0475B PIC S9(09)V9(06) COMP-3 + VALUE +420010897.357724. + + 77 FLD0476A PIC 9(08)V9(02) COMP-6 + VALUE 28869933.49. + 77 FLD0476B PIC 9(06)V9(01) COMP-6 + VALUE 197306.5. + + 77 FLD0477A PIC 9(08)V9(20) COMP-3 + VALUE 74492482.99155191155307420558. + 77 FLD0477B PIC S9(09)V9(05) COMP-3 + VALUE -380644102.28203. + + 77 FLD0478A PIC 9(08)V9(19) COMP-6 + VALUE 72616162.5751895356550846827. + 77 FLD0478B PIC 9(09)V9(04) COMP-6 + VALUE 345871637.9604. + + 77 FLD0479A PIC S9(09)V9(06) COMP-3 + VALUE +413502052.896697. + 77 FLD0479B PIC 9(06)V9(25) COMP-3 + VALUE 820524.8465168897276100778981344. + + 77 FLD0480A PIC S9(06)V9(01) COMP-3 + VALUE +203017.8. + 77 FLD0480B PIC 9(08)V9(20) COMP-6 + VALUE 74798417.21657910502685240317. + + 77 FLD0481A PIC 9(05) COMP-6 + VALUE 15658. + 77 FLD0481B PIC 9(01)V9(36) COMP-3 + VALUE 9.907459007614364265847939350351225584. + + 77 FLD0482A PIC 9(08)V9(18) COMP-6 + VALUE 70905037.950447225014727337. + 77 FLD0482B PIC S9(10)V9(08) COMP-3 + VALUE -4922020906.16106868. + + 77 FLD0483A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0483B PIC S9(09)V9(03) COMP-3 + VALUE +323420049.144. + + 77 FLD0484A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0484B PIC 9(09)V9(12) COMP-6 + VALUE 577123861.473882282524. + + 77 FLD0485A PIC 9(07)V9(02) COMP-6 + VALUE 2567572.97. + 77 FLD0485B PIC 9(05)V9(01) COMP-6 + VALUE 16688.0. + + 77 FLD0486A PIC 9(05) COMP-6 + VALUE 13937. + 77 FLD0486B PIC 9(10)V9(07) COMP-6 + VALUE 4583814690.4965959. + + 77 FLD0487A PIC 9(06)V9(01) COMP-6 + VALUE 209384.2. + 77 FLD0487B PIC 9(08)V9(18) COMP-3 + VALUE 70207035.549040885946681100. + + 77 FLD0488A PIC S9(10)V9(07) COMP-3 + VALUE -4519198906.7966076. + 77 FLD0488B PIC 9(09)V9(16) COMP-6 + VALUE 669660091.3134611587906874. + + 77 FLD0489A PIC S9(05)V9(01) COMP-3 + VALUE -17360.6. + 77 FLD0489B PIC 9(01)V9(36) COMP-6 + VALUE 9.950567826331271348294649214949458837. + + 77 FLD0490A PIC 9(10)V9(10) COMP-6 + VALUE 5352566580.2623056954. + 77 FLD0490B PIC 9(08)V9(02) COMP-6 + VALUE 28596817.06. + + 77 FLD0491A PIC 9(03)V9(31) COMP-6 + VALUE 918.2459205467069507378141679510008. + 77 FLD0491B PIC 9(09)V9(16) COMP-3 + VALUE 661285516.5476814178759923. + + 77 FLD0492A PIC 9(06)V9(25) COMP-6 + VALUE 819266.4570447540928199714471702. + 77 FLD0492B PIC S9(09)V9(04) COMP-3 + VALUE +343135449.1145. + + 77 FLD0493A PIC S9(05)V9(01) BINARY + VALUE -18038.5. + 77 FLD0493B PIC 9(06)V9(24) COMP-6 + VALUE 808734.959278862186593528349476. + + 77 FLD0494A PIC 9(05)V9(28) COMP-6 + VALUE 87574.5417791477964719604187848744. + 77 FLD0494B PIC 9(10)V9(09) COMP-3 + VALUE 5133082903.157394349. + + 77 FLD0495A PIC S9(02) COMP-3 + VALUE -05. + 77 FLD0495B PIC 9(09)V9(15) COMP-6 + VALUE 646882578.915106698502768. + + 77 FLD0496A PIC 9(06)V9(25) COMP-6 + VALUE 816763.6415427422802437718019064. + 77 FLD0496B PIC S9(04) COMP-3 + VALUE +1240. + + 77 FLD0497A PIC 9(06)V9(25) COMP-6 + VALUE 836230.6435874340415637107071233. + 77 FLD0497B PIC 9(09)V9(16) COMP-6 + VALUE 665491997.9684780217965567. + + 77 FLD0498A PIC 9(10)V9(08) COMP-6 + VALUE 4792455293.49441590. + 77 FLD0498B PIC 9(06)V9(01) COMP-6 + VALUE 189449.4. + + 77 FLD0499A PIC 9(02) COMP-6 + VALUE 05. + 77 FLD0499B PIC 9(09)V9(15) COMP-3 + VALUE 634131211.402607308791345. + + + * RESULTS-AREA. + 78 XPC-FLD0001B + VALUE X'04'. + 78 XPC-FLD0002B + VALUE X'01571925154608921904042517780914'. + 78 XPC-FLD0003B + VALUE X'497691662540136914'. + 78 XPC-FLD0004B + VALUE X'316172'. + 78 XPC-FLD0005B + VALUE X'0326669126773C'. + 78 XPC-FLD0006B + VALUE X'02564149945687535678828794516448398F'. + 78 XPC-FLD0007B + VALUE X'02703102891D'. + 78 XPC-FLD0008B + VALUE X'091D'. + 78 XPC-FLD0009B + VALUE X'750598888818416259625343627703841F'. + 78 XPC-FLD0010B + VALUE X'401313154225654C'. + 78 XPC-FLD0011B + VALUE X'0716073640695890795927880390081554'. + 78 XPC-FLD0012B + VALUE X'714856822486604356929547066F'. + 78 XPC-FLD0013B + VALUE X'0249701360'. + 78 XPC-FLD0014B + VALUE X'07563565'. + 78 XPC-FLD0015B + VALUE X'496103206190910525'. + 78 XPC-FLD0016B + VALUE X'04316078086835850C'. + 78 XPC-FLD0017B + VALUE X'8983341087204116393039043941826093'. + 78 XPC-FLD0018B + VALUE X'7D'. + 78 XPC-FLD0019B + VALUE X'527908669140271D'. + 78 XPC-FLD0020B + VALUE X'009154677345638306819F'. + 78 XPC-FLD0021B + VALUE X'0C'. + 78 XPC-FLD0022B + VALUE X'06800620448921426031141379553F'. + 78 XPC-FLD0023B + VALUE X'0011865432391802879230624512274516746F'. + 78 XPC-FLD0024B + VALUE X'081262603108476C'. + 78 XPC-FLD0025B + VALUE X'0249748827'. + 78 XPC-FLD0026B + VALUE X'038375719620564D'. + 78 XPC-FLD0027B + VALUE X'08427161982877569013082921992870'. + 78 XPC-FLD0028B + VALUE X'5D'. + 78 XPC-FLD0029B + VALUE X'068438817718294422258378517F'. + 78 XPC-FLD0030B + VALUE X'070264210169553353857452293F'. + 78 XPC-FLD0031B + VALUE X'070450280588407820925311852F'. + 78 XPC-FLD0032B + VALUE X'0947220571791D'. + 78 XPC-FLD0033B + VALUE X'960256540212'. + 78 XPC-FLD0034B + VALUE X'021267719C'. + 78 XPC-FLD0035B + VALUE X'30926017'. + 78 XPC-FLD0036B + VALUE X'84780746063121390621031281398245'. + 78 XPC-FLD0037B + VALUE X'15352D'. + 78 XPC-FLD0038B + VALUE X'08192466589219795159659831540467'. + 78 XPC-FLD0039B + VALUE X'02142775'. + 78 XPC-FLD0040B + VALUE X'328C'. + 78 XPC-FLD0041B + VALUE X'5719955231502458548F'. + 78 XPC-FLD0042B + VALUE X'53913067269542921267'. + 78 XPC-FLD0043B + VALUE X'08947428650524259539551508169097361F'. + 78 XPC-FLD0044B + VALUE X'03593279914883'. + 78 XPC-FLD0045B + VALUE X'40565136957830'. + 78 XPC-FLD0046B + VALUE X'086000025910646182847330010190489F'. + 78 XPC-FLD0047B + VALUE X'500920610887845814'. + 78 XPC-FLD0048B + VALUE X'0012727D'. + 78 XPC-FLD0049B + VALUE X'06818217198975972105429554915463086217'. + 78 XPC-FLD0050B + VALUE X'0079122399722566'. + 78 XPC-FLD0051B + VALUE X'4768561362631936750203005938732530'. + 78 XPC-FLD0052B + VALUE X'018378999229403754265F'. + 78 XPC-FLD0053B + VALUE X'3589163888701D'. + 78 XPC-FLD0054B + VALUE X'319288758232'. + 78 XPC-FLD0055B + VALUE X'9048691568994934320002240F'. + 78 XPC-FLD0056B + VALUE X'2564409583'. + 78 XPC-FLD0057B + VALUE X'024C'. + 78 XPC-FLD0058B + VALUE X'3436235653794C'. + 78 XPC-FLD0059B + VALUE X'062832873919564874525472'. + 78 XPC-FLD0060B + VALUE X'159140'. + 78 XPC-FLD0061B + VALUE X'08166592123096498172785118185856'. + 78 XPC-FLD0062B + VALUE X'09769550469250686264269F'. + 78 XPC-FLD0063B + VALUE X'753004763264897311507922950F'. + 78 XPC-FLD0064B + VALUE X'07440D'. + 78 XPC-FLD0065B + VALUE X'05378C'. + 78 XPC-FLD0066B + VALUE X'085085260849998822774153950376785F'. + 78 XPC-FLD0067B + VALUE X'1D'. + 78 XPC-FLD0068B + VALUE X'06'. + 78 XPC-FLD0069B + VALUE X'0097'. + 78 XPC-FLD0070B + VALUE X'8473394D'. + 78 XPC-FLD0071B + VALUE X'1274'. + 78 XPC-FLD0072B + VALUE X'655377313792015250284373'. + 78 XPC-FLD0073B + VALUE X'70717240702803545859163048'. + 78 XPC-FLD0074B + VALUE X'6009119595528942259221594213158817808F'. + 78 XPC-FLD0075B + VALUE X'082894007C'. + 78 XPC-FLD0076B + VALUE X'0889922269538142470324260102643165738F'. + 78 XPC-FLD0077B + VALUE X'0297736583767979700245026833727024'. + 78 XPC-FLD0078B + VALUE X'52639083334727222580'. + 78 XPC-FLD0079B + VALUE X'324C'. + 78 XPC-FLD0080B + VALUE X'3711534372339D'. + 78 XPC-FLD0081B + VALUE X'03672069622885'. + 78 XPC-FLD0082B + VALUE X'039908942738066827524420432382'. + 78 XPC-FLD0083B + VALUE X'886546406C'. + 78 XPC-FLD0084B + VALUE X'0405109331835069'. + 78 XPC-FLD0085B + VALUE X'4354243534611629'. + 78 XPC-FLD0086B + VALUE X'571167021401449572360F'. + 78 XPC-FLD0087B + VALUE X'9773'. + 78 XPC-FLD0088B + VALUE X'481540354519'. + 78 XPC-FLD0089B + VALUE X'08552781102827879955441403577769802F'. + 78 XPC-FLD0090B + VALUE X'00751809682D'. + 78 XPC-FLD0091B + VALUE X'08617201884902925811235356'. + 78 XPC-FLD0092B + VALUE X'03179100098465547968089595087804'. + 78 XPC-FLD0093B + VALUE X'0790919325337388512409120266966F'. + 78 XPC-FLD0094B + VALUE X'053066656460354850645F'. + 78 XPC-FLD0095B + VALUE X'05167739798081453228562054391361'. + 78 XPC-FLD0096B + VALUE X'0875053049076218392166026660561328'. + 78 XPC-FLD0097B + VALUE X'076639044132902548449948199049'. + 78 XPC-FLD0098B + VALUE X'334130309069'. + 78 XPC-FLD0099B + VALUE X'16802810991D'. + 78 XPC-FLD0100B + VALUE X'053883959962677607717265'. + 78 XPC-FLD0101B + VALUE X'512112051D'. + 78 XPC-FLD0102B + VALUE X'062599568832775289662151'. + 78 XPC-FLD0103B + VALUE X'09'. + 78 XPC-FLD0104B + VALUE X'0481255505832174334D'. + 78 XPC-FLD0105B + VALUE X'0152268966'. + 78 XPC-FLD0106B + VALUE X'02636217829D'. + 78 XPC-FLD0107B + VALUE X'0491683543555178959039153289'. + 78 XPC-FLD0108B + VALUE X'03863193550D'. + 78 XPC-FLD0109B + VALUE X'00156720262660837374113498299266211F'. + 78 XPC-FLD0110B + VALUE X'61781025727648194445507102'. + 78 XPC-FLD0111B + VALUE X'05582373934795217912'. + 78 XPC-FLD0112B + VALUE X'09837197320D'. + 78 XPC-FLD0113B + VALUE X'0370'. + 78 XPC-FLD0114B + VALUE X'873969'. + 78 XPC-FLD0115B + VALUE X'30236778644C'. + 78 XPC-FLD0116B + VALUE X'03'. + 78 XPC-FLD0117B + VALUE X'013612'. + 78 XPC-FLD0118B + VALUE X'806D'. + 78 XPC-FLD0119B + VALUE X'0253932450'. + 78 XPC-FLD0120B + VALUE X'067D'. + 78 XPC-FLD0121B + VALUE X'0323330267022C'. + 78 XPC-FLD0122B + VALUE X'2693757152'. + 78 XPC-FLD0123B + VALUE X'07502022502690824523057244732F'. + 78 XPC-FLD0124B + VALUE X'04223876720963152C'. + 78 XPC-FLD0125B + VALUE X'637787216045794358443288'. + 78 XPC-FLD0126B + VALUE X'14776980'. + 78 XPC-FLD0127B + VALUE X'0968598991861849889506430599794838'. + 78 XPC-FLD0128B + VALUE X'7158526709'. + 78 XPC-FLD0129B + VALUE X'066302536762228508700376'. + 78 XPC-FLD0130B + VALUE X'030500681275'. + 78 XPC-FLD0131B + VALUE X'97542725692831921848454612'. + 78 XPC-FLD0132B + VALUE X'21622287'. + 78 XPC-FLD0133B + VALUE X'252842198D'. + 78 XPC-FLD0134B + VALUE X'6035745627324759055021275F'. + 78 XPC-FLD0135B + VALUE X'0089682198'. + 78 XPC-FLD0136B + VALUE X'721064189695820607747975827F'. + 78 XPC-FLD0137B + VALUE X'39815975038716593768839402400772088F'. + 78 XPC-FLD0138B + VALUE X'2805087202945691003095503219810780'. + 78 XPC-FLD0139B + VALUE X'04629717477620841718762676464393'. + 78 XPC-FLD0140B + VALUE X'09134502802484925076953459210926666F'. + 78 XPC-FLD0141B + VALUE X'01980465'. + 78 XPC-FLD0142B + VALUE X'00112D'. + 78 XPC-FLD0143B + VALUE X'04030994'. + 78 XPC-FLD0144B + VALUE X'24553993'. + 78 XPC-FLD0145B + VALUE X'0009479682736521'. + 78 XPC-FLD0146B + VALUE X'05926753717490164309811F'. + 78 XPC-FLD0147B + VALUE X'0397442042521838'. + 78 XPC-FLD0148B + VALUE X'335821179980'. + 78 XPC-FLD0149B + VALUE X'005D'. + 78 XPC-FLD0150B + VALUE X'05779789481524289174174668914929497987'. + 78 XPC-FLD0151B + VALUE X'03489779895385769491943608024F'. + 78 XPC-FLD0152B + VALUE X'976189035330467796747200281970435753'. + 78 XPC-FLD0153B + VALUE X'69465356575944581241088818012F'. + 78 XPC-FLD0154B + VALUE X'040490022953226414'. + 78 XPC-FLD0155B + VALUE X'07822691488762339967770021576143335F'. + 78 XPC-FLD0156B + VALUE X'8985588062372004625188992577022872'. + 78 XPC-FLD0157B + VALUE X'4359875032276696'. + 78 XPC-FLD0158B + VALUE X'19917526243063020197192F'. + 78 XPC-FLD0159B + VALUE X'0643529357674236912600918F'. + 78 XPC-FLD0160B + VALUE X'04490300'. + 78 XPC-FLD0161B + VALUE X'0795897533357509001650242908'. + 78 XPC-FLD0162B + VALUE X'0566814386458160899086'. + 78 XPC-FLD0163B + VALUE X'0269208611024764676855618F'. + 78 XPC-FLD0164B + VALUE X'3001'. + 78 XPC-FLD0165B + VALUE X'1267'. + 78 XPC-FLD0166B + VALUE X'429599'. + 78 XPC-FLD0167B + VALUE X'00917440942478405142746282763255'. + 78 XPC-FLD0168B + VALUE X'04326936005661665C'. + 78 XPC-FLD0169B + VALUE X'71534750846474368213279150'. + 78 XPC-FLD0170B + VALUE X'02603177530164159092505813954945188016'. + 78 XPC-FLD0171B + VALUE X'4933823716025803'. + 78 XPC-FLD0172B + VALUE X'8903776753838588409184495731096831'. + 78 XPC-FLD0173B + VALUE X'519945412779417204'. + 78 XPC-FLD0174B + VALUE X'05152585493087611057'. + 78 XPC-FLD0175B + VALUE X'051C'. + 78 XPC-FLD0176B + VALUE X'021895219257'. + 78 XPC-FLD0177B + VALUE X'0999225365'. + 78 XPC-FLD0178B + VALUE X'24104366113D'. + 78 XPC-FLD0179B + VALUE X'0664'. + 78 XPC-FLD0180B + VALUE X'054351034931997414107F'. + 78 XPC-FLD0181B + VALUE X'0474073583253910868D'. + 78 XPC-FLD0182B + VALUE X'0417908352338649757839920F'. + 78 XPC-FLD0183B + VALUE X'003C'. + 78 XPC-FLD0184B + VALUE X'036019692D'. + 78 XPC-FLD0185B + VALUE X'7395132638753716096465495866'. + 78 XPC-FLD0186B + VALUE X'8407708947119312415452441200613F'. + 78 XPC-FLD0187B + VALUE X'6497950041934480558403'. + 78 XPC-FLD0188B + VALUE X'00471158677246608093014401354F'. + 78 XPC-FLD0189B + VALUE X'0078359569344531809751'. + 78 XPC-FLD0190B + VALUE X'062476651140273569806415'. + 78 XPC-FLD0191B + VALUE X'0817437168989411478996487403492F'. + 78 XPC-FLD0192B + VALUE X'03580342295012'. + 78 XPC-FLD0193B + VALUE X'86499232126294976690766F'. + 78 XPC-FLD0194B + VALUE X'0217285653058917626499679F'. + 78 XPC-FLD0195B + VALUE X'060767'. + 78 XPC-FLD0196B + VALUE X'0180007D'. + 78 XPC-FLD0197B + VALUE X'05'. + 78 XPC-FLD0198B + VALUE X'79036D'. + 78 XPC-FLD0199B + VALUE X'045232741410605347571106449322'. + 78 XPC-FLD0200B + VALUE X'095184480153268257'. + 78 XPC-FLD0201B + VALUE X'0792759590444417882612526682351F'. + 78 XPC-FLD0202B + VALUE X'037943227555010013122256395945441909'. + 78 XPC-FLD0203B + VALUE X'05835712416517114804656539879215415F'. + 78 XPC-FLD0204B + VALUE X'23632656'. + 78 XPC-FLD0205B + VALUE X'288741127747638715028699'. + 78 XPC-FLD0206B + VALUE X'70639388766434425840361654'. + 78 XPC-FLD0207B + VALUE X'07691791385730962560263179739F'. + 78 XPC-FLD0208B + VALUE X'21514986'. + 78 XPC-FLD0209B + VALUE X'795271109412971503516143201296'. + 78 XPC-FLD0210B + VALUE X'08'. + 78 XPC-FLD0211B + VALUE X'04421137707554604C'. + 78 XPC-FLD0212B + VALUE X'026496836026413D'. + 78 XPC-FLD0213B + VALUE X'07525639770631302875997903356F'. + 78 XPC-FLD0214B + VALUE X'06668932704655321508369070'. + 78 XPC-FLD0215B + VALUE X'0173002D'. + 78 XPC-FLD0216B + VALUE X'5663716874'. + 78 XPC-FLD0217B + VALUE X'05191266215287889C'. + 78 XPC-FLD0218B + VALUE X'04467255193327033602201936446363106369'. + 78 XPC-FLD0219B + VALUE X'58766925082182334127'. + 78 XPC-FLD0220B + VALUE X'29365D'. + 78 XPC-FLD0221B + VALUE X'0878910367794605407176788958167890'. + 78 XPC-FLD0222B + VALUE X'98033D'. + 78 XPC-FLD0223B + VALUE X'69950927082806102497158917'. + 78 XPC-FLD0224B + VALUE X'038300768427666D'. + 78 XPC-FLD0225B + VALUE X'572612409808938978169F'. + 78 XPC-FLD0226B + VALUE X'021150954C'. + 78 XPC-FLD0227B + VALUE X'2038736443582994661522477889957372'. + 78 XPC-FLD0228B + VALUE X'6560309403122602756042169858119450510F'. + 78 XPC-FLD0229B + VALUE X'7383802976208535540081356884'. + 78 XPC-FLD0230B + VALUE X'098D'. + 78 XPC-FLD0231B + VALUE X'02709433475D'. + 78 XPC-FLD0232B + VALUE X'4749842313738054193504353861500F'. + 78 XPC-FLD0233B + VALUE X'412919251494'. + 78 XPC-FLD0234B + VALUE X'05600680922670572133253F'. + 78 XPC-FLD0235B + VALUE X'0480831518719295639D'. + 78 XPC-FLD0236B + VALUE X'070471341881577547199277944F'. + 78 XPC-FLD0237B + VALUE X'0088849488581330880890618573175743'. + 78 XPC-FLD0238B + VALUE X'03227001'. + 78 XPC-FLD0239B + VALUE X'29332566026370832101832F'. + 78 XPC-FLD0240B + VALUE X'0204109650584163561111186027120F'. + 78 XPC-FLD0241B + VALUE X'060875735723205993171444'. + 78 XPC-FLD0242B + VALUE X'1820842D'. + 78 XPC-FLD0243B + VALUE X'0870255257093214798613800553539476'. + 78 XPC-FLD0244B + VALUE X'5964541497067354924865'. + 78 XPC-FLD0245B + VALUE X'264333833210099267317333'. + 78 XPC-FLD0246B + VALUE X'01209826'. + 78 XPC-FLD0247B + VALUE X'742067276785553808782225359F'. + 78 XPC-FLD0248B + VALUE X'0568358594454923286003'. + 78 XPC-FLD0249B + VALUE X'3516462579097082707946242F'. + 78 XPC-FLD0250B + VALUE X'9267251332164047061614164335129317'. + 78 XPC-FLD0251B + VALUE X'3790591152463825338016431487631F'. + 78 XPC-FLD0252B + VALUE X'023614266C'. + 78 XPC-FLD0253B + VALUE X'21598977'. + 78 XPC-FLD0254B + VALUE X'949043622D'. + 78 XPC-FLD0255B + VALUE X'054081435076039155115F'. + 78 XPC-FLD0256B + VALUE X'08751500721603051085707734273455571F'. + 78 XPC-FLD0257B + VALUE X'408C'. + 78 XPC-FLD0258B + VALUE X'08373758705249056762416399345967'. + 78 XPC-FLD0259B + VALUE X'037466830472594D'. + 78 XPC-FLD0260B + VALUE X'06017366610583895639607F'. + 78 XPC-FLD0261B + VALUE X'00567161858323'. + 78 XPC-FLD0262B + VALUE X'68757658126759821329241049'. + 78 XPC-FLD0263B + VALUE X'040C'. + 78 XPC-FLD0264B + VALUE X'166846'. + 78 XPC-FLD0265B + VALUE X'02298778729177715439249141127220354975'. + 78 XPC-FLD0266B + VALUE X'0115052360207692161431225486003512427F'. + 78 XPC-FLD0267B + VALUE X'023489014C'. + 78 XPC-FLD0268B + VALUE X'8211500957830146774085733341053F'. + 78 XPC-FLD0269B + VALUE X'00'. + 78 XPC-FLD0270B + VALUE X'03736D'. + 78 XPC-FLD0271B + VALUE X'0052759203'. + 78 XPC-FLD0272B + VALUE X'0516000696302733685D'. + 78 XPC-FLD0273B + VALUE X'09036109253095580C'. + 78 XPC-FLD0274B + VALUE X'52694748208586675958'. + 78 XPC-FLD0275B + VALUE X'242413794C'. + 78 XPC-FLD0276B + VALUE X'026452912587946930678128865110919777'. + 78 XPC-FLD0277B + VALUE X'499215458601645512'. + 78 XPC-FLD0278B + VALUE X'07922277502052260016194509262277280F'. + 78 XPC-FLD0279B + VALUE X'28001839602575101420001146834692918F'. + 78 XPC-FLD0280B + VALUE X'686572532054675839148262639F'. + 78 XPC-FLD0281B + VALUE X'050053214871016073'. + 78 XPC-FLD0282B + VALUE X'080366298088737049271049105300'. + 78 XPC-FLD0283B + VALUE X'0182739D'. + 78 XPC-FLD0284B + VALUE X'01'. + 78 XPC-FLD0285B + VALUE X'7369214262351649891158444916'. + 78 XPC-FLD0286B + VALUE X'82453436'. + 78 XPC-FLD0287B + VALUE X'362829'. + 78 XPC-FLD0288B + VALUE X'558809488025126643861391416517087F'. + 78 XPC-FLD0289B + VALUE X'0567633089214293657540'. + 78 XPC-FLD0290B + VALUE X'113C'. + 78 XPC-FLD0291B + VALUE X'8300179929109657213726070068560F'. + 78 XPC-FLD0292B + VALUE X'00'. + 78 XPC-FLD0293B + VALUE X'030744391924'. + 78 XPC-FLD0294B + VALUE X'09'. + 78 XPC-FLD0295B + VALUE X'003641744D'. + 78 XPC-FLD0296B + VALUE X'574464025736577889141F'. + 78 XPC-FLD0297B + VALUE X'05211000497602709295'. + 78 XPC-FLD0298B + VALUE X'09865365009908295859892746193509083241'. + 78 XPC-FLD0299B + VALUE X'07346908584680565956758964'. + 78 XPC-FLD0300B + VALUE X'55012674381377925092451F'. + 78 XPC-FLD0301B + VALUE X'0C'. + 78 XPC-FLD0302B + VALUE X'4291773342239684'. + 78 XPC-FLD0303B + VALUE X'09'. + 78 XPC-FLD0304B + VALUE X'0556573438984127234968'. + 78 XPC-FLD0305B + VALUE X'5C'. + 78 XPC-FLD0306B + VALUE X'0493641888717687181D'. + 78 XPC-FLD0307B + VALUE X'068005145163846554765597747973515652'. + 78 XPC-FLD0308B + VALUE X'0711937634336942757585120489238761366F'. + 78 XPC-FLD0309B + VALUE X'093D'. + 78 XPC-FLD0310B + VALUE X'0039167648388876'. + 78 XPC-FLD0311B + VALUE X'3931117203050255914931199185957666486F'. + 78 XPC-FLD0312B + VALUE X'04'. + 78 XPC-FLD0313B + VALUE X'37515306459621'. + 78 XPC-FLD0314B + VALUE X'69720778107690404600560896'. + 78 XPC-FLD0315B + VALUE X'69624112217793877932514589'. + 78 XPC-FLD0316B + VALUE X'561166875766384822086F'. + 78 XPC-FLD0317B + VALUE X'0331361572492C'. + 78 XPC-FLD0318B + VALUE X'754934282553785965724557627254399F'. + 78 XPC-FLD0319B + VALUE X'0720371110100740574821997F'. + 78 XPC-FLD0320B + VALUE X'547024228165748174212F'. + 78 XPC-FLD0321B + VALUE X'6656687959056812873818967F'. + 78 XPC-FLD0322B + VALUE X'017591106469607443841432'. + 78 XPC-FLD0323B + VALUE X'0726633859846741159138616694690426812F'. + 78 XPC-FLD0324B + VALUE X'002824576327848049573F'. + 78 XPC-FLD0325B + VALUE X'723337602353324218528882738F'. + 78 XPC-FLD0326B + VALUE X'049D'. + 78 XPC-FLD0327B + VALUE X'021224467C'. + 78 XPC-FLD0328B + VALUE X'046432253464059D'. + 78 XPC-FLD0329B + VALUE X'0952096907591406971249625712516717612F'. + 78 XPC-FLD0330B + VALUE X'732550190262212211019805617980'. + 78 XPC-FLD0331B + VALUE X'2990286983'. + 78 XPC-FLD0332B + VALUE X'03558444199192'. + 78 XPC-FLD0333B + VALUE X'243133331C'. + 78 XPC-FLD0334B + VALUE X'297044413515'. + 78 XPC-FLD0335B + VALUE X'05106189445459805064'. + 78 XPC-FLD0336B + VALUE X'29331698899D'. + 78 XPC-FLD0337B + VALUE X'434132279525498709915609650F'. + 78 XPC-FLD0338B + VALUE X'053047689000456310637F'. + 78 XPC-FLD0339B + VALUE X'05943728837259434154840F'. + 78 XPC-FLD0340B + VALUE X'3898813490788D'. + 78 XPC-FLD0341B + VALUE X'248392469156514472666F'. + 78 XPC-FLD0342B + VALUE X'45329231208135124D'. + 78 XPC-FLD0343B + VALUE X'00620927'. + 78 XPC-FLD0344B + VALUE X'606359905437156143820618581230520F'. + 78 XPC-FLD0345B + VALUE X'0405441574894889'. + 78 XPC-FLD0346B + VALUE X'6665377278444964848080900F'. + 78 XPC-FLD0347B + VALUE X'324381'. + 78 XPC-FLD0348B + VALUE X'0541608383617544100863'. + 78 XPC-FLD0349B + VALUE X'99162869882943715535583214659709483F'. + 78 XPC-FLD0350B + VALUE X'08264871389960360762501068165875'. + 78 XPC-FLD0351B + VALUE X'53884121311052648707'. + 78 XPC-FLD0352B + VALUE X'01946919'. + 78 XPC-FLD0353B + VALUE X'94389336945631099347053805104224012F'. + 78 XPC-FLD0354B + VALUE X'31167660742D'. + 78 XPC-FLD0355B + VALUE X'93287C'. + 78 XPC-FLD0356B + VALUE X'83673557978976841628508509529638'. + 78 XPC-FLD0357B + VALUE X'0079'. + 78 XPC-FLD0358B + VALUE X'65874749059638552239264936'. + 78 XPC-FLD0359B + VALUE X'9526039934819852117442415817981772124F'. + 78 XPC-FLD0360B + VALUE X'7361138723'. + 78 XPC-FLD0361B + VALUE X'07851848643793046811367730697339'. + 78 XPC-FLD0362B + VALUE X'8970899599407193836242413453874178'. + 78 XPC-FLD0363B + VALUE X'04961135231796696550847514117776881F'. + 78 XPC-FLD0364B + VALUE X'8287940009277749559970516202156F'. + 78 XPC-FLD0365B + VALUE X'02107493896139311928536102'. + 78 XPC-FLD0366B + VALUE X'00157659331265924684828405588633'. + 78 XPC-FLD0367B + VALUE X'7840586C'. + 78 XPC-FLD0368B + VALUE X'03'. + 78 XPC-FLD0369B + VALUE X'31224128387C'. + 78 XPC-FLD0370B + VALUE X'0C'. + 78 XPC-FLD0371B + VALUE X'082D'. + 78 XPC-FLD0372B + VALUE X'0049999527433343127F'. + 78 XPC-FLD0373B + VALUE X'3525595775040D'. + 78 XPC-FLD0374B + VALUE X'711264497973442155753787119F'. + 78 XPC-FLD0375B + VALUE X'03'. + 78 XPC-FLD0376B + VALUE X'5240009617041836336F'. + 78 XPC-FLD0377B + VALUE X'78137191821795531497030218304F'. + 78 XPC-FLD0378B + VALUE X'0163135D'. + 78 XPC-FLD0379B + VALUE X'04'. + 78 XPC-FLD0380B + VALUE X'9D'. + 78 XPC-FLD0381B + VALUE X'0096'. + 78 XPC-FLD0382B + VALUE X'1909'. + 78 XPC-FLD0383B + VALUE X'0810435186395222418864747737642F'. + 78 XPC-FLD0384B + VALUE X'01'. + 78 XPC-FLD0385B + VALUE X'774134932514714546452413131744833F'. + 78 XPC-FLD0386B + VALUE X'03467992789726692670323751189F'. + 78 XPC-FLD0387B + VALUE X'6906513656145575095354897F'. + 78 XPC-FLD0388B + VALUE X'0326'. + 78 XPC-FLD0389B + VALUE X'0182625981352744592156'. + 78 XPC-FLD0390B + VALUE X'0102'. + 78 XPC-FLD0391B + VALUE X'00373737127C'. + 78 XPC-FLD0392B + VALUE X'046825106292883313'. + 78 XPC-FLD0393B + VALUE X'9072420163680885991652758093550801'. + 78 XPC-FLD0394B + VALUE X'0474630481043585892D'. + 78 XPC-FLD0395B + VALUE X'3C'. + 78 XPC-FLD0396B + VALUE X'0265476173063916'. + 78 XPC-FLD0397B + VALUE X'007D'. + 78 XPC-FLD0398B + VALUE X'02844252852D'. + 78 XPC-FLD0399B + VALUE X'0256742307'. + 78 XPC-FLD0400B + VALUE X'08678350299065256532010165028624'. + 78 XPC-FLD0401B + VALUE X'00'. + 78 XPC-FLD0402B + VALUE X'69644052220831165210812585'. + 78 XPC-FLD0403B + VALUE X'012518106356029089448417234962107613'. + 78 XPC-FLD0404B + VALUE X'4814436782579247780215241F'. + 78 XPC-FLD0405B + VALUE X'14133C'. + 78 XPC-FLD0406B + VALUE X'049908285391730064732712435215'. + 78 XPC-FLD0407B + VALUE X'08753049482988191082826919955550692975'. + 78 XPC-FLD0408B + VALUE X'0947331591'. + 78 XPC-FLD0409B + VALUE X'0605266450165216657684'. + 78 XPC-FLD0410B + VALUE X'8786052888992391829545680593582801521F'. + 78 XPC-FLD0411B + VALUE X'063491006980711595097943650973'. + 78 XPC-FLD0412B + VALUE X'8D'. + 78 XPC-FLD0413B + VALUE X'0C'. + 78 XPC-FLD0414B + VALUE X'99790D'. + 78 XPC-FLD0415B + VALUE X'9072627958632073487733476063585840'. + 78 XPC-FLD0416B + VALUE X'8D'. + 78 XPC-FLD0417B + VALUE X'988613295763541566341103816739633F'. + 78 XPC-FLD0418B + VALUE X'00'. + 78 XPC-FLD0419B + VALUE X'057648646369329730502F'. + 78 XPC-FLD0420B + VALUE X'2098982695132051783275528578087688'. + 78 XPC-FLD0421B + VALUE X'2103833C'. + 78 XPC-FLD0422B + VALUE X'752582761957935941759741251848172397'. + 78 XPC-FLD0423B + VALUE X'28494506043824296970249566'. + 78 XPC-FLD0424B + VALUE X'0784268490871190770892359433'. + 78 XPC-FLD0425B + VALUE X'01105207822256892292772F'. + 78 XPC-FLD0426B + VALUE X'0001958844649331492605'. + 78 XPC-FLD0427B + VALUE X'030767310512910845380824639505'. + 78 XPC-FLD0428B + VALUE X'03481765503552540774734325168211935223'. + 78 XPC-FLD0429B + VALUE X'0415311789274485'. + 78 XPC-FLD0430B + VALUE X'03147921208448'. + 78 XPC-FLD0431B + VALUE X'09203928254587173674039490833820309F'. + 78 XPC-FLD0432B + VALUE X'0468689D'. + 78 XPC-FLD0433B + VALUE X'02194580'. + 78 XPC-FLD0434B + VALUE X'60684270265800283242045907172723673F'. + 78 XPC-FLD0435B + VALUE X'05848414431863717140299F'. + 78 XPC-FLD0436B + VALUE X'8307195843004202551185244374210F'. + 78 XPC-FLD0437B + VALUE X'0276912651674409371338469F'. + 78 XPC-FLD0438B + VALUE X'065939134788229547545486395847751F'. + 78 XPC-FLD0439B + VALUE X'057198557021649332012F'. + 78 XPC-FLD0440B + VALUE X'045546922388182033'. + 78 XPC-FLD0441B + VALUE X'04410365507278117C'. + 78 XPC-FLD0442B + VALUE X'0793246258213504850331787565664854'. + 78 XPC-FLD0443B + VALUE X'12406922393517515692932F'. + 78 XPC-FLD0444B + VALUE X'5047752750516173349F'. + 78 XPC-FLD0445B + VALUE X'46235419654562581D'. + 78 XPC-FLD0446B + VALUE X'03796915192033033506944203'. + 78 XPC-FLD0447B + VALUE X'2771730669'. + 78 XPC-FLD0448B + VALUE X'53731039321367845601'. + 78 XPC-FLD0449B + VALUE X'0509720778947D'. + 78 XPC-FLD0450B + VALUE X'0282777568876138030163'. + 78 XPC-FLD0451B + VALUE X'251739040D'. + 78 XPC-FLD0452B + VALUE X'0554961704112127562772'. + 78 XPC-FLD0453B + VALUE X'432966208610221163829131910461001098'. + 78 XPC-FLD0454B + VALUE X'0C'. + 78 XPC-FLD0455B + VALUE X'085105998788168291113720442808698F'. + 78 XPC-FLD0456B + VALUE X'015602'. + 78 XPC-FLD0457B + VALUE X'04'. + 78 XPC-FLD0458B + VALUE X'319507534378'. + 78 XPC-FLD0459B + VALUE X'563566655806151518188F'. + 78 XPC-FLD0460B + VALUE X'78345895335320658858790920930F'. + 78 XPC-FLD0461B + VALUE X'021468392C'. + 78 XPC-FLD0462B + VALUE X'0004508805451474389691668420709902421F'. + 78 XPC-FLD0463B + VALUE X'0407334605648695'. + 78 XPC-FLD0464B + VALUE X'0151737088129684206390490880'. + 78 XPC-FLD0465B + VALUE X'04019227771758718807584315561398'. + 78 XPC-FLD0466B + VALUE X'066690'. + 78 XPC-FLD0467B + VALUE X'221674677715112297171629052172647F'. + 78 XPC-FLD0468B + VALUE X'014539915072'. + 78 XPC-FLD0469B + VALUE X'5200119971346918168F'. + 78 XPC-FLD0470B + VALUE X'038313143686989D'. + 78 XPC-FLD0471B + VALUE X'04'. + 78 XPC-FLD0472B + VALUE X'014747530624073358364549755424378F'. + 78 XPC-FLD0473B + VALUE X'044510935327360434676791101F'. + 78 XPC-FLD0474B + VALUE X'12450D'. + 78 XPC-FLD0475B + VALUE X'008735531657721C'. + 78 XPC-FLD0476B + VALUE X'06726270'. + 78 XPC-FLD0477B + VALUE X'038064410228203D'. + 78 XPC-FLD0478B + VALUE X'02732554753853'. + 78 XPC-FLD0479B + VALUE X'3225777432138897276100778981344F'. + 78 XPC-FLD0480B + VALUE X'7459539941657910502685240317'. + 78 XPC-FLD0481B + VALUE X'7907459007614364265847939350351225584F'. + 78 XPC-FLD0482B + VALUE X'0499292594411151591D'. + 78 XPC-FLD0483B + VALUE X'0323420128144C'. + 78 XPC-FLD0484B + VALUE X'0577123861473882282524'. + 78 XPC-FLD0485B + VALUE X'166880'. + 78 XPC-FLD0486B + VALUE X'045838007534965959'. + 78 XPC-FLD0487B + VALUE X'070416419749040885946681100F'. + 78 XPC-FLD0488B + VALUE X'01888589981100687587906874'. + 78 XPC-FLD0489B + VALUE X'00649432173668728651705350785050541163'. + 78 XPC-FLD0490B + VALUE X'2396976320'. + 78 XPC-FLD0491B + VALUE X'6612864347936019645829430F'. + 78 XPC-FLD0492B + VALUE X'3423161826575C'. + 78 XPC-FLD0493B + VALUE X'790696459278862186593528349476'. + 78 XPC-FLD0494B + VALUE X'5132995328615615202F'. + 78 XPC-FLD0495B + VALUE X'646882573915106698502768'. + 78 XPC-FLD0496B + VALUE X'05523D'. + 78 XPC-FLD0497B + VALUE X'06663282286120654558381205'. + 78 XPC-FLD0498B + VALUE X'02658441'. + 78 XPC-FLD0499B + VALUE X'0634131216402607308791345F'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + ADD FLD0001A TO FLD0001B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0002A FROM FLD0002B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0003A TO FLD0003B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0004A FROM FLD0004B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0005A TO FLD0005B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0006A FROM FLD0006B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0007A TO FLD0007B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0008A FROM FLD0008B + ROUNDED MODE IS TRUNCATION . + ADD FLD0009A TO FLD0009B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0010A FROM FLD0010B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0011A TO FLD0011B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0012A FROM FLD0012B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0013A TO FLD0013B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0014A FROM FLD0014B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0015A TO FLD0015B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0016A FROM FLD0016B + ROUNDED MODE IS TRUNCATION . + ADD FLD0017A TO FLD0017B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0018A FROM FLD0018B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0019A TO FLD0019B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0020A FROM FLD0020B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0021A TO FLD0021B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0022A FROM FLD0022B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0023A TO FLD0023B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0024A FROM FLD0024B + ROUNDED MODE IS TRUNCATION . + ADD FLD0025A TO FLD0025B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0026A FROM FLD0026B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0027A TO FLD0027B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0028A FROM FLD0028B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0029A TO FLD0029B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0030A FROM FLD0030B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0031A TO FLD0031B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0032A FROM FLD0032B + ROUNDED MODE IS TRUNCATION . + ADD FLD0033A TO FLD0033B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0034A FROM FLD0034B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0035A TO FLD0035B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0036A FROM FLD0036B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0037A TO FLD0037B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0038A FROM FLD0038B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0039A TO FLD0039B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0040A FROM FLD0040B + ROUNDED MODE IS TRUNCATION . + ADD FLD0041A TO FLD0041B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0042A FROM FLD0042B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0043A TO FLD0043B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0044A FROM FLD0044B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0045A TO FLD0045B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0046A FROM FLD0046B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0047A TO FLD0047B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0048A FROM FLD0048B + ROUNDED MODE IS TRUNCATION . + ADD FLD0049A TO FLD0049B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0050A FROM FLD0050B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0051A TO FLD0051B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0052A FROM FLD0052B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0053A TO FLD0053B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0054A FROM FLD0054B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0055A TO FLD0055B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0056A FROM FLD0056B + ROUNDED MODE IS TRUNCATION . + ADD FLD0057A TO FLD0057B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0058A FROM FLD0058B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0059A TO FLD0059B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0060A FROM FLD0060B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0061A TO FLD0061B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0062A FROM FLD0062B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0063A TO FLD0063B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0064A FROM FLD0064B + ROUNDED MODE IS TRUNCATION . + ADD FLD0065A TO FLD0065B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0066A FROM FLD0066B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0067A TO FLD0067B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0068A FROM FLD0068B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0069A TO FLD0069B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0070A FROM FLD0070B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0071A TO FLD0071B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0072A FROM FLD0072B + ROUNDED MODE IS TRUNCATION . + ADD FLD0073A TO FLD0073B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0074A FROM FLD0074B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0075A TO FLD0075B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0076A FROM FLD0076B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0077A TO FLD0077B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0078A FROM FLD0078B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0079A TO FLD0079B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0080A FROM FLD0080B + ROUNDED MODE IS TRUNCATION . + ADD FLD0081A TO FLD0081B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0082A FROM FLD0082B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0083A TO FLD0083B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0084A FROM FLD0084B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0085A TO FLD0085B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0086A FROM FLD0086B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0087A TO FLD0087B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0088A FROM FLD0088B + ROUNDED MODE IS TRUNCATION . + ADD FLD0089A TO FLD0089B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0090A FROM FLD0090B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0091A TO FLD0091B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0092A FROM FLD0092B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0093A TO FLD0093B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0094A FROM FLD0094B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0095A TO FLD0095B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0096A FROM FLD0096B + ROUNDED MODE IS TRUNCATION . + ADD FLD0097A TO FLD0097B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0098A FROM FLD0098B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0099A TO FLD0099B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0100A FROM FLD0100B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0101A TO FLD0101B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0102A FROM FLD0102B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0103A TO FLD0103B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0104A FROM FLD0104B + ROUNDED MODE IS TRUNCATION . + ADD FLD0105A TO FLD0105B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0106A FROM FLD0106B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0107A TO FLD0107B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0108A FROM FLD0108B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0109A TO FLD0109B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0110A FROM FLD0110B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0111A TO FLD0111B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0112A FROM FLD0112B + ROUNDED MODE IS TRUNCATION . + ADD FLD0113A TO FLD0113B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0114A FROM FLD0114B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0115A TO FLD0115B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0116A FROM FLD0116B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0117A TO FLD0117B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0118A FROM FLD0118B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0119A TO FLD0119B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0120A FROM FLD0120B + ROUNDED MODE IS TRUNCATION . + ADD FLD0121A TO FLD0121B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0122A FROM FLD0122B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0123A TO FLD0123B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0124A FROM FLD0124B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0125A TO FLD0125B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0126A FROM FLD0126B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0127A TO FLD0127B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0128A FROM FLD0128B + ROUNDED MODE IS TRUNCATION . + ADD FLD0129A TO FLD0129B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0130A FROM FLD0130B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0131A TO FLD0131B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0132A FROM FLD0132B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0133A TO FLD0133B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0134A FROM FLD0134B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0135A TO FLD0135B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0136A FROM FLD0136B + ROUNDED MODE IS TRUNCATION . + ADD FLD0137A TO FLD0137B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0138A FROM FLD0138B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0139A TO FLD0139B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0140A FROM FLD0140B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0141A TO FLD0141B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0142A FROM FLD0142B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0143A TO FLD0143B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0144A FROM FLD0144B + ROUNDED MODE IS TRUNCATION . + ADD FLD0145A TO FLD0145B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0146A FROM FLD0146B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0147A TO FLD0147B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0148A FROM FLD0148B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0149A TO FLD0149B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0150A FROM FLD0150B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0151A TO FLD0151B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0152A FROM FLD0152B + ROUNDED MODE IS TRUNCATION . + ADD FLD0153A TO FLD0153B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0154A FROM FLD0154B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0155A TO FLD0155B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0156A FROM FLD0156B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0157A TO FLD0157B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0158A FROM FLD0158B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0159A TO FLD0159B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0160A FROM FLD0160B + ROUNDED MODE IS TRUNCATION . + ADD FLD0161A TO FLD0161B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0162A FROM FLD0162B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0163A TO FLD0163B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0164A FROM FLD0164B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0165A TO FLD0165B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0166A FROM FLD0166B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0167A TO FLD0167B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0168A FROM FLD0168B + ROUNDED MODE IS TRUNCATION . + ADD FLD0169A TO FLD0169B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0170A FROM FLD0170B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0171A TO FLD0171B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0172A FROM FLD0172B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0173A TO FLD0173B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0174A FROM FLD0174B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0175A TO FLD0175B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0176A FROM FLD0176B + ROUNDED MODE IS TRUNCATION . + ADD FLD0177A TO FLD0177B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0178A FROM FLD0178B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0179A TO FLD0179B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0180A FROM FLD0180B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0181A TO FLD0181B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0182A FROM FLD0182B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0183A TO FLD0183B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0184A FROM FLD0184B + ROUNDED MODE IS TRUNCATION . + ADD FLD0185A TO FLD0185B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0186A FROM FLD0186B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0187A TO FLD0187B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0188A FROM FLD0188B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0189A TO FLD0189B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0190A FROM FLD0190B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0191A TO FLD0191B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0192A FROM FLD0192B + ROUNDED MODE IS TRUNCATION . + ADD FLD0193A TO FLD0193B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0194A FROM FLD0194B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0195A TO FLD0195B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0196A FROM FLD0196B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0197A TO FLD0197B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0198A FROM FLD0198B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0199A TO FLD0199B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0200A FROM FLD0200B + ROUNDED MODE IS TRUNCATION . + ADD FLD0201A TO FLD0201B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0202A FROM FLD0202B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0203A TO FLD0203B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0204A FROM FLD0204B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0205A TO FLD0205B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0206A FROM FLD0206B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0207A TO FLD0207B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0208A FROM FLD0208B + ROUNDED MODE IS TRUNCATION . + ADD FLD0209A TO FLD0209B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0210A FROM FLD0210B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0211A TO FLD0211B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0212A FROM FLD0212B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0213A TO FLD0213B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0214A FROM FLD0214B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0215A TO FLD0215B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0216A FROM FLD0216B + ROUNDED MODE IS TRUNCATION . + ADD FLD0217A TO FLD0217B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0218A FROM FLD0218B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0219A TO FLD0219B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0220A FROM FLD0220B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0221A TO FLD0221B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0222A FROM FLD0222B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0223A TO FLD0223B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0224A FROM FLD0224B + ROUNDED MODE IS TRUNCATION . + ADD FLD0225A TO FLD0225B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0226A FROM FLD0226B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0227A TO FLD0227B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0228A FROM FLD0228B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0229A TO FLD0229B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0230A FROM FLD0230B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0231A TO FLD0231B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0232A FROM FLD0232B + ROUNDED MODE IS TRUNCATION . + ADD FLD0233A TO FLD0233B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0234A FROM FLD0234B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0235A TO FLD0235B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0236A FROM FLD0236B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0237A TO FLD0237B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0238A FROM FLD0238B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0239A TO FLD0239B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0240A FROM FLD0240B + ROUNDED MODE IS TRUNCATION . + ADD FLD0241A TO FLD0241B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0242A FROM FLD0242B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0243A TO FLD0243B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0244A FROM FLD0244B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0245A TO FLD0245B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0246A FROM FLD0246B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0247A TO FLD0247B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0248A FROM FLD0248B + ROUNDED MODE IS TRUNCATION . + ADD FLD0249A TO FLD0249B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0250A FROM FLD0250B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0251A TO FLD0251B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0252A FROM FLD0252B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0253A TO FLD0253B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0254A FROM FLD0254B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0255A TO FLD0255B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0256A FROM FLD0256B + ROUNDED MODE IS TRUNCATION . + ADD FLD0257A TO FLD0257B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0258A FROM FLD0258B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0259A TO FLD0259B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0260A FROM FLD0260B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0261A TO FLD0261B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0262A FROM FLD0262B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0263A TO FLD0263B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0264A FROM FLD0264B + ROUNDED MODE IS TRUNCATION . + ADD FLD0265A TO FLD0265B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0266A FROM FLD0266B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0267A TO FLD0267B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0268A FROM FLD0268B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0269A TO FLD0269B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0270A FROM FLD0270B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0271A TO FLD0271B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0272A FROM FLD0272B + ROUNDED MODE IS TRUNCATION . + ADD FLD0273A TO FLD0273B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0274A FROM FLD0274B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0275A TO FLD0275B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0276A FROM FLD0276B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0277A TO FLD0277B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0278A FROM FLD0278B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0279A TO FLD0279B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0280A FROM FLD0280B + ROUNDED MODE IS TRUNCATION . + ADD FLD0281A TO FLD0281B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0282A FROM FLD0282B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0283A TO FLD0283B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0284A FROM FLD0284B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0285A TO FLD0285B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0286A FROM FLD0286B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0287A TO FLD0287B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0288A FROM FLD0288B + ROUNDED MODE IS TRUNCATION . + ADD FLD0289A TO FLD0289B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0290A FROM FLD0290B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0291A TO FLD0291B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0292A FROM FLD0292B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0293A TO FLD0293B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0294A FROM FLD0294B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0295A TO FLD0295B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0296A FROM FLD0296B + ROUNDED MODE IS TRUNCATION . + ADD FLD0297A TO FLD0297B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0298A FROM FLD0298B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0299A TO FLD0299B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0300A FROM FLD0300B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0301A TO FLD0301B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0302A FROM FLD0302B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0303A TO FLD0303B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0304A FROM FLD0304B + ROUNDED MODE IS TRUNCATION . + ADD FLD0305A TO FLD0305B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0306A FROM FLD0306B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0307A TO FLD0307B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0308A FROM FLD0308B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0309A TO FLD0309B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0310A FROM FLD0310B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0311A TO FLD0311B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0312A FROM FLD0312B + ROUNDED MODE IS TRUNCATION . + ADD FLD0313A TO FLD0313B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0314A FROM FLD0314B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0315A TO FLD0315B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0316A FROM FLD0316B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0317A TO FLD0317B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0318A FROM FLD0318B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0319A TO FLD0319B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0320A FROM FLD0320B + ROUNDED MODE IS TRUNCATION . + ADD FLD0321A TO FLD0321B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0322A FROM FLD0322B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0323A TO FLD0323B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0324A FROM FLD0324B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0325A TO FLD0325B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0326A FROM FLD0326B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0327A TO FLD0327B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0328A FROM FLD0328B + ROUNDED MODE IS TRUNCATION . + ADD FLD0329A TO FLD0329B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0330A FROM FLD0330B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0331A TO FLD0331B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0332A FROM FLD0332B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0333A TO FLD0333B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0334A FROM FLD0334B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0335A TO FLD0335B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0336A FROM FLD0336B + ROUNDED MODE IS TRUNCATION . + ADD FLD0337A TO FLD0337B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0338A FROM FLD0338B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0339A TO FLD0339B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0340A FROM FLD0340B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0341A TO FLD0341B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0342A FROM FLD0342B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0343A TO FLD0343B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0344A FROM FLD0344B + ROUNDED MODE IS TRUNCATION . + ADD FLD0345A TO FLD0345B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0346A FROM FLD0346B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0347A TO FLD0347B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0348A FROM FLD0348B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0349A TO FLD0349B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0350A FROM FLD0350B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0351A TO FLD0351B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0352A FROM FLD0352B + ROUNDED MODE IS TRUNCATION . + ADD FLD0353A TO FLD0353B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0354A FROM FLD0354B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0355A TO FLD0355B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0356A FROM FLD0356B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0357A TO FLD0357B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0358A FROM FLD0358B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0359A TO FLD0359B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0360A FROM FLD0360B + ROUNDED MODE IS TRUNCATION . + ADD FLD0361A TO FLD0361B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0362A FROM FLD0362B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0363A TO FLD0363B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0364A FROM FLD0364B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0365A TO FLD0365B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0366A FROM FLD0366B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0367A TO FLD0367B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0368A FROM FLD0368B + ROUNDED MODE IS TRUNCATION . + ADD FLD0369A TO FLD0369B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0370A FROM FLD0370B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0371A TO FLD0371B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0372A FROM FLD0372B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0373A TO FLD0373B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0374A FROM FLD0374B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0375A TO FLD0375B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0376A FROM FLD0376B + ROUNDED MODE IS TRUNCATION . + ADD FLD0377A TO FLD0377B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0378A FROM FLD0378B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0379A TO FLD0379B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0380A FROM FLD0380B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0381A TO FLD0381B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0382A FROM FLD0382B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0383A TO FLD0383B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0384A FROM FLD0384B + ROUNDED MODE IS TRUNCATION . + ADD FLD0385A TO FLD0385B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0386A FROM FLD0386B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0387A TO FLD0387B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0388A FROM FLD0388B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0389A TO FLD0389B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0390A FROM FLD0390B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0391A TO FLD0391B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0392A FROM FLD0392B + ROUNDED MODE IS TRUNCATION . + ADD FLD0393A TO FLD0393B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0394A FROM FLD0394B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0395A TO FLD0395B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0396A FROM FLD0396B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0397A TO FLD0397B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0398A FROM FLD0398B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0399A TO FLD0399B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0400A FROM FLD0400B + ROUNDED MODE IS TRUNCATION . + ADD FLD0401A TO FLD0401B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0402A FROM FLD0402B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0403A TO FLD0403B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0404A FROM FLD0404B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0405A TO FLD0405B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0406A FROM FLD0406B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0407A TO FLD0407B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0408A FROM FLD0408B + ROUNDED MODE IS TRUNCATION . + ADD FLD0409A TO FLD0409B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0410A FROM FLD0410B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0411A TO FLD0411B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0412A FROM FLD0412B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0413A TO FLD0413B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0414A FROM FLD0414B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0415A TO FLD0415B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0416A FROM FLD0416B + ROUNDED MODE IS TRUNCATION . + ADD FLD0417A TO FLD0417B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0418A FROM FLD0418B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0419A TO FLD0419B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0420A FROM FLD0420B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0421A TO FLD0421B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0422A FROM FLD0422B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0423A TO FLD0423B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0424A FROM FLD0424B + ROUNDED MODE IS TRUNCATION . + ADD FLD0425A TO FLD0425B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0426A FROM FLD0426B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0427A TO FLD0427B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0428A FROM FLD0428B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0429A TO FLD0429B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0430A FROM FLD0430B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0431A TO FLD0431B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0432A FROM FLD0432B + ROUNDED MODE IS TRUNCATION . + ADD FLD0433A TO FLD0433B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0434A FROM FLD0434B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0435A TO FLD0435B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0436A FROM FLD0436B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0437A TO FLD0437B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0438A FROM FLD0438B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0439A TO FLD0439B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0440A FROM FLD0440B + ROUNDED MODE IS TRUNCATION . + ADD FLD0441A TO FLD0441B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0442A FROM FLD0442B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0443A TO FLD0443B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0444A FROM FLD0444B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0445A TO FLD0445B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0446A FROM FLD0446B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0447A TO FLD0447B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0448A FROM FLD0448B + ROUNDED MODE IS TRUNCATION . + ADD FLD0449A TO FLD0449B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0450A FROM FLD0450B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0451A TO FLD0451B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0452A FROM FLD0452B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0453A TO FLD0453B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0454A FROM FLD0454B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0455A TO FLD0455B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0456A FROM FLD0456B + ROUNDED MODE IS TRUNCATION . + ADD FLD0457A TO FLD0457B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0458A FROM FLD0458B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0459A TO FLD0459B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0460A FROM FLD0460B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0461A TO FLD0461B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0462A FROM FLD0462B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0463A TO FLD0463B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0464A FROM FLD0464B + ROUNDED MODE IS TRUNCATION . + ADD FLD0465A TO FLD0465B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0466A FROM FLD0466B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0467A TO FLD0467B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0468A FROM FLD0468B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0469A TO FLD0469B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0470A FROM FLD0470B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0471A TO FLD0471B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0472A FROM FLD0472B + ROUNDED MODE IS TRUNCATION . + ADD FLD0473A TO FLD0473B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0474A FROM FLD0474B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0475A TO FLD0475B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0476A FROM FLD0476B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0477A TO FLD0477B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0478A FROM FLD0478B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0479A TO FLD0479B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0480A FROM FLD0480B + ROUNDED MODE IS TRUNCATION . + ADD FLD0481A TO FLD0481B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0482A FROM FLD0482B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0483A TO FLD0483B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0484A FROM FLD0484B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0485A TO FLD0485B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0486A FROM FLD0486B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0487A TO FLD0487B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0488A FROM FLD0488B + ROUNDED MODE IS TRUNCATION . + ADD FLD0489A TO FLD0489B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0490A FROM FLD0490B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0491A TO FLD0491B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0492A FROM FLD0492B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0493A TO FLD0493B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0494A FROM FLD0494B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0495A TO FLD0495B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0496A FROM FLD0496B + ROUNDED MODE IS TRUNCATION . + ADD FLD0497A TO FLD0497B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0498A FROM FLD0498B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0499A TO FLD0499B + ROUNDED MODE IS NEAREST-EVEN . + + *4000-COMPARE. + + IF FLD0001B (1:) NOT EQUAL XPC-FLD0001B + DISPLAY 'FLD0001B ==> ' HEX-OF (FLD0001B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0001B). + IF FLD0002B (1:) NOT EQUAL XPC-FLD0002B + DISPLAY 'FLD0002B ==> ' HEX-OF (FLD0002B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0002B). + IF FLD0003B (1:) NOT EQUAL XPC-FLD0003B + DISPLAY 'FLD0003B ==> ' HEX-OF (FLD0003B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0003B). + IF FLD0004B (1:) NOT EQUAL XPC-FLD0004B + DISPLAY 'FLD0004B ==> ' HEX-OF (FLD0004B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0004B). + IF FLD0005B (1:) NOT EQUAL XPC-FLD0005B + DISPLAY 'FLD0005B ==> ' HEX-OF (FLD0005B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0005B). + IF FLD0006B (1:) NOT EQUAL XPC-FLD0006B + DISPLAY 'FLD0006B ==> ' HEX-OF (FLD0006B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0006B). + IF FLD0007B (1:) NOT EQUAL XPC-FLD0007B + DISPLAY 'FLD0007B ==> ' HEX-OF (FLD0007B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0007B). + IF FLD0008B (1:) NOT EQUAL XPC-FLD0008B + DISPLAY 'FLD0008B ==> ' HEX-OF (FLD0008B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0008B). + IF FLD0009B (1:) NOT EQUAL XPC-FLD0009B + DISPLAY 'FLD0009B ==> ' HEX-OF (FLD0009B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0009B). + IF FLD0010B (1:) NOT EQUAL XPC-FLD0010B + DISPLAY 'FLD0010B ==> ' HEX-OF (FLD0010B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0010B). + IF FLD0011B (1:) NOT EQUAL XPC-FLD0011B + DISPLAY 'FLD0011B ==> ' HEX-OF (FLD0011B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0011B). + IF FLD0012B (1:) NOT EQUAL XPC-FLD0012B + DISPLAY 'FLD0012B ==> ' HEX-OF (FLD0012B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0012B). + IF FLD0013B (1:) NOT EQUAL XPC-FLD0013B + DISPLAY 'FLD0013B ==> ' HEX-OF (FLD0013B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0013B). + IF FLD0014B (1:) NOT EQUAL XPC-FLD0014B + DISPLAY 'FLD0014B ==> ' HEX-OF (FLD0014B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0014B). + IF FLD0015B (1:) NOT EQUAL XPC-FLD0015B + DISPLAY 'FLD0015B ==> ' HEX-OF (FLD0015B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0015B). + IF FLD0016B (1:) NOT EQUAL XPC-FLD0016B + DISPLAY 'FLD0016B ==> ' HEX-OF (FLD0016B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0016B). + IF FLD0017B (1:) NOT EQUAL XPC-FLD0017B + DISPLAY 'FLD0017B ==> ' HEX-OF (FLD0017B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0017B). + IF FLD0018B (1:) NOT EQUAL XPC-FLD0018B + DISPLAY 'FLD0018B ==> ' HEX-OF (FLD0018B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0018B). + IF FLD0019B (1:) NOT EQUAL XPC-FLD0019B + DISPLAY 'FLD0019B ==> ' HEX-OF (FLD0019B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0019B). + IF FLD0020B (1:) NOT EQUAL XPC-FLD0020B + DISPLAY 'FLD0020B ==> ' HEX-OF (FLD0020B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0020B). + IF FLD0021B (1:) NOT EQUAL XPC-FLD0021B + DISPLAY 'FLD0021B ==> ' HEX-OF (FLD0021B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0021B). + IF FLD0022B (1:) NOT EQUAL XPC-FLD0022B + DISPLAY 'FLD0022B ==> ' HEX-OF (FLD0022B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0022B). + IF FLD0023B (1:) NOT EQUAL XPC-FLD0023B + DISPLAY 'FLD0023B ==> ' HEX-OF (FLD0023B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0023B). + IF FLD0024B (1:) NOT EQUAL XPC-FLD0024B + DISPLAY 'FLD0024B ==> ' HEX-OF (FLD0024B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0024B). + IF FLD0025B (1:) NOT EQUAL XPC-FLD0025B + DISPLAY 'FLD0025B ==> ' HEX-OF (FLD0025B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0025B). + IF FLD0026B (1:) NOT EQUAL XPC-FLD0026B + DISPLAY 'FLD0026B ==> ' HEX-OF (FLD0026B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0026B). + IF FLD0027B (1:) NOT EQUAL XPC-FLD0027B + DISPLAY 'FLD0027B ==> ' HEX-OF (FLD0027B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0027B). + IF FLD0028B (1:) NOT EQUAL XPC-FLD0028B + DISPLAY 'FLD0028B ==> ' HEX-OF (FLD0028B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0028B). + IF FLD0029B (1:) NOT EQUAL XPC-FLD0029B + DISPLAY 'FLD0029B ==> ' HEX-OF (FLD0029B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0029B). + IF FLD0030B (1:) NOT EQUAL XPC-FLD0030B + DISPLAY 'FLD0030B ==> ' HEX-OF (FLD0030B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0030B). + IF FLD0031B (1:) NOT EQUAL XPC-FLD0031B + DISPLAY 'FLD0031B ==> ' HEX-OF (FLD0031B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0031B). + IF FLD0032B (1:) NOT EQUAL XPC-FLD0032B + DISPLAY 'FLD0032B ==> ' HEX-OF (FLD0032B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0032B). + IF FLD0033B (1:) NOT EQUAL XPC-FLD0033B + DISPLAY 'FLD0033B ==> ' HEX-OF (FLD0033B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0033B). + IF FLD0034B (1:) NOT EQUAL XPC-FLD0034B + DISPLAY 'FLD0034B ==> ' HEX-OF (FLD0034B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0034B). + IF FLD0035B (1:) NOT EQUAL XPC-FLD0035B + DISPLAY 'FLD0035B ==> ' HEX-OF (FLD0035B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0035B). + IF FLD0036B (1:) NOT EQUAL XPC-FLD0036B + DISPLAY 'FLD0036B ==> ' HEX-OF (FLD0036B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0036B). + IF FLD0037B (1:) NOT EQUAL XPC-FLD0037B + DISPLAY 'FLD0037B ==> ' HEX-OF (FLD0037B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0037B). + IF FLD0038B (1:) NOT EQUAL XPC-FLD0038B + DISPLAY 'FLD0038B ==> ' HEX-OF (FLD0038B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0038B). + IF FLD0039B (1:) NOT EQUAL XPC-FLD0039B + DISPLAY 'FLD0039B ==> ' HEX-OF (FLD0039B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0039B). + IF FLD0040B (1:) NOT EQUAL XPC-FLD0040B + DISPLAY 'FLD0040B ==> ' HEX-OF (FLD0040B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0040B). + IF FLD0041B (1:) NOT EQUAL XPC-FLD0041B + DISPLAY 'FLD0041B ==> ' HEX-OF (FLD0041B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0041B). + IF FLD0042B (1:) NOT EQUAL XPC-FLD0042B + DISPLAY 'FLD0042B ==> ' HEX-OF (FLD0042B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0042B). + IF FLD0043B (1:) NOT EQUAL XPC-FLD0043B + DISPLAY 'FLD0043B ==> ' HEX-OF (FLD0043B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0043B). + IF FLD0044B (1:) NOT EQUAL XPC-FLD0044B + DISPLAY 'FLD0044B ==> ' HEX-OF (FLD0044B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0044B). + IF FLD0045B (1:) NOT EQUAL XPC-FLD0045B + DISPLAY 'FLD0045B ==> ' HEX-OF (FLD0045B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0045B). + IF FLD0046B (1:) NOT EQUAL XPC-FLD0046B + DISPLAY 'FLD0046B ==> ' HEX-OF (FLD0046B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0046B). + IF FLD0047B (1:) NOT EQUAL XPC-FLD0047B + DISPLAY 'FLD0047B ==> ' HEX-OF (FLD0047B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0047B). + IF FLD0048B (1:) NOT EQUAL XPC-FLD0048B + DISPLAY 'FLD0048B ==> ' HEX-OF (FLD0048B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0048B). + IF FLD0049B (1:) NOT EQUAL XPC-FLD0049B + DISPLAY 'FLD0049B ==> ' HEX-OF (FLD0049B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0049B). + IF FLD0050B (1:) NOT EQUAL XPC-FLD0050B + DISPLAY 'FLD0050B ==> ' HEX-OF (FLD0050B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0050B). + IF FLD0051B (1:) NOT EQUAL XPC-FLD0051B + DISPLAY 'FLD0051B ==> ' HEX-OF (FLD0051B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0051B). + IF FLD0052B (1:) NOT EQUAL XPC-FLD0052B + DISPLAY 'FLD0052B ==> ' HEX-OF (FLD0052B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0052B). + IF FLD0053B (1:) NOT EQUAL XPC-FLD0053B + DISPLAY 'FLD0053B ==> ' HEX-OF (FLD0053B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0053B). + IF FLD0054B (1:) NOT EQUAL XPC-FLD0054B + DISPLAY 'FLD0054B ==> ' HEX-OF (FLD0054B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0054B). + IF FLD0055B (1:) NOT EQUAL XPC-FLD0055B + DISPLAY 'FLD0055B ==> ' HEX-OF (FLD0055B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0055B). + IF FLD0056B (1:) NOT EQUAL XPC-FLD0056B + DISPLAY 'FLD0056B ==> ' HEX-OF (FLD0056B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0056B). + IF FLD0057B (1:) NOT EQUAL XPC-FLD0057B + DISPLAY 'FLD0057B ==> ' HEX-OF (FLD0057B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0057B). + IF FLD0058B (1:) NOT EQUAL XPC-FLD0058B + DISPLAY 'FLD0058B ==> ' HEX-OF (FLD0058B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0058B). + IF FLD0059B (1:) NOT EQUAL XPC-FLD0059B + DISPLAY 'FLD0059B ==> ' HEX-OF (FLD0059B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0059B). + IF FLD0060B (1:) NOT EQUAL XPC-FLD0060B + DISPLAY 'FLD0060B ==> ' HEX-OF (FLD0060B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0060B). + IF FLD0061B (1:) NOT EQUAL XPC-FLD0061B + DISPLAY 'FLD0061B ==> ' HEX-OF (FLD0061B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0061B). + IF FLD0062B (1:) NOT EQUAL XPC-FLD0062B + DISPLAY 'FLD0062B ==> ' HEX-OF (FLD0062B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0062B). + IF FLD0063B (1:) NOT EQUAL XPC-FLD0063B + DISPLAY 'FLD0063B ==> ' HEX-OF (FLD0063B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0063B). + IF FLD0064B (1:) NOT EQUAL XPC-FLD0064B + DISPLAY 'FLD0064B ==> ' HEX-OF (FLD0064B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0064B). + IF FLD0065B (1:) NOT EQUAL XPC-FLD0065B + DISPLAY 'FLD0065B ==> ' HEX-OF (FLD0065B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0065B). + IF FLD0066B (1:) NOT EQUAL XPC-FLD0066B + DISPLAY 'FLD0066B ==> ' HEX-OF (FLD0066B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0066B). + IF FLD0067B (1:) NOT EQUAL XPC-FLD0067B + DISPLAY 'FLD0067B ==> ' HEX-OF (FLD0067B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0067B). + IF FLD0068B (1:) NOT EQUAL XPC-FLD0068B + DISPLAY 'FLD0068B ==> ' HEX-OF (FLD0068B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0068B). + IF FLD0069B (1:) NOT EQUAL XPC-FLD0069B + DISPLAY 'FLD0069B ==> ' HEX-OF (FLD0069B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0069B). + IF FLD0070B (1:) NOT EQUAL XPC-FLD0070B + DISPLAY 'FLD0070B ==> ' HEX-OF (FLD0070B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0070B). + IF FLD0071B (1:) NOT EQUAL XPC-FLD0071B + DISPLAY 'FLD0071B ==> ' HEX-OF (FLD0071B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0071B). + IF FLD0072B (1:) NOT EQUAL XPC-FLD0072B + DISPLAY 'FLD0072B ==> ' HEX-OF (FLD0072B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0072B). + IF FLD0073B (1:) NOT EQUAL XPC-FLD0073B + DISPLAY 'FLD0073B ==> ' HEX-OF (FLD0073B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0073B). + IF FLD0074B (1:) NOT EQUAL XPC-FLD0074B + DISPLAY 'FLD0074B ==> ' HEX-OF (FLD0074B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0074B). + IF FLD0075B (1:) NOT EQUAL XPC-FLD0075B + DISPLAY 'FLD0075B ==> ' HEX-OF (FLD0075B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0075B). + IF FLD0076B (1:) NOT EQUAL XPC-FLD0076B + DISPLAY 'FLD0076B ==> ' HEX-OF (FLD0076B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0076B). + IF FLD0077B (1:) NOT EQUAL XPC-FLD0077B + DISPLAY 'FLD0077B ==> ' HEX-OF (FLD0077B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0077B). + IF FLD0078B (1:) NOT EQUAL XPC-FLD0078B + DISPLAY 'FLD0078B ==> ' HEX-OF (FLD0078B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0078B). + IF FLD0079B (1:) NOT EQUAL XPC-FLD0079B + DISPLAY 'FLD0079B ==> ' HEX-OF (FLD0079B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0079B). + IF FLD0080B (1:) NOT EQUAL XPC-FLD0080B + DISPLAY 'FLD0080B ==> ' HEX-OF (FLD0080B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0080B). + IF FLD0081B (1:) NOT EQUAL XPC-FLD0081B + DISPLAY 'FLD0081B ==> ' HEX-OF (FLD0081B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0081B). + IF FLD0082B (1:) NOT EQUAL XPC-FLD0082B + DISPLAY 'FLD0082B ==> ' HEX-OF (FLD0082B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0082B). + IF FLD0083B (1:) NOT EQUAL XPC-FLD0083B + DISPLAY 'FLD0083B ==> ' HEX-OF (FLD0083B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0083B). + IF FLD0084B (1:) NOT EQUAL XPC-FLD0084B + DISPLAY 'FLD0084B ==> ' HEX-OF (FLD0084B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0084B). + IF FLD0085B (1:) NOT EQUAL XPC-FLD0085B + DISPLAY 'FLD0085B ==> ' HEX-OF (FLD0085B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0085B). + IF FLD0086B (1:) NOT EQUAL XPC-FLD0086B + DISPLAY 'FLD0086B ==> ' HEX-OF (FLD0086B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0086B). + IF FLD0087B (1:) NOT EQUAL XPC-FLD0087B + DISPLAY 'FLD0087B ==> ' HEX-OF (FLD0087B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0087B). + IF FLD0088B (1:) NOT EQUAL XPC-FLD0088B + DISPLAY 'FLD0088B ==> ' HEX-OF (FLD0088B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0088B). + IF FLD0089B (1:) NOT EQUAL XPC-FLD0089B + DISPLAY 'FLD0089B ==> ' HEX-OF (FLD0089B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0089B). + IF FLD0090B (1:) NOT EQUAL XPC-FLD0090B + DISPLAY 'FLD0090B ==> ' HEX-OF (FLD0090B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0090B). + IF FLD0091B (1:) NOT EQUAL XPC-FLD0091B + DISPLAY 'FLD0091B ==> ' HEX-OF (FLD0091B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0091B). + IF FLD0092B (1:) NOT EQUAL XPC-FLD0092B + DISPLAY 'FLD0092B ==> ' HEX-OF (FLD0092B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0092B). + IF FLD0093B (1:) NOT EQUAL XPC-FLD0093B + DISPLAY 'FLD0093B ==> ' HEX-OF (FLD0093B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0093B). + IF FLD0094B (1:) NOT EQUAL XPC-FLD0094B + DISPLAY 'FLD0094B ==> ' HEX-OF (FLD0094B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0094B). + IF FLD0095B (1:) NOT EQUAL XPC-FLD0095B + DISPLAY 'FLD0095B ==> ' HEX-OF (FLD0095B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0095B). + IF FLD0096B (1:) NOT EQUAL XPC-FLD0096B + DISPLAY 'FLD0096B ==> ' HEX-OF (FLD0096B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0096B). + IF FLD0097B (1:) NOT EQUAL XPC-FLD0097B + DISPLAY 'FLD0097B ==> ' HEX-OF (FLD0097B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0097B). + IF FLD0098B (1:) NOT EQUAL XPC-FLD0098B + DISPLAY 'FLD0098B ==> ' HEX-OF (FLD0098B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0098B). + IF FLD0099B (1:) NOT EQUAL XPC-FLD0099B + DISPLAY 'FLD0099B ==> ' HEX-OF (FLD0099B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0099B). + IF FLD0100B (1:) NOT EQUAL XPC-FLD0100B + DISPLAY 'FLD0100B ==> ' HEX-OF (FLD0100B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0100B). + IF FLD0101B (1:) NOT EQUAL XPC-FLD0101B + DISPLAY 'FLD0101B ==> ' HEX-OF (FLD0101B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0101B). + IF FLD0102B (1:) NOT EQUAL XPC-FLD0102B + DISPLAY 'FLD0102B ==> ' HEX-OF (FLD0102B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0102B). + IF FLD0103B (1:) NOT EQUAL XPC-FLD0103B + DISPLAY 'FLD0103B ==> ' HEX-OF (FLD0103B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0103B). + IF FLD0104B (1:) NOT EQUAL XPC-FLD0104B + DISPLAY 'FLD0104B ==> ' HEX-OF (FLD0104B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0104B). + IF FLD0105B (1:) NOT EQUAL XPC-FLD0105B + DISPLAY 'FLD0105B ==> ' HEX-OF (FLD0105B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0105B). + IF FLD0106B (1:) NOT EQUAL XPC-FLD0106B + DISPLAY 'FLD0106B ==> ' HEX-OF (FLD0106B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0106B). + IF FLD0107B (1:) NOT EQUAL XPC-FLD0107B + DISPLAY 'FLD0107B ==> ' HEX-OF (FLD0107B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0107B). + IF FLD0108B (1:) NOT EQUAL XPC-FLD0108B + DISPLAY 'FLD0108B ==> ' HEX-OF (FLD0108B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0108B). + IF FLD0109B (1:) NOT EQUAL XPC-FLD0109B + DISPLAY 'FLD0109B ==> ' HEX-OF (FLD0109B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0109B). + IF FLD0110B (1:) NOT EQUAL XPC-FLD0110B + DISPLAY 'FLD0110B ==> ' HEX-OF (FLD0110B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0110B). + IF FLD0111B (1:) NOT EQUAL XPC-FLD0111B + DISPLAY 'FLD0111B ==> ' HEX-OF (FLD0111B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0111B). + IF FLD0112B (1:) NOT EQUAL XPC-FLD0112B + DISPLAY 'FLD0112B ==> ' HEX-OF (FLD0112B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0112B). + IF FLD0113B (1:) NOT EQUAL XPC-FLD0113B + DISPLAY 'FLD0113B ==> ' HEX-OF (FLD0113B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0113B). + IF FLD0114B (1:) NOT EQUAL XPC-FLD0114B + DISPLAY 'FLD0114B ==> ' HEX-OF (FLD0114B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0114B). + IF FLD0115B (1:) NOT EQUAL XPC-FLD0115B + DISPLAY 'FLD0115B ==> ' HEX-OF (FLD0115B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0115B). + IF FLD0116B (1:) NOT EQUAL XPC-FLD0116B + DISPLAY 'FLD0116B ==> ' HEX-OF (FLD0116B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0116B). + IF FLD0117B (1:) NOT EQUAL XPC-FLD0117B + DISPLAY 'FLD0117B ==> ' HEX-OF (FLD0117B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0117B). + IF FLD0118B (1:) NOT EQUAL XPC-FLD0118B + DISPLAY 'FLD0118B ==> ' HEX-OF (FLD0118B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0118B). + IF FLD0119B (1:) NOT EQUAL XPC-FLD0119B + DISPLAY 'FLD0119B ==> ' HEX-OF (FLD0119B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0119B). + IF FLD0120B (1:) NOT EQUAL XPC-FLD0120B + DISPLAY 'FLD0120B ==> ' HEX-OF (FLD0120B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0120B). + IF FLD0121B (1:) NOT EQUAL XPC-FLD0121B + DISPLAY 'FLD0121B ==> ' HEX-OF (FLD0121B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0121B). + IF FLD0122B (1:) NOT EQUAL XPC-FLD0122B + DISPLAY 'FLD0122B ==> ' HEX-OF (FLD0122B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0122B). + IF FLD0123B (1:) NOT EQUAL XPC-FLD0123B + DISPLAY 'FLD0123B ==> ' HEX-OF (FLD0123B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0123B). + IF FLD0124B (1:) NOT EQUAL XPC-FLD0124B + DISPLAY 'FLD0124B ==> ' HEX-OF (FLD0124B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0124B). + IF FLD0125B (1:) NOT EQUAL XPC-FLD0125B + DISPLAY 'FLD0125B ==> ' HEX-OF (FLD0125B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0125B). + IF FLD0126B (1:) NOT EQUAL XPC-FLD0126B + DISPLAY 'FLD0126B ==> ' HEX-OF (FLD0126B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0126B). + IF FLD0127B (1:) NOT EQUAL XPC-FLD0127B + DISPLAY 'FLD0127B ==> ' HEX-OF (FLD0127B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0127B). + IF FLD0128B (1:) NOT EQUAL XPC-FLD0128B + DISPLAY 'FLD0128B ==> ' HEX-OF (FLD0128B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0128B). + IF FLD0129B (1:) NOT EQUAL XPC-FLD0129B + DISPLAY 'FLD0129B ==> ' HEX-OF (FLD0129B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0129B). + IF FLD0130B (1:) NOT EQUAL XPC-FLD0130B + DISPLAY 'FLD0130B ==> ' HEX-OF (FLD0130B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0130B). + IF FLD0131B (1:) NOT EQUAL XPC-FLD0131B + DISPLAY 'FLD0131B ==> ' HEX-OF (FLD0131B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0131B). + IF FLD0132B (1:) NOT EQUAL XPC-FLD0132B + DISPLAY 'FLD0132B ==> ' HEX-OF (FLD0132B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0132B). + IF FLD0133B (1:) NOT EQUAL XPC-FLD0133B + DISPLAY 'FLD0133B ==> ' HEX-OF (FLD0133B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0133B). + IF FLD0134B (1:) NOT EQUAL XPC-FLD0134B + DISPLAY 'FLD0134B ==> ' HEX-OF (FLD0134B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0134B). + IF FLD0135B (1:) NOT EQUAL XPC-FLD0135B + DISPLAY 'FLD0135B ==> ' HEX-OF (FLD0135B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0135B). + IF FLD0136B (1:) NOT EQUAL XPC-FLD0136B + DISPLAY 'FLD0136B ==> ' HEX-OF (FLD0136B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0136B). + IF FLD0137B (1:) NOT EQUAL XPC-FLD0137B + DISPLAY 'FLD0137B ==> ' HEX-OF (FLD0137B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0137B). + IF FLD0138B (1:) NOT EQUAL XPC-FLD0138B + DISPLAY 'FLD0138B ==> ' HEX-OF (FLD0138B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0138B). + IF FLD0139B (1:) NOT EQUAL XPC-FLD0139B + DISPLAY 'FLD0139B ==> ' HEX-OF (FLD0139B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0139B). + IF FLD0140B (1:) NOT EQUAL XPC-FLD0140B + DISPLAY 'FLD0140B ==> ' HEX-OF (FLD0140B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0140B). + IF FLD0141B (1:) NOT EQUAL XPC-FLD0141B + DISPLAY 'FLD0141B ==> ' HEX-OF (FLD0141B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0141B). + IF FLD0142B (1:) NOT EQUAL XPC-FLD0142B + DISPLAY 'FLD0142B ==> ' HEX-OF (FLD0142B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0142B). + IF FLD0143B (1:) NOT EQUAL XPC-FLD0143B + DISPLAY 'FLD0143B ==> ' HEX-OF (FLD0143B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0143B). + IF FLD0144B (1:) NOT EQUAL XPC-FLD0144B + DISPLAY 'FLD0144B ==> ' HEX-OF (FLD0144B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0144B). + IF FLD0145B (1:) NOT EQUAL XPC-FLD0145B + DISPLAY 'FLD0145B ==> ' HEX-OF (FLD0145B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0145B). + IF FLD0146B (1:) NOT EQUAL XPC-FLD0146B + DISPLAY 'FLD0146B ==> ' HEX-OF (FLD0146B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0146B). + IF FLD0147B (1:) NOT EQUAL XPC-FLD0147B + DISPLAY 'FLD0147B ==> ' HEX-OF (FLD0147B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0147B). + IF FLD0148B (1:) NOT EQUAL XPC-FLD0148B + DISPLAY 'FLD0148B ==> ' HEX-OF (FLD0148B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0148B). + IF FLD0149B (1:) NOT EQUAL XPC-FLD0149B + DISPLAY 'FLD0149B ==> ' HEX-OF (FLD0149B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0149B). + IF FLD0150B (1:) NOT EQUAL XPC-FLD0150B + DISPLAY 'FLD0150B ==> ' HEX-OF (FLD0150B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0150B). + IF FLD0151B (1:) NOT EQUAL XPC-FLD0151B + DISPLAY 'FLD0151B ==> ' HEX-OF (FLD0151B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0151B). + IF FLD0152B (1:) NOT EQUAL XPC-FLD0152B + DISPLAY 'FLD0152B ==> ' HEX-OF (FLD0152B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0152B). + IF FLD0153B (1:) NOT EQUAL XPC-FLD0153B + DISPLAY 'FLD0153B ==> ' HEX-OF (FLD0153B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0153B). + IF FLD0154B (1:) NOT EQUAL XPC-FLD0154B + DISPLAY 'FLD0154B ==> ' HEX-OF (FLD0154B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0154B). + IF FLD0155B (1:) NOT EQUAL XPC-FLD0155B + DISPLAY 'FLD0155B ==> ' HEX-OF (FLD0155B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0155B). + IF FLD0156B (1:) NOT EQUAL XPC-FLD0156B + DISPLAY 'FLD0156B ==> ' HEX-OF (FLD0156B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0156B). + IF FLD0157B (1:) NOT EQUAL XPC-FLD0157B + DISPLAY 'FLD0157B ==> ' HEX-OF (FLD0157B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0157B). + IF FLD0158B (1:) NOT EQUAL XPC-FLD0158B + DISPLAY 'FLD0158B ==> ' HEX-OF (FLD0158B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0158B). + IF FLD0159B (1:) NOT EQUAL XPC-FLD0159B + DISPLAY 'FLD0159B ==> ' HEX-OF (FLD0159B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0159B). + IF FLD0160B (1:) NOT EQUAL XPC-FLD0160B + DISPLAY 'FLD0160B ==> ' HEX-OF (FLD0160B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0160B). + IF FLD0161B (1:) NOT EQUAL XPC-FLD0161B + DISPLAY 'FLD0161B ==> ' HEX-OF (FLD0161B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0161B). + IF FLD0162B (1:) NOT EQUAL XPC-FLD0162B + DISPLAY 'FLD0162B ==> ' HEX-OF (FLD0162B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0162B). + IF FLD0163B (1:) NOT EQUAL XPC-FLD0163B + DISPLAY 'FLD0163B ==> ' HEX-OF (FLD0163B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0163B). + IF FLD0164B (1:) NOT EQUAL XPC-FLD0164B + DISPLAY 'FLD0164B ==> ' HEX-OF (FLD0164B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0164B). + IF FLD0165B (1:) NOT EQUAL XPC-FLD0165B + DISPLAY 'FLD0165B ==> ' HEX-OF (FLD0165B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0165B). + IF FLD0166B (1:) NOT EQUAL XPC-FLD0166B + DISPLAY 'FLD0166B ==> ' HEX-OF (FLD0166B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0166B). + IF FLD0167B (1:) NOT EQUAL XPC-FLD0167B + DISPLAY 'FLD0167B ==> ' HEX-OF (FLD0167B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0167B). + IF FLD0168B (1:) NOT EQUAL XPC-FLD0168B + DISPLAY 'FLD0168B ==> ' HEX-OF (FLD0168B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0168B). + IF FLD0169B (1:) NOT EQUAL XPC-FLD0169B + DISPLAY 'FLD0169B ==> ' HEX-OF (FLD0169B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0169B). + IF FLD0170B (1:) NOT EQUAL XPC-FLD0170B + DISPLAY 'FLD0170B ==> ' HEX-OF (FLD0170B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0170B). + IF FLD0171B (1:) NOT EQUAL XPC-FLD0171B + DISPLAY 'FLD0171B ==> ' HEX-OF (FLD0171B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0171B). + IF FLD0172B (1:) NOT EQUAL XPC-FLD0172B + DISPLAY 'FLD0172B ==> ' HEX-OF (FLD0172B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0172B). + IF FLD0173B (1:) NOT EQUAL XPC-FLD0173B + DISPLAY 'FLD0173B ==> ' HEX-OF (FLD0173B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0173B). + IF FLD0174B (1:) NOT EQUAL XPC-FLD0174B + DISPLAY 'FLD0174B ==> ' HEX-OF (FLD0174B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0174B). + IF FLD0175B (1:) NOT EQUAL XPC-FLD0175B + DISPLAY 'FLD0175B ==> ' HEX-OF (FLD0175B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0175B). + IF FLD0176B (1:) NOT EQUAL XPC-FLD0176B + DISPLAY 'FLD0176B ==> ' HEX-OF (FLD0176B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0176B). + IF FLD0177B (1:) NOT EQUAL XPC-FLD0177B + DISPLAY 'FLD0177B ==> ' HEX-OF (FLD0177B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0177B). + IF FLD0178B (1:) NOT EQUAL XPC-FLD0178B + DISPLAY 'FLD0178B ==> ' HEX-OF (FLD0178B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0178B). + IF FLD0179B (1:) NOT EQUAL XPC-FLD0179B + DISPLAY 'FLD0179B ==> ' HEX-OF (FLD0179B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0179B). + IF FLD0180B (1:) NOT EQUAL XPC-FLD0180B + DISPLAY 'FLD0180B ==> ' HEX-OF (FLD0180B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0180B). + IF FLD0181B (1:) NOT EQUAL XPC-FLD0181B + DISPLAY 'FLD0181B ==> ' HEX-OF (FLD0181B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0181B). + IF FLD0182B (1:) NOT EQUAL XPC-FLD0182B + DISPLAY 'FLD0182B ==> ' HEX-OF (FLD0182B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0182B). + IF FLD0183B (1:) NOT EQUAL XPC-FLD0183B + DISPLAY 'FLD0183B ==> ' HEX-OF (FLD0183B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0183B). + IF FLD0184B (1:) NOT EQUAL XPC-FLD0184B + DISPLAY 'FLD0184B ==> ' HEX-OF (FLD0184B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0184B). + IF FLD0185B (1:) NOT EQUAL XPC-FLD0185B + DISPLAY 'FLD0185B ==> ' HEX-OF (FLD0185B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0185B). + IF FLD0186B (1:) NOT EQUAL XPC-FLD0186B + DISPLAY 'FLD0186B ==> ' HEX-OF (FLD0186B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0186B). + IF FLD0187B (1:) NOT EQUAL XPC-FLD0187B + DISPLAY 'FLD0187B ==> ' HEX-OF (FLD0187B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0187B). + IF FLD0188B (1:) NOT EQUAL XPC-FLD0188B + DISPLAY 'FLD0188B ==> ' HEX-OF (FLD0188B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0188B). + IF FLD0189B (1:) NOT EQUAL XPC-FLD0189B + DISPLAY 'FLD0189B ==> ' HEX-OF (FLD0189B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0189B). + IF FLD0190B (1:) NOT EQUAL XPC-FLD0190B + DISPLAY 'FLD0190B ==> ' HEX-OF (FLD0190B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0190B). + IF FLD0191B (1:) NOT EQUAL XPC-FLD0191B + DISPLAY 'FLD0191B ==> ' HEX-OF (FLD0191B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0191B). + IF FLD0192B (1:) NOT EQUAL XPC-FLD0192B + DISPLAY 'FLD0192B ==> ' HEX-OF (FLD0192B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0192B). + IF FLD0193B (1:) NOT EQUAL XPC-FLD0193B + DISPLAY 'FLD0193B ==> ' HEX-OF (FLD0193B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0193B). + IF FLD0194B (1:) NOT EQUAL XPC-FLD0194B + DISPLAY 'FLD0194B ==> ' HEX-OF (FLD0194B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0194B). + IF FLD0195B (1:) NOT EQUAL XPC-FLD0195B + DISPLAY 'FLD0195B ==> ' HEX-OF (FLD0195B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0195B). + IF FLD0196B (1:) NOT EQUAL XPC-FLD0196B + DISPLAY 'FLD0196B ==> ' HEX-OF (FLD0196B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0196B). + IF FLD0197B (1:) NOT EQUAL XPC-FLD0197B + DISPLAY 'FLD0197B ==> ' HEX-OF (FLD0197B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0197B). + IF FLD0198B (1:) NOT EQUAL XPC-FLD0198B + DISPLAY 'FLD0198B ==> ' HEX-OF (FLD0198B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0198B). + IF FLD0199B (1:) NOT EQUAL XPC-FLD0199B + DISPLAY 'FLD0199B ==> ' HEX-OF (FLD0199B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0199B). + IF FLD0200B (1:) NOT EQUAL XPC-FLD0200B + DISPLAY 'FLD0200B ==> ' HEX-OF (FLD0200B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0200B). + IF FLD0201B (1:) NOT EQUAL XPC-FLD0201B + DISPLAY 'FLD0201B ==> ' HEX-OF (FLD0201B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0201B). + IF FLD0202B (1:) NOT EQUAL XPC-FLD0202B + DISPLAY 'FLD0202B ==> ' HEX-OF (FLD0202B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0202B). + IF FLD0203B (1:) NOT EQUAL XPC-FLD0203B + DISPLAY 'FLD0203B ==> ' HEX-OF (FLD0203B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0203B). + IF FLD0204B (1:) NOT EQUAL XPC-FLD0204B + DISPLAY 'FLD0204B ==> ' HEX-OF (FLD0204B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0204B). + IF FLD0205B (1:) NOT EQUAL XPC-FLD0205B + DISPLAY 'FLD0205B ==> ' HEX-OF (FLD0205B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0205B). + IF FLD0206B (1:) NOT EQUAL XPC-FLD0206B + DISPLAY 'FLD0206B ==> ' HEX-OF (FLD0206B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0206B). + IF FLD0207B (1:) NOT EQUAL XPC-FLD0207B + DISPLAY 'FLD0207B ==> ' HEX-OF (FLD0207B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0207B). + IF FLD0208B (1:) NOT EQUAL XPC-FLD0208B + DISPLAY 'FLD0208B ==> ' HEX-OF (FLD0208B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0208B). + IF FLD0209B (1:) NOT EQUAL XPC-FLD0209B + DISPLAY 'FLD0209B ==> ' HEX-OF (FLD0209B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0209B). + IF FLD0210B (1:) NOT EQUAL XPC-FLD0210B + DISPLAY 'FLD0210B ==> ' HEX-OF (FLD0210B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0210B). + IF FLD0211B (1:) NOT EQUAL XPC-FLD0211B + DISPLAY 'FLD0211B ==> ' HEX-OF (FLD0211B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0211B). + IF FLD0212B (1:) NOT EQUAL XPC-FLD0212B + DISPLAY 'FLD0212B ==> ' HEX-OF (FLD0212B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0212B). + IF FLD0213B (1:) NOT EQUAL XPC-FLD0213B + DISPLAY 'FLD0213B ==> ' HEX-OF (FLD0213B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0213B). + IF FLD0214B (1:) NOT EQUAL XPC-FLD0214B + DISPLAY 'FLD0214B ==> ' HEX-OF (FLD0214B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0214B). + IF FLD0215B (1:) NOT EQUAL XPC-FLD0215B + DISPLAY 'FLD0215B ==> ' HEX-OF (FLD0215B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0215B). + IF FLD0216B (1:) NOT EQUAL XPC-FLD0216B + DISPLAY 'FLD0216B ==> ' HEX-OF (FLD0216B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0216B). + IF FLD0217B (1:) NOT EQUAL XPC-FLD0217B + DISPLAY 'FLD0217B ==> ' HEX-OF (FLD0217B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0217B). + IF FLD0218B (1:) NOT EQUAL XPC-FLD0218B + DISPLAY 'FLD0218B ==> ' HEX-OF (FLD0218B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0218B). + IF FLD0219B (1:) NOT EQUAL XPC-FLD0219B + DISPLAY 'FLD0219B ==> ' HEX-OF (FLD0219B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0219B). + IF FLD0220B (1:) NOT EQUAL XPC-FLD0220B + DISPLAY 'FLD0220B ==> ' HEX-OF (FLD0220B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0220B). + IF FLD0221B (1:) NOT EQUAL XPC-FLD0221B + DISPLAY 'FLD0221B ==> ' HEX-OF (FLD0221B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0221B). + IF FLD0222B (1:) NOT EQUAL XPC-FLD0222B + DISPLAY 'FLD0222B ==> ' HEX-OF (FLD0222B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0222B). + IF FLD0223B (1:) NOT EQUAL XPC-FLD0223B + DISPLAY 'FLD0223B ==> ' HEX-OF (FLD0223B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0223B). + IF FLD0224B (1:) NOT EQUAL XPC-FLD0224B + DISPLAY 'FLD0224B ==> ' HEX-OF (FLD0224B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0224B). + IF FLD0225B (1:) NOT EQUAL XPC-FLD0225B + DISPLAY 'FLD0225B ==> ' HEX-OF (FLD0225B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0225B). + IF FLD0226B (1:) NOT EQUAL XPC-FLD0226B + DISPLAY 'FLD0226B ==> ' HEX-OF (FLD0226B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0226B). + IF FLD0227B (1:) NOT EQUAL XPC-FLD0227B + DISPLAY 'FLD0227B ==> ' HEX-OF (FLD0227B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0227B). + IF FLD0228B (1:) NOT EQUAL XPC-FLD0228B + DISPLAY 'FLD0228B ==> ' HEX-OF (FLD0228B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0228B). + IF FLD0229B (1:) NOT EQUAL XPC-FLD0229B + DISPLAY 'FLD0229B ==> ' HEX-OF (FLD0229B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0229B). + IF FLD0230B (1:) NOT EQUAL XPC-FLD0230B + DISPLAY 'FLD0230B ==> ' HEX-OF (FLD0230B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0230B). + IF FLD0231B (1:) NOT EQUAL XPC-FLD0231B + DISPLAY 'FLD0231B ==> ' HEX-OF (FLD0231B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0231B). + IF FLD0232B (1:) NOT EQUAL XPC-FLD0232B + DISPLAY 'FLD0232B ==> ' HEX-OF (FLD0232B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0232B). + IF FLD0233B (1:) NOT EQUAL XPC-FLD0233B + DISPLAY 'FLD0233B ==> ' HEX-OF (FLD0233B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0233B). + IF FLD0234B (1:) NOT EQUAL XPC-FLD0234B + DISPLAY 'FLD0234B ==> ' HEX-OF (FLD0234B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0234B). + IF FLD0235B (1:) NOT EQUAL XPC-FLD0235B + DISPLAY 'FLD0235B ==> ' HEX-OF (FLD0235B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0235B). + IF FLD0236B (1:) NOT EQUAL XPC-FLD0236B + DISPLAY 'FLD0236B ==> ' HEX-OF (FLD0236B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0236B). + IF FLD0237B (1:) NOT EQUAL XPC-FLD0237B + DISPLAY 'FLD0237B ==> ' HEX-OF (FLD0237B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0237B). + IF FLD0238B (1:) NOT EQUAL XPC-FLD0238B + DISPLAY 'FLD0238B ==> ' HEX-OF (FLD0238B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0238B). + IF FLD0239B (1:) NOT EQUAL XPC-FLD0239B + DISPLAY 'FLD0239B ==> ' HEX-OF (FLD0239B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0239B). + IF FLD0240B (1:) NOT EQUAL XPC-FLD0240B + DISPLAY 'FLD0240B ==> ' HEX-OF (FLD0240B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0240B). + IF FLD0241B (1:) NOT EQUAL XPC-FLD0241B + DISPLAY 'FLD0241B ==> ' HEX-OF (FLD0241B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0241B). + IF FLD0242B (1:) NOT EQUAL XPC-FLD0242B + DISPLAY 'FLD0242B ==> ' HEX-OF (FLD0242B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0242B). + IF FLD0243B (1:) NOT EQUAL XPC-FLD0243B + DISPLAY 'FLD0243B ==> ' HEX-OF (FLD0243B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0243B). + IF FLD0244B (1:) NOT EQUAL XPC-FLD0244B + DISPLAY 'FLD0244B ==> ' HEX-OF (FLD0244B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0244B). + IF FLD0245B (1:) NOT EQUAL XPC-FLD0245B + DISPLAY 'FLD0245B ==> ' HEX-OF (FLD0245B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0245B). + IF FLD0246B (1:) NOT EQUAL XPC-FLD0246B + DISPLAY 'FLD0246B ==> ' HEX-OF (FLD0246B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0246B). + IF FLD0247B (1:) NOT EQUAL XPC-FLD0247B + DISPLAY 'FLD0247B ==> ' HEX-OF (FLD0247B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0247B). + IF FLD0248B (1:) NOT EQUAL XPC-FLD0248B + DISPLAY 'FLD0248B ==> ' HEX-OF (FLD0248B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0248B). + IF FLD0249B (1:) NOT EQUAL XPC-FLD0249B + DISPLAY 'FLD0249B ==> ' HEX-OF (FLD0249B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0249B). + IF FLD0250B (1:) NOT EQUAL XPC-FLD0250B + DISPLAY 'FLD0250B ==> ' HEX-OF (FLD0250B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0250B). + IF FLD0251B (1:) NOT EQUAL XPC-FLD0251B + DISPLAY 'FLD0251B ==> ' HEX-OF (FLD0251B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0251B). + IF FLD0252B (1:) NOT EQUAL XPC-FLD0252B + DISPLAY 'FLD0252B ==> ' HEX-OF (FLD0252B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0252B). + IF FLD0253B (1:) NOT EQUAL XPC-FLD0253B + DISPLAY 'FLD0253B ==> ' HEX-OF (FLD0253B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0253B). + IF FLD0254B (1:) NOT EQUAL XPC-FLD0254B + DISPLAY 'FLD0254B ==> ' HEX-OF (FLD0254B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0254B). + IF FLD0255B (1:) NOT EQUAL XPC-FLD0255B + DISPLAY 'FLD0255B ==> ' HEX-OF (FLD0255B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0255B). + IF FLD0256B (1:) NOT EQUAL XPC-FLD0256B + DISPLAY 'FLD0256B ==> ' HEX-OF (FLD0256B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0256B). + IF FLD0257B (1:) NOT EQUAL XPC-FLD0257B + DISPLAY 'FLD0257B ==> ' HEX-OF (FLD0257B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0257B). + IF FLD0258B (1:) NOT EQUAL XPC-FLD0258B + DISPLAY 'FLD0258B ==> ' HEX-OF (FLD0258B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0258B). + IF FLD0259B (1:) NOT EQUAL XPC-FLD0259B + DISPLAY 'FLD0259B ==> ' HEX-OF (FLD0259B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0259B). + IF FLD0260B (1:) NOT EQUAL XPC-FLD0260B + DISPLAY 'FLD0260B ==> ' HEX-OF (FLD0260B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0260B). + IF FLD0261B (1:) NOT EQUAL XPC-FLD0261B + DISPLAY 'FLD0261B ==> ' HEX-OF (FLD0261B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0261B). + IF FLD0262B (1:) NOT EQUAL XPC-FLD0262B + DISPLAY 'FLD0262B ==> ' HEX-OF (FLD0262B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0262B). + IF FLD0263B (1:) NOT EQUAL XPC-FLD0263B + DISPLAY 'FLD0263B ==> ' HEX-OF (FLD0263B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0263B). + IF FLD0264B (1:) NOT EQUAL XPC-FLD0264B + DISPLAY 'FLD0264B ==> ' HEX-OF (FLD0264B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0264B). + IF FLD0265B (1:) NOT EQUAL XPC-FLD0265B + DISPLAY 'FLD0265B ==> ' HEX-OF (FLD0265B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0265B). + IF FLD0266B (1:) NOT EQUAL XPC-FLD0266B + DISPLAY 'FLD0266B ==> ' HEX-OF (FLD0266B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0266B). + IF FLD0267B (1:) NOT EQUAL XPC-FLD0267B + DISPLAY 'FLD0267B ==> ' HEX-OF (FLD0267B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0267B). + IF FLD0268B (1:) NOT EQUAL XPC-FLD0268B + DISPLAY 'FLD0268B ==> ' HEX-OF (FLD0268B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0268B). + IF FLD0269B (1:) NOT EQUAL XPC-FLD0269B + DISPLAY 'FLD0269B ==> ' HEX-OF (FLD0269B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0269B). + IF FLD0270B (1:) NOT EQUAL XPC-FLD0270B + DISPLAY 'FLD0270B ==> ' HEX-OF (FLD0270B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0270B). + IF FLD0271B (1:) NOT EQUAL XPC-FLD0271B + DISPLAY 'FLD0271B ==> ' HEX-OF (FLD0271B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0271B). + IF FLD0272B (1:) NOT EQUAL XPC-FLD0272B + DISPLAY 'FLD0272B ==> ' HEX-OF (FLD0272B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0272B). + IF FLD0273B (1:) NOT EQUAL XPC-FLD0273B + DISPLAY 'FLD0273B ==> ' HEX-OF (FLD0273B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0273B). + IF FLD0274B (1:) NOT EQUAL XPC-FLD0274B + DISPLAY 'FLD0274B ==> ' HEX-OF (FLD0274B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0274B). + IF FLD0275B (1:) NOT EQUAL XPC-FLD0275B + DISPLAY 'FLD0275B ==> ' HEX-OF (FLD0275B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0275B). + IF FLD0276B (1:) NOT EQUAL XPC-FLD0276B + DISPLAY 'FLD0276B ==> ' HEX-OF (FLD0276B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0276B). + IF FLD0277B (1:) NOT EQUAL XPC-FLD0277B + DISPLAY 'FLD0277B ==> ' HEX-OF (FLD0277B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0277B). + IF FLD0278B (1:) NOT EQUAL XPC-FLD0278B + DISPLAY 'FLD0278B ==> ' HEX-OF (FLD0278B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0278B). + IF FLD0279B (1:) NOT EQUAL XPC-FLD0279B + DISPLAY 'FLD0279B ==> ' HEX-OF (FLD0279B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0279B). + IF FLD0280B (1:) NOT EQUAL XPC-FLD0280B + DISPLAY 'FLD0280B ==> ' HEX-OF (FLD0280B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0280B). + IF FLD0281B (1:) NOT EQUAL XPC-FLD0281B + DISPLAY 'FLD0281B ==> ' HEX-OF (FLD0281B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0281B). + IF FLD0282B (1:) NOT EQUAL XPC-FLD0282B + DISPLAY 'FLD0282B ==> ' HEX-OF (FLD0282B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0282B). + IF FLD0283B (1:) NOT EQUAL XPC-FLD0283B + DISPLAY 'FLD0283B ==> ' HEX-OF (FLD0283B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0283B). + IF FLD0284B (1:) NOT EQUAL XPC-FLD0284B + DISPLAY 'FLD0284B ==> ' HEX-OF (FLD0284B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0284B). + IF FLD0285B (1:) NOT EQUAL XPC-FLD0285B + DISPLAY 'FLD0285B ==> ' HEX-OF (FLD0285B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0285B). + IF FLD0286B (1:) NOT EQUAL XPC-FLD0286B + DISPLAY 'FLD0286B ==> ' HEX-OF (FLD0286B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0286B). + IF FLD0287B (1:) NOT EQUAL XPC-FLD0287B + DISPLAY 'FLD0287B ==> ' HEX-OF (FLD0287B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0287B). + IF FLD0288B (1:) NOT EQUAL XPC-FLD0288B + DISPLAY 'FLD0288B ==> ' HEX-OF (FLD0288B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0288B). + IF FLD0289B (1:) NOT EQUAL XPC-FLD0289B + DISPLAY 'FLD0289B ==> ' HEX-OF (FLD0289B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0289B). + IF FLD0290B (1:) NOT EQUAL XPC-FLD0290B + DISPLAY 'FLD0290B ==> ' HEX-OF (FLD0290B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0290B). + IF FLD0291B (1:) NOT EQUAL XPC-FLD0291B + DISPLAY 'FLD0291B ==> ' HEX-OF (FLD0291B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0291B). + IF FLD0292B (1:) NOT EQUAL XPC-FLD0292B + DISPLAY 'FLD0292B ==> ' HEX-OF (FLD0292B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0292B). + IF FLD0293B (1:) NOT EQUAL XPC-FLD0293B + DISPLAY 'FLD0293B ==> ' HEX-OF (FLD0293B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0293B). + IF FLD0294B (1:) NOT EQUAL XPC-FLD0294B + DISPLAY 'FLD0294B ==> ' HEX-OF (FLD0294B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0294B). + IF FLD0295B (1:) NOT EQUAL XPC-FLD0295B + DISPLAY 'FLD0295B ==> ' HEX-OF (FLD0295B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0295B). + IF FLD0296B (1:) NOT EQUAL XPC-FLD0296B + DISPLAY 'FLD0296B ==> ' HEX-OF (FLD0296B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0296B). + IF FLD0297B (1:) NOT EQUAL XPC-FLD0297B + DISPLAY 'FLD0297B ==> ' HEX-OF (FLD0297B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0297B). + IF FLD0298B (1:) NOT EQUAL XPC-FLD0298B + DISPLAY 'FLD0298B ==> ' HEX-OF (FLD0298B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0298B). + IF FLD0299B (1:) NOT EQUAL XPC-FLD0299B + DISPLAY 'FLD0299B ==> ' HEX-OF (FLD0299B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0299B). + IF FLD0300B (1:) NOT EQUAL XPC-FLD0300B + DISPLAY 'FLD0300B ==> ' HEX-OF (FLD0300B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0300B). + IF FLD0301B (1:) NOT EQUAL XPC-FLD0301B + DISPLAY 'FLD0301B ==> ' HEX-OF (FLD0301B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0301B). + IF FLD0302B (1:) NOT EQUAL XPC-FLD0302B + DISPLAY 'FLD0302B ==> ' HEX-OF (FLD0302B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0302B). + IF FLD0303B (1:) NOT EQUAL XPC-FLD0303B + DISPLAY 'FLD0303B ==> ' HEX-OF (FLD0303B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0303B). + IF FLD0304B (1:) NOT EQUAL XPC-FLD0304B + DISPLAY 'FLD0304B ==> ' HEX-OF (FLD0304B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0304B). + IF FLD0305B (1:) NOT EQUAL XPC-FLD0305B + DISPLAY 'FLD0305B ==> ' HEX-OF (FLD0305B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0305B). + IF FLD0306B (1:) NOT EQUAL XPC-FLD0306B + DISPLAY 'FLD0306B ==> ' HEX-OF (FLD0306B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0306B). + IF FLD0307B (1:) NOT EQUAL XPC-FLD0307B + DISPLAY 'FLD0307B ==> ' HEX-OF (FLD0307B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0307B). + IF FLD0308B (1:) NOT EQUAL XPC-FLD0308B + DISPLAY 'FLD0308B ==> ' HEX-OF (FLD0308B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0308B). + IF FLD0309B (1:) NOT EQUAL XPC-FLD0309B + DISPLAY 'FLD0309B ==> ' HEX-OF (FLD0309B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0309B). + IF FLD0310B (1:) NOT EQUAL XPC-FLD0310B + DISPLAY 'FLD0310B ==> ' HEX-OF (FLD0310B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0310B). + IF FLD0311B (1:) NOT EQUAL XPC-FLD0311B + DISPLAY 'FLD0311B ==> ' HEX-OF (FLD0311B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0311B). + IF FLD0312B (1:) NOT EQUAL XPC-FLD0312B + DISPLAY 'FLD0312B ==> ' HEX-OF (FLD0312B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0312B). + IF FLD0313B (1:) NOT EQUAL XPC-FLD0313B + DISPLAY 'FLD0313B ==> ' HEX-OF (FLD0313B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0313B). + IF FLD0314B (1:) NOT EQUAL XPC-FLD0314B + DISPLAY 'FLD0314B ==> ' HEX-OF (FLD0314B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0314B). + IF FLD0315B (1:) NOT EQUAL XPC-FLD0315B + DISPLAY 'FLD0315B ==> ' HEX-OF (FLD0315B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0315B). + IF FLD0316B (1:) NOT EQUAL XPC-FLD0316B + DISPLAY 'FLD0316B ==> ' HEX-OF (FLD0316B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0316B). + IF FLD0317B (1:) NOT EQUAL XPC-FLD0317B + DISPLAY 'FLD0317B ==> ' HEX-OF (FLD0317B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0317B). + IF FLD0318B (1:) NOT EQUAL XPC-FLD0318B + DISPLAY 'FLD0318B ==> ' HEX-OF (FLD0318B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0318B). + IF FLD0319B (1:) NOT EQUAL XPC-FLD0319B + DISPLAY 'FLD0319B ==> ' HEX-OF (FLD0319B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0319B). + IF FLD0320B (1:) NOT EQUAL XPC-FLD0320B + DISPLAY 'FLD0320B ==> ' HEX-OF (FLD0320B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0320B). + IF FLD0321B (1:) NOT EQUAL XPC-FLD0321B + DISPLAY 'FLD0321B ==> ' HEX-OF (FLD0321B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0321B). + IF FLD0322B (1:) NOT EQUAL XPC-FLD0322B + DISPLAY 'FLD0322B ==> ' HEX-OF (FLD0322B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0322B). + IF FLD0323B (1:) NOT EQUAL XPC-FLD0323B + DISPLAY 'FLD0323B ==> ' HEX-OF (FLD0323B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0323B). + IF FLD0324B (1:) NOT EQUAL XPC-FLD0324B + DISPLAY 'FLD0324B ==> ' HEX-OF (FLD0324B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0324B). + IF FLD0325B (1:) NOT EQUAL XPC-FLD0325B + DISPLAY 'FLD0325B ==> ' HEX-OF (FLD0325B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0325B). + IF FLD0326B (1:) NOT EQUAL XPC-FLD0326B + DISPLAY 'FLD0326B ==> ' HEX-OF (FLD0326B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0326B). + IF FLD0327B (1:) NOT EQUAL XPC-FLD0327B + DISPLAY 'FLD0327B ==> ' HEX-OF (FLD0327B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0327B). + IF FLD0328B (1:) NOT EQUAL XPC-FLD0328B + DISPLAY 'FLD0328B ==> ' HEX-OF (FLD0328B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0328B). + IF FLD0329B (1:) NOT EQUAL XPC-FLD0329B + DISPLAY 'FLD0329B ==> ' HEX-OF (FLD0329B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0329B). + IF FLD0330B (1:) NOT EQUAL XPC-FLD0330B + DISPLAY 'FLD0330B ==> ' HEX-OF (FLD0330B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0330B). + IF FLD0331B (1:) NOT EQUAL XPC-FLD0331B + DISPLAY 'FLD0331B ==> ' HEX-OF (FLD0331B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0331B). + IF FLD0332B (1:) NOT EQUAL XPC-FLD0332B + DISPLAY 'FLD0332B ==> ' HEX-OF (FLD0332B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0332B). + IF FLD0333B (1:) NOT EQUAL XPC-FLD0333B + DISPLAY 'FLD0333B ==> ' HEX-OF (FLD0333B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0333B). + IF FLD0334B (1:) NOT EQUAL XPC-FLD0334B + DISPLAY 'FLD0334B ==> ' HEX-OF (FLD0334B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0334B). + IF FLD0335B (1:) NOT EQUAL XPC-FLD0335B + DISPLAY 'FLD0335B ==> ' HEX-OF (FLD0335B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0335B). + IF FLD0336B (1:) NOT EQUAL XPC-FLD0336B + DISPLAY 'FLD0336B ==> ' HEX-OF (FLD0336B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0336B). + IF FLD0337B (1:) NOT EQUAL XPC-FLD0337B + DISPLAY 'FLD0337B ==> ' HEX-OF (FLD0337B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0337B). + IF FLD0338B (1:) NOT EQUAL XPC-FLD0338B + DISPLAY 'FLD0338B ==> ' HEX-OF (FLD0338B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0338B). + IF FLD0339B (1:) NOT EQUAL XPC-FLD0339B + DISPLAY 'FLD0339B ==> ' HEX-OF (FLD0339B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0339B). + IF FLD0340B (1:) NOT EQUAL XPC-FLD0340B + DISPLAY 'FLD0340B ==> ' HEX-OF (FLD0340B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0340B). + IF FLD0341B (1:) NOT EQUAL XPC-FLD0341B + DISPLAY 'FLD0341B ==> ' HEX-OF (FLD0341B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0341B). + IF FLD0342B (1:) NOT EQUAL XPC-FLD0342B + DISPLAY 'FLD0342B ==> ' HEX-OF (FLD0342B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0342B). + IF FLD0343B (1:) NOT EQUAL XPC-FLD0343B + DISPLAY 'FLD0343B ==> ' HEX-OF (FLD0343B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0343B). + IF FLD0344B (1:) NOT EQUAL XPC-FLD0344B + DISPLAY 'FLD0344B ==> ' HEX-OF (FLD0344B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0344B). + IF FLD0345B (1:) NOT EQUAL XPC-FLD0345B + DISPLAY 'FLD0345B ==> ' HEX-OF (FLD0345B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0345B). + IF FLD0346B (1:) NOT EQUAL XPC-FLD0346B + DISPLAY 'FLD0346B ==> ' HEX-OF (FLD0346B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0346B). + IF FLD0347B (1:) NOT EQUAL XPC-FLD0347B + DISPLAY 'FLD0347B ==> ' HEX-OF (FLD0347B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0347B). + IF FLD0348B (1:) NOT EQUAL XPC-FLD0348B + DISPLAY 'FLD0348B ==> ' HEX-OF (FLD0348B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0348B). + IF FLD0349B (1:) NOT EQUAL XPC-FLD0349B + DISPLAY 'FLD0349B ==> ' HEX-OF (FLD0349B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0349B). + IF FLD0350B (1:) NOT EQUAL XPC-FLD0350B + DISPLAY 'FLD0350B ==> ' HEX-OF (FLD0350B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0350B). + IF FLD0351B (1:) NOT EQUAL XPC-FLD0351B + DISPLAY 'FLD0351B ==> ' HEX-OF (FLD0351B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0351B). + IF FLD0352B (1:) NOT EQUAL XPC-FLD0352B + DISPLAY 'FLD0352B ==> ' HEX-OF (FLD0352B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0352B). + IF FLD0353B (1:) NOT EQUAL XPC-FLD0353B + DISPLAY 'FLD0353B ==> ' HEX-OF (FLD0353B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0353B). + IF FLD0354B (1:) NOT EQUAL XPC-FLD0354B + DISPLAY 'FLD0354B ==> ' HEX-OF (FLD0354B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0354B). + IF FLD0355B (1:) NOT EQUAL XPC-FLD0355B + DISPLAY 'FLD0355B ==> ' HEX-OF (FLD0355B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0355B). + IF FLD0356B (1:) NOT EQUAL XPC-FLD0356B + DISPLAY 'FLD0356B ==> ' HEX-OF (FLD0356B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0356B). + IF FLD0357B (1:) NOT EQUAL XPC-FLD0357B + DISPLAY 'FLD0357B ==> ' HEX-OF (FLD0357B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0357B). + IF FLD0358B (1:) NOT EQUAL XPC-FLD0358B + DISPLAY 'FLD0358B ==> ' HEX-OF (FLD0358B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0358B). + IF FLD0359B (1:) NOT EQUAL XPC-FLD0359B + DISPLAY 'FLD0359B ==> ' HEX-OF (FLD0359B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0359B). + IF FLD0360B (1:) NOT EQUAL XPC-FLD0360B + DISPLAY 'FLD0360B ==> ' HEX-OF (FLD0360B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0360B). + IF FLD0361B (1:) NOT EQUAL XPC-FLD0361B + DISPLAY 'FLD0361B ==> ' HEX-OF (FLD0361B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0361B). + IF FLD0362B (1:) NOT EQUAL XPC-FLD0362B + DISPLAY 'FLD0362B ==> ' HEX-OF (FLD0362B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0362B). + IF FLD0363B (1:) NOT EQUAL XPC-FLD0363B + DISPLAY 'FLD0363B ==> ' HEX-OF (FLD0363B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0363B). + IF FLD0364B (1:) NOT EQUAL XPC-FLD0364B + DISPLAY 'FLD0364B ==> ' HEX-OF (FLD0364B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0364B). + IF FLD0365B (1:) NOT EQUAL XPC-FLD0365B + DISPLAY 'FLD0365B ==> ' HEX-OF (FLD0365B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0365B). + IF FLD0366B (1:) NOT EQUAL XPC-FLD0366B + DISPLAY 'FLD0366B ==> ' HEX-OF (FLD0366B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0366B). + IF FLD0367B (1:) NOT EQUAL XPC-FLD0367B + DISPLAY 'FLD0367B ==> ' HEX-OF (FLD0367B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0367B). + IF FLD0368B (1:) NOT EQUAL XPC-FLD0368B + DISPLAY 'FLD0368B ==> ' HEX-OF (FLD0368B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0368B). + IF FLD0369B (1:) NOT EQUAL XPC-FLD0369B + DISPLAY 'FLD0369B ==> ' HEX-OF (FLD0369B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0369B). + IF FLD0370B (1:) NOT EQUAL XPC-FLD0370B + DISPLAY 'FLD0370B ==> ' HEX-OF (FLD0370B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0370B). + IF FLD0371B (1:) NOT EQUAL XPC-FLD0371B + DISPLAY 'FLD0371B ==> ' HEX-OF (FLD0371B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0371B). + IF FLD0372B (1:) NOT EQUAL XPC-FLD0372B + DISPLAY 'FLD0372B ==> ' HEX-OF (FLD0372B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0372B). + IF FLD0373B (1:) NOT EQUAL XPC-FLD0373B + DISPLAY 'FLD0373B ==> ' HEX-OF (FLD0373B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0373B). + IF FLD0374B (1:) NOT EQUAL XPC-FLD0374B + DISPLAY 'FLD0374B ==> ' HEX-OF (FLD0374B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0374B). + IF FLD0375B (1:) NOT EQUAL XPC-FLD0375B + DISPLAY 'FLD0375B ==> ' HEX-OF (FLD0375B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0375B). + IF FLD0376B (1:) NOT EQUAL XPC-FLD0376B + DISPLAY 'FLD0376B ==> ' HEX-OF (FLD0376B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0376B). + IF FLD0377B (1:) NOT EQUAL XPC-FLD0377B + DISPLAY 'FLD0377B ==> ' HEX-OF (FLD0377B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0377B). + IF FLD0378B (1:) NOT EQUAL XPC-FLD0378B + DISPLAY 'FLD0378B ==> ' HEX-OF (FLD0378B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0378B). + IF FLD0379B (1:) NOT EQUAL XPC-FLD0379B + DISPLAY 'FLD0379B ==> ' HEX-OF (FLD0379B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0379B). + IF FLD0380B (1:) NOT EQUAL XPC-FLD0380B + DISPLAY 'FLD0380B ==> ' HEX-OF (FLD0380B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0380B). + IF FLD0381B (1:) NOT EQUAL XPC-FLD0381B + DISPLAY 'FLD0381B ==> ' HEX-OF (FLD0381B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0381B). + IF FLD0382B (1:) NOT EQUAL XPC-FLD0382B + DISPLAY 'FLD0382B ==> ' HEX-OF (FLD0382B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0382B). + IF FLD0383B (1:) NOT EQUAL XPC-FLD0383B + DISPLAY 'FLD0383B ==> ' HEX-OF (FLD0383B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0383B). + IF FLD0384B (1:) NOT EQUAL XPC-FLD0384B + DISPLAY 'FLD0384B ==> ' HEX-OF (FLD0384B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0384B). + IF FLD0385B (1:) NOT EQUAL XPC-FLD0385B + DISPLAY 'FLD0385B ==> ' HEX-OF (FLD0385B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0385B). + IF FLD0386B (1:) NOT EQUAL XPC-FLD0386B + DISPLAY 'FLD0386B ==> ' HEX-OF (FLD0386B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0386B). + IF FLD0387B (1:) NOT EQUAL XPC-FLD0387B + DISPLAY 'FLD0387B ==> ' HEX-OF (FLD0387B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0387B). + IF FLD0388B (1:) NOT EQUAL XPC-FLD0388B + DISPLAY 'FLD0388B ==> ' HEX-OF (FLD0388B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0388B). + IF FLD0389B (1:) NOT EQUAL XPC-FLD0389B + DISPLAY 'FLD0389B ==> ' HEX-OF (FLD0389B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0389B). + IF FLD0390B (1:) NOT EQUAL XPC-FLD0390B + DISPLAY 'FLD0390B ==> ' HEX-OF (FLD0390B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0390B). + IF FLD0391B (1:) NOT EQUAL XPC-FLD0391B + DISPLAY 'FLD0391B ==> ' HEX-OF (FLD0391B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0391B). + IF FLD0392B (1:) NOT EQUAL XPC-FLD0392B + DISPLAY 'FLD0392B ==> ' HEX-OF (FLD0392B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0392B). + IF FLD0393B (1:) NOT EQUAL XPC-FLD0393B + DISPLAY 'FLD0393B ==> ' HEX-OF (FLD0393B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0393B). + IF FLD0394B (1:) NOT EQUAL XPC-FLD0394B + DISPLAY 'FLD0394B ==> ' HEX-OF (FLD0394B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0394B). + IF FLD0395B (1:) NOT EQUAL XPC-FLD0395B + DISPLAY 'FLD0395B ==> ' HEX-OF (FLD0395B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0395B). + IF FLD0396B (1:) NOT EQUAL XPC-FLD0396B + DISPLAY 'FLD0396B ==> ' HEX-OF (FLD0396B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0396B). + IF FLD0397B (1:) NOT EQUAL XPC-FLD0397B + DISPLAY 'FLD0397B ==> ' HEX-OF (FLD0397B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0397B). + IF FLD0398B (1:) NOT EQUAL XPC-FLD0398B + DISPLAY 'FLD0398B ==> ' HEX-OF (FLD0398B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0398B). + IF FLD0399B (1:) NOT EQUAL XPC-FLD0399B + DISPLAY 'FLD0399B ==> ' HEX-OF (FLD0399B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0399B). + IF FLD0400B (1:) NOT EQUAL XPC-FLD0400B + DISPLAY 'FLD0400B ==> ' HEX-OF (FLD0400B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0400B). + IF FLD0401B (1:) NOT EQUAL XPC-FLD0401B + DISPLAY 'FLD0401B ==> ' HEX-OF (FLD0401B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0401B). + IF FLD0402B (1:) NOT EQUAL XPC-FLD0402B + DISPLAY 'FLD0402B ==> ' HEX-OF (FLD0402B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0402B). + IF FLD0403B (1:) NOT EQUAL XPC-FLD0403B + DISPLAY 'FLD0403B ==> ' HEX-OF (FLD0403B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0403B). + IF FLD0404B (1:) NOT EQUAL XPC-FLD0404B + DISPLAY 'FLD0404B ==> ' HEX-OF (FLD0404B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0404B). + IF FLD0405B (1:) NOT EQUAL XPC-FLD0405B + DISPLAY 'FLD0405B ==> ' HEX-OF (FLD0405B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0405B). + IF FLD0406B (1:) NOT EQUAL XPC-FLD0406B + DISPLAY 'FLD0406B ==> ' HEX-OF (FLD0406B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0406B). + IF FLD0407B (1:) NOT EQUAL XPC-FLD0407B + DISPLAY 'FLD0407B ==> ' HEX-OF (FLD0407B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0407B). + IF FLD0408B (1:) NOT EQUAL XPC-FLD0408B + DISPLAY 'FLD0408B ==> ' HEX-OF (FLD0408B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0408B). + IF FLD0409B (1:) NOT EQUAL XPC-FLD0409B + DISPLAY 'FLD0409B ==> ' HEX-OF (FLD0409B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0409B). + IF FLD0410B (1:) NOT EQUAL XPC-FLD0410B + DISPLAY 'FLD0410B ==> ' HEX-OF (FLD0410B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0410B). + IF FLD0411B (1:) NOT EQUAL XPC-FLD0411B + DISPLAY 'FLD0411B ==> ' HEX-OF (FLD0411B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0411B). + IF FLD0412B (1:) NOT EQUAL XPC-FLD0412B + DISPLAY 'FLD0412B ==> ' HEX-OF (FLD0412B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0412B). + IF FLD0413B (1:) NOT EQUAL XPC-FLD0413B + DISPLAY 'FLD0413B ==> ' HEX-OF (FLD0413B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0413B). + IF FLD0414B (1:) NOT EQUAL XPC-FLD0414B + DISPLAY 'FLD0414B ==> ' HEX-OF (FLD0414B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0414B). + IF FLD0415B (1:) NOT EQUAL XPC-FLD0415B + DISPLAY 'FLD0415B ==> ' HEX-OF (FLD0415B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0415B). + IF FLD0416B (1:) NOT EQUAL XPC-FLD0416B + DISPLAY 'FLD0416B ==> ' HEX-OF (FLD0416B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0416B). + IF FLD0417B (1:) NOT EQUAL XPC-FLD0417B + DISPLAY 'FLD0417B ==> ' HEX-OF (FLD0417B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0417B). + IF FLD0418B (1:) NOT EQUAL XPC-FLD0418B + DISPLAY 'FLD0418B ==> ' HEX-OF (FLD0418B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0418B). + IF FLD0419B (1:) NOT EQUAL XPC-FLD0419B + DISPLAY 'FLD0419B ==> ' HEX-OF (FLD0419B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0419B). + IF FLD0420B (1:) NOT EQUAL XPC-FLD0420B + DISPLAY 'FLD0420B ==> ' HEX-OF (FLD0420B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0420B). + IF FLD0421B (1:) NOT EQUAL XPC-FLD0421B + DISPLAY 'FLD0421B ==> ' HEX-OF (FLD0421B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0421B). + IF FLD0422B (1:) NOT EQUAL XPC-FLD0422B + DISPLAY 'FLD0422B ==> ' HEX-OF (FLD0422B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0422B). + IF FLD0423B (1:) NOT EQUAL XPC-FLD0423B + DISPLAY 'FLD0423B ==> ' HEX-OF (FLD0423B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0423B). + IF FLD0424B (1:) NOT EQUAL XPC-FLD0424B + DISPLAY 'FLD0424B ==> ' HEX-OF (FLD0424B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0424B). + IF FLD0425B (1:) NOT EQUAL XPC-FLD0425B + DISPLAY 'FLD0425B ==> ' HEX-OF (FLD0425B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0425B). + IF FLD0426B (1:) NOT EQUAL XPC-FLD0426B + DISPLAY 'FLD0426B ==> ' HEX-OF (FLD0426B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0426B). + IF FLD0427B (1:) NOT EQUAL XPC-FLD0427B + DISPLAY 'FLD0427B ==> ' HEX-OF (FLD0427B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0427B). + IF FLD0428B (1:) NOT EQUAL XPC-FLD0428B + DISPLAY 'FLD0428B ==> ' HEX-OF (FLD0428B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0428B). + IF FLD0429B (1:) NOT EQUAL XPC-FLD0429B + DISPLAY 'FLD0429B ==> ' HEX-OF (FLD0429B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0429B). + IF FLD0430B (1:) NOT EQUAL XPC-FLD0430B + DISPLAY 'FLD0430B ==> ' HEX-OF (FLD0430B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0430B). + IF FLD0431B (1:) NOT EQUAL XPC-FLD0431B + DISPLAY 'FLD0431B ==> ' HEX-OF (FLD0431B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0431B). + IF FLD0432B (1:) NOT EQUAL XPC-FLD0432B + DISPLAY 'FLD0432B ==> ' HEX-OF (FLD0432B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0432B). + IF FLD0433B (1:) NOT EQUAL XPC-FLD0433B + DISPLAY 'FLD0433B ==> ' HEX-OF (FLD0433B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0433B). + IF FLD0434B (1:) NOT EQUAL XPC-FLD0434B + DISPLAY 'FLD0434B ==> ' HEX-OF (FLD0434B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0434B). + IF FLD0435B (1:) NOT EQUAL XPC-FLD0435B + DISPLAY 'FLD0435B ==> ' HEX-OF (FLD0435B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0435B). + IF FLD0436B (1:) NOT EQUAL XPC-FLD0436B + DISPLAY 'FLD0436B ==> ' HEX-OF (FLD0436B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0436B). + IF FLD0437B (1:) NOT EQUAL XPC-FLD0437B + DISPLAY 'FLD0437B ==> ' HEX-OF (FLD0437B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0437B). + IF FLD0438B (1:) NOT EQUAL XPC-FLD0438B + DISPLAY 'FLD0438B ==> ' HEX-OF (FLD0438B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0438B). + IF FLD0439B (1:) NOT EQUAL XPC-FLD0439B + DISPLAY 'FLD0439B ==> ' HEX-OF (FLD0439B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0439B). + IF FLD0440B (1:) NOT EQUAL XPC-FLD0440B + DISPLAY 'FLD0440B ==> ' HEX-OF (FLD0440B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0440B). + IF FLD0441B (1:) NOT EQUAL XPC-FLD0441B + DISPLAY 'FLD0441B ==> ' HEX-OF (FLD0441B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0441B). + IF FLD0442B (1:) NOT EQUAL XPC-FLD0442B + DISPLAY 'FLD0442B ==> ' HEX-OF (FLD0442B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0442B). + IF FLD0443B (1:) NOT EQUAL XPC-FLD0443B + DISPLAY 'FLD0443B ==> ' HEX-OF (FLD0443B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0443B). + IF FLD0444B (1:) NOT EQUAL XPC-FLD0444B + DISPLAY 'FLD0444B ==> ' HEX-OF (FLD0444B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0444B). + IF FLD0445B (1:) NOT EQUAL XPC-FLD0445B + DISPLAY 'FLD0445B ==> ' HEX-OF (FLD0445B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0445B). + IF FLD0446B (1:) NOT EQUAL XPC-FLD0446B + DISPLAY 'FLD0446B ==> ' HEX-OF (FLD0446B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0446B). + IF FLD0447B (1:) NOT EQUAL XPC-FLD0447B + DISPLAY 'FLD0447B ==> ' HEX-OF (FLD0447B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0447B). + IF FLD0448B (1:) NOT EQUAL XPC-FLD0448B + DISPLAY 'FLD0448B ==> ' HEX-OF (FLD0448B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0448B). + IF FLD0449B (1:) NOT EQUAL XPC-FLD0449B + DISPLAY 'FLD0449B ==> ' HEX-OF (FLD0449B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0449B). + IF FLD0450B (1:) NOT EQUAL XPC-FLD0450B + DISPLAY 'FLD0450B ==> ' HEX-OF (FLD0450B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0450B). + IF FLD0451B (1:) NOT EQUAL XPC-FLD0451B + DISPLAY 'FLD0451B ==> ' HEX-OF (FLD0451B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0451B). + IF FLD0452B (1:) NOT EQUAL XPC-FLD0452B + DISPLAY 'FLD0452B ==> ' HEX-OF (FLD0452B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0452B). + IF FLD0453B (1:) NOT EQUAL XPC-FLD0453B + DISPLAY 'FLD0453B ==> ' HEX-OF (FLD0453B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0453B). + IF FLD0454B (1:) NOT EQUAL XPC-FLD0454B + DISPLAY 'FLD0454B ==> ' HEX-OF (FLD0454B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0454B). + IF FLD0455B (1:) NOT EQUAL XPC-FLD0455B + DISPLAY 'FLD0455B ==> ' HEX-OF (FLD0455B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0455B). + IF FLD0456B (1:) NOT EQUAL XPC-FLD0456B + DISPLAY 'FLD0456B ==> ' HEX-OF (FLD0456B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0456B). + IF FLD0457B (1:) NOT EQUAL XPC-FLD0457B + DISPLAY 'FLD0457B ==> ' HEX-OF (FLD0457B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0457B). + IF FLD0458B (1:) NOT EQUAL XPC-FLD0458B + DISPLAY 'FLD0458B ==> ' HEX-OF (FLD0458B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0458B). + IF FLD0459B (1:) NOT EQUAL XPC-FLD0459B + DISPLAY 'FLD0459B ==> ' HEX-OF (FLD0459B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0459B). + IF FLD0460B (1:) NOT EQUAL XPC-FLD0460B + DISPLAY 'FLD0460B ==> ' HEX-OF (FLD0460B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0460B). + IF FLD0461B (1:) NOT EQUAL XPC-FLD0461B + DISPLAY 'FLD0461B ==> ' HEX-OF (FLD0461B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0461B). + IF FLD0462B (1:) NOT EQUAL XPC-FLD0462B + DISPLAY 'FLD0462B ==> ' HEX-OF (FLD0462B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0462B). + IF FLD0463B (1:) NOT EQUAL XPC-FLD0463B + DISPLAY 'FLD0463B ==> ' HEX-OF (FLD0463B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0463B). + IF FLD0464B (1:) NOT EQUAL XPC-FLD0464B + DISPLAY 'FLD0464B ==> ' HEX-OF (FLD0464B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0464B). + IF FLD0465B (1:) NOT EQUAL XPC-FLD0465B + DISPLAY 'FLD0465B ==> ' HEX-OF (FLD0465B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0465B). + IF FLD0466B (1:) NOT EQUAL XPC-FLD0466B + DISPLAY 'FLD0466B ==> ' HEX-OF (FLD0466B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0466B). + IF FLD0467B (1:) NOT EQUAL XPC-FLD0467B + DISPLAY 'FLD0467B ==> ' HEX-OF (FLD0467B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0467B). + IF FLD0468B (1:) NOT EQUAL XPC-FLD0468B + DISPLAY 'FLD0468B ==> ' HEX-OF (FLD0468B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0468B). + IF FLD0469B (1:) NOT EQUAL XPC-FLD0469B + DISPLAY 'FLD0469B ==> ' HEX-OF (FLD0469B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0469B). + IF FLD0470B (1:) NOT EQUAL XPC-FLD0470B + DISPLAY 'FLD0470B ==> ' HEX-OF (FLD0470B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0470B). + IF FLD0471B (1:) NOT EQUAL XPC-FLD0471B + DISPLAY 'FLD0471B ==> ' HEX-OF (FLD0471B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0471B). + IF FLD0472B (1:) NOT EQUAL XPC-FLD0472B + DISPLAY 'FLD0472B ==> ' HEX-OF (FLD0472B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0472B). + IF FLD0473B (1:) NOT EQUAL XPC-FLD0473B + DISPLAY 'FLD0473B ==> ' HEX-OF (FLD0473B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0473B). + IF FLD0474B (1:) NOT EQUAL XPC-FLD0474B + DISPLAY 'FLD0474B ==> ' HEX-OF (FLD0474B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0474B). + IF FLD0475B (1:) NOT EQUAL XPC-FLD0475B + DISPLAY 'FLD0475B ==> ' HEX-OF (FLD0475B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0475B). + IF FLD0476B (1:) NOT EQUAL XPC-FLD0476B + DISPLAY 'FLD0476B ==> ' HEX-OF (FLD0476B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0476B). + IF FLD0477B (1:) NOT EQUAL XPC-FLD0477B + DISPLAY 'FLD0477B ==> ' HEX-OF (FLD0477B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0477B). + IF FLD0478B (1:) NOT EQUAL XPC-FLD0478B + DISPLAY 'FLD0478B ==> ' HEX-OF (FLD0478B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0478B). + IF FLD0479B (1:) NOT EQUAL XPC-FLD0479B + DISPLAY 'FLD0479B ==> ' HEX-OF (FLD0479B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0479B). + IF FLD0480B (1:) NOT EQUAL XPC-FLD0480B + DISPLAY 'FLD0480B ==> ' HEX-OF (FLD0480B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0480B). + IF FLD0481B (1:) NOT EQUAL XPC-FLD0481B + DISPLAY 'FLD0481B ==> ' HEX-OF (FLD0481B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0481B). + IF FLD0482B (1:) NOT EQUAL XPC-FLD0482B + DISPLAY 'FLD0482B ==> ' HEX-OF (FLD0482B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0482B). + IF FLD0483B (1:) NOT EQUAL XPC-FLD0483B + DISPLAY 'FLD0483B ==> ' HEX-OF (FLD0483B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0483B). + IF FLD0484B (1:) NOT EQUAL XPC-FLD0484B + DISPLAY 'FLD0484B ==> ' HEX-OF (FLD0484B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0484B). + IF FLD0485B (1:) NOT EQUAL XPC-FLD0485B + DISPLAY 'FLD0485B ==> ' HEX-OF (FLD0485B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0485B). + IF FLD0486B (1:) NOT EQUAL XPC-FLD0486B + DISPLAY 'FLD0486B ==> ' HEX-OF (FLD0486B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0486B). + IF FLD0487B (1:) NOT EQUAL XPC-FLD0487B + DISPLAY 'FLD0487B ==> ' HEX-OF (FLD0487B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0487B). + IF FLD0488B (1:) NOT EQUAL XPC-FLD0488B + DISPLAY 'FLD0488B ==> ' HEX-OF (FLD0488B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0488B). + IF FLD0489B (1:) NOT EQUAL XPC-FLD0489B + DISPLAY 'FLD0489B ==> ' HEX-OF (FLD0489B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0489B). + IF FLD0490B (1:) NOT EQUAL XPC-FLD0490B + DISPLAY 'FLD0490B ==> ' HEX-OF (FLD0490B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0490B). + IF FLD0491B (1:) NOT EQUAL XPC-FLD0491B + DISPLAY 'FLD0491B ==> ' HEX-OF (FLD0491B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0491B). + IF FLD0492B (1:) NOT EQUAL XPC-FLD0492B + DISPLAY 'FLD0492B ==> ' HEX-OF (FLD0492B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0492B). + IF FLD0493B (1:) NOT EQUAL XPC-FLD0493B + DISPLAY 'FLD0493B ==> ' HEX-OF (FLD0493B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0493B). + IF FLD0494B (1:) NOT EQUAL XPC-FLD0494B + DISPLAY 'FLD0494B ==> ' HEX-OF (FLD0494B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0494B). + IF FLD0495B (1:) NOT EQUAL XPC-FLD0495B + DISPLAY 'FLD0495B ==> ' HEX-OF (FLD0495B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0495B). + IF FLD0496B (1:) NOT EQUAL XPC-FLD0496B + DISPLAY 'FLD0496B ==> ' HEX-OF (FLD0496B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0496B). + IF FLD0497B (1:) NOT EQUAL XPC-FLD0497B + DISPLAY 'FLD0497B ==> ' HEX-OF (FLD0497B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0497B). + IF FLD0498B (1:) NOT EQUAL XPC-FLD0498B + DISPLAY 'FLD0498B ==> ' HEX-OF (FLD0498B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0498B). + IF FLD0499B (1:) NOT EQUAL XPC-FLD0499B + DISPLAY 'FLD0499B ==> ' HEX-OF (FLD0499B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0499B). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:34832: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:34832" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:34832" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:34833: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_packed.at:34833" +( $at_check_trace; $COBCRUN_DIRECT ./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_packed.at:34833" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >prog2.cob <<'_ATEOF' + + IDENTIFICATION DIVISION. + PROGRAM-ID. PDTESTR2. + + ENVIRONMENT DIVISION. + CONFIGURATION SECTION. + REPOSITORY. + FUNCTION HEX-OF INTRINSIC. + + DATA DIVISION. + WORKING-STORAGE SECTION. + + * DATA-AREA + + 77 FLD0500A PIC S9(10)V9(08) COMP-3 + VALUE -4830218621.81680639. + 77 FLD0500B PIC 9(03) COMP-6 + VALUE 087. + + 77 FLD0501A PIC 9(09)V9(15) COMP-3 + VALUE 652910855.370784748430423. + 77 FLD0501B PIC 9(09)V9(14) COMP-6 + VALUE 628093348.73677369337485. + + 77 FLD0502A PIC 9(03) COMP-6 + VALUE 079. + 77 FLD0502B PIC 9(07)V9(22) COMP-6 + VALUE 7893241.6286150020034995122841. + + 77 FLD0503A PIC 9(10)V9(11) COMP-6 + VALUE 5662523582.77427925159. + 77 FLD0503B PIC 9(04)V9(29) COMP-3 + VALUE 8834.70722999726620905391882843105. + + 77 FLD0504A PIC S9(08)V9(02) COMP-3 + VALUE -28360864.01. + 77 FLD0504B PIC 9(10)V9(09) COMP-3 + VALUE 5000570062.577901486. + + 77 FLD0505A PIC 9(04)V9(30) COMP-3 + VALUE 9110.332843503369248949752545740921. + 77 FLD0505B PIC 9(10)V9(10) COMP-3 + VALUE 5407979633.7587637822. + + 77 FLD0506A PIC 9(10)V9(11) COMP-3 + VALUE 5546838940.35467472960. + 77 FLD0506B PIC S9(07)V9(01) COMP-3 + VALUE +2340559.3. + + 77 FLD0507A PIC 9(08)V9(18) COMP-6 + VALUE 70736506.262277043521891073. + 77 FLD0507B PIC 9(10)V9(09) COMP-3 + VALUE 5205430142.820132166. + + 77 FLD0508A PIC 9(09)V9(16) COMP-6 + VALUE 658855971.9467786957025623. + 77 FLD0508B PIC S9(09)V9(07) COMP-3 + VALUE +444447149.8618901. + + 77 FLD0509A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0509B PIC 9(10)V9(08) COMP-6 + VALUE 4889373386.26299289. + + 77 FLD0510A PIC 9(04) COMP-6 + VALUE 1295. + 77 FLD0510B PIC S9(03) COMP-3 + VALUE -092. + + 77 FLD0511A PIC 9(06)V9(25) COMP-6 + VALUE 815863.7850571600624860479911149. + 77 FLD0511B PIC 9(10)V9(09) COMP-6 + VALUE 5256921146.480894035. + + 77 FLD0512A PIC 9(05) COMP-6 + VALUE 13945. + 77 FLD0512B PIC 9(01)V9(36) COMP-3 + VALUE 9.908282031313487836499120930966455489. + + 77 FLD0513A PIC 9(09)V9(15) COMP-3 + VALUE 653773832.246937192103075. + 77 FLD0513B PIC 9(08)V9(20) COMP-3 + VALUE 74124087.47450585089211472222. + + 77 FLD0514A PIC 9(08)V9(18) COMP-3 + VALUE 70109343.593910689040882289. + 77 FLD0514B PIC 9(09)V9(04) COMP-6 + VALUE 348891343.2762. + + 77 FLD0515A PIC 9(09)V9(16) COMP-6 + VALUE 658210435.7548693718271692. + 77 FLD0515B PIC 9(03)V9(32) COMP-3 + VALUE 941.14524908048735607479784448514692. + + 77 FLD0516A PIC 9(01)V9(36) COMP-6 + VALUE 9.884403805479323734672902901365887373. + 77 FLD0516B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0517A PIC 9(10)V9(07) COMP-6 + VALUE 4497620438.0577999. + 77 FLD0517B PIC S9(10)V9(08) COMP-3 + VALUE -4811021778.48490686. + + 77 FLD0518A PIC 9(09)V9(16) COMP-3 + VALUE 664556684.1155496895510168. + 77 FLD0518B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0519A PIC 9(09)V9(14) COMP-3 + VALUE 630097608.79846921088898. + 77 FLD0519B PIC 9(08)V9(17) COMP-3 + VALUE 68412596.06583623975595287. + + 77 FLD0520A PIC 9(04)V9(30) COMP-6 + VALUE 9052.329380117529744609328190563246. + 77 FLD0520B PIC 9(09)V9(14) COMP-3 + VALUE 610604586.65389061305717. + + 77 FLD0521A PIC 9(05) COMP-6 + VALUE 13956. + 77 FLD0521B PIC S9(05) COMP-3 + VALUE +14099. + + 77 FLD0522A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0522B PIC S9(09)V9(04) COMP-3 + VALUE -351067614.4076. + + 77 FLD0523A PIC 9(08)V9(18) COMP-6 + VALUE 70807149.512639711019801325. + 77 FLD0523B PIC S9(08)V9(02) COMP-3 + VALUE -28004002.44. + + 77 FLD0524A PIC S9(06)V9(01) COMP-3 + VALUE +201515.3. + 77 FLD0524B PIC 9(10)V9(09) COMP-3 + VALUE 5046210377.505329081. + + 77 FLD0525A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0525B PIC 9(04)V9(29) COMP-6 + VALUE 8873.36156634660588871099662355845. + + 77 FLD0526A PIC 9(07)V9(22) COMP-3 + VALUE 7812896.0072540409864672028561. + 77 FLD0526B PIC 9(07)V9(02) COMP-6 + VALUE 2461308.93. + + 77 FLD0527A PIC 9(10)V9(12) COMP-6 + VALUE 5853770318.384275972434. + 77 FLD0527B PIC 9(10)V9(09) COMP-3 + VALUE 5140096263.891610339. + + 77 FLD0528A PIC 9(10)V9(08) COMP-6 + VALUE 4856797949.89136714. + 77 FLD0528B PIC S9(04) COMP-3 + VALUE +1207. + + 77 FLD0529A PIC 9(10)V9(10) COMP-6 + VALUE 5298570971.4885653731. + 77 FLD0529B PIC S9(10)V9(07) COMP-3 + VALUE -4613280273.7797717. + + 77 FLD0530A PIC 9(05)V9(28) COMP-6 + VALUE 87536.5484141958027919372398173436. + 77 FLD0530B PIC S9(02) COMP-3 + VALUE -06. + + 77 FLD0531A PIC 9(09)V9(03) COMP-6 + VALUE 317487049.751. + 77 FLD0531B PIC S9(07)V9(01) COMP-3 + VALUE +2322772.2. + + 77 FLD0532A PIC 9(09)V9(15) COMP-3 + VALUE 653250626.044252880042506. + 77 FLD0532B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0533A PIC 9(07)V9(02) COMP-6 + VALUE 2559928.55. + 77 FLD0533B PIC 9(03) COMP-6 + VALUE 086. + + 77 FLD0534A PIC 9(09)V9(06) COMP-6 + VALUE 408226706.354108. + 77 FLD0534B PIC 9(10)V9(09) COMP-3 + VALUE 5204512753.981520578. + + 77 FLD0535A PIC 9(10)V9(11) COMP-6 + VALUE 5556101599.27967472981. + 77 FLD0535B PIC 9(05)V9(27) COMP-3 + VALUE 85335.564071638048133650045201648. + + 77 FLD0536A PIC S9(08)V9(03) COMP-3 + VALUE -29061270.882. + 77 FLD0536B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0537A PIC 9(08)V9(03) COMP-6 + VALUE 29943354.242. + 77 FLD0537B PIC 9(04) COMP-6 + VALUE 1199. + + 77 FLD0538A PIC 9(03)V9(32) COMP-3 + VALUE 922.29859860523566439383102988358587. + 77 FLD0538B PIC 9(04)V9(29) COMP-6 + VALUE 8861.76614320458799767266100388951. + + 77 FLD0539A PIC 9(05)V9(27) COMP-6 + VALUE 85666.721070025741990860979058197. + 77 FLD0539B PIC 9(05)V9(27) COMP-3 + VALUE 84375.338828007329095015620623598. + + 77 FLD0540A PIC S9(04) COMP-3 + VALUE +1227. + 77 FLD0540B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0541A PIC 9(09)V9(05) COMP-6 + VALUE 387240740.80744. + 77 FLD0541B PIC 9(07)V9(22) COMP-6 + VALUE 7676023.3773886621388982121061. + + 77 FLD0542A PIC 9(06)V9(25) COMP-3 + VALUE 831706.5789473143677668076634290. + 77 FLD0542B PIC 9(10)V9(11) COMP-3 + VALUE 5532908670.51828949563. + + 77 FLD0543A PIC 9(06)V9(01) COMP-6 + VALUE 188772.9. + 77 FLD0543B PIC 9(07)V9(02) COMP-6 + VALUE 2581387.79. + + 77 FLD0544A PIC 9(10)V9(09) COMP-3 + VALUE 5241766194.366106468. + 77 FLD0544B PIC 9(08)V9(02) COMP-6 + VALUE 27953166.13. + + 77 FLD0545A PIC 9(09)V9(14) COMP-3 + VALUE 622229285.46684597161942. + 77 FLD0545B PIC 9(08)V9(19) COMP-3 + VALUE 72256359.1476747091313370674. + + 77 FLD0546A PIC 9(06)V9(25) COMP-3 + VALUE 820358.8689269564193651262939965. + 77 FLD0546B PIC 9(09)V9(14) COMP-3 + VALUE 610779194.05314462508727. + + 77 FLD0547A PIC 9(06)V9(25) COMP-3 + VALUE 821925.7242001770658035297856258. + 77 FLD0547B PIC S9(09)V9(04) COMP-3 + VALUE -360691511.9302. + + 77 FLD0548A PIC 9(07)V9(23) COMP-6 + VALUE 7955385.78445739497091437897324. + 77 FLD0548B PIC 9(09)V9(17) COMP-6 + VALUE 689149957.90453892343663255. + + 77 FLD0549A PIC 9(07)V9(01) COMP-6 + VALUE 2367856.7. + 77 FLD0549B PIC 9(09)V9(06) COMP-6 + VALUE 415548355.051954. + + 77 FLD0550A PIC 9(09)V9(15) COMP-6 + VALUE 656651700.520587522369453. + 77 FLD0550B PIC 9(02) COMP-6 + VALUE 06. + + 77 FLD0551A PIC 9(07)V9(02) COMP-6 + VALUE 2589973.73. + 77 FLD0551B PIC 9(09)V9(15) COMP-3 + VALUE 652529070.867454263904505. + + 77 FLD0552A PIC 9(10)V9(07) COMP-6 + VALUE 4579590761.6898545. + 77 FLD0552B PIC 9(05) COMP-6 + VALUE 14745. + + 77 FLD0553A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0553B PIC S9(09)V9(04) COMP-3 + VALUE -360871096.9090. + + 77 FLD0554A PIC 9(07)V9(02) COMP-6 + VALUE 2568219.15. + 77 FLD0554B PIC 9(03)V9(32) COMP-3 + VALUE 932.99236247731820448336748086148872. + + 77 FLD0555A PIC 9(09)V9(05) COMP-6 + VALUE 388184875.66560. + 77 FLD0555B PIC 9(10)V9(09) COMP-3 + VALUE 5217501857.988002811. + + 77 FLD0556A PIC 9(04)V9(30) COMP-6 + VALUE 8983.209260005348140154524116951506. + 77 FLD0556B PIC 9(10)V9(11) COMP-6 + VALUE 5685562200.43860527368. + + 77 FLD0557A PIC 9(09)V9(15) COMP-3 + VALUE 650877011.601572519339242. + 77 FLD0557B PIC S9(05) COMP-3 + VALUE +13329. + + 77 FLD0558A PIC 9(09)V9(13) COMP-6 + VALUE 595830550.3266489999703. + 77 FLD0558B PIC 9(06)V9(01) COMP-6 + VALUE 209604.9. + + 77 FLD0559A PIC 9(10)V9(09) COMP-3 + VALUE 5242032248.235551916. + 77 FLD0559B PIC 9(07)V9(22) COMP-6 + VALUE 7882034.1791675385678672682843. + + 77 FLD0560A PIC S9(09)V9(06) COMP-3 + VALUE +403640603.914505. + 77 FLD0560B PIC 9(09)V9(07) COMP-6 + VALUE 438743115.5223073. + + 77 FLD0561A PIC 9(05) COMP-6 + VALUE 14931. + 77 FLD0561B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0562A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0562B PIC 9(02)V9(34) COMP-6 + VALUE 95.8208334412512741096179524902254343. + + 77 FLD0563A PIC 9(10)V9(09) COMP-3 + VALUE 5040974749.501065943. + 77 FLD0563B PIC S9(08)V9(03) COMP-3 + VALUE +31252590.212. + + 77 FLD0564A PIC 9(09)V9(16) COMP-6 + VALUE 666123633.8391588462926051. + 77 FLD0564B PIC 9(03)V9(32) COMP-6 + VALUE 925.73034981753798966508384182816371. + + 77 FLD0565A PIC 9(04)V9(30) COMP-6 + VALUE 8999.472704059103822515908177592791. + 77 FLD0565B PIC 9(06)V9(01) COMP-6 + VALUE 209088.7. + + 77 FLD0566A PIC 9(10)V9(10) COMP-6 + VALUE 5451645287.6426646501. + 77 FLD0566B PIC 9(09)V9(03) COMP-6 + VALUE 317445075.017. + + 77 FLD0567A PIC S9(07)V9(02) COMP-3 + VALUE -2621767.34. + 77 FLD0567B PIC 9(04)V9(29) COMP-6 + VALUE 8789.70351596639054569948257267242. + + 77 FLD0568A PIC S9(08)V9(02) COMP-3 + VALUE -28119737.76. + 77 FLD0568B PIC 9(09)V9(14) COMP-6 + VALUE 616894259.97583058336459. + + 77 FLD0569A PIC 9(10)V9(10) COMP-3 + VALUE 5301098669.5201622875. + 77 FLD0569B PIC S9(09)V9(06) COMP-3 + VALUE +421009403.834593. + + 77 FLD0570A PIC 9(05) COMP-6 + VALUE 13775. + 77 FLD0570B PIC 9(08)V9(19) COMP-3 + VALUE 72019797.5322646066764775696. + + 77 FLD0571A PIC 9(10)V9(08) COMP-6 + VALUE 4995844884.12155025. + 77 FLD0571B PIC 9(09)V9(16) COMP-6 + VALUE 666328034.4715885039619251. + + 77 FLD0572A PIC 9(06)V9(01) COMP-6 + VALUE 199648.9. + 77 FLD0572B PIC S9(06) COMP-3 + VALUE -163410. + + 77 FLD0573A PIC 9(10)V9(11) COMP-6 + VALUE 5579051586.61930800079. + 77 FLD0573B PIC 9(01)V9(36) COMP-3 + VALUE 9.908582147727897915245875992695800960. + + 77 FLD0574A PIC 9(10)V9(09) COMP-3 + VALUE 5021035726.447702352. + 77 FLD0574B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0575A PIC 9(02)V9(34) COMP-3 + VALUE 96.0495649054037059499933093320578336. + 77 FLD0575B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0576A PIC 9(09)V9(11) COMP-3 + VALUE 551289746.02273483895. + 77 FLD0576B PIC 9(10)V9(10) COMP-6 + VALUE 5275129807.0789420791. + + 77 FLD0577A PIC S9(10)V9(06) COMP-3 + VALUE +4245433083.607936. + 77 FLD0577B PIC 9(02)V9(34) COMP-6 + VALUE 96.8922152301445405164770363626303151. + + 77 FLD0578A PIC S9(07)V9(02) COMP-3 + VALUE +2444375.29. + 77 FLD0578B PIC 9(05)V9(01) COMP-6 + VALUE 16994.3. + + 77 FLD0579A PIC 9(09)V9(17) COMP-6 + VALUE 688719854.55414208576740975. + 77 FLD0579B PIC 9(10)V9(09) COMP-3 + VALUE 5219660742.233359629. + + 77 FLD0580A PIC S9(08)V9(04) COMP-3 + VALUE +33455460.0291. + 77 FLD0580B PIC 9(02)V9(34) COMP-3 + VALUE 95.3840741032953354228141051862621679. + + 77 FLD0581A PIC S9(08)V9(02) COMP-3 + VALUE -28271118.43. + 77 FLD0581B PIC 9(09)V9(15) COMP-6 + VALUE 638334092.073881143036828. + + 77 FLD0582A PIC 9(02)V9(34) COMP-3 + VALUE 95.0957041455027018983514608407858759. + 77 FLD0582B PIC 9(09)V9(14) COMP-6 + VALUE 628562844.11633944753106. + + 77 FLD0583A PIC 9(04)V9(30) COMP-3 + VALUE 9004.015213488590907431330379040446. + 77 FLD0583B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0584A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0584B PIC 9(02)V9(34) COMP-6 + VALUE 95.5867594557756605766485336062032729. + + 77 FLD0585A PIC S9(10)V9(06) COMP-3 + VALUE +4326355872.600766. + 77 FLD0585B PIC 9(03)V9(32) COMP-6 + VALUE 926.67442032915370297985191427869722. + + 77 FLD0586A PIC 9(05)V9(27) COMP-6 + VALUE 85722.001340062370378092282408033. + 77 FLD0586B PIC 9(07)V9(22) COMP-6 + VALUE 7865140.9974229868904416207442. + + 77 FLD0587A PIC S9(09)V9(05) COMP-3 + VALUE -381433349.51035. + 77 FLD0587B PIC S9(04) COMP-3 + VALUE +1221. + + 77 FLD0588A PIC 9(10)V9(09) COMP-6 + VALUE 5181115773.570048599. + 77 FLD0588B PIC 9(04)V9(30) COMP-3 + VALUE 9002.074772136551272794235956098418. + + 77 FLD0589A PIC S9(09)V9(06) COMP-3 + VALUE +401102073.275349. + 77 FLD0589B PIC S9(04) COMP-3 + VALUE +1219. + + 77 FLD0590A PIC 9(08)V9(18) COMP-3 + VALUE 70309799.830174168899787900. + 77 FLD0590B PIC S9(06)V9(01) COMP-3 + VALUE +203587.9. + + 77 FLD0591A PIC 9(09)V9(12) COMP-6 + VALUE 576933255.371857245386. + 77 FLD0591B PIC 9(10)V9(09) COMP-3 + VALUE 5123728162.782491546. + + 77 FLD0592A PIC 9(09)V9(15) COMP-3 + VALUE 644514829.253344467829833. + 77 FLD0592B PIC S9(08)V9(03) COMP-3 + VALUE -29392268.940. + + 77 FLD0593A PIC 9(08)V9(19) COMP-3 + VALUE 72063942.4137167527995018190. + 77 FLD0593B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0594A PIC S9(08)V9(02) COMP-3 + VALUE -27405154.91. + 77 FLD0594B PIC 9(07)V9(22) COMP-3 + VALUE 7738893.5043103479483050932685. + + 77 FLD0595A PIC 9(08)V9(18) COMP-3 + VALUE 70489201.749069052560514592. + 77 FLD0595B PIC 9(06)V9(25) COMP-3 + VALUE 830535.6563477365172687427730124. + + 77 FLD0596A PIC 9(04)V9(30) COMP-6 + VALUE 9050.358418523600789740157779306173. + 77 FLD0596B PIC 9(09)V9(15) COMP-6 + VALUE 657865013.656926733709440. + + 77 FLD0597A PIC S9(10)V9(07) COMP-3 + VALUE -4611492066.1642122. + 77 FLD0597B PIC 9(06)V9(25) COMP-6 + VALUE 816255.9991782142310157155407068. + + 77 FLD0598A PIC 9(10)V9(12) COMP-6 + VALUE 5888650589.753158248740. + 77 FLD0598B PIC S9(09)V9(06) COMP-3 + VALUE +420172956.568651. + + 77 FLD0599A PIC 9(05)V9(27) COMP-6 + VALUE 85689.140306102984379066356268594. + 77 FLD0599B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0600A PIC S9(09)V9(06) COMP-3 + VALUE +401694362.049109. + 77 FLD0600B PIC 9(06)V9(24) COMP-3 + VALUE 804504.375985138686644404515391. + + 77 FLD0601A PIC 9(01)V9(36) COMP-6 + VALUE 9.763793413809590537866256454435642808. + 77 FLD0601B PIC 9(08)V9(03) COMP-6 + VALUE 29749803.347. + + 77 FLD0602A PIC 9(09)V9(17) COMP-6 + VALUE 685435627.00727922454291274. + 77 FLD0602B PIC 9(07)V9(02) COMP-6 + VALUE 2399467.62. + + 77 FLD0603A PIC 9(09)V9(16) COMP-6 + VALUE 679265807.5584466770280300. + 77 FLD0603B PIC S9(05)V9(01) COMP-3 + VALUE -17089.6. + + 77 FLD0604A PIC 9(08)V9(19) COMP-6 + VALUE 72862711.3591577502127449861. + 77 FLD0604B PIC 9(10)V9(11) COMP-6 + VALUE 5587264166.34705347341. + + 77 FLD0605A PIC 9(04) COMP-6 + VALUE 1194. + 77 FLD0605B PIC 9(10)V9(06) COMP-6 + VALUE 4256956703.307752. + + 77 FLD0606A PIC 9(07)V9(23) COMP-6 + VALUE 7955557.56926823565144957228767. + 77 FLD0606B PIC S9(08)V9(04) COMP-3 + VALUE +33373395.9174. + + 77 FLD0607A PIC 9(10)V9(08) COMP-6 + VALUE 4950511846.00309279. + 77 FLD0607B PIC 9(05) COMP-6 + VALUE 13935. + + 77 FLD0608A PIC 9(09)V9(03) COMP-6 + VALUE 328182518.441. + 77 FLD0608B PIC 9(02)V9(34) COMP-6 + VALUE 95.9183130416232931914066739409463480. + + 77 FLD0609A PIC 9(08)V9(04) COMP-6 + VALUE 33948712.4475. + 77 FLD0609B PIC 9(10)V9(07) COMP-6 + VALUE 4478674210.4372267. + + 77 FLD0610A PIC 9(06)V9(24) COMP-6 + VALUE 807988.537497822956190418608457. + 77 FLD0610B PIC 9(08)V9(02) COMP-6 + VALUE 28672541.25. + + 77 FLD0611A PIC 9(07)V9(22) COMP-3 + VALUE 7747853.4043620861382350994972. + 77 FLD0611B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0612A PIC 9(10)V9(11) COMP-3 + VALUE 5644161799.14422944108. + 77 FLD0612B PIC 9(07)V9(22) COMP-6 + VALUE 7874462.2890006543691754359315. + + 77 FLD0613A PIC 9(05) COMP-6 + VALUE 15551. + 77 FLD0613B PIC S9(07)V9(01) COMP-3 + VALUE +2249276.6. + + 77 FLD0614A PIC 9(10)V9(09) COMP-3 + VALUE 5201647014.630440546. + 77 FLD0614B PIC 9(09)V9(13) COMP-6 + VALUE 596348860.2168276475623. + + 77 FLD0615A PIC S9(03) COMP-3 + VALUE +101. + 77 FLD0615B PIC S9(07)V9(01) COMP-3 + VALUE +2334095.1. + + 77 FLD0616A PIC 9(07)V9(22) COMP-3 + VALUE 7639230.3574527464782306651613. + 77 FLD0616B PIC 9(02) COMP-6 + VALUE 07. + + 77 FLD0617A PIC S9(01) COMP-3 + VALUE -0. + 77 FLD0617B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0618A PIC 9(01)V9(36) COMP-3 + VALUE 9.817148549708982763206677191192284226. + 77 FLD0618B PIC 9(03) COMP-6 + VALUE 089. + + 77 FLD0619A PIC 9(06)V9(24) COMP-3 + VALUE 801850.998363624500875346257089. + 77 FLD0619B PIC 9(10)V9(10) COMP-3 + VALUE 5342180526.7555677598. + + 77 FLD0620A PIC 9(08)V9(19) COMP-6 + VALUE 71717267.3810957062023874186. + 77 FLD0620B PIC 9(09)V9(15) COMP-6 + VALUE 655677089.730182127702562. + + 77 FLD0621A PIC 9(04)V9(30) COMP-3 + VALUE 9035.013690395441443570234696380794. + 77 FLD0621B PIC 9(08)V9(19) COMP-3 + VALUE 73424367.1686218957184166811. + + 77 FLD0622A PIC 9(09)V9(13) COMP-3 + VALUE 592420192.5737704321761. + 77 FLD0622B PIC S9(09)V9(04) COMP-3 + VALUE -361821982.1111. + + 77 FLD0623A PIC S9(03) COMP-3 + VALUE +104. + 77 FLD0623B PIC 9(09)V9(15) COMP-3 + VALUE 641616818.896418195095066. + + 77 FLD0624A PIC S9(06) COMP-3 + VALUE -162056. + 77 FLD0624B PIC 9(10)V9(06) COMP-6 + VALUE 4356343039.582531. + + 77 FLD0625A PIC 9(04) COMP-6 + VALUE 1296. + 77 FLD0625B PIC 9(07)V9(22) COMP-3 + VALUE 7829547.5769811728739000500354. + + 77 FLD0626A PIC 9(04)V9(29) COMP-3 + VALUE 8839.60373056715265072114107169909. + 77 FLD0626B PIC S9(09)V9(05) COMP-3 + VALUE -374265939.71690. + + 77 FLD0627A PIC 9(04) COMP-6 + VALUE 1093. + 77 FLD0627B PIC S9(07)V9(01) COMP-3 + VALUE +2323895.2. + + 77 FLD0628A PIC 9(01)V9(36) COMP-3 + VALUE 9.943034041886028573387079632084351032. + 77 FLD0628B PIC 9(08)V9(03) COMP-6 + VALUE 29681737.673. + + 77 FLD0629A PIC 9(03)V9(32) COMP-6 + VALUE 925.54391942612090904418664649710990. + 77 FLD0629B PIC 9(05)V9(28) COMP-3 + VALUE 87091.5644969416202769707524566911. + + 77 FLD0630A PIC S9(09)V9(06) COMP-3 + VALUE +400669561.119235. + 77 FLD0630B PIC 9(09)V9(12) COMP-6 + VALUE 575188656.368988304734. + + 77 FLD0631A PIC 9(09)V9(15) COMP-3 + VALUE 644864894.904831453814608. + 77 FLD0631B PIC 9(05)V9(01) COMP-6 + VALUE 17568.5. + + 77 FLD0632A PIC 9(08)V9(18) COMP-6 + VALUE 69998401.036213298009869276. + 77 FLD0632B PIC 9(10)V9(09) COMP-6 + VALUE 5082278856.741135886. + + 77 FLD0633A PIC 9(08)V9(19) COMP-3 + VALUE 72186800.0789349095747127194. + 77 FLD0633B PIC S9(09)V9(03) COMP-3 + VALUE +332989951.149. + + 77 FLD0634A PIC S9(10)V9(06) COMP-3 + VALUE +4236607402.255205. + 77 FLD0634B PIC 9(07)V9(23) COMP-3 + VALUE 7926419.75404680843020344127580. + + 77 FLD0635A PIC S9(06)V9(01) COMP-3 + VALUE -190863.2. + 77 FLD0635B PIC 9(10)V9(11) COMP-6 + VALUE 5580856572.20784292498. + + 77 FLD0636A PIC S9(07)V9(01) COMP-3 + VALUE +2326055.8. + 77 FLD0636B PIC 9(05) COMP-6 + VALUE 15706. + + 77 FLD0637A PIC 9(08)V9(19) COMP-3 + VALUE 73470187.3111827330475875896. + 77 FLD0637B PIC 9(10)V9(10) COMP-3 + VALUE 5305678545.6603405837. + + 77 FLD0638A PIC 9(07)V9(22) COMP-6 + VALUE 7752451.2041246673721417437263. + 77 FLD0638B PIC 9(06)V9(25) COMP-3 + VALUE 822351.5027967045476486873667454. + + 77 FLD0639A PIC S9(09)V9(03) COMP-3 + VALUE +320313574.327. + 77 FLD0639B PIC 9(01)V9(36) COMP-6 + VALUE 9.751092072024196699686626743641681969. + + 77 FLD0640A PIC 9(04)V9(29) COMP-3 + VALUE 8818.61493829378950692898797569796. + 77 FLD0640B PIC 9(03)V9(32) COMP-3 + VALUE 921.50555740058603948483550993842072. + + 77 FLD0641A PIC 9(07)V9(22) COMP-6 + VALUE 7672056.2697199168322725881807. + 77 FLD0641B PIC 9(08)V9(19) COMP-6 + VALUE 72539277.3386829170512157816. + + 77 FLD0642A PIC 9(08)V9(18) COMP-6 + VALUE 70806494.663622721041917884. + 77 FLD0642B PIC 9(09)V9(13) COMP-3 + VALUE 592898946.8504934912118. + + 77 FLD0643A PIC 9(07)V9(01) COMP-6 + VALUE 2194714.9. + 77 FLD0643B PIC 9(08)V9(02) COMP-6 + VALUE 26711153.59. + + 77 FLD0644A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0644B PIC 9(03)V9(32) COMP-6 + VALUE 936.97460492260109532480782945640385. + + 77 FLD0645A PIC 9(03)V9(31) COMP-3 + VALUE 913.1000502995376688630813077907077. + 77 FLD0645B PIC 9(07)V9(02) COMP-6 + VALUE 2467302.34. + + 77 FLD0646A PIC 9(07)V9(21) COMP-3 + VALUE 7520596.805608434909373727350. + 77 FLD0646B PIC 9(09)V9(13) COMP-6 + VALUE 595843790.0187590896550. + + 77 FLD0647A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0647B PIC 9(09)V9(16) COMP-6 + VALUE 659893156.1456289340839020. + + 77 FLD0648A PIC S9(04) COMP-3 + VALUE +1149. + 77 FLD0648B PIC 9(09)V9(15) COMP-3 + VALUE 634287010.942461315643470. + + 77 FLD0649A PIC 9(07)V9(23) COMP-3 + VALUE 7912687.10466688007798552462190. + 77 FLD0649B PIC 9(10)V9(09) COMP-3 + VALUE 5026519944.429308495. + + 77 FLD0650A PIC 9(01)V9(36) COMP-6 + VALUE 9.878734262172308433491707546636462211. + 77 FLD0650B PIC 9(09)V9(16) COMP-3 + VALUE 671574601.9768447094833163. + + 77 FLD0651A PIC 9(08)V9(18) COMP-6 + VALUE 69993795.648145529231243244. + 77 FLD0651B PIC S9(09)V9(05) COMP-3 + VALUE -390933259.39761. + + 77 FLD0652A PIC 9(05)V9(01) COMP-6 + VALUE 16676.6. + 77 FLD0652B PIC S9(07)V9(01) COMP-3 + VALUE +2109381.3. + + 77 FLD0653A PIC 9(09)V9(14) COMP-3 + VALUE 620233215.83922497168828. + 77 FLD0653B PIC 9(06) COMP-6 + VALUE 165087. + + 77 FLD0654A PIC 9(09)V9(15) COMP-6 + VALUE 639337130.284049814932245. + 77 FLD0654B PIC 9(08)V9(02) COMP-6 + VALUE 27813223.51. + + 77 FLD0655A PIC 9(06)V9(25) COMP-6 + VALUE 818013.3890362937254536745967925. + 77 FLD0655B PIC 9(09)V9(13) COMP-3 + VALUE 594166317.4495728227952. + + 77 FLD0656A PIC S9(06)V9(01) COMP-3 + VALUE +200859.7. + 77 FLD0656B PIC 9(09)V9(15) COMP-3 + VALUE 650208537.267117914204561. + + 77 FLD0657A PIC 9(03)V9(32) COMP-6 + VALUE 936.17194619070143168926279031438753. + 77 FLD0657B PIC 9(08)V9(18) COMP-3 + VALUE 70468283.988380520099781278. + + 77 FLD0658A PIC 9(08)V9(18) COMP-3 + VALUE 70069365.832955088357891781. + 77 FLD0658B PIC 9(10)V9(10) COMP-3 + VALUE 5438086690.5335789596. + + 77 FLD0659A PIC 9(04)V9(30) COMP-3 + VALUE 9044.337793801533464943531726021319. + 77 FLD0659B PIC 9(08)V9(19) COMP-6 + VALUE 71946522.3294514011342926096. + + 77 FLD0660A PIC 9(10)V9(09) COMP-3 + VALUE 5240012407.843260833. + 77 FLD0660B PIC S9(05) COMP-3 + VALUE -15464. + + 77 FLD0661A PIC 9(02)V9(34) COMP-6 + VALUE 96.5581569624071600621562083688331767. + 77 FLD0661B PIC 9(10)V9(11) COMP-3 + VALUE 5705409453.15247127744. + + 77 FLD0662A PIC S9(07)V9(01) COMP-3 + VALUE +2131985.0. + 77 FLD0662B PIC 9(09)V9(16) COMP-6 + VALUE 669960203.6476681732324323. + + 77 FLD0663A PIC 9(05) COMP-6 + VALUE 15788. + 77 FLD0663B PIC 9(04)V9(29) COMP-6 + VALUE 8894.69232052811142885673234559362. + + 77 FLD0664A PIC S9(05) COMP-3 + VALUE +14371. + 77 FLD0664B PIC S9(09)V9(07) COMP-3 + VALUE +440580330.5288489. + + 77 FLD0665A PIC 9(07)V9(02) COMP-6 + VALUE 2455875.37. + 77 FLD0665B PIC 9(09)V9(16) COMP-3 + VALUE 674160289.5706166886924393. + + 77 FLD0666A PIC 9(05)V9(27) COMP-3 + VALUE 86015.549175288641414738322055200. + 77 FLD0666B PIC 9(02) COMP-6 + VALUE 05. + + 77 FLD0667A PIC 9(02)V9(33) COMP-3 + VALUE 94.482499794694274619644147605868056. + 77 FLD0667B PIC 9(09)V9(15) COMP-3 + VALUE 632143875.790169951223163. + + 77 FLD0668A PIC 9(03)V9(32) COMP-6 + VALUE 935.15331845029669999291854765033349. + 77 FLD0668B PIC 9(10)V9(09) COMP-3 + VALUE 5144629393.825745911. + + 77 FLD0669A PIC 9(01)V9(36) COMP-3 + VALUE 9.937328225295053441001869032334070652. + 77 FLD0669B PIC 9(10)V9(05) COMP-6 + VALUE 3959366397.86081. + + 77 FLD0670A PIC 9(07)V9(02) COMP-6 + VALUE 2567113.54. + 77 FLD0670B PIC 9(02)V9(34) COMP-3 + VALUE 97.1019073438902258210703166696475818. + + 77 FLD0671A PIC 9(09)V9(03) COMP-6 + VALUE 326622169.718. + 77 FLD0671B PIC 9(06)V9(01) COMP-6 + VALUE 186874.6. + + 77 FLD0672A PIC 9(10)V9(07) COMP-6 + VALUE 4564917934.3294549. + 77 FLD0672B PIC 9(09)V9(15) COMP-6 + VALUE 637002039.815689924395769. + + 77 FLD0673A PIC 9(10)V9(06) COMP-6 + VALUE 4285002333.462958. + 77 FLD0673B PIC 9(07)V9(02) COMP-6 + VALUE 2489778.77. + + 77 FLD0674A PIC 9(10)V9(10) COMP-6 + VALUE 5491650640.0821929467. + 77 FLD0674B PIC 9(06)V9(25) COMP-6 + VALUE 828061.3110769976525915581078152. + + 77 FLD0675A PIC 9(05)V9(27) COMP-6 + VALUE 84609.285471017914304070473008323. + 77 FLD0675B PIC 9(10)V9(09) COMP-6 + VALUE 5083540664.870341840. + + 77 FLD0676A PIC 9(03) COMP-6 + VALUE 096. + 77 FLD0676B PIC 9(02)V9(34) COMP-3 + VALUE 96.4664170342459437179627457226160913. + + 77 FLD0677A PIC S9(07)V9(01) COMP-3 + VALUE +2248183.1. + 77 FLD0677B PIC 9(04)V9(29) COMP-3 + VALUE 8903.66445455624266891447859961772. + + 77 FLD0678A PIC S9(03) COMP-3 + VALUE -092. + 77 FLD0678B PIC 9(05)V9(27) COMP-6 + VALUE 85887.366357613359468814451247453. + + 77 FLD0679A PIC S9(03) COMP-3 + VALUE -080. + 77 FLD0679B PIC 9(10)V9(07) COMP-6 + VALUE 4490278235.6612852. + + 77 FLD0680A PIC S9(08)V9(02) COMP-3 + VALUE -28119381.66. + 77 FLD0680B PIC 9(10)V9(11) COMP-3 + VALUE 5617591008.16083600804. + + 77 FLD0681A PIC 9(08)V9(17) COMP-3 + VALUE 68244115.95644890304868113. + 77 FLD0681B PIC 9(06)V9(25) COMP-3 + VALUE 821371.7547801553386932482681004. + + 77 FLD0682A PIC S9(10)V9(08) COMP-3 + VALUE -4949729784.45772315. + 77 FLD0682B PIC 9(06)V9(25) COMP-3 + VALUE 831097.0812489861803129542749957. + + 77 FLD0683A PIC 9(05)V9(28) COMP-6 + VALUE 86894.3068817851549390240961656672. + 77 FLD0683B PIC 9(10)V9(12) COMP-3 + VALUE 5829735573.963021888488. + + 77 FLD0684A PIC 9(10)V9(13) COMP-6 + VALUE 6059233373.6406744915115. + 77 FLD0684B PIC 9(09)V9(07) COMP-6 + VALUE 438339473.7646870. + + 77 FLD0685A PIC S9(07)V9(02) COMP-3 + VALUE -2545714.99. + 77 FLD0685B PIC 9(07)V9(23) COMP-3 + VALUE 7915567.03876752143500539204978. + + 77 FLD0686A PIC 9(09)V9(14) COMP-3 + VALUE 621044693.11257093355749. + 77 FLD0686B PIC 9(09)V9(13) COMP-3 + VALUE 602970496.8531952591348. + + 77 FLD0687A PIC S9(09)V9(05) COMP-3 + VALUE -394005874.76898. + 77 FLD0687B PIC 9(10)V9(08) COMP-6 + VALUE 4960980508.03440715. + + 77 FLD0688A PIC 9(03)V9(32) COMP-3 + VALUE 932.26844955554755145499257196206599. + 77 FLD0688B PIC 9(04) COMP-6 + VALUE 1064. + + 77 FLD0689A PIC 9(10)V9(07) COMP-6 + VALUE 4559306991.4341932. + 77 FLD0689B PIC S9(08)V9(04) COMP-3 + VALUE +34024840.8710. + + 77 FLD0690A PIC 9(01)V9(36) COMP-6 + VALUE 9.793660005922469879990899244148749858. + 77 FLD0690B PIC S9(08)V9(02) COMP-3 + VALUE -28078949.75. + + 77 FLD0691A PIC 9(09)V9(07) COMP-6 + VALUE 439500550.5938089. + 77 FLD0691B PIC S9(10)V9(06) COMP-3 + VALUE +4308484639.535531. + + 77 FLD0692A PIC 9(09)V9(04) COMP-6 + VALUE 358382577.7464. + 77 FLD0692B PIC 9(09)V9(15) COMP-6 + VALUE 636450165.553045121846764. + + 77 FLD0693A PIC S9(07)V9(01) COMP-3 + VALUE +2127399.6. + 77 FLD0693B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0694A PIC 9(09)V9(05) COMP-6 + VALUE 378019656.01658. + 77 FLD0694B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0695A PIC S9(09)V9(04) COMP-3 + VALUE -354304867.1111. + 77 FLD0695B PIC 9(09)V9(15) COMP-6 + VALUE 639721730.127885357397587. + + 77 FLD0696A PIC 9(04)V9(30) COMP-6 + VALUE 9067.945209731629319094281527213752. + 77 FLD0696B PIC 9(09)V9(03) COMP-6 + VALUE 318871778.848. + + 77 FLD0697A PIC S9(09)V9(06) COMP-3 + VALUE +414586353.841170. + 77 FLD0697B PIC 9(10)V9(09) COMP-6 + VALUE 5161837194.897523906. + + 77 FLD0698A PIC 9(08)V9(18) COMP-3 + VALUE 69447533.832122987362822641. + 77 FLD0698B PIC S9(03) COMP-3 + VALUE -080. + + 77 FLD0699A PIC 9(09)V9(13) COMP-6 + VALUE 597064952.5204202445749. + 77 FLD0699B PIC 9(09)V9(14) COMP-3 + VALUE 630288401.27729701681147. + + 77 FLD0700A PIC 9(06)V9(25) COMP-3 + VALUE 820234.3139012789885455845251271. + 77 FLD0700B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0701A PIC 9(06)V9(24) COMP-6 + VALUE 809485.363390515577641792788199. + 77 FLD0701B PIC 9(02)V9(34) COMP-3 + VALUE 97.0800419877562270620785511709982529. + + 77 FLD0702A PIC 9(04)V9(30) COMP-3 + VALUE 9021.848589518318695112952809722628. + 77 FLD0702B PIC 9(07)V9(01) COMP-6 + VALUE 2351439.7. + + 77 FLD0703A PIC S9(04) COMP-3 + VALUE +1126. + 77 FLD0703B PIC 9(08)V9(04) COMP-6 + VALUE 33525578.1235. + + 77 FLD0704A PIC 9(10)V9(07) COMP-6 + VALUE 4696322933.5995404. + 77 FLD0704B PIC 9(09)V9(14) COMP-3 + VALUE 611168884.71092423174013. + + 77 FLD0705A PIC 9(10)V9(10) COMP-6 + VALUE 5381864238.0664638569. + 77 FLD0705B PIC 9(10)V9(07) COMP-6 + VALUE 4699950479.7278301. + + 77 FLD0706A PIC 9(07)V9(22) COMP-3 + VALUE 7815442.4104873465584120140192. + 77 FLD0706B PIC S9(05)V9(01) COMP-3 + VALUE -17297.4. + + 77 FLD0707A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0707B PIC 9(10)V9(09) COMP-3 + VALUE 5129442198.407349051. + + 77 FLD0708A PIC 9(02)V9(34) COMP-3 + VALUE 95.1225570140109555339336111501324921. + 77 FLD0708B PIC 9(08)V9(04) COMP-6 + VALUE 33834894.3169. + + 77 FLD0709A PIC S9(04) COMP-3 + VALUE +1124. + 77 FLD0709B PIC 9(09)V9(05) COMP-6 + VALUE 379344826.68404. + + 77 FLD0710A PIC 9(01)V9(36) COMP-3 + VALUE 9.946833086486408515014545628218911588. + 77 FLD0710B PIC S9(09)V9(03) COMP-3 + VALUE +322996298.459. + + 77 FLD0711A PIC 9(09)V9(16) COMP-6 + VALUE 677754067.1912668512888444. + 77 FLD0711B PIC 9(02) COMP-6 + VALUE 06. + + 77 FLD0712A PIC 9(09)V9(14) COMP-3 + VALUE 610433230.32745544498567. + 77 FLD0712B PIC S9(10)V9(08) COMP-3 + VALUE -4947392148.88603839. + + 77 FLD0713A PIC S9(08)V9(03) COMP-3 + VALUE -29280564.557. + 77 FLD0713B PIC 9(07)V9(01) COMP-6 + VALUE 2168463.7. + + 77 FLD0714A PIC 9(10)V9(07) COMP-6 + VALUE 4593980567.3719869. + 77 FLD0714B PIC 9(09)V9(04) COMP-6 + VALUE 347385951.5252. + + 77 FLD0715A PIC 9(09)V9(06) COMP-6 + VALUE 406643755.503527. + 77 FLD0715B PIC 9(10)V9(10) COMP-6 + VALUE 5480282475.3098877685. + + 77 FLD0716A PIC S9(08)V9(03) COMP-3 + VALUE -29497495.128. + 77 FLD0716B PIC 9(03)V9(31) COMP-3 + VALUE 914.3056916239737930141018296126276. + + 77 FLD0717A PIC 9(05)V9(28) COMP-6 + VALUE 86936.9843469434133709228262887336. + 77 FLD0717B PIC 9(07)V9(21) COMP-6 + VALUE 7570171.861371541854879296806. + + 77 FLD0718A PIC 9(06) COMP-6 + VALUE 158746. + 77 FLD0718B PIC 9(10)V9(06) COMP-6 + VALUE 4283417063.648062. + + 77 FLD0719A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0719B PIC 9(07)V9(02) COMP-6 + VALUE 2390904.61. + + 77 FLD0720A PIC 9(03) COMP-6 + VALUE 087. + 77 FLD0720B PIC S9(09)V9(06) COMP-3 + VALUE +404886316.426392. + + 77 FLD0721A PIC S9(09)V9(03) COMP-3 + VALUE +332294869.962. + 77 FLD0721B PIC 9(07)V9(01) COMP-6 + VALUE 2285954.3. + + 77 FLD0722A PIC S9(05)V9(01) COMP-3 + VALUE -17094.9. + 77 FLD0722B PIC 9(07)V9(21) COMP-3 + VALUE 7607809.920924922808538326535. + + 77 FLD0723A PIC 9(05)V9(28) COMP-3 + VALUE 87349.0901765646254872876852459739. + 77 FLD0723B PIC 9(02) COMP-6 + VALUE 07. + + 77 FLD0724A PIC 9(09)V9(03) COMP-6 + VALUE 317474559.928. + 77 FLD0724B PIC 9(10)V9(09) COMP-6 + VALUE 5251486411.115240393. + + 77 FLD0725A PIC 9(03)V9(31) COMP-6 + VALUE 915.1169879467740964074096154945436. + 77 FLD0725B PIC S9(09)V9(07) COMP-3 + VALUE +444412819.1361023. + + 77 FLD0726A PIC 9(05) COMP-6 + VALUE 14771. + 77 FLD0726B PIC S9(09)V9(06) COMP-3 + VALUE +401835639.675800. + + 77 FLD0727A PIC 9(10)V9(10) COMP-3 + VALUE 5412169008.2113094177. + 77 FLD0727B PIC 9(09)V9(16) COMP-6 + VALUE 677439277.9021225496904889. + + 77 FLD0728A PIC 9(09)V9(07) COMP-6 + VALUE 439411444.5456123. + 77 FLD0728B PIC S9(09)V9(05) COMP-3 + VALUE -371357711.97684. + + 77 FLD0729A PIC 9(02)V9(33) COMP-6 + VALUE 94.514768998125520127473464526701718. + 77 FLD0729B PIC 9(07)V9(23) COMP-6 + VALUE 7959700.26538914909863819957536. + + 77 FLD0730A PIC 9(06)V9(25) COMP-3 + VALUE 822685.8594490329412707296796725. + 77 FLD0730B PIC 9(09)V9(14) COMP-3 + VALUE 630270988.23946403616247. + + 77 FLD0731A PIC 9(10)V9(12) COMP-3 + VALUE 5808279049.356201984011. + 77 FLD0731B PIC 9(09)V9(13) COMP-3 + VALUE 600372700.6085320949679. + + 77 FLD0732A PIC 9(03)V9(31) COMP-6 + VALUE 915.5080332184045710519626481982413. + 77 FLD0732B PIC S9(04) COMP-3 + VALUE +1229. + + 77 FLD0733A PIC 9(09)V9(03) COMP-6 + VALUE 328019305.824. + 77 FLD0733B PIC 9(09)V9(15) COMP-6 + VALUE 637621846.224700750127567. + + 77 FLD0734A PIC S9(06) COMP-3 + VALUE -164821. + 77 FLD0734B PIC 9(02) COMP-6 + VALUE 05. + + 77 FLD0735A PIC S9(06)V9(01) COMP-3 + VALUE -190229.8. + 77 FLD0735B PIC 9(09)V9(15) COMP-3 + VALUE 641899075.827484955070190. + + 77 FLD0736A PIC 9(10)V9(09) COMP-3 + VALUE 5128678158.202983894. + 77 FLD0736B PIC 9(07)V9(23) COMP-6 + VALUE 7952260.56216242538354777025233. + + 77 FLD0737A PIC S9(07)V9(02) COMP-3 + VALUE -2601084.10. + 77 FLD0737B PIC S9(07)V9(02) COMP-3 + VALUE -2623355.12. + + 77 FLD0738A PIC 9(10)V9(09) COMP-6 + VALUE 5071467647.954436275. + 77 FLD0738B PIC 9(02)V9(34) COMP-6 + VALUE 96.7470462418068333221299326396547257. + + 77 FLD0739A PIC S9(09)V9(03) COMP-3 + VALUE +324797211.447. + 77 FLD0739B PIC S9(10)V9(08) COMP-3 + VALUE -4916417996.38161292. + + 77 FLD0740A PIC S9(08)V9(03) COMP-3 + VALUE +30394739.303. + 77 FLD0740B PIC 9(05)V9(28) COMP-3 + VALUE 87461.9397808273024708114462555386. + + 77 FLD0741A PIC S9(09)V9(03) COMP-3 + VALUE +322386723.831. + 77 FLD0741B PIC S9(09)V9(03) COMP-3 + VALUE +321782512.880. + + 77 FLD0742A PIC 9(09)V9(06) COMP-6 + VALUE 419367234.713135. + 77 FLD0742B PIC S9(08)V9(03) COMP-3 + VALUE +30468212.851. + + 77 FLD0743A PIC 9(05)V9(27) COMP-6 + VALUE 85864.867305029812794003873932524. + 77 FLD0743B PIC 9(06)V9(01) COMP-6 + VALUE 209820.2. + + 77 FLD0744A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0744B PIC 9(08)V9(02) COMP-6 + VALUE 26956228.79. + + 77 FLD0745A PIC 9(01)V9(36) COMP-6 + VALUE 9.759709501186564217789509712019935250. + 77 FLD0745B PIC 9(05) COMP-6 + VALUE 13548. + + 77 FLD0746A PIC 9(10)V9(10) COMP-3 + VALUE 5435731573.3552813430. + 77 FLD0746B PIC 9(10)V9(09) COMP-3 + VALUE 5204204473.599284286. + + 77 FLD0747A PIC 9(10)V9(11) COMP-6 + VALUE 5681676571.07930934579. + 77 FLD0747B PIC 9(03)V9(31) COMP-6 + VALUE 916.9159297409485986918298294767737. + + 77 FLD0748A PIC 9(03) COMP-6 + VALUE 086. + 77 FLD0748B PIC S9(05)V9(01) COMP-3 + VALUE -18032.7. + + 77 FLD0749A PIC S9(10)V9(07) COMP-3 + VALUE -4609096560.3942379. + 77 FLD0749B PIC 9(06)V9(25) COMP-3 + VALUE 820519.2560948625368766329302161. + + 77 FLD0750A PIC 9(07)V9(22) COMP-6 + VALUE 7666736.3171436386792834127845. + 77 FLD0750B PIC 9(08)V9(04) COMP-6 + VALUE 33966692.5145. + + 77 FLD0751A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0751B PIC S9(05) COMP-3 + VALUE -15176. + + 77 FLD0752A PIC 9(02) COMP-6 + VALUE 07. + 77 FLD0752B PIC 9(03)V9(32) COMP-3 + VALUE 922.38508268330654527034084821934811. + + 77 FLD0753A PIC 9(08)V9(19) COMP-3 + VALUE 73379118.3872512742247806727. + 77 FLD0753B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0754A PIC S9(09)V9(03) COMP-3 + VALUE +322061792.108. + 77 FLD0754B PIC 9(07)V9(02) COMP-6 + VALUE 2450066.21. + + 77 FLD0755A PIC 9(06)V9(25) COMP-6 + VALUE 835592.8333445592492978448717622. + 77 FLD0755B PIC 9(10)V9(10) COMP-3 + VALUE 5346301002.0417645051. + + 77 FLD0756A PIC 9(09)V9(04) COMP-6 + VALUE 366295057.8421. + 77 FLD0756B PIC S9(05) COMP-3 + VALUE -15366. + + 77 FLD0757A PIC 9(08)V9(19) COMP-3 + VALUE 71466976.1113856494283425035. + 77 FLD0757B PIC S9(07)V9(02) COMP-3 + VALUE +2429438.31. + + 77 FLD0758A PIC 9(07)V9(01) COMP-6 + VALUE 2293699.9. + 77 FLD0758B PIC S9(06) COMP-3 + VALUE -162229. + + 77 FLD0759A PIC 9(03)V9(32) COMP-3 + VALUE 931.38963166127219928114300273591652. + 77 FLD0759B PIC 9(07)V9(21) COMP-3 + VALUE 7621303.882836163445801958005. + + 77 FLD0760A PIC 9(06)V9(01) COMP-6 + VALUE 188511.3. + 77 FLD0760B PIC 9(04)V9(30) COMP-3 + VALUE 9041.413390221895163278986728982999. + + 77 FLD0761A PIC 9(09)V9(17) COMP-3 + VALUE 690006529.44346418937726639. + 77 FLD0761B PIC 9(09)V9(14) COMP-6 + VALUE 629261290.31917010792085. + + 77 FLD0762A PIC 9(09)V9(16) COMP-3 + VALUE 671435372.9957326377686399. + 77 FLD0762B PIC 9(07)V9(02) COMP-6 + VALUE 2591343.61. + + 77 FLD0763A PIC 9(08)V9(19) COMP-3 + VALUE 71468145.3175585401638159055. + 77 FLD0763B PIC 9(06)V9(24) COMP-6 + VALUE 815545.608346078032546699887461. + + 77 FLD0764A PIC 9(10)V9(11) COMP-3 + VALUE 5535007698.50315821329. + 77 FLD0764B PIC 9(10)V9(08) COMP-6 + VALUE 4979398183.62831021. + + 77 FLD0765A PIC 9(04)V9(29) COMP-6 + VALUE 8855.80582773889624093044403707608. + 77 FLD0765B PIC S9(04) COMP-3 + VALUE +1212. + + 77 FLD0766A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0766B PIC 9(07)V9(01) COMP-6 + VALUE 2294943.2. + + 77 FLD0767A PIC S9(10)V9(08) COMP-3 + VALUE -4848285740.27346248. + 77 FLD0767B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0768A PIC 9(09)V9(17) COMP-3 + VALUE 684230789.92735519854306858. + 77 FLD0768B PIC S9(02) COMP-3 + VALUE -07. + + 77 FLD0769A PIC 9(07)V9(02) COMP-6 + VALUE 2565731.27. + 77 FLD0769B PIC 9(09)V9(04) COMP-6 + VALUE 356094054.4649. + + 77 FLD0770A PIC 9(09)V9(12) COMP-3 + VALUE 574214303.174467532997. + 77 FLD0770B PIC 9(10)V9(13) COMP-6 + VALUE 6057194691.9895736094474. + + 77 FLD0771A PIC 9(08)V9(18) COMP-6 + VALUE 69721614.519732855175249142. + 77 FLD0771B PIC 9(09)V9(17) COMP-3 + VALUE 690190375.47148320843604096. + + 77 FLD0772A PIC 9(10)V9(08) COMP-6 + VALUE 4868623585.10471993. + 77 FLD0772B PIC 9(10)V9(05) COMP-6 + VALUE 3959689116.24786. + + 77 FLD0773A PIC S9(07)V9(01) COMP-3 + VALUE +2339835.9. + 77 FLD0773B PIC 9(03)V9(32) COMP-3 + VALUE 931.93997423560348547511011929600499. + + 77 FLD0774A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0774B PIC S9(07)V9(02) COMP-3 + VALUE +2425891.04. + + 77 FLD0775A PIC 9(09)V9(06) COMP-6 + VALUE 418947899.183504. + 77 FLD0775B PIC 9(03)V9(32) COMP-3 + VALUE 930.87735098341006789723905967548489. + + 77 FLD0776A PIC 9(09)V9(06) COMP-6 + VALUE 418950765.017868. + 77 FLD0776B PIC 9(05)V9(27) COMP-6 + VALUE 84781.081485203291236985023715533. + + 77 FLD0777A PIC S9(08)V9(03) COMP-3 + VALUE +31438250.184. + 77 FLD0777B PIC 9(10)V9(11) COMP-3 + VALUE 5606560858.83416754889. + + 77 FLD0778A PIC S9(06)V9(01) COMP-3 + VALUE -192739.4. + 77 FLD0778B PIC 9(03)V9(31) COMP-6 + VALUE 916.8465464730475300569878527312539. + + 77 FLD0779A PIC 9(04)V9(30) COMP-3 + VALUE 9029.333248069044692840634525055065. + 77 FLD0779B PIC S9(10)V9(08) COMP-3 + VALUE -4740907582.59428035. + + 77 FLD0780A PIC 9(09)V9(03) COMP-6 + VALUE 318241207.749. + 77 FLD0780B PIC 9(06)V9(25) COMP-3 + VALUE 822759.6235369002419801631731388. + + 77 FLD0781A PIC 9(10)V9(08) COMP-6 + VALUE 4967153543.73054196. + 77 FLD0781B PIC 9(08)V9(03) COMP-6 + VALUE 29720911.669. + + 77 FLD0782A PIC 9(05) COMP-6 + VALUE 13793. + 77 FLD0782B PIC 9(02)V9(34) COMP-6 + VALUE 95.5158015091007617236584792408393695. + + 77 FLD0783A PIC 9(04)V9(29) COMP-3 + VALUE 8813.39219378433402773964644438819. + 77 FLD0783B PIC S9(10)V9(06) COMP-3 + VALUE +4236433759.282261. + + 77 FLD0784A PIC 9(09)V9(15) COMP-3 + VALUE 641964802.793786426526878. + 77 FLD0784B PIC 9(06)V9(25) COMP-3 + VALUE 824637.3935062285553954097849782. + + 77 FLD0785A PIC 9(08)V9(17) COMP-3 + VALUE 68097654.34600172362422654. + 77 FLD0785B PIC 9(09)V9(03) COMP-6 + VALUE 325202869.704. + + 77 FLD0786A PIC 9(01)V9(36) COMP-3 + VALUE 9.820249933224565186407062356011010706. + 77 FLD0786B PIC 9(05)V9(27) COMP-3 + VALUE 85417.725929538756979297886573476. + + 77 FLD0787A PIC 9(10)V9(11) COMP-6 + VALUE 5592847098.07636559730. + 77 FLD0787B PIC 9(06)V9(01) COMP-6 + VALUE 199330.4. + + 77 FLD0788A PIC 9(02)V9(34) COMP-6 + VALUE 95.6557531637097668841818176588276401. + 77 FLD0788B PIC 9(07)V9(22) COMP-6 + VALUE 7789929.3063459995600794627534. + + 77 FLD0789A PIC S9(05)V9(01) COMP-3 + VALUE -17101.7. + 77 FLD0789B PIC 9(09)V9(16) COMP-3 + VALUE 660444958.2132847496040994. + + 77 FLD0790A PIC 9(07)V9(02) COMP-6 + VALUE 2384369.54. + 77 FLD0790B PIC S9(08)V9(03) COMP-3 + VALUE -29309999.122. + + 77 FLD0791A PIC 9(03) COMP-6 + VALUE 088. + 77 FLD0791B PIC 9(08)V9(20) COMP-6 + VALUE 73827325.48868294886190710712. + + 77 FLD0792A PIC 9(02)V9(34) COMP-6 + VALUE 95.5230059106088935649836457741912454. + 77 FLD0792B PIC 9(09)V9(05) COMP-6 + VALUE 379824535.06313. + + 77 FLD0793A PIC 9(06)V9(01) COMP-6 + VALUE 199221.9. + 77 FLD0793B PIC 9(10)V9(11) COMP-6 + VALUE 5591577156.30166807230. + + 77 FLD0794A PIC S9(08)V9(04) COMP-3 + VALUE +33437009.5807. + 77 FLD0794B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0795A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0795B PIC S9(08)V9(04) COMP-3 + VALUE +33494400.6958. + + 77 FLD0796A PIC 9(07)V9(21) COMP-6 + VALUE 7565685.006144580171394409262. + 77 FLD0796B PIC 9(08)V9(19) COMP-6 + VALUE 72949831.5977354816475042298. + + 77 FLD0797A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0797B PIC 9(09)V9(04) COMP-6 + VALUE 348777486.0252. + + 77 FLD0798A PIC S9(09)V9(03) COMP-3 + VALUE +332243375.906. + 77 FLD0798B PIC 9(09)V9(16) COMP-3 + VALUE 673821443.1439371043808250. + + 77 FLD0799A PIC 9(09)V9(17) COMP-3 + VALUE 690866271.33683375934225523. + 77 FLD0799B PIC 9(09)V9(11) COMP-3 + VALUE 551526790.74963362193. + + 77 FLD0800A PIC 9(08)V9(18) COMP-3 + VALUE 70036112.416705975647346349. + 77 FLD0800B PIC 9(08)V9(02) COMP-6 + VALUE 26662512.18. + + 77 FLD0801A PIC S9(09)V9(07) COMP-3 + VALUE +443093279.8052367. + 77 FLD0801B PIC 9(01)V9(36) COMP-3 + VALUE 9.827967002397862694706986985693220049. + + 77 FLD0802A PIC S9(07)V9(02) COMP-3 + VALUE +2449505.23. + 77 FLD0802B PIC 9(04)V9(29) COMP-3 + VALUE 8911.32090012832223102634543465683. + + 77 FLD0803A PIC S9(05)V9(01) COMP-3 + VALUE -17467.0. + 77 FLD0803B PIC 9(10)V9(11) COMP-6 + VALUE 5556247901.99399698487. + + 77 FLD0804A PIC 9(07)V9(02) COMP-6 + VALUE 2599541.84. + 77 FLD0804B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0805A PIC 9(07)V9(01) COMP-6 + VALUE 2358341.0. + 77 FLD0805B PIC 9(10)V9(08) COMP-6 + VALUE 4796323563.66873291. + + 77 FLD0806A PIC 9(10)V9(11) COMP-3 + VALUE 5703927562.80738821850. + 77 FLD0806B PIC 9(09)V9(07) COMP-6 + VALUE 445849105.9648416. + + 77 FLD0807A PIC 9(09)V9(17) COMP-6 + VALUE 689326682.16034242991696601. + 77 FLD0807B PIC S9(03) COMP-3 + VALUE -090. + + 77 FLD0808A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0808B PIC 9(10)V9(07) COMP-6 + VALUE 4574455047.5690953. + + 77 FLD0809A PIC 9(05)V9(28) COMP-6 + VALUE 86873.4196996681751201663246320094. + 77 FLD0809B PIC S9(09)V9(07) COMP-3 + VALUE +440334288.3961999. + + 77 FLD0810A PIC S9(04) COMP-3 + VALUE +1129. + 77 FLD0810B PIC S9(07)V9(01) COMP-3 + VALUE +2130584.0. + + 77 FLD0811A PIC 9(09)V9(15) COMP-6 + VALUE 648943185.643321429623142. + 77 FLD0811B PIC 9(01)V9(36) COMP-3 + VALUE 9.811592432324195423021251372119877487. + + 77 FLD0812A PIC S9(08)V9(03) COMP-3 + VALUE -29270905.795. + 77 FLD0812B PIC 9(08)V9(02) COMP-6 + VALUE 27514068.39. + + 77 FLD0813A PIC 9(10)V9(08) COMP-6 + VALUE 4881724662.84412076. + 77 FLD0813B PIC S9(08)V9(03) COMP-3 + VALUE -29113136.400. + + 77 FLD0814A PIC S9(02) COMP-3 + VALUE -07. + 77 FLD0814B PIC 9(07)V9(21) COMP-3 + VALUE 7525112.595496631362479433846. + + 77 FLD0815A PIC 9(06)V9(25) COMP-6 + VALUE 838676.0467962863785373883729334. + 77 FLD0815B PIC 9(02)V9(34) COMP-3 + VALUE 95.3836598694868031955707010638434439. + + 77 FLD0816A PIC 9(08)V9(18) COMP-6 + VALUE 70774184.783492177786001775. + 77 FLD0816B PIC 9(04)V9(29) COMP-6 + VALUE 8859.15144904112161761133847903693. + + 77 FLD0817A PIC 9(10)V9(09) COMP-6 + VALUE 5163345142.860672476. + 77 FLD0817B PIC 9(10)V9(09) COMP-6 + VALUE 5158922133.304477686. + + 77 FLD0818A PIC 9(08)V9(03) COMP-6 + VALUE 30586164.664. + 77 FLD0818B PIC 9(08)V9(19) COMP-6 + VALUE 71565910.0751609544843745425. + + 77 FLD0819A PIC 9(01)V9(36) COMP-3 + VALUE 9.844708607145921108738662042014766484. + 77 FLD0819B PIC S9(03) COMP-3 + VALUE -092. + + 77 FLD0820A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0820B PIC 9(02)V9(34) COMP-6 + VALUE 95.6537139953218984445015848905313760. + + 77 FLD0821A PIC 9(09)V9(11) COMP-3 + VALUE 550576956.44832715942. + 77 FLD0821B PIC S9(09)V9(05) COMP-3 + VALUE -383656536.39422. + + 77 FLD0822A PIC S9(05) COMP-3 + VALUE +14037. + 77 FLD0822B PIC 9(04) COMP-6 + VALUE 1092. + + 77 FLD0823A PIC 9(08)V9(20) COMP-6 + VALUE 73880168.20028298070610617287. + 77 FLD0823B PIC S9(09)V9(06) COMP-3 + VALUE +410430433.569272. + + 77 FLD0824A PIC 9(10)V9(10) COMP-6 + VALUE 5351534260.3280557920. + 77 FLD0824B PIC 9(09)V9(14) COMP-6 + VALUE 619637811.24301098301998. + + 77 FLD0825A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0825B PIC S9(05)V9(01) COMP-3 + VALUE -17069.2. + + 77 FLD0826A PIC S9(06)V9(01) COMP-3 + VALUE -190786.5. + 77 FLD0826B PIC S9(10)V9(08) COMP-3 + VALUE -4805976358.59735916. + + 77 FLD0827A PIC 9(07)V9(22) COMP-6 + VALUE 7763847.1978375678261841130733. + 77 FLD0827B PIC 9(10)V9(07) COMP-6 + VALUE 4683286251.1747114. + + 77 FLD0828A PIC S9(10)V9(07) COMP-3 + VALUE -4530916009.2405642. + 77 FLD0828B PIC S9(05) COMP-3 + VALUE -15016. + + 77 FLD0829A PIC 9(09)V9(17) COMP-3 + VALUE 691486534.21926165041355716. + 77 FLD0829B PIC 9(07)V9(23) COMP-6 + VALUE 7963194.44710118728991687930829. + + 77 FLD0830A PIC 9(04)V9(30) COMP-6 + VALUE 8965.722935126121395654763546190224. + 77 FLD0830B PIC 9(10)V9(11) COMP-6 + VALUE 5655358049.53465004452. + + 77 FLD0831A PIC 9(04)V9(30) COMP-6 + VALUE 8956.555580996397036841472072410397. + 77 FLD0831B PIC 9(09)V9(16) COMP-3 + VALUE 660284490.9595845246386147. + + 77 FLD0832A PIC 9(04) COMP-6 + VALUE 1185. + 77 FLD0832B PIC 9(09)V9(06) COMP-6 + VALUE 419049138.539795. + + 77 FLD0833A PIC 9(06)V9(24) COMP-3 + VALUE 804859.798300300854911881742737. + 77 FLD0833B PIC 9(09)V9(16) COMP-3 + VALUE 664990588.4825918489511309. + + 77 FLD0834A PIC 9(09)V9(04) COMP-6 + VALUE 349209744.2881. + 77 FLD0834B PIC 9(08)V9(19) COMP-3 + VALUE 71191898.1740956136050613167. + + 77 FLD0835A PIC 9(08)V9(19) COMP-3 + VALUE 71178359.2779248075466114187. + 77 FLD0835B PIC 9(07)V9(22) COMP-6 + VALUE 7891261.8513661014763016510187. + + 77 FLD0836A PIC 9(09)V9(07) COMP-6 + VALUE 446141389.3412962. + 77 FLD0836B PIC 9(09)V9(13) COMP-3 + VALUE 594066179.3005866941896. + + 77 FLD0837A PIC 9(04)V9(30) COMP-6 + VALUE 8982.008694278872384941792006429750. + 77 FLD0837B PIC S9(08)V9(03) COMP-3 + VALUE -29146758.519. + + 77 FLD0838A PIC 9(10)V9(12) COMP-6 + VALUE 5873188106.793812979233. + 77 FLD0838B PIC 9(07)V9(22) COMP-3 + VALUE 7748686.2151072521953665273031. + + 77 FLD0839A PIC 9(08)V9(19) COMP-3 + VALUE 71324671.8649382605015318858. + 77 FLD0839B PIC 9(06)V9(01) COMP-6 + VALUE 205379.6. + + 77 FLD0840A PIC S9(03) COMP-3 + VALUE -094. + 77 FLD0840B PIC 9(04) COMP-6 + VALUE 1059. + + 77 FLD0841A PIC 9(08)V9(18) COMP-3 + VALUE 70179428.042996372383299785. + 77 FLD0841B PIC 9(06)V9(24) COMP-3 + VALUE 813553.693586876014443021176703. + + 77 FLD0842A PIC 9(09)V9(16) COMP-3 + VALUE 661649948.5739699704112126. + 77 FLD0842B PIC 9(02)V9(33) COMP-6 + VALUE 94.543261545044898763734408930758945. + + 77 FLD0843A PIC 9(06)V9(25) COMP-6 + VALUE 818928.0761087860405211813485948. + 77 FLD0843B PIC S9(08)V9(03) COMP-3 + VALUE +30347988.647. + + 77 FLD0844A PIC 9(07)V9(22) COMP-6 + VALUE 7754458.9142564990247308287507. + 77 FLD0844B PIC 9(10)V9(07) COMP-6 + VALUE 4487113046.2525055. + + 77 FLD0845A PIC 9(10)V9(12) COMP-3 + VALUE 5903835745.060688200425. + 77 FLD0845B PIC 9(09)V9(15) COMP-3 + VALUE 651184321.418812994686220. + + 77 FLD0846A PIC 9(08)V9(03) COMP-6 + VALUE 29802576.878. + 77 FLD0846B PIC 9(10)V9(07) COMP-6 + VALUE 4580030325.9646085. + + 77 FLD0847A PIC 9(05)V9(26) COMP-3 + VALUE 84041.42690564196938041163775778. + 77 FLD0847B PIC 9(08)V9(03) COMP-6 + VALUE 29618694.346. + + 77 FLD0848A PIC 9(07)V9(23) COMP-3 + VALUE 7949747.62786875510656159349309. + 77 FLD0848B PIC 9(08)V9(19) COMP-3 + VALUE 71130247.7845018432667245633. + + 77 FLD0849A PIC 9(09)V9(13) COMP-6 + VALUE 595598045.8961575019216. + 77 FLD0849B PIC 9(07)V9(21) COMP-3 + VALUE 7527838.155592773139446194363. + + 77 FLD0850A PIC 9(09)V9(06) COMP-6 + VALUE 418716850.605351. + 77 FLD0850B PIC 9(09)V9(15) COMP-3 + VALUE 631787055.454641532925563. + + 77 FLD0851A PIC S9(03) COMP-3 + VALUE -082. + 77 FLD0851B PIC 9(07)V9(01) COMP-6 + VALUE 2252059.3. + + 77 FLD0852A PIC 9(10)V9(11) COMP-3 + VALUE 5643399909.75319838462. + 77 FLD0852B PIC 9(08)V9(02) COMP-6 + VALUE 28682579.88. + + 77 FLD0853A PIC 9(06)V9(24) COMP-3 + VALUE 801200.590406665469345171004533. + 77 FLD0853B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0854A PIC 9(01)V9(35) COMP-3 + VALUE 9.72377885073923198255840816273121163. + 77 FLD0854B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0855A PIC 9(08)V9(19) COMP-6 + VALUE 73562901.0042854747375429269. + 77 FLD0855B PIC 9(05)V9(01) COMP-6 + VALUE 16705.4. + + 77 FLD0856A PIC 9(09)V9(04) COMP-6 + VALUE 356144099.6704. + 77 FLD0856B PIC S9(05) COMP-3 + VALUE +13257. + + 77 FLD0857A PIC 9(03)V9(31) COMP-6 + VALUE 915.3286634102202334872799838194623. + 77 FLD0857B PIC S9(02) COMP-3 + VALUE -05. + + 77 FLD0858A PIC 9(10)V9(11) COMP-6 + VALUE 5560594458.08950059131. + 77 FLD0858B PIC 9(08)V9(03) COMP-6 + VALUE 30966624.473. + + 77 FLD0859A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0859B PIC 9(02)V9(34) COMP-3 + VALUE 97.1628168143447767945986015547532588. + + 77 FLD0860A PIC 9(07)V9(02) COMP-6 + VALUE 2576407.94. + 77 FLD0860B PIC 9(08)V9(04) COMP-6 + VALUE 33654706.3315. + + 77 FLD0861A PIC S9(10)V9(07) COMP-3 + VALUE -4605509961.3842453. + 77 FLD0861B PIC 9(04) COMP-6 + VALUE 1091. + + 77 FLD0862A PIC 9(07)V9(22) COMP-6 + VALUE 7652464.2157409383802502134130. + 77 FLD0862B PIC 9(09)V9(12) COMP-6 + VALUE 576630833.581719182134. + + 77 FLD0863A PIC 9(05)V9(27) COMP-3 + VALUE 85070.091557533766835064170663827. + 77 FLD0863B PIC 9(10)V9(09) COMP-6 + VALUE 5171260723.603198217. + + 77 FLD0864A PIC 9(10)V9(11) COMP-3 + VALUE 5711242885.34377577697. + 77 FLD0864B PIC 9(04)V9(29) COMP-6 + VALUE 8791.30787212824560405977081245509. + + 77 FLD0865A PIC 9(06)V9(24) COMP-6 + VALUE 807409.725415061507725056344497. + 77 FLD0865B PIC S9(03) COMP-3 + VALUE -082. + + 77 FLD0866A PIC 9(09)V9(05) COMP-6 + VALUE 376060050.51851. + 77 FLD0866B PIC 9(04)V9(30) COMP-6 + VALUE 9076.867019798932068042063292523380. + + 77 FLD0867A PIC S9(05) COMP-3 + VALUE +14084. + 77 FLD0867B PIC 9(08)V9(19) COMP-6 + VALUE 72879777.6966572774526298417. + + 77 FLD0868A PIC 9(07)V9(22) COMP-3 + VALUE 7648419.8420910554094831468319. + 77 FLD0868B PIC 9(10)V9(12) COMP-3 + VALUE 5849128371.667725589944. + + 77 FLD0869A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0869B PIC 9(08)V9(17) COMP-3 + VALUE 68157822.06919422936408636. + + 77 FLD0870A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0870B PIC 9(09)V9(15) COMP-6 + VALUE 657570531.523696821807334. + + 77 FLD0871A PIC 9(09)V9(14) COMP-6 + VALUE 609764683.38536315982878. + 77 FLD0871B PIC 9(10)V9(09) COMP-3 + VALUE 5134836781.377033476. + + 77 FLD0872A PIC 9(04)V9(29) COMP-3 + VALUE 8816.31176263962479389135751262074. + 77 FLD0872B PIC 9(10)V9(07) COMP-6 + VALUE 4591409950.7884903. + + 77 FLD0873A PIC 9(07)V9(21) COMP-6 + VALUE 7561255.223942077163812314211. + 77 FLD0873B PIC 9(05) COMP-6 + VALUE 15597. + + 77 FLD0874A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0874B PIC 9(06)V9(01) COMP-6 + VALUE 188106.3. + + 77 FLD0875A PIC S9(06)V9(01) COMP-3 + VALUE +204126.0. + 77 FLD0875B PIC 9(02) COMP-6 + VALUE 06. + + 77 FLD0876A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0876B PIC 9(07)V9(23) COMP-3 + VALUE 7928238.87607293276147402139031. + + 77 FLD0877A PIC 9(08)V9(18) COMP-6 + VALUE 69924605.886404200827399790. + 77 FLD0877B PIC 9(09)V9(15) COMP-3 + VALUE 651975862.412979334514773. + + 77 FLD0878A PIC 9(07)V9(22) COMP-3 + VALUE 7831260.9220719830993573395971. + 77 FLD0878B PIC 9(04)V9(29) COMP-3 + VALUE 8832.64528360225620318146866338793. + + 77 FLD0879A PIC 9(07)V9(02) COMP-6 + VALUE 2371533.81. + 77 FLD0879B PIC 9(05)V9(27) COMP-3 + VALUE 85230.962794591269560129376259283. + + 77 FLD0880A PIC S9(10)V9(06) COMP-3 + VALUE +4237732309.742536. + 77 FLD0880B PIC 9(05)V9(26) COMP-6 + VALUE 83915.37539577657023315282458497. + + 77 FLD0881A PIC 9(10)V9(11) COMP-6 + VALUE 5571129514.90407404264. + 77 FLD0881B PIC S9(09)V9(04) COMP-3 + VALUE -360610120.1846. + + 77 FLD0882A PIC 9(10)V9(12) COMP-6 + VALUE 5888713345.878072713546. + 77 FLD0882B PIC 9(09)V9(16) COMP-6 + VALUE 677832951.8186110291821933. + + 77 FLD0883A PIC 9(09)V9(16) COMP-3 + VALUE 672192258.1526228457349247. + 77 FLD0883B PIC 9(07)V9(21) COMP-6 + VALUE 7561874.624389478549701948395. + + 77 FLD0884A PIC 9(10)V9(08) COMP-6 + VALUE 4954020911.85092596. + 77 FLD0884B PIC 9(07)V9(21) COMP-3 + VALUE 7530519.818486510752464369033. + + 77 FLD0885A PIC S9(05) COMP-3 + VALUE +13360. + 77 FLD0885B PIC S9(05) COMP-3 + VALUE -15432. + + 77 FLD0886A PIC S9(09)V9(05) COMP-3 + VALUE -374529584.88504. + 77 FLD0886B PIC S9(09)V9(05) COMP-3 + VALUE -380480275.58811. + + 77 FLD0887A PIC S9(07)V9(01) COMP-3 + VALUE +2114795.5. + 77 FLD0887B PIC 9(06)V9(25) COMP-6 + VALUE 815821.3018675709582439026235078. + + 77 FLD0888A PIC 9(08)V9(19) COMP-6 + VALUE 73580519.1914812417586233550. + 77 FLD0888B PIC 9(07)V9(02) COMP-6 + VALUE 2394446.18. + + 77 FLD0889A PIC S9(05) COMP-3 + VALUE -15225. + 77 FLD0889B PIC 9(02)V9(34) COMP-3 + VALUE 96.3719675610497206186266794247785583. + + 77 FLD0890A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0890B PIC 9(08)V9(19) COMP-3 + VALUE 72161358.3480198661490589984. + + 77 FLD0891A PIC 9(02)V9(34) COMP-6 + VALUE 95.7956124985634538404610793804749846. + 77 FLD0891B PIC 9(08)V9(19) COMP-6 + VALUE 73526985.6204998628612656830. + + 77 FLD0892A PIC 9(10)V9(09) COMP-6 + VALUE 5079027644.377075434. + 77 FLD0892B PIC 9(03) COMP-6 + VALUE 088. + + 77 FLD0893A PIC 9(10)V9(12) COMP-3 + VALUE 5900775083.003402254888. + 77 FLD0893B PIC 9(02) COMP-6 + VALUE 07. + + 77 FLD0894A PIC 9(06)V9(25) COMP-6 + VALUE 819872.1409522375935807758651208. + 77 FLD0894B PIC 9(09)V9(15) COMP-6 + VALUE 655129000.141700390535959. + + 77 FLD0895A PIC 9(10)V9(09) COMP-6 + VALUE 5099949658.575000377. + 77 FLD0895B PIC 9(08)V9(02) COMP-6 + VALUE 28944204.51. + + 77 FLD0896A PIC 9(10)V9(07) COMP-6 + VALUE 4576511370.6787369. + 77 FLD0896B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0897A PIC 9(01)V9(36) COMP-6 + VALUE 9.997543976245016894566219889384228736. + 77 FLD0897B PIC S9(09)V9(07) COMP-3 + VALUE +440492210.0858147. + + 77 FLD0898A PIC 9(09)V9(05) COMP-6 + VALUE 378033726.09171. + 77 FLD0898B PIC 9(06)V9(01) COMP-6 + VALUE 199374.1. + + 77 FLD0899A PIC 9(08)V9(20) COMP-6 + VALUE 74918436.40783237834313013081. + 77 FLD0899B PIC 9(09)V9(07) COMP-6 + VALUE 438142184.6749312. + + 77 FLD0900A PIC 9(03)V9(32) COMP-6 + VALUE 929.41329164379282712360463847289793. + 77 FLD0900B PIC 9(06)V9(01) COMP-6 + VALUE 185639.8. + + 77 FLD0901A PIC 9(10)V9(07) COMP-6 + VALUE 4563598931.5070740. + 77 FLD0901B PIC 9(01)V9(36) COMP-6 + VALUE 9.782322298369796609307513790554367005. + + 77 FLD0902A PIC 9(05)V9(28) COMP-3 + VALUE 87405.6741908566081633580324705690. + 77 FLD0902B PIC 9(10)V9(09) COMP-3 + VALUE 5131137190.755751253. + + 77 FLD0903A PIC 9(08)V9(02) COMP-6 + VALUE 28616952.10. + 77 FLD0903B PIC S9(02) COMP-3 + VALUE -06. + + 77 FLD0904A PIC S9(04) COMP-3 + VALUE +1137. + 77 FLD0904B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0905A PIC 9(09)V9(04) COMP-6 + VALUE 357938124.4724. + 77 FLD0905B PIC 9(09)V9(04) COMP-6 + VALUE 349599231.9688. + + 77 FLD0906A PIC 9(09)V9(16) COMP-6 + VALUE 669388906.6218295935684068. + 77 FLD0906B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0907A PIC S9(09)V9(05) COMP-3 + VALUE -390800584.69506. + 77 FLD0907B PIC 9(10)V9(11) COMP-6 + VALUE 5692874702.16027324809. + + 77 FLD0908A PIC S9(10)V9(06) COMP-3 + VALUE +4306350776.286586. + 77 FLD0908B PIC 9(03)V9(31) COMP-3 + VALUE 912.0472776451683527554337160836439. + + 77 FLD0909A PIC 9(08)V9(03) COMP-6 + VALUE 30663800.453. + 77 FLD0909B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0910A PIC S9(06)V9(01) COMP-3 + VALUE -193158.9. + 77 FLD0910B PIC 9(04)V9(30) COMP-6 + VALUE 9098.433765600096867487422969134058. + + 77 FLD0911A PIC S9(10)V9(07) COMP-3 + VALUE -4611964452.0728980. + 77 FLD0911B PIC 9(08)V9(20) COMP-3 + VALUE 74305071.04102702653491974160. + + 77 FLD0912A PIC 9(10)V9(09) COMP-3 + VALUE 5000191930.396378214. + 77 FLD0912B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0913A PIC S9(04) COMP-3 + VALUE +1246. + 77 FLD0913B PIC 9(03) COMP-6 + VALUE 079. + + 77 FLD0914A PIC 9(03)V9(31) COMP-6 + VALUE 917.2012666333545505281676923914346. + 77 FLD0914B PIC 9(01)V9(36) COMP-3 + VALUE 9.801144784183424274459639491396956145. + + 77 FLD0915A PIC 9(08)V9(20) COMP-6 + VALUE 74750906.49492384109464637731. + 77 FLD0915B PIC S9(04) COMP-3 + VALUE +1130. + + 77 FLD0916A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0916B PIC 9(10)V9(06) COMP-6 + VALUE 4372777685.598984. + + 77 FLD0917A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0917B PIC 9(04) COMP-6 + VALUE 1084. + + 77 FLD0918A PIC 9(04) COMP-6 + VALUE 1059. + 77 FLD0918B PIC 9(10)V9(11) COMP-6 + VALUE 5693106161.94893204244. + + 77 FLD0919A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0919B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0920A PIC S9(05)V9(01) COMP-3 + VALUE -17474.9. + 77 FLD0920B PIC 9(09)V9(16) COMP-6 + VALUE 669843285.3658151664433262. + + 77 FLD0921A PIC 9(10)V9(10) COMP-6 + VALUE 5463494999.0456427304. + 77 FLD0921B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0922A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0922B PIC S9(05)V9(01) COMP-3 + VALUE -18331.8. + + 77 FLD0923A PIC 9(06) COMP-6 + VALUE 159582. + 77 FLD0923B PIC S9(04) COMP-3 + VALUE +1310. + + 77 FLD0924A PIC 9(10)V9(11) COMP-6 + VALUE 5650505738.70210182114. + 77 FLD0924B PIC 9(06)V9(25) COMP-3 + VALUE 830413.4742864166529585645548650. + + 77 FLD0925A PIC S9(04) COMP-3 + VALUE +1236. + 77 FLD0925B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0926A PIC 9(08)V9(18) COMP-6 + VALUE 69535643.175280814620720093. + 77 FLD0926B PIC S9(07)V9(02) COMP-3 + VALUE -2533128.95. + + 77 FLD0927A PIC 9(06)V9(24) COMP-3 + VALUE 800954.558131814597921049880824. + 77 FLD0927B PIC 9(10)V9(09) COMP-3 + VALUE 5121064754.192180545. + + 77 FLD0928A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0928B PIC 9(07)V9(02) COMP-6 + VALUE 2551694.92. + + 77 FLD0929A PIC 9(05)V9(28) COMP-3 + VALUE 87174.0739403786824013309342262800. + 77 FLD0929B PIC 9(08)V9(19) COMP-3 + VALUE 71306594.2354483839338286088. + + 77 FLD0930A PIC 9(01)V9(36) COMP-3 + VALUE 9.911281003002671008417223674769047647. + 77 FLD0930B PIC 9(09)V9(13) COMP-3 + VALUE 591594874.8305130955316. + + 77 FLD0931A PIC 9(09)V9(12) COMP-3 + VALUE 573747057.720371378408. + 77 FLD0931B PIC S9(07)V9(02) COMP-3 + VALUE -2503283.13. + + 77 FLD0932A PIC 9(10)V9(09) COMP-6 + VALUE 5079506475.355934913. + 77 FLD0932B PIC 9(10)V9(09) COMP-6 + VALUE 5196217943.575858200. + + 77 FLD0933A PIC 9(07)V9(22) COMP-6 + VALUE 7776883.1704294028028812135744. + 77 FLD0933B PIC 9(09)V9(03) COMP-6 + VALUE 328435728.864. + + 77 FLD0934A PIC 9(05)V9(01) COMP-6 + VALUE 16899.6. + 77 FLD0934B PIC 9(07)V9(02) COMP-6 + VALUE 2394400.51. + + 77 FLD0935A PIC 9(05)V9(01) COMP-6 + VALUE 16691.2. + 77 FLD0935B PIC 9(10)V9(08) COMP-6 + VALUE 4853829665.64275264. + + 77 FLD0936A PIC 9(08)V9(03) COMP-6 + VALUE 29560937.131. + 77 FLD0936B PIC 9(02)V9(34) COMP-3 + VALUE 95.2998853185021421730027668672846630. + + 77 FLD0937A PIC 9(02)V9(33) COMP-3 + VALUE 94.462893191714936147462822191300801. + 77 FLD0937B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0938A PIC 9(09)V9(12) COMP-6 + VALUE 578242437.999430092254. + 77 FLD0938B PIC 9(08)V9(18) COMP-6 + VALUE 70721875.972746128802270959. + + 77 FLD0939A PIC 9(10)V9(13) COMP-6 + VALUE 6084884727.3780637401330. + 77 FLD0939B PIC S9(01) COMP-3 + VALUE -0. + + 77 FLD0940A PIC 9(09)V9(12) COMP-6 + VALUE 577997061.609985873786. + 77 FLD0940B PIC 9(10)V9(08) COMP-6 + VALUE 4780052522.48498546. + + 77 FLD0941A PIC 9(09)V9(16) COMP-3 + VALUE 670449367.9367865555107641. + 77 FLD0941B PIC 9(09)V9(04) COMP-6 + VALUE 345028332.3540. + + 77 FLD0942A PIC 9(10)V9(10) COMP-3 + VALUE 5309347867.8071082121. + 77 FLD0942B PIC 9(03)V9(32) COMP-3 + VALUE 922.70492697630424050458941565011627. + + 77 FLD0943A PIC S9(09)V9(03) COMP-3 + VALUE +323766798.919. + 77 FLD0943B PIC S9(06)V9(01) COMP-3 + VALUE +203018.6. + + 77 FLD0944A PIC 9(02)V9(34) COMP-6 + VALUE 95.7363239628727824559462078468641266. + 77 FLD0944B PIC S9(07)V9(02) COMP-3 + VALUE -2600465.21. + + 77 FLD0945A PIC 9(10)V9(10) COMP-3 + VALUE 5427766423.1255295934. + 77 FLD0945B PIC S9(10)V9(06) COMP-3 + VALUE +4211785767.712989. + + 77 FLD0946A PIC S9(07)V9(02) COMP-3 + VALUE -2603132.30. + 77 FLD0946B PIC 9(02)V9(34) COMP-3 + VALUE 96.2407519811451561686510558502050116. + + 77 FLD0947A PIC 9(05)V9(27) COMP-6 + VALUE 85846.989065825540787812997223227. + 77 FLD0947B PIC 9(09)V9(16) COMP-3 + VALUE 671942080.3697424560141371. + + 77 FLD0948A PIC 9(04) COMP-6 + VALUE 1058. + 77 FLD0948B PIC 9(07)V9(21) COMP-6 + VALUE 7582594.805549627281493485497. + + 77 FLD0949A PIC S9(10)V9(06) COMP-3 + VALUE +4307044196.647341. + 77 FLD0949B PIC 9(10)V9(07) COMP-6 + VALUE 4670230467.6696332. + + 77 FLD0950A PIC 9(09)V9(14) COMP-3 + VALUE 614898523.03850200954116. + 77 FLD0950B PIC 9(04)V9(30) COMP-6 + VALUE 9056.465512238127679722765606129541. + + 77 FLD0951A PIC S9(08)V9(03) COMP-3 + VALUE +31116955.475. + 77 FLD0951B PIC 9(08)V9(20) COMP-6 + VALUE 74599134.92992847894313968026. + + 77 FLD0952A PIC 9(09)V9(03) COMP-6 + VALUE 315844571.317. + 77 FLD0952B PIC 9(02) COMP-6 + VALUE 06. + + 77 FLD0953A PIC 9(06) COMP-6 + VALUE 166635. + 77 FLD0953B PIC 9(10)V9(09) COMP-6 + VALUE 5187782319.462912461. + + 77 FLD0954A PIC 9(10)V9(11) COMP-6 + VALUE 5577123049.60128579800. + 77 FLD0954B PIC 9(02)V9(34) COMP-3 + VALUE 97.0603521071659591790137255884474143. + + 77 FLD0955A PIC S9(08)V9(02) COMP-3 + VALUE -27357789.23. + 77 FLD0955B PIC 9(06)V9(25) COMP-3 + VALUE 823687.4590304759102821208216482. + + 77 FLD0956A PIC S9(08)V9(02) COMP-3 + VALUE -27355040.84. + 77 FLD0956B PIC 9(08)V9(18) COMP-3 + VALUE 70029518.862281070479269828. + + 77 FLD0957A PIC 9(09)V9(15) COMP-6 + VALUE 637627083.330792543414133. + 77 FLD0957B PIC S9(04) COMP-3 + VALUE +1212. + + 77 FLD0958A PIC S9(08)V9(03) COMP-3 + VALUE -29370744.150. + 77 FLD0958B PIC 9(10)V9(06) COMP-6 + VALUE 4358178846.720288. + + 77 FLD0959A PIC 9(06)V9(25) COMP-6 + VALUE 827211.6833605048791255853757320. + 77 FLD0959B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0960A PIC 9(10)V9(11) COMP-6 + VALUE 5559976801.18206716315. + 77 FLD0960B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0961A PIC 9(08)V9(19) COMP-6 + VALUE 72708740.7191407630868695832. + 77 FLD0961B PIC S9(04) COMP-3 + VALUE +1315. + + 77 FLD0962A PIC 9(02)V9(34) COMP-6 + VALUE 96.8081984946274620718043024680810049. + 77 FLD0962B PIC 9(08)V9(17) COMP-3 + VALUE 68265700.44059103725686554. + + 77 FLD0963A PIC 9(01)V9(36) COMP-3 + VALUE 9.803573230667260718362854277074802666. + 77 FLD0963B PIC 9(09)V9(16) COMP-6 + VALUE 657950850.8072698935720268. + + 77 FLD0964A PIC 9(09)V9(15) COMP-6 + VALUE 639504907.969730918004813. + 77 FLD0964B PIC 9(09)V9(13) COMP-6 + VALUE 599568613.7680703575725. + + 77 FLD0965A PIC 9(05) COMP-6 + VALUE 13581. + 77 FLD0965B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0966A PIC 9(06)V9(01) COMP-6 + VALUE 189200.6. + 77 FLD0966B PIC 9(06)V9(01) COMP-6 + VALUE 189757.7. + + 77 FLD0967A PIC 9(02) COMP-6 + VALUE 06. + 77 FLD0967B PIC 9(09)V9(04) COMP-6 + VALUE 356045641.3147. + + 77 FLD0968A PIC 9(09)V9(15) COMP-6 + VALUE 649996663.320669743058033. + 77 FLD0968B PIC S9(04) COMP-3 + VALUE +1132. + + 77 FLD0969A PIC S9(05) COMP-3 + VALUE -15366. + 77 FLD0969B PIC 9(09)V9(13) COMP-3 + VALUE 594539058.0989867723715. + + 77 FLD0970A PIC 9(09)V9(14) COMP-3 + VALUE 631417540.20798013247173. + 77 FLD0970B PIC 9(02)V9(34) COMP-6 + VALUE 96.8862081091470539462306987843476235. + + 77 FLD0971A PIC 9(07)V9(01) COMP-6 + VALUE 2161446.9. + 77 FLD0971B PIC S9(09)V9(06) COMP-3 + VALUE +400705169.115322. + + 77 FLD0972A PIC 9(09)V9(15) COMP-6 + VALUE 647710182.878484586055378. + 77 FLD0972B PIC 9(05) COMP-6 + VALUE 13649. + + 77 FLD0973A PIC 9(05) COMP-6 + VALUE 13817. + 77 FLD0973B PIC 9(06)V9(25) COMP-6 + VALUE 828260.5282429751358819203232997. + + 77 FLD0974A PIC 9(04) COMP-6 + VALUE 1180. + 77 FLD0974B PIC S9(03) COMP-3 + VALUE +104. + + 77 FLD0975A PIC S9(02) COMP-3 + VALUE -06. + 77 FLD0975B PIC 9(09)V9(03) COMP-6 + VALUE 329183580.054. + + 77 FLD0976A PIC S9(07)V9(01) COMP-3 + VALUE +2206144.7. + 77 FLD0976B PIC 9(10)V9(09) COMP-6 + VALUE 5191401776.232426046. + + 77 FLD0977A PIC 9(09)V9(03) COMP-6 + VALUE 327431372.704. + 77 FLD0977B PIC S9(09)V9(05) COMP-3 + VALUE -393208707.80387. + + 77 FLD0978A PIC 9(09)V9(16) COMP-6 + VALUE 675062190.8116747338368668. + 77 FLD0978B PIC S9(09)V9(06) COMP-3 + VALUE +411411057.685845. + + 77 FLD0979A PIC 9(03)V9(32) COMP-6 + VALUE 925.33169671466619643496187563869170. + 77 FLD0979B PIC 9(09)V9(05) COMP-6 + VALUE 388509802.38797. + + 77 FLD0980A PIC 9(03)V9(32) COMP-6 + VALUE 935.82234581280043794748735308530740. + 77 FLD0980B PIC 9(09)V9(15) COMP-6 + VALUE 647159992.565670250108667. + + 77 FLD0981A PIC 9(06)V9(01) COMP-6 + VALUE 195132.7. + 77 FLD0981B PIC S9(09)V9(04) COMP-3 + VALUE -360473610.9762. + + 77 FLD0982A PIC 9(06)V9(25) COMP-6 + VALUE 816610.1728260642955703474399342. + 77 FLD0982B PIC S9(08)V9(03) COMP-3 + VALUE +31469845.616. + + 77 FLD0983A PIC 9(10)V9(09) COMP-3 + VALUE 5114754992.436914005. + 77 FLD0983B PIC 9(02)V9(34) COMP-6 + VALUE 95.8147071945383510538363225350622087. + + 77 FLD0984A PIC 9(09)V9(15) COMP-3 + VALUE 632949921.330981046807551. + 77 FLD0984B PIC 9(10)V9(09) COMP-6 + VALUE 5090793805.153389639. + + 77 FLD0985A PIC 9(10)V9(06) COMP-6 + VALUE 4296662473.303992. + 77 FLD0985B PIC 9(05)V9(28) COMP-3 + VALUE 87137.5808353749947698929645412135. + + 77 FLD0986A PIC 9(05) COMP-6 + VALUE 14588. + 77 FLD0986B PIC 9(01) COMP-6 + VALUE 0. + + 77 FLD0987A PIC 9(01)V9(36) COMP-3 + VALUE 9.834402345123109956404050535638816654. + 77 FLD0987B PIC 9(06)V9(26) COMP-3 + VALUE 842525.10302045313661523096016026. + + 77 FLD0988A PIC 9(01) COMP-6 + VALUE 0. + 77 FLD0988B PIC S9(05)V9(01) COMP-3 + VALUE -18152.0. + + 77 FLD0989A PIC S9(04) COMP-3 + VALUE +1235. + 77 FLD0989B PIC 9(09)V9(13) COMP-3 + VALUE 593212782.9792923634499. + + 77 FLD0990A PIC 9(07)V9(22) COMP-3 + VALUE 7806084.0781040319313888176111. + 77 FLD0990B PIC 9(06)V9(01) COMP-6 + VALUE 208986.1. + + 77 FLD0991A PIC 9(06)V9(24) COMP-6 + VALUE 807774.663029880435338725419569. + 77 FLD0991B PIC S9(09)V9(06) COMP-3 + VALUE +403465254.324070. + + 77 FLD0992A PIC 9(07)V9(22) COMP-6 + VALUE 7784108.2583169551867285917978. + 77 FLD0992B PIC 9(04)V9(29) COMP-3 + VALUE 8920.19846678347883006665597349638. + + 77 FLD0993A PIC 9(08)V9(20) COMP-6 + VALUE 74534466.64416291111976420324. + 77 FLD0993B PIC S9(04) COMP-3 + VALUE +1132. + + 77 FLD0994A PIC 9(06)V9(24) COMP-6 + VALUE 815107.307501011568717785849003. + 77 FLD0994B PIC S9(10)V9(08) COMP-3 + VALUE -4847118976.22432053. + + 77 FLD0995A PIC S9(01) COMP-3 + VALUE +0. + 77 FLD0995B PIC 9(06)V9(01) COMP-6 + VALUE 188825.8. + + 77 FLD0996A PIC 9(09)V9(14) COMP-6 + VALUE 619241405.61761309431432. + 77 FLD0996B PIC 9(09)V9(16) COMP-6 + VALUE 669751940.2443259384227758. + + 77 FLD0997A PIC 9(10)V9(09) COMP-3 + VALUE 5006446394.611311356. + 77 FLD0997B PIC 9(10)V9(09) COMP-3 + VALUE 5005353152.147143935. + + 77 FLD0998A PIC 9(09)V9(13) COMP-6 + VALUE 598229443.4201559374386. + 77 FLD0998B PIC S9(01) COMP-3 + VALUE +0. + + 77 FLD0999A PIC S9(03) COMP-3 + VALUE -081. + 77 FLD0999B PIC S9(01) COMP-3 + VALUE -0. + + * RESULTS-AREA. + + 78 XPC-FLD0500B + VALUE X'0709'. + 78 XPC-FLD0501B + VALUE X'062809334873677369337485'. + 78 XPC-FLD0502B + VALUE X'078931626286150020034995122841'. + 78 XPC-FLD0503B + VALUE X'241748150924885620905391882843105F'. + 78 XPC-FLD0504B + VALUE X'5028930926587901486F'. + 78 XPC-FLD0505B + VALUE X'054079887440916072856F'. + 78 XPC-FLD0506B + VALUE X'044983811D'. + 78 XPC-FLD0507B + VALUE X'5276166649082409210F'. + 78 XPC-FLD0508B + VALUE X'02144088220848886D'. + 78 XPC-FLD0509B + VALUE X'488937338626299289'. + 78 XPC-FLD0510B + VALUE X'387D'. + 78 XPC-FLD0511B + VALUE X'05257737010265951195'. + 78 XPC-FLD0512B + VALUE X'5091717968686512163500879069033544511F'. + 78 XPC-FLD0513B + VALUE X'02789791972144304299518972222F'. + 78 XPC-FLD0514B + VALUE X'02787819996823'. + 78 XPC-FLD0515B + VALUE X'37690011845231452527479784448514692F'. + 78 XPC-FLD0516B + VALUE X'00'. + 78 XPC-FLD0517B + VALUE X'0031340134042710696D'. + 78 XPC-FLD0518B + VALUE X'089D'. + 78 XPC-FLD0519B + VALUE X'9851020486430545064493287F'. + 78 XPC-FLD0520B + VALUE X'61059553432451049552742F'. + 78 XPC-FLD0521B + VALUE X'28055C'. + 78 XPC-FLD0522B + VALUE X'3510676144076D'. + 78 XPC-FLD0523B + VALUE X'04280314707C'. + 78 XPC-FLD0524B + VALUE X'5046008862205329081F'. + 78 XPC-FLD0525B + VALUE X'0887336156634660588871099662355845'. + 78 XPC-FLD0526B + VALUE X'0535158707'. + 78 XPC-FLD0527B + VALUE X'0993866582275886311F'. + 78 XPC-FLD0528B + VALUE X'06742D'. + 78 XPC-FLD0529B + VALUE X'06852906977087937C'. + 78 XPC-FLD0530B + VALUE X'043D'. + 78 XPC-FLD0531B + VALUE X'098098220C'. + 78 XPC-FLD0532B + VALUE X'6D'. + 78 XPC-FLD0533B + VALUE X'0086'. + 78 XPC-FLD0534B + VALUE X'4796286047627412578F'. + 78 XPC-FLD0535B + VALUE X'086934843746367858133650045201648F'. + 78 XPC-FLD0536B + VALUE X'0C'. + 78 XPC-FLD0537B + VALUE X'4554'. + 78 XPC-FLD0538B + VALUE X'0793946754459935233327882997400592'. + 78 XPC-FLD0539B + VALUE X'070042059898033071085876599681795F'. + 78 XPC-FLD0540B + VALUE X'07'. + 78 XPC-FLD0541B + VALUE X'049167641848286621388982121061'. + 78 XPC-FLD0542B + VALUE X'553207696393934218127F'. + 78 XPC-FLD0543B + VALUE X'0277016069'. + 78 XPC-FLD0544B + VALUE X'1381302823'. + 78 XPC-FLD0545B + VALUE X'944856446145206807507570674F'. + 78 XPC-FLD0546B + VALUE X'60995883518421766866790F'. + 78 XPC-FLD0547B + VALUE X'3598695862060D'. + 78 XPC-FLD0548B + VALUE X'68119457212008152846571817'. + 78 XPC-FLD0549B + VALUE X'0417916211751954'. + 78 XPC-FLD0550B + VALUE X'94'. + 78 XPC-FLD0551B + VALUE X'0655119044597454263904505F'. + 78 XPC-FLD0552B + VALUE X'076016'. + 78 XPC-FLD0553B + VALUE X'3608710969090D'. + 78 XPC-FLD0554B + VALUE X'28615763752268179551663251913851128F'. + 78 XPC-FLD0555B + VALUE X'5605686733653602811F'. + 78 XPC-FLD0556B + VALUE X'0568555321722934526833'. + 78 XPC-FLD0557B + VALUE X'13329C'. + 78 XPC-FLD0558B + VALUE X'06209454'. + 78 XPC-FLD0559B + VALUE X'099142824147194545678672682843'. + 78 XPC-FLD0560B + VALUE X'0351025116078023'. + 78 XPC-FLD0561B + VALUE X'01'. + 78 XPC-FLD0562B + VALUE X'958208334412512741096179524902254343'. + 78 XPC-FLD0563B + VALUE X'72227339713C'. + 78 XPC-FLD0564B + VALUE X'070810880902875461543491615817183629'. + 78 XPC-FLD0565B + VALUE X'02090887'. + 78 XPC-FLD0566B + VALUE X'134200212625'. + 78 XPC-FLD0567B + VALUE X'0297763648403360945430051742732758'. + 78 XPC-FLD0568B + VALUE X'064501399773583058336459'. + 78 XPC-FLD0569B + VALUE X'722108073354756C'. + 78 XPC-FLD0570B + VALUE X'720060225322646066764775696F'. + 78 XPC-FLD0571B + VALUE X'06621729185931387539619251'. + 78 XPC-FLD0572B + VALUE X'0363059D'. + 78 XPC-FLD0573B + VALUE X'6527890148517897915245875992695800960F'. + 78 XPC-FLD0574B + VALUE X'6D'. + 78 XPC-FLD0575B + VALUE X'6C'. + 78 XPC-FLD0576B + VALUE X'47238400610562072401'. + 78 XPC-FLD0577B + VALUE X'805001512301445405164770363626303151'. + 78 XPC-FLD0578B + VALUE X'273810'. + 78 XPC-FLD0579B + VALUE X'5908380596787501715F'. + 78 XPC-FLD0580B + VALUE X'0646450258967046645771858948137378321F'. + 78 XPC-FLD0581B + VALUE X'610062973643881143036828'. + 78 XPC-FLD0582B + VALUE X'062856274902063530202836'. + 78 XPC-FLD0583B + VALUE X'4C'. + 78 XPC-FLD0584B + VALUE X'955867594557756605766485336062032729'. + 78 XPC-FLD0585B + VALUE X'079927518632915370297985191427869722'. + 78 XPC-FLD0586B + VALUE X'077794189960829245200635284618'. + 78 XPC-FLD0587B + VALUE X'02129D'. + 78 XPC-FLD0588B + VALUE X'06771495276462448727205764043901582F'. + 78 XPC-FLD0589B + VALUE X'01219C'. + 78 XPC-FLD0590B + VALUE X'1062119D'. + 78 XPC-FLD0591B + VALUE X'5700661418154348791F'. + 78 XPC-FLD0592B + VALUE X'73907098193D'. + 78 XPC-FLD0593B + VALUE X'038C'. + 78 XPC-FLD0594B + VALUE X'51440484143103479483050932685F'. + 78 XPC-FLD0595B + VALUE X'3197374054167890777833347730124F'. + 78 XPC-FLD0596B + VALUE X'657855963298508210108650'. + 78 XPC-FLD0597B + VALUE X'06758101650339857689842844592932'. + 78 XPC-FLD0598B + VALUE X'468477633184507D'. + 78 XPC-FLD0599B + VALUE X'09'. + 78 XPC-FLD0600B + VALUE X'0889857673123861313355595484609F'. + 78 XPC-FLD0601B + VALUE X'029749813111'. + 78 XPC-FLD0602B + VALUE X'0303615939'. + 78 XPC-FLD0603B + VALUE X'0487180C'. + 78 XPC-FLD0604B + VALUE X'0551440145498789572320'. + 78 XPC-FLD0605B + VALUE X'4256957897307752'. + 78 XPC-FLD0606B + VALUE X'0254178383482C'. + 78 XPC-FLD0607B + VALUE X'025781'. + 78 XPC-FLD0608B + VALUE X'225226869583767068085933260590536520'. + 78 XPC-FLD0609B + VALUE X'045126229228847267'. + 78 XPC-FLD0610B + VALUE X'2786455271'. + 78 XPC-FLD0611B + VALUE X'03'. + 78 XPC-FLD0612B + VALUE X'062873368552287867108245640685'. + 78 XPC-FLD0613B + VALUE X'022648276C'. + 78 XPC-FLD0614B + VALUE X'6052981544136128984377'. + 78 XPC-FLD0615B + VALUE X'023341961C'. + 78 XPC-FLD0616B + VALUE X'23'. + 78 XPC-FLD0617B + VALUE X'00'. + 78 XPC-FLD0618B + VALUE X'0079'. + 78 XPC-FLD0619B + VALUE X'053429823777539313843F'. + 78 XPC-FLD0620B + VALUE X'583959822349086421500175'. + 78 XPC-FLD0621B + VALUE X'734243671686218957184166811F'. + 78 XPC-FLD0622B + VALUE X'9542421746848D'. + 78 XPC-FLD0623B + VALUE X'0641616922896418195095066F'. + 78 XPC-FLD0624B + VALUE X'4356505095582531'. + 78 XPC-FLD0625B + VALUE X'78308435769811728739000500354F'. + 78 XPC-FLD0626B + VALUE X'037427477932063D'. + 78 XPC-FLD0627B + VALUE X'023249882C'. + 78 XPC-FLD0628B + VALUE X'029681727730'. + 78 XPC-FLD0629B + VALUE X'870915644969416202769707524566911F'. + 78 XPC-FLD0630B + VALUE X'0174519095249753304734'. + 78 XPC-FLD0631B + VALUE X'824634'. + 78 XPC-FLD0632B + VALUE X'05012280455704922587'. + 78 XPC-FLD0633B + VALUE X'0405176751228C'. + 78 XPC-FLD0634B + VALUE X'0868098250115819156979655872420F'. + 78 XPC-FLD0635B + VALUE X'0558066570900784292498'. + 78 XPC-FLD0636B + VALUE X'010350'. + 78 XPC-FLD0637B + VALUE X'053056785456603405837F'. + 78 XPC-FLD0638B + VALUE X'9300997013279628244930563595546F'. + 78 XPC-FLD0639B + VALUE X'04078092072024196699686626743641681969'. + 78 XPC-FLD0640B + VALUE X'89710938089320346744415246575953928F'. + 78 XPC-FLD0641B + VALUE X'0802113336084028338834883698'. + 78 XPC-FLD0642B + VALUE X'05220924521868707701699F'. + 78 XPC-FLD0643B + VALUE X'2890586849'. + 78 XPC-FLD0644B + VALUE X'092997460492260109532480782945640385'. + 78 XPC-FLD0645B + VALUE X'0246730234'. + 78 XPC-FLD0646B + VALUE X'5883231932131506547457'. + 78 XPC-FLD0647B + VALUE X'06598931491456289340839020'. + 78 XPC-FLD0648B + VALUE X'0634285861942461315643470F'. + 78 XPC-FLD0649B + VALUE X'5034432631533975376F'. + 78 XPC-FLD0650B + VALUE X'6715745920981104473110079F'. + 78 XPC-FLD0651B + VALUE X'032093946374946D'. + 78 XPC-FLD0652B + VALUE X'020927047C'. + 78 XPC-FLD0653B + VALUE X'165087'. + 78 XPC-FLD0654B + VALUE X'1152390677'. + 78 XPC-FLD0655B + VALUE X'05949843308386091165206F'. + 78 XPC-FLD0656B + VALUE X'0650007677567117914204561F'. + 78 XPC-FLD0657B + VALUE X'070469220160326710801212968F'. + 78 XPC-FLD0658B + VALUE X'053680173247006238712F'. + 78 XPC-FLD0659B + VALUE X'0719555666672452026677575531'. + 78 XPC-FLD0660B + VALUE X'27872D'. + 78 XPC-FLD0661B + VALUE X'570540945315247127744F'. + 78 XPC-FLD0662B + VALUE X'06678282186476681732324323'. + 78 XPC-FLD0663B + VALUE X'0468269232052811142885673234559362'. + 78 XPC-FLD0664B + VALUE X'04405659595288489C'. + 78 XPC-FLD0665B + VALUE X'6766161649406166886924393F'. + 78 XPC-FLD0666B + VALUE X'11'. + 78 XPC-FLD0667B + VALUE X'0632143970272669745917438F'. + 78 XPC-FLD0668B + VALUE X'5144628458672427461F'. + 78 XPC-FLD0669B + VALUE X'0395936639786081'. + 78 XPC-FLD0670B + VALUE X'0164380926561097741789296833303524182F'. + 78 XPC-FLD0671B + VALUE X'08090443'. + 78 XPC-FLD0672B + VALUE X'927915894513764975604231'. + 78 XPC-FLD0673B + VALUE X'0749211224'. + 78 XPC-FLD0674B + VALUE X'08225787711159490474084418921848'. + 78 XPC-FLD0675B + VALUE X'05083625274155812858'. + 78 XPC-FLD0676B + VALUE X'0004664170342459437179627457226160913F'. + 78 XPC-FLD0677B + VALUE X'708676445455624266891447859961772F'. + 78 XPC-FLD0678B + VALUE X'85979366357613359468814451247453'. + 78 XPC-FLD0679B + VALUE X'044902781556612852'. + 78 XPC-FLD0680B + VALUE X'564571038982083600804F'. + 78 XPC-FLD0681B + VALUE X'0654877112290583873743782681004F'. + 78 XPC-FLD0682B + VALUE X'5608815389721361803129542749957F'. + 78 XPC-FLD0683B + VALUE X'05829822468269903673643F'. + 78 XPC-FLD0684B + VALUE X'6208938998759875'. + 78 XPC-FLD0685B + VALUE X'0536985204876752143500539204978F'. + 78 XPC-FLD0686B + VALUE X'00180741962593756744226F'. + 78 XPC-FLD0687B + VALUE X'456697463326542715'. + 78 XPC-FLD0688B + VALUE X'0131'. + 78 XPC-FLD0689B + VALUE X'0933318323052C'. + 78 XPC-FLD0690B + VALUE X'02807895954D'. + 78 XPC-FLD0691B + VALUE X'04747985190129340C'. + 78 XPC-FLD0692B + VALUE X'278067587806645121846764'. + 78 XPC-FLD0693B + VALUE X'0C'. + 78 XPC-FLD0694B + VALUE X'06'. + 78 XPC-FLD0695B + VALUE X'285416863016785357397587'. + 78 XPC-FLD0696B + VALUE X'318862710902'. + 78 XPC-FLD0697B + VALUE X'05576423548738693906'. + 78 XPC-FLD0698B + VALUE X'614D'. + 78 XPC-FLD0699B + VALUE X'22735335379771726138637F'. + 78 XPC-FLD0700B + VALUE X'4D'. + 78 XPC-FLD0701B + VALUE X'0824434325033338688548667501709982529F'. + 78 XPC-FLD0702B + VALUE X'23424179'. + 78 XPC-FLD0703B + VALUE X'335267041235'. + 78 XPC-FLD0704B + VALUE X'08515404888861616825987F'. + 78 XPC-FLD0705B + VALUE X'000818147177942940'. + 78 XPC-FLD0706B + VALUE X'0327398D'. + 78 XPC-FLD0707B + VALUE X'5129442198407349051F'. + 78 XPC-FLD0708B + VALUE X'338347991943'. + 78 XPC-FLD0709B + VALUE X'37934595068404'. + 78 XPC-FLD0710B + VALUE X'0322996288513C'. + 78 XPC-FLD0711B + VALUE X'73'. + 78 XPC-FLD0712B + VALUE X'0555782537921349383D'. + 78 XPC-FLD0713B + VALUE X'71121009'. + 78 XPC-FLD0714B + VALUE X'02465946158468'. + 78 XPC-FLD0715B + VALUE X'58869262308134147685'. + 78 XPC-FLD0716B + VALUE X'04094336916239737930141018296126276F'. + 78 XPC-FLD0717B + VALUE X'7570171861371541854879296806'. + 78 XPC-FLD0718B + VALUE X'4283258317648062'. + 78 XPC-FLD0719B + VALUE X'0239090461'. + 78 XPC-FLD0720B + VALUE X'404886229426392C'. + 78 XPC-FLD0721B + VALUE X'45808243'. + 78 XPC-FLD0722B + VALUE X'07624904820924922808538326535F'. + 78 XPC-FLD0723B + VALUE X'56'. + 78 XPC-FLD0724B + VALUE X'04934011851187240393'. + 78 XPC-FLD0725B + VALUE X'04444128191361023C'. + 78 XPC-FLD0726B + VALUE X'401820868675800C'. + 78 XPC-FLD0727B + VALUE X'00896082861134319673904889'. + 78 XPC-FLD0728B + VALUE X'081076915652245D'. + 78 XPC-FLD0729B + VALUE X'795979478015814722415832704883'. + 78 XPC-FLD0730B + VALUE X'62944830238001500322120F'. + 78 XPC-FLD0731B + VALUE X'04086517499647340789789F'. + 78 XPC-FLD0732B + VALUE X'00313C'. + 78 XPC-FLD0733B + VALUE X'965641152048700750127567'. + 78 XPC-FLD0734B + VALUE X'26'. + 78 XPC-FLD0735B + VALUE X'0641708846027484955070190F'. + 78 XPC-FLD0736B + VALUE X'072589764082146861645222974767'. + 78 XPC-FLD0737B + VALUE X'522443922D'. + 78 XPC-FLD0738B + VALUE X'512073900331931666778700673603452743'. + 78 XPC-FLD0739B + VALUE X'0459162078493461292D'. + 78 XPC-FLD0740B + VALUE X'072773632191726975291885537444614F'. + 78 XPC-FLD0741B + VALUE X'0644169236711C'. + 78 XPC-FLD0742B + VALUE X'88899021862D'. + 78 XPC-FLD0743B + VALUE X'02956850'. + 78 XPC-FLD0744B + VALUE X'2695622879'. + 78 XPC-FLD0745B + VALUE X'013558'. + 78 XPC-FLD0746B + VALUE X'0231527099755997057F'. + 78 XPC-FLD0747B + VALUE X'4879952390867385986918298294767737'. + 78 XPC-FLD0748B + VALUE X'0181187D'. + 78 XPC-FLD0749B + VALUE X'2760411381430374631233670697839F'. + 78 XPC-FLD0750B + VALUE X'262999561974'. + 78 XPC-FLD0751B + VALUE X'15170D'. + 78 XPC-FLD0752B + VALUE X'91538508268330654527034084821934811F'. + 78 XPC-FLD0753B + VALUE X'9C'. + 78 XPC-FLD0754B + VALUE X'0961172590'. + 78 XPC-FLD0755B + VALUE X'053471365948751090643F'. + 78 XPC-FLD0756B + VALUE X'10424D'. + 78 XPC-FLD0757B + VALUE X'242943831C'. + 78 XPC-FLD0758B + VALUE X'0455928D'. + 78 XPC-FLD0759B + VALUE X'07622235272467824718001239148F'. + 78 XPC-FLD0760B + VALUE X'09469886609778104836721013271017001F'. + 78 XPC-FLD0761B + VALUE X'031926781976263429729812'. + 78 XPC-FLD0762B + VALUE X'0884402939'. + 78 XPC-FLD0763B + VALUE X'283690925904618196362605387461'. + 78 XPC-FLD0764B + VALUE X'055560951487484800'. + 78 XPC-FLD0765B + VALUE X'01212C'. + 78 XPC-FLD0766B + VALUE X'22949432'. + 78 XPC-FLD0767B + VALUE X'1D'. + 78 XPC-FLD0768B + VALUE X'096D'. + 78 XPC-FLD0769B + VALUE X'03586597857349'. + 78 XPC-FLD0770B + VALUE X'054829803888151060764504'. + 78 XPC-FLD0771B + VALUE X'075991198999121606361129010F'. + 78 XPC-FLD0772B + VALUE X'0090893446885686'. + 78 XPC-FLD0773B + VALUE X'76783997423560348547511011929600499F'. + 78 XPC-FLD0774B + VALUE X'242589104C'. + 78 XPC-FLD0775B + VALUE X'83006085498341006789723905967548489F'. + 78 XPC-FLD0776B + VALUE X'65983936382796708763014976284467'. + 78 XPC-FLD0777B + VALUE X'563799910901816754889F'. + 78 XPC-FLD0778B + VALUE X'6562465464730475300569878527312539'. + 78 XPC-FLD0779B + VALUE X'0474089855326103228D'. + 78 XPC-FLD0780B + VALUE X'4184481254630997580198368268612F'. + 78 XPC-FLD0781B + VALUE X'029720911669'. + 78 XPC-FLD0782B + VALUE X'974841984908992382763415207591606305'. + 78 XPC-FLD0783B + VALUE X'04236442572674454C'. + 78 XPC-FLD0784B + VALUE X'1401654002801979714825902150218F'. + 78 XPC-FLD0785B + VALUE X'393300524051'. + 78 XPC-FLD0786B + VALUE X'085407905679605532414111479511120F'. + 78 XPC-FLD0787B + VALUE X'00464285'. + 78 XPC-FLD0788B + VALUE X'077898336505928358503125785716'. + 78 XPC-FLD0789B + VALUE X'6604278565132847496040994F'. + 78 XPC-FLD0790B + VALUE X'31694368662D'. + 78 XPC-FLD0791B + VALUE X'7382741348868294886190710712'. + 78 XPC-FLD0792B + VALUE X'37982443954012'. + 78 XPC-FLD0793B + VALUE X'0559177637820166807230'. + 78 XPC-FLD0794B + VALUE X'0D'. + 78 XPC-FLD0795B + VALUE X'0334944006958C'. + 78 XPC-FLD0796B + VALUE X'0653841465915909014761098205'. + 78 XPC-FLD0797B + VALUE X'03487774860252'. + 78 XPC-FLD0798B + VALUE X'3415780672379371043808250F'. + 78 XPC-FLD0799B + VALUE X'024239306208646738127F'. + 78 XPC-FLD0800B + VALUE X'4337360023'. + 78 XPC-FLD0801B + VALUE X'9633203702397862694706986985693220049F'. + 78 XPC-FLD0802B + VALUE X'059390909987167776897365456534317F'. + 78 XPC-FLD0803B + VALUE X'0555623043499399698487'. + 78 XPC-FLD0804B + VALUE X'02'. + 78 XPC-FLD0805B + VALUE X'479868190466873291'. + 78 XPC-FLD0806B + VALUE X'2580784568425466'. + 78 XPC-FLD0807B + VALUE X'592C'. + 78 XPC-FLD0808B + VALUE X'045744550475690953'. + 78 XPC-FLD0809B + VALUE X'04404211618158996C'. + 78 XPC-FLD0810B + VALUE X'021294550C'. + 78 XPC-FLD0811B + VALUE X'5454913861947337423021251372119877487F'. + 78 XPC-FLD0812B + VALUE X'5678497418'. + 78 XPC-FLD0813B + VALUE X'29113136400D'. + 78 XPC-FLD0814B + VALUE X'07525119595496631362479433846F'. + 78 XPC-FLD0815B + VALUE X'0714304561558653405839436344638434439F'. + 78 XPC-FLD0816B + VALUE X'0532563204313666438416366152096307'. + 78 XPC-FLD0817B + VALUE X'00322267276165150162'. + 78 XPC-FLD0818B + VALUE X'0409797454111609544843745425'. + 78 XPC-FLD0819B + VALUE X'082D'. + 78 XPC-FLD0820B + VALUE X'956537139953218984445015848905313760'. + 78 XPC-FLD0821B + VALUE X'038365653639422D'. + 78 XPC-FLD0822B + VALUE X'2945'. + 78 XPC-FLD0823B + VALUE X'484310601769554C'. + 78 XPC-FLD0824B + VALUE X'073189644908504480898002'. + 78 XPC-FLD0825B + VALUE X'0170692D'. + 78 XPC-FLD0826B + VALUE X'0480578557209735916D'. + 78 XPC-FLD0827B + VALUE X'046910500983725490'. + 78 XPC-FLD0828B + VALUE X'00993C'. + 78 XPC-FLD0829B + VALUE X'944972866636283770347403930829'. + 78 XPC-FLD0830B + VALUE X'0565534908381171491840'. + 78 XPC-FLD0831B + VALUE X'6602934475151655210356515F'. + 78 XPC-FLD0832B + VALUE X'0419047953539795'. + 78 XPC-FLD0833B + VALUE X'6657954482808921498060428F'. + 78 XPC-FLD0834B + VALUE X'780178461140043863949386833F'. + 78 XPC-FLD0835B + VALUE X'090696211292909090229130697187'. + 78 XPC-FLD0836B + VALUE X'01479247899592904941896F'. + 78 XPC-FLD0837B + VALUE X'29146758519D'. + 78 XPC-FLD0838B + VALUE X'54394205787057270376334726969F'. + 78 XPC-FLD0839B + VALUE X'05300514'. + 78 XPC-FLD0840B + VALUE X'1153'. + 78 XPC-FLD0841B + VALUE X'0992981736583248397742806176703F'. + 78 XPC-FLD0842B + VALUE X'054030708425366313836265591069241055'. + 78 XPC-FLD0843B + VALUE X'31166916723C'. + 78 XPC-FLD0844B + VALUE X'044793585873382490'. + 78 XPC-FLD0845B + VALUE X'0555020066479501195111220F'. + 78 XPC-FLD0846B + VALUE X'045502277490866085'. + 78 XPC-FLD0847B + VALUE X'029702735772'. + 78 XPC-FLD0848B + VALUE X'631805001566330881601629698F'. + 78 XPC-FLD0849B + VALUE X'03125884051750275061046194363F'. + 78 XPC-FLD0850B + VALUE X'0213070204849290532925563F'. + 78 XPC-FLD0851B + VALUE X'22519773'. + 78 XPC-FLD0852B + VALUE X'1471732987'. + 78 XPC-FLD0853B + VALUE X'0C'. + 78 XPC-FLD0854B + VALUE X'09'. + 78 XPC-FLD0855B + VALUE X'796064'. + 78 XPC-FLD0856B + VALUE X'30842D'. + 78 XPC-FLD0857B + VALUE X'011C'. + 78 XPC-FLD0858B + VALUE X'029627833617'. + 78 XPC-FLD0859B + VALUE X'0971628168143447767945986015547532588F'. + 78 XPC-FLD0860B + VALUE X'310782983915'. + 78 XPC-FLD0861B + VALUE X'1091'. + 78 XPC-FLD0862B + VALUE X'0568978369365978243754'. + 78 XPC-FLD0863B + VALUE X'05171345793694755750'. + 78 XPC-FLD0864B + VALUE X'0409403590364872439594022918754491'. + 78 XPC-FLD0865B + VALUE X'328C'. + 78 XPC-FLD0866B + VALUE X'0973651490201067931957936707476620'. + 78 XPC-FLD0867B + VALUE X'0728938616966572774526298417'. + 78 XPC-FLD0868B + VALUE X'05841479951825634534535F'. + 78 XPC-FLD0869B + VALUE X'6815782206919422936408636F'. + 78 XPC-FLD0870B + VALUE X'657570531523696821807334'. + 78 XPC-FLD0871B + VALUE X'5744601464762396635F'. + 78 XPC-FLD0872B + VALUE X'045914011344767276'. + 78 XPC-FLD0873B + VALUE X'076853'. + 78 XPC-FLD0874B + VALUE X'01881063'. + 78 XPC-FLD0875B + VALUE X'32'. + 78 XPC-FLD0876B + VALUE X'0792823887607293276147402139031F'. + 78 XPC-FLD0877B + VALUE X'0651975862412979334514773F'. + 78 XPC-FLD0878B + VALUE X'242827678838084315415812843661207F'. + 78 XPC-FLD0879B + VALUE X'056764772794591269560129376259283F'. + 78 XPC-FLD0880B + VALUE X'04839436714022342976684717541503'. + 78 XPC-FLD0881B + VALUE X'2105193947195C'. + 78 XPC-FLD0882B + VALUE X'02108803940594616843638067'. + 78 XPC-FLD0883B + VALUE X'9754132777012324284626648395'. + 78 XPC-FLD0884B + VALUE X'06490392032439449247535630967F'. + 78 XPC-FLD0885B + VALUE X'02072D'. + 78 XPC-FLD0886B + VALUE X'000595069070307D'. + 78 XPC-FLD0887B + VALUE X'09306168018675709582439026235078'. + 78 XPC-FLD0888B + VALUE X'0118607301'. + 78 XPC-FLD0889B + VALUE X'0286280324389502793813733205752214417F'. + 78 XPC-FLD0890B + VALUE X'721613583480198661490589984F'. + 78 XPC-FLD0891B + VALUE X'0735270814161123614247195235'. + 78 XPC-FLD0892B + VALUE X'0556'. + 78 XPC-FLD0893B + VALUE X'07'. + 78 XPC-FLD0894B + VALUE X'654309128000748152942379'. + 78 XPC-FLD0895B + VALUE X'2889386308'. + 78 XPC-FLD0896B + VALUE X'0D'. + 78 XPC-FLD0897B + VALUE X'04404922200833587C'. + 78 XPC-FLD0898B + VALUE X'08343520'. + 78 XPC-FLD0899B + VALUE X'5130606210827636'. + 78 XPC-FLD0900B + VALUE X'01847104'. + 78 XPC-FLD0901B + VALUE X'01289396298369796609307513790554367005'. + 78 XPC-FLD0902B + VALUE X'5131049785081560397F'. + 78 XPC-FLD0903B + VALUE X'046C'. + 78 XPC-FLD0904B + VALUE X'7D'. + 78 XPC-FLD0905B + VALUE X'07075373564412'. + 78 XPC-FLD0906B + VALUE X'07'. + 78 XPC-FLD0907B + VALUE X'0530207411746521324809'. + 78 XPC-FLD0908B + VALUE X'08642393083548316472445662839163561F'. + 78 XPC-FLD0909B + VALUE X'00'. + 78 XPC-FLD0910B + VALUE X'2257333765600096867487422969134058'. + 78 XPC-FLD0911B + VALUE X'03765938103187097346508025840F'. + 78 XPC-FLD0912B + VALUE X'00'. + 78 XPC-FLD0913B + VALUE X'0325'. + 78 XPC-FLD0914B + VALUE X'7400121849171126253708052900037643855F'. + 78 XPC-FLD0915B + VALUE X'02036C'. + 78 XPC-FLD0916B + VALUE X'4372777685598984'. + 78 XPC-FLD0917B + VALUE X'1084'. + 78 XPC-FLD0918B + VALUE X'0569310510294893204244'. + 78 XPC-FLD0919B + VALUE X'6D'. + 78 XPC-FLD0920B + VALUE X'06698607602658151664433262'. + 78 XPC-FLD0921B + VALUE X'0C'. + 78 XPC-FLD0922B + VALUE X'0183318D'. + 78 XPC-FLD0923B + VALUE X'00892C'. + 78 XPC-FLD0924B + VALUE X'6753252278154044870414354451350F'. + 78 XPC-FLD0925B + VALUE X'6C'. + 78 XPC-FLD0926B + VALUE X'206877212D'. + 78 XPC-FLD0927B + VALUE X'5121865708750312359F'. + 78 XPC-FLD0928B + VALUE X'0255169492'. + 78 XPC-FLD0929B + VALUE X'713937683093887626162299398F'. + 78 XPC-FLD0930B + VALUE X'05915948649192320925289F'. + 78 XPC-FLD0931B + VALUE X'124377459C'. + 78 XPC-FLD0932B + VALUE X'00116711468219923287'. + 78 XPC-FLD0933B + VALUE X'328435728864'. + 78 XPC-FLD0934B + VALUE X'0237750091'. + 78 XPC-FLD0935B + VALUE X'485384635684275264'. + 78 XPC-FLD0936B + VALUE X'0418311146814978578269972331327153370F'. + 78 XPC-FLD0937B + VALUE X'05'. + 78 XPC-FLD0938B + VALUE X'07520562026683963451729041'. + 78 XPC-FLD0939B + VALUE X'7C'. + 78 XPC-FLD0940B + VALUE X'420205546087499959'. + 78 XPC-FLD0941B + VALUE X'03450283323540'. + 78 XPC-FLD0942B + VALUE X'94510218123579575949541058434988373F'. + 78 XPC-FLD0943B + VALUE X'9698175C'. + 78 XPC-FLD0944B + VALUE X'260056094D'. + 78 XPC-FLD0945B + VALUE X'09639552190838519C'. + 78 XPC-FLD0946B + VALUE X'0285407519811451561686510558502050116F'. + 78 XPC-FLD0947B + VALUE X'6720279273588082815549249F'. + 78 XPC-FLD0948B + VALUE X'7581536805549627281493485497'. + 78 XPC-FLD0949B + VALUE X'089772746643169742'. + 78 XPC-FLD0950B + VALUE X'9466572989771413480277234393870459'. + 78 XPC-FLD0951B + VALUE X'0571609040492847894313968026'. + 78 XPC-FLD0952B + VALUE X'65'. + 78 XPC-FLD0953B + VALUE X'05187948954462912461'. + 78 XPC-FLD0954B + VALUE X'0525409336908340408209862744115525857F'. + 78 XPC-FLD0955B + VALUE X'5341017709695240897178791783518F'. + 78 XPC-FLD0956B + VALUE X'097384559702281070479269828F'. + 78 XPC-FLD0957B + VALUE X'01212C'. + 78 XPC-FLD0958B + VALUE X'4387549590870288'. + 78 XPC-FLD0959B + VALUE X'1C'. + 78 XPC-FLD0960B + VALUE X'1D'. + 78 XPC-FLD0961B + VALUE X'00056C'. + 78 XPC-FLD0962B + VALUE X'6826560363239254262940347F'. + 78 XPC-FLD0963B + VALUE X'06579508606108431242392875'. + 78 XPC-FLD0964B + VALUE X'0399362942016605604323'. + 78 XPC-FLD0965B + VALUE X'01'. + 78 XPC-FLD0966B + VALUE X'00005571'. + 78 XPC-FLD0967B + VALUE X'03560456473147'. + 78 XPC-FLD0968B + VALUE X'05531D'. + 78 XPC-FLD0969B + VALUE X'05945236920989867723715F'. + 78 XPC-FLD0970B + VALUE X'433217720233246760537693012156523765'. + 78 XPC-FLD0971B + VALUE X'402866616015322C'. + 78 XPC-FLD0972B + VALUE X'096534'. + 78 XPC-FLD0973B + VALUE X'08420775282429751358819203232997'. + 78 XPC-FLD0974B + VALUE X'076D'. + 78 XPC-FLD0975B + VALUE X'329183574054'. + 78 XPC-FLD0976B + VALUE X'05189195631532426046'. + 78 XPC-FLD0977B + VALUE X'006577733509987D'. + 78 XPC-FLD0978B + VALUE X'263651133125830D'. + 78 XPC-FLD0979B + VALUE X'38851072771967'. + 78 XPC-FLD0980B + VALUE X'647159056743324437308229'. + 78 XPC-FLD0981B + VALUE X'3602784782762D'. + 78 XPC-FLD0982B + VALUE X'30653235444C'. + 78 XPC-FLD0983B + VALUE X'882516211995383510538363225350622087'. + 78 XPC-FLD0984B + VALUE X'04457843883822408592'. + 78 XPC-FLD0985B + VALUE X'496108848273749947698929645412135F'. + 78 XPC-FLD0986B + VALUE X'08'. + 78 XPC-FLD0987B + VALUE X'084253493742279825972518736421080F'. + 78 XPC-FLD0988B + VALUE X'0181520D'. + 78 XPC-FLD0989B + VALUE X'05932140179792923634499F'. + 78 XPC-FLD0990B + VALUE X'05970979'. + 78 XPC-FLD0991B + VALUE X'404273028987099C'. + 78 XPC-FLD0992B + VALUE X'518805985017170789852514182650362F'. + 78 XPC-FLD0993B + VALUE X'05599C'. + 78 XPC-FLD0994B + VALUE X'0484793408353182154D'. + 78 XPC-FLD0995B + VALUE X'01888258'. + 78 XPC-FLD0996B + VALUE X'00505105346267128441084558'. + 78 XPC-FLD0997B + VALUE X'0011799546758455291F'. + 78 XPC-FLD0998B + VALUE X'3D'. + 78 XPC-FLD0999B + VALUE X'1D'. + + 01 FILLER USAGE BINARY-INT VALUE 0. + 88 DO-DISP VALUE 0. + 88 NO-DISP VALUE 1. + + REPLACE ==DISPLAY== BY ==IF DO-DISP DISPLAY==. + PROCEDURE DIVISION. + MAIN. + * Test with DISPLAY on error + PERFORM DO-CHECK. + >> IF CHECK-PERF IS DEFINED + SET NO-DISP TO TRUE + * some performance checks on the way... + PERFORM DO-CHECK 10000 TIMES. + >> END-IF + GOBACK. + + DO-CHECK. + *2000-TEST. + + SUBTRACT FLD0500A FROM FLD0500B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0501A TO FLD0501B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0502A FROM FLD0502B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0503A TO FLD0503B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0504A FROM FLD0504B + ROUNDED MODE IS TRUNCATION . + ADD FLD0505A TO FLD0505B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0506A FROM FLD0506B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0507A TO FLD0507B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0508A FROM FLD0508B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0509A TO FLD0509B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0510A FROM FLD0510B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0511A TO FLD0511B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0512A FROM FLD0512B + ROUNDED MODE IS TRUNCATION . + ADD FLD0513A TO FLD0513B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0514A FROM FLD0514B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0515A TO FLD0515B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0516A FROM FLD0516B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0517A TO FLD0517B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0518A FROM FLD0518B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0519A TO FLD0519B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0520A FROM FLD0520B + ROUNDED MODE IS TRUNCATION . + ADD FLD0521A TO FLD0521B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0522A FROM FLD0522B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0523A TO FLD0523B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0524A FROM FLD0524B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0525A TO FLD0525B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0526A FROM FLD0526B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0527A TO FLD0527B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0528A FROM FLD0528B + ROUNDED MODE IS TRUNCATION . + ADD FLD0529A TO FLD0529B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0530A FROM FLD0530B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0531A TO FLD0531B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0532A FROM FLD0532B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0533A TO FLD0533B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0534A FROM FLD0534B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0535A TO FLD0535B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0536A FROM FLD0536B + ROUNDED MODE IS TRUNCATION . + ADD FLD0537A TO FLD0537B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0538A FROM FLD0538B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0539A TO FLD0539B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0540A FROM FLD0540B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0541A TO FLD0541B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0542A FROM FLD0542B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0543A TO FLD0543B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0544A FROM FLD0544B + ROUNDED MODE IS TRUNCATION . + ADD FLD0545A TO FLD0545B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0546A FROM FLD0546B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0547A TO FLD0547B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0548A FROM FLD0548B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0549A TO FLD0549B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0550A FROM FLD0550B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0551A TO FLD0551B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0552A FROM FLD0552B + ROUNDED MODE IS TRUNCATION . + ADD FLD0553A TO FLD0553B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0554A FROM FLD0554B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0555A TO FLD0555B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0556A FROM FLD0556B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0557A TO FLD0557B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0558A FROM FLD0558B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0559A TO FLD0559B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0560A FROM FLD0560B + ROUNDED MODE IS TRUNCATION . + ADD FLD0561A TO FLD0561B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0562A FROM FLD0562B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0563A TO FLD0563B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0564A FROM FLD0564B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0565A TO FLD0565B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0566A FROM FLD0566B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0567A TO FLD0567B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0568A FROM FLD0568B + ROUNDED MODE IS TRUNCATION . + ADD FLD0569A TO FLD0569B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0570A FROM FLD0570B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0571A TO FLD0571B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0572A FROM FLD0572B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0573A TO FLD0573B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0574A FROM FLD0574B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0575A TO FLD0575B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0576A FROM FLD0576B + ROUNDED MODE IS TRUNCATION . + ADD FLD0577A TO FLD0577B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0578A FROM FLD0578B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0579A TO FLD0579B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0580A FROM FLD0580B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0581A TO FLD0581B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0582A FROM FLD0582B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0583A TO FLD0583B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0584A FROM FLD0584B + ROUNDED MODE IS TRUNCATION . + ADD FLD0585A TO FLD0585B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0586A FROM FLD0586B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0587A TO FLD0587B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0588A FROM FLD0588B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0589A TO FLD0589B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0590A FROM FLD0590B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0591A TO FLD0591B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0592A FROM FLD0592B + ROUNDED MODE IS TRUNCATION . + ADD FLD0593A TO FLD0593B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0594A FROM FLD0594B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0595A TO FLD0595B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0596A FROM FLD0596B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0597A TO FLD0597B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0598A FROM FLD0598B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0599A TO FLD0599B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0600A FROM FLD0600B + ROUNDED MODE IS TRUNCATION . + ADD FLD0601A TO FLD0601B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0602A FROM FLD0602B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0603A TO FLD0603B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0604A FROM FLD0604B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0605A TO FLD0605B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0606A FROM FLD0606B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0607A TO FLD0607B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0608A FROM FLD0608B + ROUNDED MODE IS TRUNCATION . + ADD FLD0609A TO FLD0609B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0610A FROM FLD0610B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0611A TO FLD0611B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0612A FROM FLD0612B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0613A TO FLD0613B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0614A FROM FLD0614B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0615A TO FLD0615B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0616A FROM FLD0616B + ROUNDED MODE IS TRUNCATION . + ADD FLD0617A TO FLD0617B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0618A FROM FLD0618B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0619A TO FLD0619B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0620A FROM FLD0620B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0621A TO FLD0621B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0622A FROM FLD0622B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0623A TO FLD0623B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0624A FROM FLD0624B + ROUNDED MODE IS TRUNCATION . + ADD FLD0625A TO FLD0625B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0626A FROM FLD0626B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0627A TO FLD0627B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0628A FROM FLD0628B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0629A TO FLD0629B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0630A FROM FLD0630B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0631A TO FLD0631B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0632A FROM FLD0632B + ROUNDED MODE IS TRUNCATION . + ADD FLD0633A TO FLD0633B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0634A FROM FLD0634B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0635A TO FLD0635B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0636A FROM FLD0636B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0637A TO FLD0637B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0638A FROM FLD0638B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0639A TO FLD0639B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0640A FROM FLD0640B + ROUNDED MODE IS TRUNCATION . + ADD FLD0641A TO FLD0641B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0642A FROM FLD0642B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0643A TO FLD0643B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0644A FROM FLD0644B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0645A TO FLD0645B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0646A FROM FLD0646B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0647A TO FLD0647B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0648A FROM FLD0648B + ROUNDED MODE IS TRUNCATION . + ADD FLD0649A TO FLD0649B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0650A FROM FLD0650B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0651A TO FLD0651B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0652A FROM FLD0652B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0653A TO FLD0653B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0654A FROM FLD0654B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0655A TO FLD0655B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0656A FROM FLD0656B + ROUNDED MODE IS TRUNCATION . + ADD FLD0657A TO FLD0657B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0658A FROM FLD0658B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0659A TO FLD0659B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0660A FROM FLD0660B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0661A TO FLD0661B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0662A FROM FLD0662B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0663A TO FLD0663B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0664A FROM FLD0664B + ROUNDED MODE IS TRUNCATION . + ADD FLD0665A TO FLD0665B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0666A FROM FLD0666B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0667A TO FLD0667B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0668A FROM FLD0668B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0669A TO FLD0669B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0670A FROM FLD0670B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0671A TO FLD0671B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0672A FROM FLD0672B + ROUNDED MODE IS TRUNCATION . + ADD FLD0673A TO FLD0673B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0674A FROM FLD0674B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0675A TO FLD0675B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0676A FROM FLD0676B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0677A TO FLD0677B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0678A FROM FLD0678B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0679A TO FLD0679B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0680A FROM FLD0680B + ROUNDED MODE IS TRUNCATION . + ADD FLD0681A TO FLD0681B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0682A FROM FLD0682B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0683A TO FLD0683B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0684A FROM FLD0684B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0685A TO FLD0685B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0686A FROM FLD0686B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0687A TO FLD0687B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0688A FROM FLD0688B + ROUNDED MODE IS TRUNCATION . + ADD FLD0689A TO FLD0689B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0690A FROM FLD0690B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0691A TO FLD0691B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0692A FROM FLD0692B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0693A TO FLD0693B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0694A FROM FLD0694B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0695A TO FLD0695B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0696A FROM FLD0696B + ROUNDED MODE IS TRUNCATION . + ADD FLD0697A TO FLD0697B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0698A FROM FLD0698B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0699A TO FLD0699B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0700A FROM FLD0700B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0701A TO FLD0701B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0702A FROM FLD0702B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0703A TO FLD0703B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0704A FROM FLD0704B + ROUNDED MODE IS TRUNCATION . + ADD FLD0705A TO FLD0705B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0706A FROM FLD0706B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0707A TO FLD0707B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0708A FROM FLD0708B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0709A TO FLD0709B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0710A FROM FLD0710B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0711A TO FLD0711B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0712A FROM FLD0712B + ROUNDED MODE IS TRUNCATION . + ADD FLD0713A TO FLD0713B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0714A FROM FLD0714B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0715A TO FLD0715B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0716A FROM FLD0716B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0717A TO FLD0717B + ROUNDED MODE IS PROHIBITED + ON SIZE ERROR CONTINUE + NOT ON SIZE ERROR DISPLAY 'MISSING EC-SIZE FLD0717B'. + SUBTRACT FLD0718A FROM FLD0718B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0719A TO FLD0719B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0720A FROM FLD0720B + ROUNDED MODE IS TRUNCATION . + ADD FLD0721A TO FLD0721B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0722A FROM FLD0722B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0723A TO FLD0723B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0724A FROM FLD0724B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0725A TO FLD0725B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0726A FROM FLD0726B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0727A TO FLD0727B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0728A FROM FLD0728B + ROUNDED MODE IS TRUNCATION . + ADD FLD0729A TO FLD0729B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0730A FROM FLD0730B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0731A TO FLD0731B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0732A FROM FLD0732B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0733A TO FLD0733B + ROUNDED MODE IS PROHIBITED + ON SIZE ERROR DISPLAY 'UNEXPECTED EC-SIZE FLD0733B'. + SUBTRACT FLD0734A FROM FLD0734B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0735A TO FLD0735B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0736A FROM FLD0736B + ROUNDED MODE IS TRUNCATION . + ADD FLD0737A TO FLD0737B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0738A FROM FLD0738B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0739A TO FLD0739B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0740A FROM FLD0740B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0741A TO FLD0741B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0742A FROM FLD0742B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0743A TO FLD0743B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0744A FROM FLD0744B + ROUNDED MODE IS TRUNCATION . + ADD FLD0745A TO FLD0745B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0746A FROM FLD0746B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0747A TO FLD0747B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0748A FROM FLD0748B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0749A TO FLD0749B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0750A FROM FLD0750B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0751A TO FLD0751B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0752A FROM FLD0752B + ROUNDED MODE IS TRUNCATION . + ADD FLD0753A TO FLD0753B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0754A FROM FLD0754B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0755A TO FLD0755B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0756A FROM FLD0756B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0757A TO FLD0757B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0758A FROM FLD0758B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0759A TO FLD0759B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0760A FROM FLD0760B + ROUNDED MODE IS TRUNCATION . + ADD FLD0761A TO FLD0761B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0762A FROM FLD0762B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0763A TO FLD0763B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0764A FROM FLD0764B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0765A TO FLD0765B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0766A FROM FLD0766B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0767A TO FLD0767B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0768A FROM FLD0768B + ROUNDED MODE IS TRUNCATION . + ADD FLD0769A TO FLD0769B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0770A FROM FLD0770B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0771A TO FLD0771B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0772A FROM FLD0772B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0773A TO FLD0773B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0774A FROM FLD0774B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0775A TO FLD0775B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0776A FROM FLD0776B + ROUNDED MODE IS TRUNCATION . + ADD FLD0777A TO FLD0777B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0778A FROM FLD0778B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0779A TO FLD0779B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0780A FROM FLD0780B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0781A TO FLD0781B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0782A FROM FLD0782B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0783A TO FLD0783B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0784A FROM FLD0784B + ROUNDED MODE IS TRUNCATION . + ADD FLD0785A TO FLD0785B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0786A FROM FLD0786B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0787A TO FLD0787B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0788A FROM FLD0788B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0789A TO FLD0789B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0790A FROM FLD0790B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0791A TO FLD0791B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0792A FROM FLD0792B + ROUNDED MODE IS TRUNCATION . + ADD FLD0793A TO FLD0793B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0794A FROM FLD0794B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0795A TO FLD0795B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0796A FROM FLD0796B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0797A TO FLD0797B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0798A FROM FLD0798B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0799A TO FLD0799B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0800A FROM FLD0800B + ROUNDED MODE IS TRUNCATION . + ADD FLD0801A TO FLD0801B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0802A FROM FLD0802B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0803A TO FLD0803B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0804A FROM FLD0804B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0805A TO FLD0805B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0806A FROM FLD0806B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0807A TO FLD0807B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0808A FROM FLD0808B + ROUNDED MODE IS TRUNCATION . + ADD FLD0809A TO FLD0809B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0810A FROM FLD0810B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0811A TO FLD0811B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0812A FROM FLD0812B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0813A TO FLD0813B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0814A FROM FLD0814B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0815A TO FLD0815B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0816A FROM FLD0816B + ROUNDED MODE IS TRUNCATION . + ADD FLD0817A TO FLD0817B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0818A FROM FLD0818B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0819A TO FLD0819B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0820A FROM FLD0820B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0821A TO FLD0821B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0822A FROM FLD0822B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0823A TO FLD0823B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0824A FROM FLD0824B + ROUNDED MODE IS TRUNCATION . + ADD FLD0825A TO FLD0825B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0826A FROM FLD0826B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0827A TO FLD0827B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0828A FROM FLD0828B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0829A TO FLD0829B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0830A FROM FLD0830B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0831A TO FLD0831B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0832A FROM FLD0832B + ROUNDED MODE IS TRUNCATION . + ADD FLD0833A TO FLD0833B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0834A FROM FLD0834B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0835A TO FLD0835B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0836A FROM FLD0836B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0837A TO FLD0837B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0838A FROM FLD0838B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0839A TO FLD0839B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0840A FROM FLD0840B + ROUNDED MODE IS TRUNCATION . + ADD FLD0841A TO FLD0841B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0842A FROM FLD0842B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0843A TO FLD0843B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0844A FROM FLD0844B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0845A TO FLD0845B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0846A FROM FLD0846B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0847A TO FLD0847B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0848A FROM FLD0848B + ROUNDED MODE IS TRUNCATION . + ADD FLD0849A TO FLD0849B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0850A FROM FLD0850B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0851A TO FLD0851B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0852A FROM FLD0852B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0853A TO FLD0853B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0854A FROM FLD0854B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0855A TO FLD0855B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0856A FROM FLD0856B + ROUNDED MODE IS TRUNCATION . + ADD FLD0857A TO FLD0857B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0858A FROM FLD0858B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0859A TO FLD0859B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0860A FROM FLD0860B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0861A TO FLD0861B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0862A FROM FLD0862B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0863A TO FLD0863B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0864A FROM FLD0864B + ROUNDED MODE IS TRUNCATION . + ADD FLD0865A TO FLD0865B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0866A FROM FLD0866B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0867A TO FLD0867B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0868A FROM FLD0868B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0869A TO FLD0869B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0870A FROM FLD0870B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0871A TO FLD0871B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0872A FROM FLD0872B + ROUNDED MODE IS TRUNCATION . + ADD FLD0873A TO FLD0873B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0874A FROM FLD0874B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0875A TO FLD0875B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0876A FROM FLD0876B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0877A TO FLD0877B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0878A FROM FLD0878B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0879A TO FLD0879B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0880A FROM FLD0880B + ROUNDED MODE IS TRUNCATION . + ADD FLD0881A TO FLD0881B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0882A FROM FLD0882B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0883A TO FLD0883B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0884A FROM FLD0884B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0885A TO FLD0885B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0886A FROM FLD0886B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0887A TO FLD0887B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0888A FROM FLD0888B + ROUNDED MODE IS TRUNCATION . + ADD FLD0889A TO FLD0889B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0890A FROM FLD0890B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0891A TO FLD0891B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0892A FROM FLD0892B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0893A TO FLD0893B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0894A FROM FLD0894B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0895A TO FLD0895B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0896A FROM FLD0896B + ROUNDED MODE IS TRUNCATION . + ADD FLD0897A TO FLD0897B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0898A FROM FLD0898B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0899A TO FLD0899B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0900A FROM FLD0900B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0901A TO FLD0901B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0902A FROM FLD0902B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0903A TO FLD0903B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0904A FROM FLD0904B + ROUNDED MODE IS TRUNCATION . + ADD FLD0905A TO FLD0905B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0906A FROM FLD0906B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0907A TO FLD0907B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0908A FROM FLD0908B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0909A TO FLD0909B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0910A FROM FLD0910B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0911A TO FLD0911B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0912A FROM FLD0912B + ROUNDED MODE IS TRUNCATION . + ADD FLD0913A TO FLD0913B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0914A FROM FLD0914B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0915A TO FLD0915B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0916A FROM FLD0916B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0917A TO FLD0917B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0918A FROM FLD0918B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0919A TO FLD0919B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0920A FROM FLD0920B + ROUNDED MODE IS TRUNCATION . + ADD FLD0921A TO FLD0921B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0922A FROM FLD0922B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0923A TO FLD0923B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0924A FROM FLD0924B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0925A TO FLD0925B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0926A FROM FLD0926B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0927A TO FLD0927B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0928A FROM FLD0928B + ROUNDED MODE IS TRUNCATION . + ADD FLD0929A TO FLD0929B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0930A FROM FLD0930B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0931A TO FLD0931B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0932A FROM FLD0932B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0933A TO FLD0933B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0934A FROM FLD0934B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0935A TO FLD0935B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0936A FROM FLD0936B + ROUNDED MODE IS TRUNCATION . + ADD FLD0937A TO FLD0937B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0938A FROM FLD0938B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0939A TO FLD0939B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0940A FROM FLD0940B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0941A TO FLD0941B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0942A FROM FLD0942B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0943A TO FLD0943B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0944A FROM FLD0944B + ROUNDED MODE IS TRUNCATION . + ADD FLD0945A TO FLD0945B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0946A FROM FLD0946B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0947A TO FLD0947B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0948A FROM FLD0948B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0949A TO FLD0949B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0950A FROM FLD0950B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0951A TO FLD0951B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0952A FROM FLD0952B + ROUNDED MODE IS TRUNCATION . + ADD FLD0953A TO FLD0953B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0954A FROM FLD0954B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0955A TO FLD0955B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0956A FROM FLD0956B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0957A TO FLD0957B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0958A FROM FLD0958B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0959A TO FLD0959B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0960A FROM FLD0960B + ROUNDED MODE IS TRUNCATION . + ADD FLD0961A TO FLD0961B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0962A FROM FLD0962B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0963A TO FLD0963B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0964A FROM FLD0964B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0965A TO FLD0965B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0966A FROM FLD0966B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0967A TO FLD0967B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0968A FROM FLD0968B + ROUNDED MODE IS TRUNCATION . + ADD FLD0969A TO FLD0969B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0970A FROM FLD0970B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0971A TO FLD0971B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0972A FROM FLD0972B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0973A TO FLD0973B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0974A FROM FLD0974B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0975A TO FLD0975B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0976A FROM FLD0976B + ROUNDED MODE IS TRUNCATION . + ADD FLD0977A TO FLD0977B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0978A FROM FLD0978B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0979A TO FLD0979B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0980A FROM FLD0980B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0981A TO FLD0981B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0982A FROM FLD0982B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0983A TO FLD0983B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0984A FROM FLD0984B + ROUNDED MODE IS TRUNCATION . + ADD FLD0985A TO FLD0985B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0986A FROM FLD0986B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0987A TO FLD0987B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0988A FROM FLD0988B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0989A TO FLD0989B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0990A FROM FLD0990B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0991A TO FLD0991B + ROUNDED MODE IS TOWARD-LESSER . + SUBTRACT FLD0992A FROM FLD0992B + ROUNDED MODE IS TRUNCATION . + ADD FLD0993A TO FLD0993B + ROUNDED MODE IS AWAY-FROM-ZERO . + SUBTRACT FLD0994A FROM FLD0994B + ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. + ADD FLD0995A TO FLD0995B + ROUNDED MODE IS NEAREST-EVEN . + SUBTRACT FLD0996A FROM FLD0996B + ROUNDED MODE IS NEAREST-TOWARD-ZERO . + ADD FLD0997A TO FLD0997B + ROUNDED MODE IS PROHIBITED . + SUBTRACT FLD0998A FROM FLD0998B + ROUNDED MODE IS TOWARD-GREATER . + ADD FLD0999A TO FLD0999B + ROUNDED MODE IS TOWARD-LESSER . + + *4000-COMPARE. + + IF FLD0500B (1:) NOT EQUAL XPC-FLD0500B + DISPLAY 'FLD0500B ==> ' HEX-OF (FLD0500B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0500B). + IF FLD0501B (1:) NOT EQUAL XPC-FLD0501B + DISPLAY 'FLD0501B ==> ' HEX-OF (FLD0501B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0501B). + IF FLD0502B (1:) NOT EQUAL XPC-FLD0502B + DISPLAY 'FLD0502B ==> ' HEX-OF (FLD0502B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0502B). + IF FLD0503B (1:) NOT EQUAL XPC-FLD0503B + DISPLAY 'FLD0503B ==> ' HEX-OF (FLD0503B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0503B). + IF FLD0504B (1:) NOT EQUAL XPC-FLD0504B + DISPLAY 'FLD0504B ==> ' HEX-OF (FLD0504B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0504B). + IF FLD0505B (1:) NOT EQUAL XPC-FLD0505B + DISPLAY 'FLD0505B ==> ' HEX-OF (FLD0505B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0505B). + IF FLD0506B (1:) NOT EQUAL XPC-FLD0506B + DISPLAY 'FLD0506B ==> ' HEX-OF (FLD0506B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0506B). + IF FLD0507B (1:) NOT EQUAL XPC-FLD0507B + DISPLAY 'FLD0507B ==> ' HEX-OF (FLD0507B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0507B). + IF FLD0508B (1:) NOT EQUAL XPC-FLD0508B + DISPLAY 'FLD0508B ==> ' HEX-OF (FLD0508B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0508B). + IF FLD0509B (1:) NOT EQUAL XPC-FLD0509B + DISPLAY 'FLD0509B ==> ' HEX-OF (FLD0509B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0509B). + IF FLD0510B (1:) NOT EQUAL XPC-FLD0510B + DISPLAY 'FLD0510B ==> ' HEX-OF (FLD0510B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0510B). + IF FLD0511B (1:) NOT EQUAL XPC-FLD0511B + DISPLAY 'FLD0511B ==> ' HEX-OF (FLD0511B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0511B). + IF FLD0512B (1:) NOT EQUAL XPC-FLD0512B + DISPLAY 'FLD0512B ==> ' HEX-OF (FLD0512B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0512B). + IF FLD0513B (1:) NOT EQUAL XPC-FLD0513B + DISPLAY 'FLD0513B ==> ' HEX-OF (FLD0513B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0513B). + IF FLD0514B (1:) NOT EQUAL XPC-FLD0514B + DISPLAY 'FLD0514B ==> ' HEX-OF (FLD0514B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0514B). + IF FLD0515B (1:) NOT EQUAL XPC-FLD0515B + DISPLAY 'FLD0515B ==> ' HEX-OF (FLD0515B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0515B). + IF FLD0516B (1:) NOT EQUAL XPC-FLD0516B + DISPLAY 'FLD0516B ==> ' HEX-OF (FLD0516B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0516B). + IF FLD0517B (1:) NOT EQUAL XPC-FLD0517B + DISPLAY 'FLD0517B ==> ' HEX-OF (FLD0517B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0517B). + IF FLD0518B (1:) NOT EQUAL XPC-FLD0518B + DISPLAY 'FLD0518B ==> ' HEX-OF (FLD0518B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0518B). + IF FLD0519B (1:) NOT EQUAL XPC-FLD0519B + DISPLAY 'FLD0519B ==> ' HEX-OF (FLD0519B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0519B). + IF FLD0520B (1:) NOT EQUAL XPC-FLD0520B + DISPLAY 'FLD0520B ==> ' HEX-OF (FLD0520B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0520B). + IF FLD0521B (1:) NOT EQUAL XPC-FLD0521B + DISPLAY 'FLD0521B ==> ' HEX-OF (FLD0521B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0521B). + IF FLD0522B (1:) NOT EQUAL XPC-FLD0522B + DISPLAY 'FLD0522B ==> ' HEX-OF (FLD0522B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0522B). + IF FLD0523B (1:) NOT EQUAL XPC-FLD0523B + DISPLAY 'FLD0523B ==> ' HEX-OF (FLD0523B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0523B). + IF FLD0524B (1:) NOT EQUAL XPC-FLD0524B + DISPLAY 'FLD0524B ==> ' HEX-OF (FLD0524B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0524B). + IF FLD0525B (1:) NOT EQUAL XPC-FLD0525B + DISPLAY 'FLD0525B ==> ' HEX-OF (FLD0525B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0525B). + IF FLD0526B (1:) NOT EQUAL XPC-FLD0526B + DISPLAY 'FLD0526B ==> ' HEX-OF (FLD0526B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0526B). + IF FLD0527B (1:) NOT EQUAL XPC-FLD0527B + DISPLAY 'FLD0527B ==> ' HEX-OF (FLD0527B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0527B). + IF FLD0528B (1:) NOT EQUAL XPC-FLD0528B + DISPLAY 'FLD0528B ==> ' HEX-OF (FLD0528B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0528B). + IF FLD0529B (1:) NOT EQUAL XPC-FLD0529B + DISPLAY 'FLD0529B ==> ' HEX-OF (FLD0529B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0529B). + IF FLD0530B (1:) NOT EQUAL XPC-FLD0530B + DISPLAY 'FLD0530B ==> ' HEX-OF (FLD0530B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0530B). + IF FLD0531B (1:) NOT EQUAL XPC-FLD0531B + DISPLAY 'FLD0531B ==> ' HEX-OF (FLD0531B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0531B). + IF FLD0532B (1:) NOT EQUAL XPC-FLD0532B + DISPLAY 'FLD0532B ==> ' HEX-OF (FLD0532B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0532B). + IF FLD0533B (1:) NOT EQUAL XPC-FLD0533B + DISPLAY 'FLD0533B ==> ' HEX-OF (FLD0533B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0533B). + IF FLD0534B (1:) NOT EQUAL XPC-FLD0534B + DISPLAY 'FLD0534B ==> ' HEX-OF (FLD0534B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0534B). + IF FLD0535B (1:) NOT EQUAL XPC-FLD0535B + DISPLAY 'FLD0535B ==> ' HEX-OF (FLD0535B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0535B). + IF FLD0536B (1:) NOT EQUAL XPC-FLD0536B + DISPLAY 'FLD0536B ==> ' HEX-OF (FLD0536B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0536B). + IF FLD0537B (1:) NOT EQUAL XPC-FLD0537B + DISPLAY 'FLD0537B ==> ' HEX-OF (FLD0537B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0537B). + IF FLD0538B (1:) NOT EQUAL XPC-FLD0538B + DISPLAY 'FLD0538B ==> ' HEX-OF (FLD0538B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0538B). + IF FLD0539B (1:) NOT EQUAL XPC-FLD0539B + DISPLAY 'FLD0539B ==> ' HEX-OF (FLD0539B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0539B). + IF FLD0540B (1:) NOT EQUAL XPC-FLD0540B + DISPLAY 'FLD0540B ==> ' HEX-OF (FLD0540B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0540B). + IF FLD0541B (1:) NOT EQUAL XPC-FLD0541B + DISPLAY 'FLD0541B ==> ' HEX-OF (FLD0541B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0541B). + IF FLD0542B (1:) NOT EQUAL XPC-FLD0542B + DISPLAY 'FLD0542B ==> ' HEX-OF (FLD0542B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0542B). + IF FLD0543B (1:) NOT EQUAL XPC-FLD0543B + DISPLAY 'FLD0543B ==> ' HEX-OF (FLD0543B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0543B). + IF FLD0544B (1:) NOT EQUAL XPC-FLD0544B + DISPLAY 'FLD0544B ==> ' HEX-OF (FLD0544B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0544B). + IF FLD0545B (1:) NOT EQUAL XPC-FLD0545B + DISPLAY 'FLD0545B ==> ' HEX-OF (FLD0545B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0545B). + IF FLD0546B (1:) NOT EQUAL XPC-FLD0546B + DISPLAY 'FLD0546B ==> ' HEX-OF (FLD0546B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0546B). + IF FLD0547B (1:) NOT EQUAL XPC-FLD0547B + DISPLAY 'FLD0547B ==> ' HEX-OF (FLD0547B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0547B). + IF FLD0548B (1:) NOT EQUAL XPC-FLD0548B + DISPLAY 'FLD0548B ==> ' HEX-OF (FLD0548B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0548B). + IF FLD0549B (1:) NOT EQUAL XPC-FLD0549B + DISPLAY 'FLD0549B ==> ' HEX-OF (FLD0549B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0549B). + IF FLD0550B (1:) NOT EQUAL XPC-FLD0550B + DISPLAY 'FLD0550B ==> ' HEX-OF (FLD0550B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0550B). + IF FLD0551B (1:) NOT EQUAL XPC-FLD0551B + DISPLAY 'FLD0551B ==> ' HEX-OF (FLD0551B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0551B). + IF FLD0552B (1:) NOT EQUAL XPC-FLD0552B + DISPLAY 'FLD0552B ==> ' HEX-OF (FLD0552B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0552B). + IF FLD0553B (1:) NOT EQUAL XPC-FLD0553B + DISPLAY 'FLD0553B ==> ' HEX-OF (FLD0553B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0553B). + IF FLD0554B (1:) NOT EQUAL XPC-FLD0554B + DISPLAY 'FLD0554B ==> ' HEX-OF (FLD0554B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0554B). + IF FLD0555B (1:) NOT EQUAL XPC-FLD0555B + DISPLAY 'FLD0555B ==> ' HEX-OF (FLD0555B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0555B). + IF FLD0556B (1:) NOT EQUAL XPC-FLD0556B + DISPLAY 'FLD0556B ==> ' HEX-OF (FLD0556B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0556B). + IF FLD0557B (1:) NOT EQUAL XPC-FLD0557B + DISPLAY 'FLD0557B ==> ' HEX-OF (FLD0557B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0557B). + IF FLD0558B (1:) NOT EQUAL XPC-FLD0558B + DISPLAY 'FLD0558B ==> ' HEX-OF (FLD0558B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0558B). + IF FLD0559B (1:) NOT EQUAL XPC-FLD0559B + DISPLAY 'FLD0559B ==> ' HEX-OF (FLD0559B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0559B). + IF FLD0560B (1:) NOT EQUAL XPC-FLD0560B + DISPLAY 'FLD0560B ==> ' HEX-OF (FLD0560B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0560B). + IF FLD0561B (1:) NOT EQUAL XPC-FLD0561B + DISPLAY 'FLD0561B ==> ' HEX-OF (FLD0561B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0561B). + IF FLD0562B (1:) NOT EQUAL XPC-FLD0562B + DISPLAY 'FLD0562B ==> ' HEX-OF (FLD0562B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0562B). + IF FLD0563B (1:) NOT EQUAL XPC-FLD0563B + DISPLAY 'FLD0563B ==> ' HEX-OF (FLD0563B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0563B). + IF FLD0564B (1:) NOT EQUAL XPC-FLD0564B + DISPLAY 'FLD0564B ==> ' HEX-OF (FLD0564B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0564B). + IF FLD0565B (1:) NOT EQUAL XPC-FLD0565B + DISPLAY 'FLD0565B ==> ' HEX-OF (FLD0565B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0565B). + IF FLD0566B (1:) NOT EQUAL XPC-FLD0566B + DISPLAY 'FLD0566B ==> ' HEX-OF (FLD0566B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0566B). + IF FLD0567B (1:) NOT EQUAL XPC-FLD0567B + DISPLAY 'FLD0567B ==> ' HEX-OF (FLD0567B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0567B). + IF FLD0568B (1:) NOT EQUAL XPC-FLD0568B + DISPLAY 'FLD0568B ==> ' HEX-OF (FLD0568B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0568B). + IF FLD0569B (1:) NOT EQUAL XPC-FLD0569B + DISPLAY 'FLD0569B ==> ' HEX-OF (FLD0569B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0569B). + IF FLD0570B (1:) NOT EQUAL XPC-FLD0570B + DISPLAY 'FLD0570B ==> ' HEX-OF (FLD0570B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0570B). + IF FLD0571B (1:) NOT EQUAL XPC-FLD0571B + DISPLAY 'FLD0571B ==> ' HEX-OF (FLD0571B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0571B). + IF FLD0572B (1:) NOT EQUAL XPC-FLD0572B + DISPLAY 'FLD0572B ==> ' HEX-OF (FLD0572B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0572B). + IF FLD0573B (1:) NOT EQUAL XPC-FLD0573B + DISPLAY 'FLD0573B ==> ' HEX-OF (FLD0573B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0573B). + IF FLD0574B (1:) NOT EQUAL XPC-FLD0574B + DISPLAY 'FLD0574B ==> ' HEX-OF (FLD0574B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0574B). + IF FLD0575B (1:) NOT EQUAL XPC-FLD0575B + DISPLAY 'FLD0575B ==> ' HEX-OF (FLD0575B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0575B). + IF FLD0576B (1:) NOT EQUAL XPC-FLD0576B + DISPLAY 'FLD0576B ==> ' HEX-OF (FLD0576B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0576B). + IF FLD0577B (1:) NOT EQUAL XPC-FLD0577B + DISPLAY 'FLD0577B ==> ' HEX-OF (FLD0577B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0577B). + IF FLD0578B (1:) NOT EQUAL XPC-FLD0578B + DISPLAY 'FLD0578B ==> ' HEX-OF (FLD0578B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0578B). + IF FLD0579B (1:) NOT EQUAL XPC-FLD0579B + DISPLAY 'FLD0579B ==> ' HEX-OF (FLD0579B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0579B). + IF FLD0580B (1:) NOT EQUAL XPC-FLD0580B + DISPLAY 'FLD0580B ==> ' HEX-OF (FLD0580B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0580B). + IF FLD0581B (1:) NOT EQUAL XPC-FLD0581B + DISPLAY 'FLD0581B ==> ' HEX-OF (FLD0581B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0581B). + IF FLD0582B (1:) NOT EQUAL XPC-FLD0582B + DISPLAY 'FLD0582B ==> ' HEX-OF (FLD0582B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0582B). + IF FLD0583B (1:) NOT EQUAL XPC-FLD0583B + DISPLAY 'FLD0583B ==> ' HEX-OF (FLD0583B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0583B). + IF FLD0584B (1:) NOT EQUAL XPC-FLD0584B + DISPLAY 'FLD0584B ==> ' HEX-OF (FLD0584B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0584B). + IF FLD0585B (1:) NOT EQUAL XPC-FLD0585B + DISPLAY 'FLD0585B ==> ' HEX-OF (FLD0585B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0585B). + IF FLD0586B (1:) NOT EQUAL XPC-FLD0586B + DISPLAY 'FLD0586B ==> ' HEX-OF (FLD0586B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0586B). + IF FLD0587B (1:) NOT EQUAL XPC-FLD0587B + DISPLAY 'FLD0587B ==> ' HEX-OF (FLD0587B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0587B). + IF FLD0588B (1:) NOT EQUAL XPC-FLD0588B + DISPLAY 'FLD0588B ==> ' HEX-OF (FLD0588B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0588B). + IF FLD0589B (1:) NOT EQUAL XPC-FLD0589B + DISPLAY 'FLD0589B ==> ' HEX-OF (FLD0589B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0589B). + IF FLD0590B (1:) NOT EQUAL XPC-FLD0590B + DISPLAY 'FLD0590B ==> ' HEX-OF (FLD0590B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0590B). + IF FLD0591B (1:) NOT EQUAL XPC-FLD0591B + DISPLAY 'FLD0591B ==> ' HEX-OF (FLD0591B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0591B). + IF FLD0592B (1:) NOT EQUAL XPC-FLD0592B + DISPLAY 'FLD0592B ==> ' HEX-OF (FLD0592B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0592B). + IF FLD0593B (1:) NOT EQUAL XPC-FLD0593B + DISPLAY 'FLD0593B ==> ' HEX-OF (FLD0593B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0593B). + IF FLD0594B (1:) NOT EQUAL XPC-FLD0594B + DISPLAY 'FLD0594B ==> ' HEX-OF (FLD0594B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0594B). + IF FLD0595B (1:) NOT EQUAL XPC-FLD0595B + DISPLAY 'FLD0595B ==> ' HEX-OF (FLD0595B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0595B). + IF FLD0596B (1:) NOT EQUAL XPC-FLD0596B + DISPLAY 'FLD0596B ==> ' HEX-OF (FLD0596B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0596B). + IF FLD0597B (1:) NOT EQUAL XPC-FLD0597B + DISPLAY 'FLD0597B ==> ' HEX-OF (FLD0597B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0597B). + IF FLD0598B (1:) NOT EQUAL XPC-FLD0598B + DISPLAY 'FLD0598B ==> ' HEX-OF (FLD0598B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0598B). + IF FLD0599B (1:) NOT EQUAL XPC-FLD0599B + DISPLAY 'FLD0599B ==> ' HEX-OF (FLD0599B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0599B). + IF FLD0600B (1:) NOT EQUAL XPC-FLD0600B + DISPLAY 'FLD0600B ==> ' HEX-OF (FLD0600B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0600B). + IF FLD0601B (1:) NOT EQUAL XPC-FLD0601B + DISPLAY 'FLD0601B ==> ' HEX-OF (FLD0601B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0601B). + IF FLD0602B (1:) NOT EQUAL XPC-FLD0602B + DISPLAY 'FLD0602B ==> ' HEX-OF (FLD0602B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0602B). + IF FLD0603B (1:) NOT EQUAL XPC-FLD0603B + DISPLAY 'FLD0603B ==> ' HEX-OF (FLD0603B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0603B). + IF FLD0604B (1:) NOT EQUAL XPC-FLD0604B + DISPLAY 'FLD0604B ==> ' HEX-OF (FLD0604B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0604B). + IF FLD0605B (1:) NOT EQUAL XPC-FLD0605B + DISPLAY 'FLD0605B ==> ' HEX-OF (FLD0605B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0605B). + IF FLD0606B (1:) NOT EQUAL XPC-FLD0606B + DISPLAY 'FLD0606B ==> ' HEX-OF (FLD0606B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0606B). + IF FLD0607B (1:) NOT EQUAL XPC-FLD0607B + DISPLAY 'FLD0607B ==> ' HEX-OF (FLD0607B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0607B). + IF FLD0608B (1:) NOT EQUAL XPC-FLD0608B + DISPLAY 'FLD0608B ==> ' HEX-OF (FLD0608B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0608B). + IF FLD0609B (1:) NOT EQUAL XPC-FLD0609B + DISPLAY 'FLD0609B ==> ' HEX-OF (FLD0609B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0609B). + IF FLD0610B (1:) NOT EQUAL XPC-FLD0610B + DISPLAY 'FLD0610B ==> ' HEX-OF (FLD0610B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0610B). + IF FLD0611B (1:) NOT EQUAL XPC-FLD0611B + DISPLAY 'FLD0611B ==> ' HEX-OF (FLD0611B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0611B). + IF FLD0612B (1:) NOT EQUAL XPC-FLD0612B + DISPLAY 'FLD0612B ==> ' HEX-OF (FLD0612B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0612B). + IF FLD0613B (1:) NOT EQUAL XPC-FLD0613B + DISPLAY 'FLD0613B ==> ' HEX-OF (FLD0613B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0613B). + IF FLD0614B (1:) NOT EQUAL XPC-FLD0614B + DISPLAY 'FLD0614B ==> ' HEX-OF (FLD0614B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0614B). + IF FLD0615B (1:) NOT EQUAL XPC-FLD0615B + DISPLAY 'FLD0615B ==> ' HEX-OF (FLD0615B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0615B). + IF FLD0616B (1:) NOT EQUAL XPC-FLD0616B + DISPLAY 'FLD0616B ==> ' HEX-OF (FLD0616B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0616B). + IF FLD0617B (1:) NOT EQUAL XPC-FLD0617B + DISPLAY 'FLD0617B ==> ' HEX-OF (FLD0617B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0617B). + IF FLD0618B (1:) NOT EQUAL XPC-FLD0618B + DISPLAY 'FLD0618B ==> ' HEX-OF (FLD0618B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0618B). + IF FLD0619B (1:) NOT EQUAL XPC-FLD0619B + DISPLAY 'FLD0619B ==> ' HEX-OF (FLD0619B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0619B). + IF FLD0620B (1:) NOT EQUAL XPC-FLD0620B + DISPLAY 'FLD0620B ==> ' HEX-OF (FLD0620B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0620B). + IF FLD0621B (1:) NOT EQUAL XPC-FLD0621B + DISPLAY 'FLD0621B ==> ' HEX-OF (FLD0621B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0621B). + IF FLD0622B (1:) NOT EQUAL XPC-FLD0622B + DISPLAY 'FLD0622B ==> ' HEX-OF (FLD0622B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0622B). + IF FLD0623B (1:) NOT EQUAL XPC-FLD0623B + DISPLAY 'FLD0623B ==> ' HEX-OF (FLD0623B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0623B). + IF FLD0624B (1:) NOT EQUAL XPC-FLD0624B + DISPLAY 'FLD0624B ==> ' HEX-OF (FLD0624B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0624B). + IF FLD0625B (1:) NOT EQUAL XPC-FLD0625B + DISPLAY 'FLD0625B ==> ' HEX-OF (FLD0625B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0625B). + IF FLD0626B (1:) NOT EQUAL XPC-FLD0626B + DISPLAY 'FLD0626B ==> ' HEX-OF (FLD0626B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0626B). + IF FLD0627B (1:) NOT EQUAL XPC-FLD0627B + DISPLAY 'FLD0627B ==> ' HEX-OF (FLD0627B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0627B). + IF FLD0628B (1:) NOT EQUAL XPC-FLD0628B + DISPLAY 'FLD0628B ==> ' HEX-OF (FLD0628B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0628B). + IF FLD0629B (1:) NOT EQUAL XPC-FLD0629B + DISPLAY 'FLD0629B ==> ' HEX-OF (FLD0629B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0629B). + IF FLD0630B (1:) NOT EQUAL XPC-FLD0630B + DISPLAY 'FLD0630B ==> ' HEX-OF (FLD0630B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0630B). + IF FLD0631B (1:) NOT EQUAL XPC-FLD0631B + DISPLAY 'FLD0631B ==> ' HEX-OF (FLD0631B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0631B). + IF FLD0632B (1:) NOT EQUAL XPC-FLD0632B + DISPLAY 'FLD0632B ==> ' HEX-OF (FLD0632B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0632B). + IF FLD0633B (1:) NOT EQUAL XPC-FLD0633B + DISPLAY 'FLD0633B ==> ' HEX-OF (FLD0633B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0633B). + IF FLD0634B (1:) NOT EQUAL XPC-FLD0634B + DISPLAY 'FLD0634B ==> ' HEX-OF (FLD0634B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0634B). + IF FLD0635B (1:) NOT EQUAL XPC-FLD0635B + DISPLAY 'FLD0635B ==> ' HEX-OF (FLD0635B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0635B). + IF FLD0636B (1:) NOT EQUAL XPC-FLD0636B + DISPLAY 'FLD0636B ==> ' HEX-OF (FLD0636B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0636B). + IF FLD0637B (1:) NOT EQUAL XPC-FLD0637B + DISPLAY 'FLD0637B ==> ' HEX-OF (FLD0637B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0637B). + IF FLD0638B (1:) NOT EQUAL XPC-FLD0638B + DISPLAY 'FLD0638B ==> ' HEX-OF (FLD0638B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0638B). + IF FLD0639B (1:) NOT EQUAL XPC-FLD0639B + DISPLAY 'FLD0639B ==> ' HEX-OF (FLD0639B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0639B). + IF FLD0640B (1:) NOT EQUAL XPC-FLD0640B + DISPLAY 'FLD0640B ==> ' HEX-OF (FLD0640B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0640B). + IF FLD0641B (1:) NOT EQUAL XPC-FLD0641B + DISPLAY 'FLD0641B ==> ' HEX-OF (FLD0641B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0641B). + IF FLD0642B (1:) NOT EQUAL XPC-FLD0642B + DISPLAY 'FLD0642B ==> ' HEX-OF (FLD0642B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0642B). + IF FLD0643B (1:) NOT EQUAL XPC-FLD0643B + DISPLAY 'FLD0643B ==> ' HEX-OF (FLD0643B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0643B). + IF FLD0644B (1:) NOT EQUAL XPC-FLD0644B + DISPLAY 'FLD0644B ==> ' HEX-OF (FLD0644B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0644B). + IF FLD0645B (1:) NOT EQUAL XPC-FLD0645B + DISPLAY 'FLD0645B ==> ' HEX-OF (FLD0645B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0645B). + IF FLD0646B (1:) NOT EQUAL XPC-FLD0646B + DISPLAY 'FLD0646B ==> ' HEX-OF (FLD0646B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0646B). + IF FLD0647B (1:) NOT EQUAL XPC-FLD0647B + DISPLAY 'FLD0647B ==> ' HEX-OF (FLD0647B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0647B). + IF FLD0648B (1:) NOT EQUAL XPC-FLD0648B + DISPLAY 'FLD0648B ==> ' HEX-OF (FLD0648B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0648B). + IF FLD0649B (1:) NOT EQUAL XPC-FLD0649B + DISPLAY 'FLD0649B ==> ' HEX-OF (FLD0649B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0649B). + IF FLD0650B (1:) NOT EQUAL XPC-FLD0650B + DISPLAY 'FLD0650B ==> ' HEX-OF (FLD0650B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0650B). + IF FLD0651B (1:) NOT EQUAL XPC-FLD0651B + DISPLAY 'FLD0651B ==> ' HEX-OF (FLD0651B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0651B). + IF FLD0652B (1:) NOT EQUAL XPC-FLD0652B + DISPLAY 'FLD0652B ==> ' HEX-OF (FLD0652B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0652B). + IF FLD0653B (1:) NOT EQUAL XPC-FLD0653B + DISPLAY 'FLD0653B ==> ' HEX-OF (FLD0653B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0653B). + IF FLD0654B (1:) NOT EQUAL XPC-FLD0654B + DISPLAY 'FLD0654B ==> ' HEX-OF (FLD0654B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0654B). + IF FLD0655B (1:) NOT EQUAL XPC-FLD0655B + DISPLAY 'FLD0655B ==> ' HEX-OF (FLD0655B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0655B). + IF FLD0656B (1:) NOT EQUAL XPC-FLD0656B + DISPLAY 'FLD0656B ==> ' HEX-OF (FLD0656B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0656B). + IF FLD0657B (1:) NOT EQUAL XPC-FLD0657B + DISPLAY 'FLD0657B ==> ' HEX-OF (FLD0657B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0657B). + IF FLD0658B (1:) NOT EQUAL XPC-FLD0658B + DISPLAY 'FLD0658B ==> ' HEX-OF (FLD0658B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0658B). + IF FLD0659B (1:) NOT EQUAL XPC-FLD0659B + DISPLAY 'FLD0659B ==> ' HEX-OF (FLD0659B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0659B). + IF FLD0660B (1:) NOT EQUAL XPC-FLD0660B + DISPLAY 'FLD0660B ==> ' HEX-OF (FLD0660B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0660B). + IF FLD0661B (1:) NOT EQUAL XPC-FLD0661B + DISPLAY 'FLD0661B ==> ' HEX-OF (FLD0661B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0661B). + IF FLD0662B (1:) NOT EQUAL XPC-FLD0662B + DISPLAY 'FLD0662B ==> ' HEX-OF (FLD0662B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0662B). + IF FLD0663B (1:) NOT EQUAL XPC-FLD0663B + DISPLAY 'FLD0663B ==> ' HEX-OF (FLD0663B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0663B). + IF FLD0664B (1:) NOT EQUAL XPC-FLD0664B + DISPLAY 'FLD0664B ==> ' HEX-OF (FLD0664B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0664B). + IF FLD0665B (1:) NOT EQUAL XPC-FLD0665B + DISPLAY 'FLD0665B ==> ' HEX-OF (FLD0665B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0665B). + IF FLD0666B (1:) NOT EQUAL XPC-FLD0666B + DISPLAY 'FLD0666B ==> ' HEX-OF (FLD0666B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0666B). + IF FLD0667B (1:) NOT EQUAL XPC-FLD0667B + DISPLAY 'FLD0667B ==> ' HEX-OF (FLD0667B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0667B). + IF FLD0668B (1:) NOT EQUAL XPC-FLD0668B + DISPLAY 'FLD0668B ==> ' HEX-OF (FLD0668B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0668B). + IF FLD0669B (1:) NOT EQUAL XPC-FLD0669B + DISPLAY 'FLD0669B ==> ' HEX-OF (FLD0669B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0669B). + IF FLD0670B (1:) NOT EQUAL XPC-FLD0670B + DISPLAY 'FLD0670B ==> ' HEX-OF (FLD0670B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0670B). + IF FLD0671B (1:) NOT EQUAL XPC-FLD0671B + DISPLAY 'FLD0671B ==> ' HEX-OF (FLD0671B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0671B). + IF FLD0672B (1:) NOT EQUAL XPC-FLD0672B + DISPLAY 'FLD0672B ==> ' HEX-OF (FLD0672B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0672B). + IF FLD0673B (1:) NOT EQUAL XPC-FLD0673B + DISPLAY 'FLD0673B ==> ' HEX-OF (FLD0673B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0673B). + IF FLD0674B (1:) NOT EQUAL XPC-FLD0674B + DISPLAY 'FLD0674B ==> ' HEX-OF (FLD0674B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0674B). + IF FLD0675B (1:) NOT EQUAL XPC-FLD0675B + DISPLAY 'FLD0675B ==> ' HEX-OF (FLD0675B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0675B). + IF FLD0676B (1:) NOT EQUAL XPC-FLD0676B + DISPLAY 'FLD0676B ==> ' HEX-OF (FLD0676B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0676B). + IF FLD0677B (1:) NOT EQUAL XPC-FLD0677B + DISPLAY 'FLD0677B ==> ' HEX-OF (FLD0677B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0677B). + IF FLD0678B (1:) NOT EQUAL XPC-FLD0678B + DISPLAY 'FLD0678B ==> ' HEX-OF (FLD0678B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0678B). + IF FLD0679B (1:) NOT EQUAL XPC-FLD0679B + DISPLAY 'FLD0679B ==> ' HEX-OF (FLD0679B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0679B). + IF FLD0680B (1:) NOT EQUAL XPC-FLD0680B + DISPLAY 'FLD0680B ==> ' HEX-OF (FLD0680B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0680B). + IF FLD0681B (1:) NOT EQUAL XPC-FLD0681B + DISPLAY 'FLD0681B ==> ' HEX-OF (FLD0681B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0681B). + IF FLD0682B (1:) NOT EQUAL XPC-FLD0682B + DISPLAY 'FLD0682B ==> ' HEX-OF (FLD0682B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0682B). + IF FLD0683B (1:) NOT EQUAL XPC-FLD0683B + DISPLAY 'FLD0683B ==> ' HEX-OF (FLD0683B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0683B). + IF FLD0684B (1:) NOT EQUAL XPC-FLD0684B + DISPLAY 'FLD0684B ==> ' HEX-OF (FLD0684B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0684B). + IF FLD0685B (1:) NOT EQUAL XPC-FLD0685B + DISPLAY 'FLD0685B ==> ' HEX-OF (FLD0685B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0685B). + IF FLD0686B (1:) NOT EQUAL XPC-FLD0686B + DISPLAY 'FLD0686B ==> ' HEX-OF (FLD0686B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0686B). + IF FLD0687B (1:) NOT EQUAL XPC-FLD0687B + DISPLAY 'FLD0687B ==> ' HEX-OF (FLD0687B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0687B). + IF FLD0688B (1:) NOT EQUAL XPC-FLD0688B + DISPLAY 'FLD0688B ==> ' HEX-OF (FLD0688B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0688B). + IF FLD0689B (1:) NOT EQUAL XPC-FLD0689B + DISPLAY 'FLD0689B ==> ' HEX-OF (FLD0689B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0689B). + IF FLD0690B (1:) NOT EQUAL XPC-FLD0690B + DISPLAY 'FLD0690B ==> ' HEX-OF (FLD0690B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0690B). + IF FLD0691B (1:) NOT EQUAL XPC-FLD0691B + DISPLAY 'FLD0691B ==> ' HEX-OF (FLD0691B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0691B). + IF FLD0692B (1:) NOT EQUAL XPC-FLD0692B + DISPLAY 'FLD0692B ==> ' HEX-OF (FLD0692B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0692B). + IF FLD0693B (1:) NOT EQUAL XPC-FLD0693B + DISPLAY 'FLD0693B ==> ' HEX-OF (FLD0693B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0693B). + IF FLD0694B (1:) NOT EQUAL XPC-FLD0694B + DISPLAY 'FLD0694B ==> ' HEX-OF (FLD0694B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0694B). + IF FLD0695B (1:) NOT EQUAL XPC-FLD0695B + DISPLAY 'FLD0695B ==> ' HEX-OF (FLD0695B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0695B). + IF FLD0696B (1:) NOT EQUAL XPC-FLD0696B + DISPLAY 'FLD0696B ==> ' HEX-OF (FLD0696B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0696B). + IF FLD0697B (1:) NOT EQUAL XPC-FLD0697B + DISPLAY 'FLD0697B ==> ' HEX-OF (FLD0697B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0697B). + IF FLD0698B (1:) NOT EQUAL XPC-FLD0698B + DISPLAY 'FLD0698B ==> ' HEX-OF (FLD0698B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0698B). + IF FLD0699B (1:) NOT EQUAL XPC-FLD0699B + DISPLAY 'FLD0699B ==> ' HEX-OF (FLD0699B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0699B). + IF FLD0700B (1:) NOT EQUAL XPC-FLD0700B + DISPLAY 'FLD0700B ==> ' HEX-OF (FLD0700B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0700B). + IF FLD0701B (1:) NOT EQUAL XPC-FLD0701B + DISPLAY 'FLD0701B ==> ' HEX-OF (FLD0701B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0701B). + IF FLD0702B (1:) NOT EQUAL XPC-FLD0702B + DISPLAY 'FLD0702B ==> ' HEX-OF (FLD0702B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0702B). + IF FLD0703B (1:) NOT EQUAL XPC-FLD0703B + DISPLAY 'FLD0703B ==> ' HEX-OF (FLD0703B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0703B). + IF FLD0704B (1:) NOT EQUAL XPC-FLD0704B + DISPLAY 'FLD0704B ==> ' HEX-OF (FLD0704B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0704B). + IF FLD0705B (1:) NOT EQUAL XPC-FLD0705B + DISPLAY 'FLD0705B ==> ' HEX-OF (FLD0705B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0705B). + IF FLD0706B (1:) NOT EQUAL XPC-FLD0706B + DISPLAY 'FLD0706B ==> ' HEX-OF (FLD0706B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0706B). + IF FLD0707B (1:) NOT EQUAL XPC-FLD0707B + DISPLAY 'FLD0707B ==> ' HEX-OF (FLD0707B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0707B). + IF FLD0708B (1:) NOT EQUAL XPC-FLD0708B + DISPLAY 'FLD0708B ==> ' HEX-OF (FLD0708B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0708B). + IF FLD0709B (1:) NOT EQUAL XPC-FLD0709B + DISPLAY 'FLD0709B ==> ' HEX-OF (FLD0709B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0709B). + IF FLD0710B (1:) NOT EQUAL XPC-FLD0710B + DISPLAY 'FLD0710B ==> ' HEX-OF (FLD0710B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0710B). + IF FLD0711B (1:) NOT EQUAL XPC-FLD0711B + DISPLAY 'FLD0711B ==> ' HEX-OF (FLD0711B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0711B). + IF FLD0712B (1:) NOT EQUAL XPC-FLD0712B + DISPLAY 'FLD0712B ==> ' HEX-OF (FLD0712B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0712B). + IF FLD0713B (1:) NOT EQUAL XPC-FLD0713B + DISPLAY 'FLD0713B ==> ' HEX-OF (FLD0713B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0713B). + IF FLD0714B (1:) NOT EQUAL XPC-FLD0714B + DISPLAY 'FLD0714B ==> ' HEX-OF (FLD0714B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0714B). + IF FLD0715B (1:) NOT EQUAL XPC-FLD0715B + DISPLAY 'FLD0715B ==> ' HEX-OF (FLD0715B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0715B). + IF FLD0716B (1:) NOT EQUAL XPC-FLD0716B + DISPLAY 'FLD0716B ==> ' HEX-OF (FLD0716B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0716B). + IF FLD0717B (1:) NOT EQUAL XPC-FLD0717B + DISPLAY 'FLD0717B ==> ' HEX-OF (FLD0717B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0717B). + IF FLD0718B (1:) NOT EQUAL XPC-FLD0718B + DISPLAY 'FLD0718B ==> ' HEX-OF (FLD0718B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0718B). + IF FLD0719B (1:) NOT EQUAL XPC-FLD0719B + DISPLAY 'FLD0719B ==> ' HEX-OF (FLD0719B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0719B). + IF FLD0720B (1:) NOT EQUAL XPC-FLD0720B + DISPLAY 'FLD0720B ==> ' HEX-OF (FLD0720B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0720B). + IF FLD0721B (1:) NOT EQUAL XPC-FLD0721B + DISPLAY 'FLD0721B ==> ' HEX-OF (FLD0721B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0721B). + IF FLD0722B (1:) NOT EQUAL XPC-FLD0722B + DISPLAY 'FLD0722B ==> ' HEX-OF (FLD0722B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0722B). + IF FLD0723B (1:) NOT EQUAL XPC-FLD0723B + DISPLAY 'FLD0723B ==> ' HEX-OF (FLD0723B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0723B). + IF FLD0724B (1:) NOT EQUAL XPC-FLD0724B + DISPLAY 'FLD0724B ==> ' HEX-OF (FLD0724B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0724B). + IF FLD0725B (1:) NOT EQUAL XPC-FLD0725B + DISPLAY 'FLD0725B ==> ' HEX-OF (FLD0725B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0725B). + IF FLD0726B (1:) NOT EQUAL XPC-FLD0726B + DISPLAY 'FLD0726B ==> ' HEX-OF (FLD0726B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0726B). + IF FLD0727B (1:) NOT EQUAL XPC-FLD0727B + DISPLAY 'FLD0727B ==> ' HEX-OF (FLD0727B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0727B). + IF FLD0728B (1:) NOT EQUAL XPC-FLD0728B + DISPLAY 'FLD0728B ==> ' HEX-OF (FLD0728B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0728B). + IF FLD0729B (1:) NOT EQUAL XPC-FLD0729B + DISPLAY 'FLD0729B ==> ' HEX-OF (FLD0729B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0729B). + IF FLD0730B (1:) NOT EQUAL XPC-FLD0730B + DISPLAY 'FLD0730B ==> ' HEX-OF (FLD0730B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0730B). + IF FLD0731B (1:) NOT EQUAL XPC-FLD0731B + DISPLAY 'FLD0731B ==> ' HEX-OF (FLD0731B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0731B). + IF FLD0732B (1:) NOT EQUAL XPC-FLD0732B + DISPLAY 'FLD0732B ==> ' HEX-OF (FLD0732B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0732B). + IF FLD0733B (1:) NOT EQUAL XPC-FLD0733B + DISPLAY 'FLD0733B ==> ' HEX-OF (FLD0733B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0733B). + IF FLD0734B (1:) NOT EQUAL XPC-FLD0734B + DISPLAY 'FLD0734B ==> ' HEX-OF (FLD0734B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0734B). + IF FLD0735B (1:) NOT EQUAL XPC-FLD0735B + DISPLAY 'FLD0735B ==> ' HEX-OF (FLD0735B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0735B). + IF FLD0736B (1:) NOT EQUAL XPC-FLD0736B + DISPLAY 'FLD0736B ==> ' HEX-OF (FLD0736B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0736B). + IF FLD0737B (1:) NOT EQUAL XPC-FLD0737B + DISPLAY 'FLD0737B ==> ' HEX-OF (FLD0737B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0737B). + IF FLD0738B (1:) NOT EQUAL XPC-FLD0738B + DISPLAY 'FLD0738B ==> ' HEX-OF (FLD0738B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0738B). + IF FLD0739B (1:) NOT EQUAL XPC-FLD0739B + DISPLAY 'FLD0739B ==> ' HEX-OF (FLD0739B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0739B). + IF FLD0740B (1:) NOT EQUAL XPC-FLD0740B + DISPLAY 'FLD0740B ==> ' HEX-OF (FLD0740B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0740B). + IF FLD0741B (1:) NOT EQUAL XPC-FLD0741B + DISPLAY 'FLD0741B ==> ' HEX-OF (FLD0741B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0741B). + IF FLD0742B (1:) NOT EQUAL XPC-FLD0742B + DISPLAY 'FLD0742B ==> ' HEX-OF (FLD0742B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0742B). + IF FLD0743B (1:) NOT EQUAL XPC-FLD0743B + DISPLAY 'FLD0743B ==> ' HEX-OF (FLD0743B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0743B). + IF FLD0744B (1:) NOT EQUAL XPC-FLD0744B + DISPLAY 'FLD0744B ==> ' HEX-OF (FLD0744B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0744B). + IF FLD0745B (1:) NOT EQUAL XPC-FLD0745B + DISPLAY 'FLD0745B ==> ' HEX-OF (FLD0745B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0745B). + IF FLD0746B (1:) NOT EQUAL XPC-FLD0746B + DISPLAY 'FLD0746B ==> ' HEX-OF (FLD0746B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0746B). + IF FLD0747B (1:) NOT EQUAL XPC-FLD0747B + DISPLAY 'FLD0747B ==> ' HEX-OF (FLD0747B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0747B). + IF FLD0748B (1:) NOT EQUAL XPC-FLD0748B + DISPLAY 'FLD0748B ==> ' HEX-OF (FLD0748B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0748B). + IF FLD0749B (1:) NOT EQUAL XPC-FLD0749B + DISPLAY 'FLD0749B ==> ' HEX-OF (FLD0749B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0749B). + IF FLD0750B (1:) NOT EQUAL XPC-FLD0750B + DISPLAY 'FLD0750B ==> ' HEX-OF (FLD0750B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0750B). + IF FLD0751B (1:) NOT EQUAL XPC-FLD0751B + DISPLAY 'FLD0751B ==> ' HEX-OF (FLD0751B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0751B). + IF FLD0752B (1:) NOT EQUAL XPC-FLD0752B + DISPLAY 'FLD0752B ==> ' HEX-OF (FLD0752B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0752B). + IF FLD0753B (1:) NOT EQUAL XPC-FLD0753B + DISPLAY 'FLD0753B ==> ' HEX-OF (FLD0753B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0753B). + IF FLD0754B (1:) NOT EQUAL XPC-FLD0754B + DISPLAY 'FLD0754B ==> ' HEX-OF (FLD0754B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0754B). + IF FLD0755B (1:) NOT EQUAL XPC-FLD0755B + DISPLAY 'FLD0755B ==> ' HEX-OF (FLD0755B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0755B). + IF FLD0756B (1:) NOT EQUAL XPC-FLD0756B + DISPLAY 'FLD0756B ==> ' HEX-OF (FLD0756B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0756B). + IF FLD0757B (1:) NOT EQUAL XPC-FLD0757B + DISPLAY 'FLD0757B ==> ' HEX-OF (FLD0757B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0757B). + IF FLD0758B (1:) NOT EQUAL XPC-FLD0758B + DISPLAY 'FLD0758B ==> ' HEX-OF (FLD0758B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0758B). + IF FLD0759B (1:) NOT EQUAL XPC-FLD0759B + DISPLAY 'FLD0759B ==> ' HEX-OF (FLD0759B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0759B). + IF FLD0760B (1:) NOT EQUAL XPC-FLD0760B + DISPLAY 'FLD0760B ==> ' HEX-OF (FLD0760B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0760B). + IF FLD0761B (1:) NOT EQUAL XPC-FLD0761B + DISPLAY 'FLD0761B ==> ' HEX-OF (FLD0761B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0761B). + IF FLD0762B (1:) NOT EQUAL XPC-FLD0762B + DISPLAY 'FLD0762B ==> ' HEX-OF (FLD0762B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0762B). + IF FLD0763B (1:) NOT EQUAL XPC-FLD0763B + DISPLAY 'FLD0763B ==> ' HEX-OF (FLD0763B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0763B). + IF FLD0764B (1:) NOT EQUAL XPC-FLD0764B + DISPLAY 'FLD0764B ==> ' HEX-OF (FLD0764B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0764B). + IF FLD0765B (1:) NOT EQUAL XPC-FLD0765B + DISPLAY 'FLD0765B ==> ' HEX-OF (FLD0765B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0765B). + IF FLD0766B (1:) NOT EQUAL XPC-FLD0766B + DISPLAY 'FLD0766B ==> ' HEX-OF (FLD0766B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0766B). + IF FLD0767B (1:) NOT EQUAL XPC-FLD0767B + DISPLAY 'FLD0767B ==> ' HEX-OF (FLD0767B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0767B). + IF FLD0768B (1:) NOT EQUAL XPC-FLD0768B + DISPLAY 'FLD0768B ==> ' HEX-OF (FLD0768B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0768B). + IF FLD0769B (1:) NOT EQUAL XPC-FLD0769B + DISPLAY 'FLD0769B ==> ' HEX-OF (FLD0769B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0769B). + IF FLD0770B (1:) NOT EQUAL XPC-FLD0770B + DISPLAY 'FLD0770B ==> ' HEX-OF (FLD0770B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0770B). + IF FLD0771B (1:) NOT EQUAL XPC-FLD0771B + DISPLAY 'FLD0771B ==> ' HEX-OF (FLD0771B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0771B). + IF FLD0772B (1:) NOT EQUAL XPC-FLD0772B + DISPLAY 'FLD0772B ==> ' HEX-OF (FLD0772B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0772B). + IF FLD0773B (1:) NOT EQUAL XPC-FLD0773B + DISPLAY 'FLD0773B ==> ' HEX-OF (FLD0773B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0773B). + IF FLD0774B (1:) NOT EQUAL XPC-FLD0774B + DISPLAY 'FLD0774B ==> ' HEX-OF (FLD0774B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0774B). + IF FLD0775B (1:) NOT EQUAL XPC-FLD0775B + DISPLAY 'FLD0775B ==> ' HEX-OF (FLD0775B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0775B). + IF FLD0776B (1:) NOT EQUAL XPC-FLD0776B + DISPLAY 'FLD0776B ==> ' HEX-OF (FLD0776B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0776B). + IF FLD0777B (1:) NOT EQUAL XPC-FLD0777B + DISPLAY 'FLD0777B ==> ' HEX-OF (FLD0777B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0777B). + IF FLD0778B (1:) NOT EQUAL XPC-FLD0778B + DISPLAY 'FLD0778B ==> ' HEX-OF (FLD0778B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0778B). + IF FLD0779B (1:) NOT EQUAL XPC-FLD0779B + DISPLAY 'FLD0779B ==> ' HEX-OF (FLD0779B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0779B). + IF FLD0780B (1:) NOT EQUAL XPC-FLD0780B + DISPLAY 'FLD0780B ==> ' HEX-OF (FLD0780B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0780B). + IF FLD0781B (1:) NOT EQUAL XPC-FLD0781B + DISPLAY 'FLD0781B ==> ' HEX-OF (FLD0781B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0781B). + IF FLD0782B (1:) NOT EQUAL XPC-FLD0782B + DISPLAY 'FLD0782B ==> ' HEX-OF (FLD0782B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0782B). + IF FLD0783B (1:) NOT EQUAL XPC-FLD0783B + DISPLAY 'FLD0783B ==> ' HEX-OF (FLD0783B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0783B). + IF FLD0784B (1:) NOT EQUAL XPC-FLD0784B + DISPLAY 'FLD0784B ==> ' HEX-OF (FLD0784B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0784B). + IF FLD0785B (1:) NOT EQUAL XPC-FLD0785B + DISPLAY 'FLD0785B ==> ' HEX-OF (FLD0785B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0785B). + IF FLD0786B (1:) NOT EQUAL XPC-FLD0786B + DISPLAY 'FLD0786B ==> ' HEX-OF (FLD0786B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0786B). + IF FLD0787B (1:) NOT EQUAL XPC-FLD0787B + DISPLAY 'FLD0787B ==> ' HEX-OF (FLD0787B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0787B). + IF FLD0788B (1:) NOT EQUAL XPC-FLD0788B + DISPLAY 'FLD0788B ==> ' HEX-OF (FLD0788B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0788B). + IF FLD0789B (1:) NOT EQUAL XPC-FLD0789B + DISPLAY 'FLD0789B ==> ' HEX-OF (FLD0789B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0789B). + IF FLD0790B (1:) NOT EQUAL XPC-FLD0790B + DISPLAY 'FLD0790B ==> ' HEX-OF (FLD0790B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0790B). + IF FLD0791B (1:) NOT EQUAL XPC-FLD0791B + DISPLAY 'FLD0791B ==> ' HEX-OF (FLD0791B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0791B). + IF FLD0792B (1:) NOT EQUAL XPC-FLD0792B + DISPLAY 'FLD0792B ==> ' HEX-OF (FLD0792B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0792B). + IF FLD0793B (1:) NOT EQUAL XPC-FLD0793B + DISPLAY 'FLD0793B ==> ' HEX-OF (FLD0793B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0793B). + IF FLD0794B (1:) NOT EQUAL XPC-FLD0794B + DISPLAY 'FLD0794B ==> ' HEX-OF (FLD0794B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0794B). + IF FLD0795B (1:) NOT EQUAL XPC-FLD0795B + DISPLAY 'FLD0795B ==> ' HEX-OF (FLD0795B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0795B). + IF FLD0796B (1:) NOT EQUAL XPC-FLD0796B + DISPLAY 'FLD0796B ==> ' HEX-OF (FLD0796B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0796B). + IF FLD0797B (1:) NOT EQUAL XPC-FLD0797B + DISPLAY 'FLD0797B ==> ' HEX-OF (FLD0797B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0797B). + IF FLD0798B (1:) NOT EQUAL XPC-FLD0798B + DISPLAY 'FLD0798B ==> ' HEX-OF (FLD0798B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0798B). + IF FLD0799B (1:) NOT EQUAL XPC-FLD0799B + DISPLAY 'FLD0799B ==> ' HEX-OF (FLD0799B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0799B). + IF FLD0800B (1:) NOT EQUAL XPC-FLD0800B + DISPLAY 'FLD0800B ==> ' HEX-OF (FLD0800B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0800B). + IF FLD0801B (1:) NOT EQUAL XPC-FLD0801B + DISPLAY 'FLD0801B ==> ' HEX-OF (FLD0801B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0801B). + IF FLD0802B (1:) NOT EQUAL XPC-FLD0802B + DISPLAY 'FLD0802B ==> ' HEX-OF (FLD0802B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0802B). + IF FLD0803B (1:) NOT EQUAL XPC-FLD0803B + DISPLAY 'FLD0803B ==> ' HEX-OF (FLD0803B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0803B). + IF FLD0804B (1:) NOT EQUAL XPC-FLD0804B + DISPLAY 'FLD0804B ==> ' HEX-OF (FLD0804B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0804B). + IF FLD0805B (1:) NOT EQUAL XPC-FLD0805B + DISPLAY 'FLD0805B ==> ' HEX-OF (FLD0805B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0805B). + IF FLD0806B (1:) NOT EQUAL XPC-FLD0806B + DISPLAY 'FLD0806B ==> ' HEX-OF (FLD0806B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0806B). + IF FLD0807B (1:) NOT EQUAL XPC-FLD0807B + DISPLAY 'FLD0807B ==> ' HEX-OF (FLD0807B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0807B). + IF FLD0808B (1:) NOT EQUAL XPC-FLD0808B + DISPLAY 'FLD0808B ==> ' HEX-OF (FLD0808B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0808B). + IF FLD0809B (1:) NOT EQUAL XPC-FLD0809B + DISPLAY 'FLD0809B ==> ' HEX-OF (FLD0809B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0809B). + IF FLD0810B (1:) NOT EQUAL XPC-FLD0810B + DISPLAY 'FLD0810B ==> ' HEX-OF (FLD0810B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0810B). + IF FLD0811B (1:) NOT EQUAL XPC-FLD0811B + DISPLAY 'FLD0811B ==> ' HEX-OF (FLD0811B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0811B). + IF FLD0812B (1:) NOT EQUAL XPC-FLD0812B + DISPLAY 'FLD0812B ==> ' HEX-OF (FLD0812B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0812B). + IF FLD0813B (1:) NOT EQUAL XPC-FLD0813B + DISPLAY 'FLD0813B ==> ' HEX-OF (FLD0813B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0813B). + IF FLD0814B (1:) NOT EQUAL XPC-FLD0814B + DISPLAY 'FLD0814B ==> ' HEX-OF (FLD0814B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0814B). + IF FLD0815B (1:) NOT EQUAL XPC-FLD0815B + DISPLAY 'FLD0815B ==> ' HEX-OF (FLD0815B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0815B). + IF FLD0816B (1:) NOT EQUAL XPC-FLD0816B + DISPLAY 'FLD0816B ==> ' HEX-OF (FLD0816B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0816B). + IF FLD0817B (1:) NOT EQUAL XPC-FLD0817B + DISPLAY 'FLD0817B ==> ' HEX-OF (FLD0817B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0817B). + IF FLD0818B (1:) NOT EQUAL XPC-FLD0818B + DISPLAY 'FLD0818B ==> ' HEX-OF (FLD0818B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0818B). + IF FLD0819B (1:) NOT EQUAL XPC-FLD0819B + DISPLAY 'FLD0819B ==> ' HEX-OF (FLD0819B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0819B). + IF FLD0820B (1:) NOT EQUAL XPC-FLD0820B + DISPLAY 'FLD0820B ==> ' HEX-OF (FLD0820B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0820B). + IF FLD0821B (1:) NOT EQUAL XPC-FLD0821B + DISPLAY 'FLD0821B ==> ' HEX-OF (FLD0821B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0821B). + IF FLD0822B (1:) NOT EQUAL XPC-FLD0822B + DISPLAY 'FLD0822B ==> ' HEX-OF (FLD0822B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0822B). + IF FLD0823B (1:) NOT EQUAL XPC-FLD0823B + DISPLAY 'FLD0823B ==> ' HEX-OF (FLD0823B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0823B). + IF FLD0824B (1:) NOT EQUAL XPC-FLD0824B + DISPLAY 'FLD0824B ==> ' HEX-OF (FLD0824B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0824B). + IF FLD0825B (1:) NOT EQUAL XPC-FLD0825B + DISPLAY 'FLD0825B ==> ' HEX-OF (FLD0825B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0825B). + IF FLD0826B (1:) NOT EQUAL XPC-FLD0826B + DISPLAY 'FLD0826B ==> ' HEX-OF (FLD0826B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0826B). + IF FLD0827B (1:) NOT EQUAL XPC-FLD0827B + DISPLAY 'FLD0827B ==> ' HEX-OF (FLD0827B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0827B). + IF FLD0828B (1:) NOT EQUAL XPC-FLD0828B + DISPLAY 'FLD0828B ==> ' HEX-OF (FLD0828B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0828B). + IF FLD0829B (1:) NOT EQUAL XPC-FLD0829B + DISPLAY 'FLD0829B ==> ' HEX-OF (FLD0829B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0829B). + IF FLD0830B (1:) NOT EQUAL XPC-FLD0830B + DISPLAY 'FLD0830B ==> ' HEX-OF (FLD0830B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0830B). + IF FLD0831B (1:) NOT EQUAL XPC-FLD0831B + DISPLAY 'FLD0831B ==> ' HEX-OF (FLD0831B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0831B). + IF FLD0832B (1:) NOT EQUAL XPC-FLD0832B + DISPLAY 'FLD0832B ==> ' HEX-OF (FLD0832B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0832B). + IF FLD0833B (1:) NOT EQUAL XPC-FLD0833B + DISPLAY 'FLD0833B ==> ' HEX-OF (FLD0833B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0833B). + IF FLD0834B (1:) NOT EQUAL XPC-FLD0834B + DISPLAY 'FLD0834B ==> ' HEX-OF (FLD0834B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0834B). + IF FLD0835B (1:) NOT EQUAL XPC-FLD0835B + DISPLAY 'FLD0835B ==> ' HEX-OF (FLD0835B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0835B). + IF FLD0836B (1:) NOT EQUAL XPC-FLD0836B + DISPLAY 'FLD0836B ==> ' HEX-OF (FLD0836B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0836B). + IF FLD0837B (1:) NOT EQUAL XPC-FLD0837B + DISPLAY 'FLD0837B ==> ' HEX-OF (FLD0837B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0837B). + IF FLD0838B (1:) NOT EQUAL XPC-FLD0838B + DISPLAY 'FLD0838B ==> ' HEX-OF (FLD0838B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0838B). + IF FLD0839B (1:) NOT EQUAL XPC-FLD0839B + DISPLAY 'FLD0839B ==> ' HEX-OF (FLD0839B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0839B). + IF FLD0840B (1:) NOT EQUAL XPC-FLD0840B + DISPLAY 'FLD0840B ==> ' HEX-OF (FLD0840B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0840B). + IF FLD0841B (1:) NOT EQUAL XPC-FLD0841B + DISPLAY 'FLD0841B ==> ' HEX-OF (FLD0841B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0841B). + IF FLD0842B (1:) NOT EQUAL XPC-FLD0842B + DISPLAY 'FLD0842B ==> ' HEX-OF (FLD0842B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0842B). + IF FLD0843B (1:) NOT EQUAL XPC-FLD0843B + DISPLAY 'FLD0843B ==> ' HEX-OF (FLD0843B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0843B). + IF FLD0844B (1:) NOT EQUAL XPC-FLD0844B + DISPLAY 'FLD0844B ==> ' HEX-OF (FLD0844B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0844B). + IF FLD0845B (1:) NOT EQUAL XPC-FLD0845B + DISPLAY 'FLD0845B ==> ' HEX-OF (FLD0845B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0845B). + IF FLD0846B (1:) NOT EQUAL XPC-FLD0846B + DISPLAY 'FLD0846B ==> ' HEX-OF (FLD0846B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0846B). + IF FLD0847B (1:) NOT EQUAL XPC-FLD0847B + DISPLAY 'FLD0847B ==> ' HEX-OF (FLD0847B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0847B). + IF FLD0848B (1:) NOT EQUAL XPC-FLD0848B + DISPLAY 'FLD0848B ==> ' HEX-OF (FLD0848B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0848B). + IF FLD0849B (1:) NOT EQUAL XPC-FLD0849B + DISPLAY 'FLD0849B ==> ' HEX-OF (FLD0849B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0849B). + IF FLD0850B (1:) NOT EQUAL XPC-FLD0850B + DISPLAY 'FLD0850B ==> ' HEX-OF (FLD0850B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0850B). + IF FLD0851B (1:) NOT EQUAL XPC-FLD0851B + DISPLAY 'FLD0851B ==> ' HEX-OF (FLD0851B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0851B). + IF FLD0852B (1:) NOT EQUAL XPC-FLD0852B + DISPLAY 'FLD0852B ==> ' HEX-OF (FLD0852B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0852B). + IF FLD0853B (1:) NOT EQUAL XPC-FLD0853B + DISPLAY 'FLD0853B ==> ' HEX-OF (FLD0853B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0853B). + IF FLD0854B (1:) NOT EQUAL XPC-FLD0854B + DISPLAY 'FLD0854B ==> ' HEX-OF (FLD0854B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0854B). + IF FLD0855B (1:) NOT EQUAL XPC-FLD0855B + DISPLAY 'FLD0855B ==> ' HEX-OF (FLD0855B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0855B). + IF FLD0856B (1:) NOT EQUAL XPC-FLD0856B + DISPLAY 'FLD0856B ==> ' HEX-OF (FLD0856B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0856B). + IF FLD0857B (1:) NOT EQUAL XPC-FLD0857B + DISPLAY 'FLD0857B ==> ' HEX-OF (FLD0857B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0857B). + IF FLD0858B (1:) NOT EQUAL XPC-FLD0858B + DISPLAY 'FLD0858B ==> ' HEX-OF (FLD0858B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0858B). + IF FLD0859B (1:) NOT EQUAL XPC-FLD0859B + DISPLAY 'FLD0859B ==> ' HEX-OF (FLD0859B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0859B). + IF FLD0860B (1:) NOT EQUAL XPC-FLD0860B + DISPLAY 'FLD0860B ==> ' HEX-OF (FLD0860B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0860B). + IF FLD0861B (1:) NOT EQUAL XPC-FLD0861B + DISPLAY 'FLD0861B ==> ' HEX-OF (FLD0861B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0861B). + IF FLD0862B (1:) NOT EQUAL XPC-FLD0862B + DISPLAY 'FLD0862B ==> ' HEX-OF (FLD0862B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0862B). + IF FLD0863B (1:) NOT EQUAL XPC-FLD0863B + DISPLAY 'FLD0863B ==> ' HEX-OF (FLD0863B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0863B). + IF FLD0864B (1:) NOT EQUAL XPC-FLD0864B + DISPLAY 'FLD0864B ==> ' HEX-OF (FLD0864B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0864B). + IF FLD0865B (1:) NOT EQUAL XPC-FLD0865B + DISPLAY 'FLD0865B ==> ' HEX-OF (FLD0865B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0865B). + IF FLD0866B (1:) NOT EQUAL XPC-FLD0866B + DISPLAY 'FLD0866B ==> ' HEX-OF (FLD0866B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0866B). + IF FLD0867B (1:) NOT EQUAL XPC-FLD0867B + DISPLAY 'FLD0867B ==> ' HEX-OF (FLD0867B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0867B). + IF FLD0868B (1:) NOT EQUAL XPC-FLD0868B + DISPLAY 'FLD0868B ==> ' HEX-OF (FLD0868B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0868B). + IF FLD0869B (1:) NOT EQUAL XPC-FLD0869B + DISPLAY 'FLD0869B ==> ' HEX-OF (FLD0869B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0869B). + IF FLD0870B (1:) NOT EQUAL XPC-FLD0870B + DISPLAY 'FLD0870B ==> ' HEX-OF (FLD0870B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0870B). + IF FLD0871B (1:) NOT EQUAL XPC-FLD0871B + DISPLAY 'FLD0871B ==> ' HEX-OF (FLD0871B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0871B). + IF FLD0872B (1:) NOT EQUAL XPC-FLD0872B + DISPLAY 'FLD0872B ==> ' HEX-OF (FLD0872B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0872B). + IF FLD0873B (1:) NOT EQUAL XPC-FLD0873B + DISPLAY 'FLD0873B ==> ' HEX-OF (FLD0873B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0873B). + IF FLD0874B (1:) NOT EQUAL XPC-FLD0874B + DISPLAY 'FLD0874B ==> ' HEX-OF (FLD0874B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0874B). + IF FLD0875B (1:) NOT EQUAL XPC-FLD0875B + DISPLAY 'FLD0875B ==> ' HEX-OF (FLD0875B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0875B). + IF FLD0876B (1:) NOT EQUAL XPC-FLD0876B + DISPLAY 'FLD0876B ==> ' HEX-OF (FLD0876B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0876B). + IF FLD0877B (1:) NOT EQUAL XPC-FLD0877B + DISPLAY 'FLD0877B ==> ' HEX-OF (FLD0877B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0877B). + IF FLD0878B (1:) NOT EQUAL XPC-FLD0878B + DISPLAY 'FLD0878B ==> ' HEX-OF (FLD0878B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0878B). + IF FLD0879B (1:) NOT EQUAL XPC-FLD0879B + DISPLAY 'FLD0879B ==> ' HEX-OF (FLD0879B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0879B). + IF FLD0880B (1:) NOT EQUAL XPC-FLD0880B + DISPLAY 'FLD0880B ==> ' HEX-OF (FLD0880B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0880B). + IF FLD0881B (1:) NOT EQUAL XPC-FLD0881B + DISPLAY 'FLD0881B ==> ' HEX-OF (FLD0881B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0881B). + IF FLD0882B (1:) NOT EQUAL XPC-FLD0882B + DISPLAY 'FLD0882B ==> ' HEX-OF (FLD0882B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0882B). + IF FLD0883B (1:) NOT EQUAL XPC-FLD0883B + DISPLAY 'FLD0883B ==> ' HEX-OF (FLD0883B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0883B). + IF FLD0884B (1:) NOT EQUAL XPC-FLD0884B + DISPLAY 'FLD0884B ==> ' HEX-OF (FLD0884B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0884B). + IF FLD0885B (1:) NOT EQUAL XPC-FLD0885B + DISPLAY 'FLD0885B ==> ' HEX-OF (FLD0885B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0885B). + IF FLD0886B (1:) NOT EQUAL XPC-FLD0886B + DISPLAY 'FLD0886B ==> ' HEX-OF (FLD0886B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0886B). + IF FLD0887B (1:) NOT EQUAL XPC-FLD0887B + DISPLAY 'FLD0887B ==> ' HEX-OF (FLD0887B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0887B). + IF FLD0888B (1:) NOT EQUAL XPC-FLD0888B + DISPLAY 'FLD0888B ==> ' HEX-OF (FLD0888B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0888B). + IF FLD0889B (1:) NOT EQUAL XPC-FLD0889B + DISPLAY 'FLD0889B ==> ' HEX-OF (FLD0889B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0889B). + IF FLD0890B (1:) NOT EQUAL XPC-FLD0890B + DISPLAY 'FLD0890B ==> ' HEX-OF (FLD0890B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0890B). + IF FLD0891B (1:) NOT EQUAL XPC-FLD0891B + DISPLAY 'FLD0891B ==> ' HEX-OF (FLD0891B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0891B). + IF FLD0892B (1:) NOT EQUAL XPC-FLD0892B + DISPLAY 'FLD0892B ==> ' HEX-OF (FLD0892B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0892B). + IF FLD0893B (1:) NOT EQUAL XPC-FLD0893B + DISPLAY 'FLD0893B ==> ' HEX-OF (FLD0893B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0893B). + IF FLD0894B (1:) NOT EQUAL XPC-FLD0894B + DISPLAY 'FLD0894B ==> ' HEX-OF (FLD0894B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0894B). + IF FLD0895B (1:) NOT EQUAL XPC-FLD0895B + DISPLAY 'FLD0895B ==> ' HEX-OF (FLD0895B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0895B). + IF FLD0896B (1:) NOT EQUAL XPC-FLD0896B + DISPLAY 'FLD0896B ==> ' HEX-OF (FLD0896B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0896B). + IF FLD0897B (1:) NOT EQUAL XPC-FLD0897B + DISPLAY 'FLD0897B ==> ' HEX-OF (FLD0897B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0897B). + IF FLD0898B (1:) NOT EQUAL XPC-FLD0898B + DISPLAY 'FLD0898B ==> ' HEX-OF (FLD0898B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0898B). + IF FLD0899B (1:) NOT EQUAL XPC-FLD0899B + DISPLAY 'FLD0899B ==> ' HEX-OF (FLD0899B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0899B). + IF FLD0900B (1:) NOT EQUAL XPC-FLD0900B + DISPLAY 'FLD0900B ==> ' HEX-OF (FLD0900B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0900B). + IF FLD0901B (1:) NOT EQUAL XPC-FLD0901B + DISPLAY 'FLD0901B ==> ' HEX-OF (FLD0901B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0901B). + IF FLD0902B (1:) NOT EQUAL XPC-FLD0902B + DISPLAY 'FLD0902B ==> ' HEX-OF (FLD0902B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0902B). + IF FLD0903B (1:) NOT EQUAL XPC-FLD0903B + DISPLAY 'FLD0903B ==> ' HEX-OF (FLD0903B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0903B). + IF FLD0904B (1:) NOT EQUAL XPC-FLD0904B + DISPLAY 'FLD0904B ==> ' HEX-OF (FLD0904B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0904B). + IF FLD0905B (1:) NOT EQUAL XPC-FLD0905B + DISPLAY 'FLD0905B ==> ' HEX-OF (FLD0905B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0905B). + IF FLD0906B (1:) NOT EQUAL XPC-FLD0906B + DISPLAY 'FLD0906B ==> ' HEX-OF (FLD0906B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0906B). + IF FLD0907B (1:) NOT EQUAL XPC-FLD0907B + DISPLAY 'FLD0907B ==> ' HEX-OF (FLD0907B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0907B). + IF FLD0908B (1:) NOT EQUAL XPC-FLD0908B + DISPLAY 'FLD0908B ==> ' HEX-OF (FLD0908B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0908B). + IF FLD0909B (1:) NOT EQUAL XPC-FLD0909B + DISPLAY 'FLD0909B ==> ' HEX-OF (FLD0909B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0909B). + IF FLD0910B (1:) NOT EQUAL XPC-FLD0910B + DISPLAY 'FLD0910B ==> ' HEX-OF (FLD0910B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0910B). + IF FLD0911B (1:) NOT EQUAL XPC-FLD0911B + DISPLAY 'FLD0911B ==> ' HEX-OF (FLD0911B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0911B). + IF FLD0912B (1:) NOT EQUAL XPC-FLD0912B + DISPLAY 'FLD0912B ==> ' HEX-OF (FLD0912B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0912B). + IF FLD0913B (1:) NOT EQUAL XPC-FLD0913B + DISPLAY 'FLD0913B ==> ' HEX-OF (FLD0913B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0913B). + IF FLD0914B (1:) NOT EQUAL XPC-FLD0914B + DISPLAY 'FLD0914B ==> ' HEX-OF (FLD0914B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0914B). + IF FLD0915B (1:) NOT EQUAL XPC-FLD0915B + DISPLAY 'FLD0915B ==> ' HEX-OF (FLD0915B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0915B). + IF FLD0916B (1:) NOT EQUAL XPC-FLD0916B + DISPLAY 'FLD0916B ==> ' HEX-OF (FLD0916B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0916B). + IF FLD0917B (1:) NOT EQUAL XPC-FLD0917B + DISPLAY 'FLD0917B ==> ' HEX-OF (FLD0917B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0917B). + IF FLD0918B (1:) NOT EQUAL XPC-FLD0918B + DISPLAY 'FLD0918B ==> ' HEX-OF (FLD0918B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0918B). + IF FLD0919B (1:) NOT EQUAL XPC-FLD0919B + DISPLAY 'FLD0919B ==> ' HEX-OF (FLD0919B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0919B). + IF FLD0920B (1:) NOT EQUAL XPC-FLD0920B + DISPLAY 'FLD0920B ==> ' HEX-OF (FLD0920B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0920B). + IF FLD0921B (1:) NOT EQUAL XPC-FLD0921B + DISPLAY 'FLD0921B ==> ' HEX-OF (FLD0921B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0921B). + IF FLD0922B (1:) NOT EQUAL XPC-FLD0922B + DISPLAY 'FLD0922B ==> ' HEX-OF (FLD0922B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0922B). + IF FLD0923B (1:) NOT EQUAL XPC-FLD0923B + DISPLAY 'FLD0923B ==> ' HEX-OF (FLD0923B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0923B). + IF FLD0924B (1:) NOT EQUAL XPC-FLD0924B + DISPLAY 'FLD0924B ==> ' HEX-OF (FLD0924B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0924B). + IF FLD0925B (1:) NOT EQUAL XPC-FLD0925B + DISPLAY 'FLD0925B ==> ' HEX-OF (FLD0925B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0925B). + IF FLD0926B (1:) NOT EQUAL XPC-FLD0926B + DISPLAY 'FLD0926B ==> ' HEX-OF (FLD0926B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0926B). + IF FLD0927B (1:) NOT EQUAL XPC-FLD0927B + DISPLAY 'FLD0927B ==> ' HEX-OF (FLD0927B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0927B). + IF FLD0928B (1:) NOT EQUAL XPC-FLD0928B + DISPLAY 'FLD0928B ==> ' HEX-OF (FLD0928B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0928B). + IF FLD0929B (1:) NOT EQUAL XPC-FLD0929B + DISPLAY 'FLD0929B ==> ' HEX-OF (FLD0929B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0929B). + IF FLD0930B (1:) NOT EQUAL XPC-FLD0930B + DISPLAY 'FLD0930B ==> ' HEX-OF (FLD0930B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0930B). + IF FLD0931B (1:) NOT EQUAL XPC-FLD0931B + DISPLAY 'FLD0931B ==> ' HEX-OF (FLD0931B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0931B). + IF FLD0932B (1:) NOT EQUAL XPC-FLD0932B + DISPLAY 'FLD0932B ==> ' HEX-OF (FLD0932B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0932B). + IF FLD0933B (1:) NOT EQUAL XPC-FLD0933B + DISPLAY 'FLD0933B ==> ' HEX-OF (FLD0933B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0933B). + IF FLD0934B (1:) NOT EQUAL XPC-FLD0934B + DISPLAY 'FLD0934B ==> ' HEX-OF (FLD0934B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0934B). + IF FLD0935B (1:) NOT EQUAL XPC-FLD0935B + DISPLAY 'FLD0935B ==> ' HEX-OF (FLD0935B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0935B). + IF FLD0936B (1:) NOT EQUAL XPC-FLD0936B + DISPLAY 'FLD0936B ==> ' HEX-OF (FLD0936B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0936B). + IF FLD0937B (1:) NOT EQUAL XPC-FLD0937B + DISPLAY 'FLD0937B ==> ' HEX-OF (FLD0937B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0937B). + IF FLD0938B (1:) NOT EQUAL XPC-FLD0938B + DISPLAY 'FLD0938B ==> ' HEX-OF (FLD0938B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0938B). + IF FLD0939B (1:) NOT EQUAL XPC-FLD0939B + DISPLAY 'FLD0939B ==> ' HEX-OF (FLD0939B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0939B). + IF FLD0940B (1:) NOT EQUAL XPC-FLD0940B + DISPLAY 'FLD0940B ==> ' HEX-OF (FLD0940B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0940B). + IF FLD0941B (1:) NOT EQUAL XPC-FLD0941B + DISPLAY 'FLD0941B ==> ' HEX-OF (FLD0941B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0941B). + IF FLD0942B (1:) NOT EQUAL XPC-FLD0942B + DISPLAY 'FLD0942B ==> ' HEX-OF (FLD0942B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0942B). + IF FLD0943B (1:) NOT EQUAL XPC-FLD0943B + DISPLAY 'FLD0943B ==> ' HEX-OF (FLD0943B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0943B). + IF FLD0944B (1:) NOT EQUAL XPC-FLD0944B + DISPLAY 'FLD0944B ==> ' HEX-OF (FLD0944B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0944B). + IF FLD0945B (1:) NOT EQUAL XPC-FLD0945B + DISPLAY 'FLD0945B ==> ' HEX-OF (FLD0945B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0945B). + IF FLD0946B (1:) NOT EQUAL XPC-FLD0946B + DISPLAY 'FLD0946B ==> ' HEX-OF (FLD0946B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0946B). + IF FLD0947B (1:) NOT EQUAL XPC-FLD0947B + DISPLAY 'FLD0947B ==> ' HEX-OF (FLD0947B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0947B). + IF FLD0948B (1:) NOT EQUAL XPC-FLD0948B + DISPLAY 'FLD0948B ==> ' HEX-OF (FLD0948B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0948B). + IF FLD0949B (1:) NOT EQUAL XPC-FLD0949B + DISPLAY 'FLD0949B ==> ' HEX-OF (FLD0949B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0949B). + IF FLD0950B (1:) NOT EQUAL XPC-FLD0950B + DISPLAY 'FLD0950B ==> ' HEX-OF (FLD0950B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0950B). + IF FLD0951B (1:) NOT EQUAL XPC-FLD0951B + DISPLAY 'FLD0951B ==> ' HEX-OF (FLD0951B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0951B). + IF FLD0952B (1:) NOT EQUAL XPC-FLD0952B + DISPLAY 'FLD0952B ==> ' HEX-OF (FLD0952B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0952B). + IF FLD0953B (1:) NOT EQUAL XPC-FLD0953B + DISPLAY 'FLD0953B ==> ' HEX-OF (FLD0953B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0953B). + IF FLD0954B (1:) NOT EQUAL XPC-FLD0954B + DISPLAY 'FLD0954B ==> ' HEX-OF (FLD0954B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0954B). + IF FLD0955B (1:) NOT EQUAL XPC-FLD0955B + DISPLAY 'FLD0955B ==> ' HEX-OF (FLD0955B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0955B). + IF FLD0956B (1:) NOT EQUAL XPC-FLD0956B + DISPLAY 'FLD0956B ==> ' HEX-OF (FLD0956B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0956B). + IF FLD0957B (1:) NOT EQUAL XPC-FLD0957B + DISPLAY 'FLD0957B ==> ' HEX-OF (FLD0957B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0957B). + IF FLD0958B (1:) NOT EQUAL XPC-FLD0958B + DISPLAY 'FLD0958B ==> ' HEX-OF (FLD0958B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0958B). + IF FLD0959B (1:) NOT EQUAL XPC-FLD0959B + DISPLAY 'FLD0959B ==> ' HEX-OF (FLD0959B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0959B). + IF FLD0960B (1:) NOT EQUAL XPC-FLD0960B + DISPLAY 'FLD0960B ==> ' HEX-OF (FLD0960B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0960B). + IF FLD0961B (1:) NOT EQUAL XPC-FLD0961B + DISPLAY 'FLD0961B ==> ' HEX-OF (FLD0961B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0961B). + IF FLD0962B (1:) NOT EQUAL XPC-FLD0962B + DISPLAY 'FLD0962B ==> ' HEX-OF (FLD0962B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0962B). + IF FLD0963B (1:) NOT EQUAL XPC-FLD0963B + DISPLAY 'FLD0963B ==> ' HEX-OF (FLD0963B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0963B). + IF FLD0964B (1:) NOT EQUAL XPC-FLD0964B + DISPLAY 'FLD0964B ==> ' HEX-OF (FLD0964B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0964B). + IF FLD0965B (1:) NOT EQUAL XPC-FLD0965B + DISPLAY 'FLD0965B ==> ' HEX-OF (FLD0965B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0965B). + IF FLD0966B (1:) NOT EQUAL XPC-FLD0966B + DISPLAY 'FLD0966B ==> ' HEX-OF (FLD0966B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0966B). + IF FLD0967B (1:) NOT EQUAL XPC-FLD0967B + DISPLAY 'FLD0967B ==> ' HEX-OF (FLD0967B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0967B). + IF FLD0968B (1:) NOT EQUAL XPC-FLD0968B + DISPLAY 'FLD0968B ==> ' HEX-OF (FLD0968B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0968B). + IF FLD0969B (1:) NOT EQUAL XPC-FLD0969B + DISPLAY 'FLD0969B ==> ' HEX-OF (FLD0969B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0969B). + IF FLD0970B (1:) NOT EQUAL XPC-FLD0970B + DISPLAY 'FLD0970B ==> ' HEX-OF (FLD0970B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0970B). + IF FLD0971B (1:) NOT EQUAL XPC-FLD0971B + DISPLAY 'FLD0971B ==> ' HEX-OF (FLD0971B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0971B). + IF FLD0972B (1:) NOT EQUAL XPC-FLD0972B + DISPLAY 'FLD0972B ==> ' HEX-OF (FLD0972B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0972B). + IF FLD0973B (1:) NOT EQUAL XPC-FLD0973B + DISPLAY 'FLD0973B ==> ' HEX-OF (FLD0973B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0973B). + IF FLD0974B (1:) NOT EQUAL XPC-FLD0974B + DISPLAY 'FLD0974B ==> ' HEX-OF (FLD0974B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0974B). + IF FLD0975B (1:) NOT EQUAL XPC-FLD0975B + DISPLAY 'FLD0975B ==> ' HEX-OF (FLD0975B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0975B). + IF FLD0976B (1:) NOT EQUAL XPC-FLD0976B + DISPLAY 'FLD0976B ==> ' HEX-OF (FLD0976B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0976B). + IF FLD0977B (1:) NOT EQUAL XPC-FLD0977B + DISPLAY 'FLD0977B ==> ' HEX-OF (FLD0977B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0977B). + IF FLD0978B (1:) NOT EQUAL XPC-FLD0978B + DISPLAY 'FLD0978B ==> ' HEX-OF (FLD0978B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0978B). + IF FLD0979B (1:) NOT EQUAL XPC-FLD0979B + DISPLAY 'FLD0979B ==> ' HEX-OF (FLD0979B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0979B). + IF FLD0980B (1:) NOT EQUAL XPC-FLD0980B + DISPLAY 'FLD0980B ==> ' HEX-OF (FLD0980B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0980B). + IF FLD0981B (1:) NOT EQUAL XPC-FLD0981B + DISPLAY 'FLD0981B ==> ' HEX-OF (FLD0981B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0981B). + IF FLD0982B (1:) NOT EQUAL XPC-FLD0982B + DISPLAY 'FLD0982B ==> ' HEX-OF (FLD0982B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0982B). + IF FLD0983B (1:) NOT EQUAL XPC-FLD0983B + DISPLAY 'FLD0983B ==> ' HEX-OF (FLD0983B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0983B). + IF FLD0984B (1:) NOT EQUAL XPC-FLD0984B + DISPLAY 'FLD0984B ==> ' HEX-OF (FLD0984B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0984B). + IF FLD0985B (1:) NOT EQUAL XPC-FLD0985B + DISPLAY 'FLD0985B ==> ' HEX-OF (FLD0985B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0985B). + IF FLD0986B (1:) NOT EQUAL XPC-FLD0986B + DISPLAY 'FLD0986B ==> ' HEX-OF (FLD0986B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0986B). + IF FLD0987B (1:) NOT EQUAL XPC-FLD0987B + DISPLAY 'FLD0987B ==> ' HEX-OF (FLD0987B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0987B). + IF FLD0988B (1:) NOT EQUAL XPC-FLD0988B + DISPLAY 'FLD0988B ==> ' HEX-OF (FLD0988B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0988B). + IF FLD0989B (1:) NOT EQUAL XPC-FLD0989B + DISPLAY 'FLD0989B ==> ' HEX-OF (FLD0989B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0989B). + IF FLD0990B (1:) NOT EQUAL XPC-FLD0990B + DISPLAY 'FLD0990B ==> ' HEX-OF (FLD0990B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0990B). + IF FLD0991B (1:) NOT EQUAL XPC-FLD0991B + DISPLAY 'FLD0991B ==> ' HEX-OF (FLD0991B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0991B). + IF FLD0992B (1:) NOT EQUAL XPC-FLD0992B + DISPLAY 'FLD0992B ==> ' HEX-OF (FLD0992B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0992B). + IF FLD0993B (1:) NOT EQUAL XPC-FLD0993B + DISPLAY 'FLD0993B ==> ' HEX-OF (FLD0993B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0993B). + IF FLD0994B (1:) NOT EQUAL XPC-FLD0994B + DISPLAY 'FLD0994B ==> ' HEX-OF (FLD0994B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0994B). + IF FLD0995B (1:) NOT EQUAL XPC-FLD0995B + DISPLAY 'FLD0995B ==> ' HEX-OF (FLD0995B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0995B). + IF FLD0996B (1:) NOT EQUAL XPC-FLD0996B + DISPLAY 'FLD0996B ==> ' HEX-OF (FLD0996B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0996B). + IF FLD0997B (1:) NOT EQUAL XPC-FLD0997B + DISPLAY 'FLD0997B ==> ' HEX-OF (FLD0997B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0997B). + IF FLD0998B (1:) NOT EQUAL XPC-FLD0998B + DISPLAY 'FLD0998B ==> ' HEX-OF (FLD0998B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0998B). + IF FLD0999B (1:) NOT EQUAL XPC-FLD0999B + DISPLAY 'FLD0999B ==> ' HEX-OF (FLD0999B) + DISPLAY 'EXPECTED ==> ' HEX-OF (XPC-FLD0999B). +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:40879: \$COMPILE prog2.cob" +at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "data_packed.at:40879" +( $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/data_packed.at:40879" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/data_packed.at:40880: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "data_packed.at:40880" +( $at_check_trace; $COBCRUN_DIRECT ./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/data_packed.at:40880" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1308 +#AT_START_1309 +at_fn_group_banner 1309 'data_pointer.at:21' \ + "POINTER: display" " " 5 +at_xfail=no +( + printf "%s\n" "1309. $at_setup_line: testing $at_desc ..." + $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 +printf "%s\n" "$at_srcdir/data_pointer.at:41: \$COMPILE prog.cob" +at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_pointer.at:41" +( $at_check_trace; $COMPILE prog.cob +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/data_pointer.at:43: test \"\$COB_HAS_64_BIT_POINTER\" = \"yes\"" +at_fn_check_prepare_dynamic "test \"$COB_HAS_64_BIT_POINTER\" = \"yes\"" "data_pointer.at:43" +( $at_check_trace; test "$COB_HAS_64_BIT_POINTER" = "yes" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_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:43" +if $at_failed +then : + # Previous test "failed" --> 32 bit + +{ set +x +printf "%s\n" "$at_srcdir/data_pointer.at:43: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_pointer.at:43" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0x00000000 +0x00000001 +0x00000000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +else $as_nop + # Previous test "passed" --> 64 bit + +{ set +x +printf "%s\n" "$at_srcdir/data_pointer.at:43: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "data_pointer.at:43" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "0x0000000000000000 +0x0000000000000001 +0x0000000000000000 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:43" +$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_1309 +#AT_START_1310 +at_fn_group_banner 1310 'backcomp.at:44' \ + "STRING WITH POINTER ON OVERFLOW with DELIMITER" " " 6 +at_xfail=no +( + printf "%s\n" "1310. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:21:18 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "avril 23 2024 11:21:18" +#define COB_MODULE_DATE 20240423 +#define COB_MODULE_TIME 112118 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:21:18 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x10, 2, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + +static const cob_field_attr cob_all_attr = {0x22, 0, 0, 0, NULL}; + + +/* Constants */ +static const cob_field c_1 = {1, (cob_u8_ptr)"A", &a_3}; +static const cob_field c_2 = {1, (cob_u8_ptr)"B", &a_3}; +static const cob_field c_3 = {1, (cob_u8_ptr)"C", &a_3}; +static const cob_field c_4 = {27, (cob_u8_ptr)"Case A: Should not overflow", &a_3}; +static const cob_field c_5 = {16, (cob_u8_ptr)"A: TRTG-STRING <", &a_3}; +static const cob_field c_6 = {10, (cob_u8_ptr)"> != ", &a_3}; +static const cob_field c_7 = {16, (cob_u8_ptr)"A: STR-POINTER <", &a_3}; +static const cob_field c_8 = {9, (cob_u8_ptr)"> != <04>", &a_3}; +static const cob_field c_9 = {23, (cob_u8_ptr)"Case B: Should overflow", &a_3}; +static const cob_field c_10 = {16, (cob_u8_ptr)"B: TRTG-STRING <", &a_3}; +static const cob_field c_11 = {11, (cob_u8_ptr)"> != SPACES", &a_3}; +static const cob_field c_12 = {16, (cob_u8_ptr)"B: STR-POINTER <", &a_3}; +static const cob_field c_13 = {9, (cob_u8_ptr)"> != <00>", &a_3}; +static const cob_field c_14 = {23, (cob_u8_ptr)"Case C: Should overflow", &a_3}; +static const cob_field c_15 = {16, (cob_u8_ptr)"C: TRTG-STRING <", &a_3}; +static const cob_field c_16 = {16, (cob_u8_ptr)"C: STR-POINTER <", &a_3}; +static const cob_field c_17 = {3, (cob_u8_ptr)"1|2", &a_3}; +static const cob_field c_18 = {3, (cob_u8_ptr)"A|B", &a_3}; +static const cob_field c_19 = {3, (cob_u8_ptr)"C|D", &a_3}; +static const cob_field c_20 = {16, (cob_u8_ptr)"D: TRGT-STRING <", &a_3}; +static const cob_field c_21 = {10, (cob_u8_ptr)"> != <1AC>", &a_3}; + +static cob_field cob_all_space = {1, (cob_u8_ptr)" ", &cob_all_attr}; + +/* Function prototypes */ + +static int StringTest (); +static int StringTest_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (StringTest ()); +} + +/* Functions */ + +/* PROGRAM-ID 'StringTest' */ + +/* ENTRY 'StringTest' */ + +static int +StringTest () +{ + return StringTest_ (0); +} + +static int +StringTest_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at avril 23 2024 11:21:18 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'StringTest' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[3] __attribute__((aligned)); /* TRGT-STRING */ + static cob_u8_t b_7[2] __attribute__((aligned)); /* STR-POINTER */ + static cob_u8_t b_8[1] __attribute__((aligned)); /* SRC-DELIM */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_6 = {3, b_6, &a_1}; /* TRGT-STRING */ + static cob_field f_7 = {2, b_7, &a_2}; /* STR-POINTER */ + static cob_field f_8 = {1, b_8, &a_1}; /* SRC-DELIM */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 21 : Entry StringTest : prog.cob */ + l_2:; + + /* Line: 21 : MOVE : prog.cob */ + memcpy (b_7, "01", 2); + + /* Line: 22 : STRING : prog.cob */ + cob_glob_ptr->cob_exception_code = 0; + cob_string_init (&f_6, &f_7); + cob_string_delimited (NULL); + cob_string_append ((cob_field *)&c_1); + cob_string_append ((cob_field *)&c_2); + cob_string_append ((cob_field *)&c_3); + cob_string_finish (); + if (unlikely ((cob_glob_ptr->cob_exception_code & 0xff00) == 0x0a00)) + { + + /* Line: 26 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_4); + } + + /* Line: 28 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"ABC", 3) != 0)) + { + + /* Line: 29 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_5, &f_6, &c_6); + } + + /* Line: 30 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_7, 2, 4LL, 0) != 0)) + { + + /* Line: 31 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_7, &f_7, &c_8); + } + + /* Line: 34 : MOVE : prog.cob */ + memset (b_7, 48, 2); + + /* Line: 35 : MOVE : prog.cob */ + memset (b_6, 32, 3); + + /* Line: 36 : STRING : prog.cob */ + cob_glob_ptr->cob_exception_code = 0; + cob_string_init (&f_6, &f_7); + cob_string_delimited (NULL); + cob_string_append ((cob_field *)&c_1); + cob_string_append ((cob_field *)&c_2); + cob_string_append ((cob_field *)&c_3); + cob_string_finish (); + if (!cob_glob_ptr->cob_exception_code) + { + + /* Line: 40 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_9); + } + + /* Line: 42 : IF : prog.cob */ + if (((int)cob_cmp (&f_6, &cob_all_space) != 0)) + { + + /* Line: 43 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_10, &f_6, &c_11); + } + + /* Line: 44 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_7, 2, 0LL, 0) != 0)) + { + + /* Line: 45 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_12, &f_7, &c_13); + } + + /* Line: 48 : MOVE : prog.cob */ + memcpy (b_7, "04", 2); + + /* Line: 49 : MOVE : prog.cob */ + memset (b_6, 32, 3); + + /* Line: 50 : STRING : prog.cob */ + cob_glob_ptr->cob_exception_code = 0; + cob_string_init (&f_6, &f_7); + cob_string_delimited (NULL); + cob_string_append ((cob_field *)&c_1); + cob_string_append ((cob_field *)&c_2); + cob_string_append ((cob_field *)&c_3); + cob_string_finish (); + if (!cob_glob_ptr->cob_exception_code) + { + + /* Line: 54 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_14); + } + + /* Line: 56 : IF : prog.cob */ + if (((int)cob_cmp (&f_6, &cob_all_space) != 0)) + { + + /* Line: 57 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_15, &f_6, &c_11); + } + + /* Line: 58 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_7, 2, 4LL, 0) != 0)) + { + + /* Line: 59 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_16, &f_7, &c_8); + } + + /* Line: 62 : MOVE : prog.cob */ + memcpy (b_7, "01", 2); + + /* Line: 63 : MOVE : prog.cob */ + *(b_8) = 124; + + /* Line: 64 : MOVE : prog.cob */ + memset (b_6, 32, 3); + + /* Line: 65 : STRING : prog.cob */ + cob_string_init (&f_6, &f_7); + cob_string_delimited (&f_8); + cob_string_append ((cob_field *)&c_17); + cob_string_append ((cob_field *)&c_18); + cob_string_append ((cob_field *)&c_19); + cob_string_finish (); + + /* Line: 69 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"1AC", 3) != 0)) + { + + /* Line: 70 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_20, &f_6, &c_21); + } + + /* Line: 72 : GOBACK : prog.cob */ + goto exit_program; + + /* Program exit */ + + exit_program: + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "StringTest"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())StringTest; + module->module_cancel.funcptr = (void *(*)())StringTest_; + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memset (b_6, 32, 3); + memset (b_7, 48, 2); + *(cob_u8_ptr)(b_8) = 32; + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'StringTest' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:458: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "backcomp.at:458" +( $at_check_trace; $COMPILE 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/backcomp.at:458" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:459: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "backcomp.at:459" +( $at_check_trace; $COBCRUN_DIRECT ./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/backcomp.at:459" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1310 +#AT_START_1311 +at_fn_group_banner 1311 'backcomp.at:464' \ + "UNSTRING DELIMITED POINTER" " " 6 +at_xfail=no +( + printf "%s\n" "1311. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:30:26 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "avril 23 2024 11:30:26" +#define COB_MODULE_DATE 20240423 +#define COB_MODULE_TIME 113026 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:30:26 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x1000, NULL}; +static const cob_field_attr a_2 = {0x10, 2, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x0000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {18, (cob_u8_ptr)"Expected 48 - Got ", &a_1}; +static const cob_field c_2 = {18, (cob_u8_ptr)"Expected 62 - Got ", &a_1}; +static const cob_field c_3 = {18, (cob_u8_ptr)"Expected 63 - Got ", &a_1}; +static const cob_field c_4 = {5, (cob_u8_ptr)" PIC ", &a_1}; +static const cob_field c_5 = {7, (cob_u8_ptr)" COMP-3", &a_1}; +static const cob_field c_6 = {1, (cob_u8_ptr)".", &a_1}; + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at avril 23 2024 11:30:26 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[66] __attribute__((aligned)); /* WS-LAY-RECORD */ + static cob_u8_t b_7[50] __attribute__((aligned)); /* WS-DUMMY */ + static cob_u8_t b_8[32] __attribute__((aligned)); /* WS-KEYWORD */ + static cob_u8_t b_9[2] __attribute__((aligned)); /* WS-POINTER */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_6 = {66, b_6, &a_3}; /* WS-LAY-RECORD */ + static cob_field f_7 = {50, b_7, &a_3}; /* WS-DUMMY */ + static cob_field f_8 = {32, b_8, &a_3}; /* WS-KEYWORD */ + static cob_field f_9 = {2, b_9, &a_2}; /* WS-POINTER */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 11 : Entry prog : prog.cob */ + l_2:; + + /* Line: 11 : MOVE : prog.cob */ + memcpy (b_6, " 10 AF-RECORD-TYPE-SEQUENCE-04 PIC 9(05) COMP-3. ", 66); + + /* Line: 14 : MOVE : prog.cob */ + memcpy (b_9, "01", 2); + + /* Line: 15 : PERFORM : prog.cob */ + /* PERFORM 0001-SUB */ + frame_ptr++; + frame_ptr->perform_through = 5; + frame_ptr->return_address_num = 0; + goto l_5; + l_6: + frame_ptr--; + + /* Line: 16 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_9, 2, 48LL, 0) != 0)) + { + + /* Line: 17 : DISPLAY : prog.cob */ + cob_display (0, 1, 2, &c_1, &f_9); + } + + /* Line: 18 : ADD : prog.cob */ + cob_add_int (&f_9, 7, 0); + + /* Line: 20 : PERFORM : prog.cob */ + /* PERFORM 0001-SUB */ + frame_ptr++; + frame_ptr->perform_through = 5; + frame_ptr->return_address_num = 1; + goto l_5; + l_7: + frame_ptr--; + + /* Line: 21 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_9, 2, 62LL, 0) != 0)) + { + + /* Line: 22 : DISPLAY : prog.cob */ + cob_display (0, 1, 2, &c_2, &f_9); + } + + /* Line: 23 : PERFORM : prog.cob */ + /* PERFORM 0001-SUB */ + frame_ptr++; + frame_ptr->perform_through = 5; + frame_ptr->return_address_num = 2; + goto l_5; + l_8: + frame_ptr--; + + /* Line: 24 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_9, 2, 63LL, 0) != 0)) + { + + /* Line: 25 : DISPLAY : prog.cob */ + cob_display (0, 1, 2, &c_3, &f_9); + } + + /* Line: 26 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Line: 27 : Paragraph 0001-SUB : prog.cob */ + l_5:; + + /* Line: 28 : UNSTRING : prog.cob */ + cob_unstring_init (&f_6, &f_9, 3); + cob_unstring_delimited ((cob_field *)&c_4, 0); + cob_unstring_delimited ((cob_field *)&c_5, 0); + cob_unstring_delimited ((cob_field *)&c_6, 0); + cob_unstring_into (&f_7, &f_8, 0); + cob_unstring_finish (); + + /* Implicit PERFORM return */ + if (frame_ptr->perform_through == 5) + goto P_switch; + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + switch (frame_ptr->return_address_num) { + case 2: + goto l_8; + case 1: + goto l_7; + case 0: + goto l_6; + } + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memset (b_6, 32, 66); + memset (b_7, 32, 50); + memset (b_8, 32, 32); + memset (b_9, 48, 2); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:810: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "backcomp.at:810" +( $at_check_trace; $COMPILE 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/backcomp.at:810" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:811: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "backcomp.at:811" +( $at_check_trace; $COBCRUN_DIRECT ./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/backcomp.at:811" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1311 +#AT_START_1312 +at_fn_group_banner 1312 'backcomp.at:816' \ + "UNSTRING with FUNCTION / literal" " " 6 +at_xfail=no +( + printf "%s\n" "1312. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:33:04 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "avril 23 2024 11:33:04" +#define COB_MODULE_DATE 20240423 +#define COB_MODULE_TIME 113304 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at avril 23 2024 11:33:04 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x1000, NULL}; +static const cob_field_attr a_2 = {0x21, 0, 0, 0x0000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {19, (cob_u8_ptr)"The,Quick,Brown,Fox", &a_1}; +static const cob_field c_2 = {1, (cob_u8_ptr)",", &a_1}; +static const cob_field c_3 = {10, (cob_u8_ptr)"PRM(1) is ", &a_1}; +static const cob_field c_4 = {1, (cob_u8_ptr)":", &a_1}; +static const cob_field c_5 = {10, (cob_u8_ptr)"PRM(2) is ", &a_1}; +static const cob_field c_6 = {10, (cob_u8_ptr)"PRM(3) is ", &a_1}; +static const cob_field c_7 = {10, (cob_u8_ptr)"PRM(4) is ", &a_1}; +static const cob_field c_8 = {20, (cob_u8_ptr)"Now using UPPER-CASE", &a_1}; +static const cob_field c_9 = {25, (cob_u8_ptr)"Daddy,was,a,Rolling stone", &a_1}; +static const cob_field c_10 = {17, (cob_u8_ptr)"Now using Literal", &a_1}; +static const cob_field c_11 = {30, (cob_u8_ptr)"Now using Literal + LOWER-CASE", &a_1}; + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at avril 23 2024 11:33:04 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[543] __attribute__((aligned)); /* FILLER 1 */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {479, b_6, &a_2}; /* TSTUNS */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 9 : Entry prog : prog.cob */ + l_2:; + + /* Line: 9 : MOVE : prog.cob */ + cob_move ((cob_field *)&c_1, &f_7); + + /* Line: 10 : UNSTRING : prog.cob */ + cob_unstring_init (&f_7, NULL, 1); + cob_unstring_delimited ((cob_field *)&c_2, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), 0, 0); + cob_unstring_finish (); + + /* Line: 12 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_3, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), &c_4); + + /* Line: 13 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_5, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), &c_4); + + /* Line: 14 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_6, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), &c_4); + + /* Line: 15 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_7, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), &c_4); + + /* Line: 16 : UNSTRING : prog.cob */ + cob_unstring_init (cob_intr_upper_case (0, 0, &f_7), NULL, 1); + cob_unstring_delimited ((cob_field *)&c_2, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), 0, 0); + cob_unstring_finish (); + + /* Line: 18 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_8); + + /* Line: 19 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_3, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), &c_4); + + /* Line: 20 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_5, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), &c_4); + + /* Line: 21 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_6, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), &c_4); + + /* Line: 22 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_7, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), &c_4); + + /* Line: 23 : UNSTRING : prog.cob */ + cob_unstring_init ((cob_field *)&c_9, NULL, 1); + cob_unstring_delimited ((cob_field *)&c_2, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), 0, 0); + cob_unstring_finish (); + + /* Line: 25 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_10); + + /* Line: 26 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_3, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), &c_4); + + /* Line: 27 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_5, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), &c_4); + + /* Line: 28 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_6, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), &c_4); + + /* Line: 29 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_7, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), &c_4); + + /* Line: 30 : UNSTRING : prog.cob */ + cob_unstring_init (cob_intr_lower_case (0, 0, (cob_field *)&c_9), NULL, 1); + cob_unstring_delimited ((cob_field *)&c_2, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), 0, 0); + cob_unstring_into (COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), 0, 0); + cob_unstring_finish (); + + /* Line: 33 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_11); + + /* Line: 34 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_3, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 0, &a_2), &c_4); + + /* Line: 35 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_5, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 1, &a_2), &c_4); + + /* Line: 36 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_6, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 2, &a_2), &c_4); + + /* Line: 37 : DISPLAY : prog.cob */ + cob_display (0, 1, 3, &c_7, COB_SET_FLD(f0, 16, b_6 + 479 + 16 * 3, &a_2), &c_4); + + /* Line: 38 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memset (b_6, 32, 543); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1174: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "backcomp.at:1174" +( $at_check_trace; $COMPILE 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/backcomp.at:1174" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1175: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "backcomp.at:1175" +( $at_check_trace; $COBCRUN_DIRECT ./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"; printf "%s\n" "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/backcomp.at:1175" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1312 +#AT_START_1313 +at_fn_group_banner 1313 'backcomp.at:1200' \ + "SORT: EBCDIC table" " " 6 +at_xfail=no +( + printf "%s\n" "1313. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 16:25:46 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 16:25:46" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 162546 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 16:25:46 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x01, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {10, (cob_u8_ptr)"abcde12345", &a_3}; +static const cob_field c_2 = {10, (cob_u8_ptr)"54321edcba", &a_3}; + + +/* ASCII to EBCDIC table */ +static const unsigned char cob_ascii_ebcdic[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, + 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, + 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, + 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, + 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, + 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, + 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, + 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, + 0xA7, 0xA8, 0xA9, 0xC0, 0x6A, 0xD0, 0xA1, 0x07, + 0x68, 0xDC, 0x51, 0x42, 0x43, 0x44, 0x47, 0x48, + 0x52, 0x53, 0x54, 0x57, 0x56, 0x58, 0x63, 0x67, + 0x71, 0x9C, 0x9E, 0xCB, 0xCC, 0xCD, 0xDB, 0xDD, + 0xDF, 0xEC, 0xFC, 0xB0, 0xB1, 0xB2, 0x3E, 0xB4, + 0x45, 0x55, 0xCE, 0xDE, 0x49, 0x69, 0x9A, 0x9B, + 0xAB, 0x9F, 0xBA, 0xB8, 0xB7, 0xAA, 0x8A, 0x8B, + 0xB6, 0xB5, 0x62, 0x4F, 0x64, 0x65, 0x66, 0x20, + 0x21, 0x22, 0x70, 0x23, 0x72, 0x73, 0x74, 0xBE, + 0x76, 0x77, 0x78, 0x80, 0x24, 0x15, 0x8C, 0x8D, + 0x8E, 0x41, 0x06, 0x17, 0x28, 0x29, 0x9D, 0x2A, + 0x2B, 0x2C, 0x09, 0x0A, 0xAC, 0x4A, 0xAE, 0xAF, + 0x1B, 0x30, 0x31, 0xFA, 0x1A, 0x33, 0x34, 0x35, + 0x36, 0x59, 0x08, 0x38, 0xBC, 0x39, 0xA0, 0xBF, + 0xCA, 0x3A, 0xFE, 0x3B, 0x04, 0xCF, 0xDA, 0x14, + 0xE1, 0x8F, 0x46, 0x75, 0xFD, 0xEB, 0xEE, 0xED, + 0x90, 0xEF, 0xB3, 0xFB, 0xB9, 0xEA, 0xBB, 0xFF +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 16:25:46 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[10] __attribute__((aligned)); /* Z */ + static cob_u8_t b_7[10] __attribute__((aligned)); /* G */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {10, b_7, &a_2}; /* G */ + static cob_field f_9 = {1, b_7, &a_1}; /* X */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 15 : Entry prog : prog.cob */ + l_2:; + + /* Line: 15 : MOVE : prog.cob */ + memcpy (b_7, b_6, 10); + + /* Line: 17 : SORT : prog.cob */ + cob_table_sort_init (1, cob_ascii_ebcdic); + cob_table_sort_init_key (&f_9, 0, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_7 + 0, &a_2), 10); + + /* Line: 18 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_1) != 0)) + { + + /* Line: 19 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 20 : MOVE : prog.cob */ + memcpy (b_7, b_6, 10); + + /* Line: 22 : SORT : prog.cob */ + cob_table_sort_init (1, cob_ascii_ebcdic); + cob_table_sort_init_key (&f_9, 1, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_7 + 0, &a_2), 10); + + /* Line: 23 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_2) != 0)) + { + + /* Line: 24 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 25 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "d4b2e1a3c5", 10); + memset (b_7, 32, 10); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +cat >prog2.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 13:58:56 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 13:58:56" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 135856 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 13:58:56 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x01, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {10, (cob_u8_ptr)"abcde12345", &a_3}; +static const cob_field c_2 = {10, (cob_u8_ptr)"54321edcba", &a_3}; + + +/* ASCII to EBCDIC table */ +static const unsigned char cob_ascii_ebcdic[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, + 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, + 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, + 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, + 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, + 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, + 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, + 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, + 0xA7, 0xA8, 0xA9, 0xC0, 0x6A, 0xD0, 0xA1, 0x07, + 0x68, 0xDC, 0x51, 0x42, 0x43, 0x44, 0x47, 0x48, + 0x52, 0x53, 0x54, 0x57, 0x56, 0x58, 0x63, 0x67, + 0x71, 0x9C, 0x9E, 0xCB, 0xCC, 0xCD, 0xDB, 0xDD, + 0xDF, 0xEC, 0xFC, 0xB0, 0xB1, 0xB2, 0x3E, 0xB4, + 0x45, 0x55, 0xCE, 0xDE, 0x49, 0x69, 0x9A, 0x9B, + 0xAB, 0x9F, 0xBA, 0xB8, 0xB7, 0xAA, 0x8A, 0x8B, + 0xB6, 0xB5, 0x62, 0x4F, 0x64, 0x65, 0x66, 0x20, + 0x21, 0x22, 0x70, 0x23, 0x72, 0x73, 0x74, 0xBE, + 0x76, 0x77, 0x78, 0x80, 0x24, 0x15, 0x8C, 0x8D, + 0x8E, 0x41, 0x06, 0x17, 0x28, 0x29, 0x9D, 0x2A, + 0x2B, 0x2C, 0x09, 0x0A, 0xAC, 0x4A, 0xAE, 0xAF, + 0x1B, 0x30, 0x31, 0xFA, 0x1A, 0x33, 0x34, 0x35, + 0x36, 0x59, 0x08, 0x38, 0xBC, 0x39, 0xA0, 0xBF, + 0xCA, 0x3A, 0xFE, 0x3B, 0x04, 0xCF, 0xDA, 0x14, + 0xE1, 0x8F, 0x46, 0x75, 0xFD, 0xEB, 0xEE, 0xED, + 0x90, 0xEF, 0xB3, 0xFB, 0xB9, 0xEA, 0xBB, 0xFF +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog2 (); +static int prog2_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog2 ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog2' */ + +/* ENTRY 'prog2' */ + +static int +prog2 () +{ + return prog2_ (0); +} + +static int +prog2_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 13:58:56 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'prog2' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[10] __attribute__((aligned)); /* Z */ + static cob_u8_t b_7[10] __attribute__((aligned)); /* G */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {10, b_7, &a_2}; /* G */ + static cob_field f_9 = {1, b_7, &a_1}; /* X */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 16 : Entry prog2 : prog.cob */ + l_2:; + + /* Line: 16 : MOVE : prog.cob */ + memcpy (b_7, b_6, 10); + + /* Line: 17 : SORT : prog.cob */ + cob_table_sort_init (1, 0); + cob_table_sort_init_key (&f_9, 0, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_7 + 0, &a_2), 10); + + /* Line: 18 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_1) != 0)) + { + + /* Line: 19 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 20 : MOVE : prog.cob */ + memcpy (b_7, b_6, 10); + + /* Line: 21 : SORT : prog.cob */ + cob_table_sort_init (1, 0); + cob_table_sort_init_key (&f_9, 1, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_7 + 0, &a_2), 10); + + /* Line: 22 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_2) != 0)) + { + + /* Line: 23 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 24 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog2"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog2; + module->module_cancel.funcptr = (void *(*)())prog2_; + module->collating_sequence = cob_ascii_ebcdic; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "d4b2e1a3c5", 10); + memset (b_7, 32, 10); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog2' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1859: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "backcomp.at:1859" +( $at_check_trace; $COMPILE 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/backcomp.at:1859" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1860: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "backcomp.at:1860" +( $at_check_trace; $COBCRUN_DIRECT ./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/backcomp.at:1860" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1861: \$COMPILE prog2.c" +at_fn_check_prepare_dynamic "$COMPILE prog2.c" "backcomp.at:1861" +( $at_check_trace; $COMPILE prog2.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/backcomp.at:1861" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:1862: \$COBCRUN_DIRECT ./prog2" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog2" "backcomp.at:1862" +( $at_check_trace; $COBCRUN_DIRECT ./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/backcomp.at:1862" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1313 +#AT_START_1314 +at_fn_group_banner 1314 'backcomp.at:1867' \ + "COLLATING SEQUENCE alphanum comparison" " " 6 +at_xfail=no +( + printf "%s\n" "1314. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >ascii.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:37:21 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 17:37:21" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 173721 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:37:21 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x1000, NULL}; +static const cob_field_attr a_2 = {0x21, 0, 0, 0x0000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {1, (cob_u8_ptr)"1", &a_1}; +static const cob_field c_2 = {1, (cob_u8_ptr)"a", &a_1}; +static const cob_field c_3 = {5, (cob_u8_ptr)"ERROR", &a_1}; + + +/* NATIVE table */ +static const unsigned char cob_native[256] = { + 0, 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, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255 +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 17:37:21 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + + /* End of data storage */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 11 : Entry prog : prog.cob */ + l_2:; + + /* Line: 11 : IF : prog.cob */ + if (((int)cob_cmp ((cob_field *)&c_1, (cob_field *)&c_2) >= 0)) + { + + /* Line: 15 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_3); + } + + /* Line: 17 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = cob_native; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + + +cat >ebcdic.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:34:27 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 17:34:27" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 173427 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:34:27 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x1000, NULL}; +static const cob_field_attr a_2 = {0x21, 0, 0, 0x0000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {1, (cob_u8_ptr)"a", &a_1}; +static const cob_field c_2 = {1, (cob_u8_ptr)"1", &a_1}; +static const cob_field c_3 = {5, (cob_u8_ptr)"ERROR", &a_1}; + + +/* ASCII to EBCDIC table */ +static const unsigned char cob_ascii_ebcdic[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, + 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, + 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, + 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, + 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, + 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, + 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, + 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, + 0xA7, 0xA8, 0xA9, 0xC0, 0x6A, 0xD0, 0xA1, 0x07, + 0x68, 0xDC, 0x51, 0x42, 0x43, 0x44, 0x47, 0x48, + 0x52, 0x53, 0x54, 0x57, 0x56, 0x58, 0x63, 0x67, + 0x71, 0x9C, 0x9E, 0xCB, 0xCC, 0xCD, 0xDB, 0xDD, + 0xDF, 0xEC, 0xFC, 0xB0, 0xB1, 0xB2, 0x3E, 0xB4, + 0x45, 0x55, 0xCE, 0xDE, 0x49, 0x69, 0x9A, 0x9B, + 0xAB, 0x9F, 0xBA, 0xB8, 0xB7, 0xAA, 0x8A, 0x8B, + 0xB6, 0xB5, 0x62, 0x4F, 0x64, 0x65, 0x66, 0x20, + 0x21, 0x22, 0x70, 0x23, 0x72, 0x73, 0x74, 0xBE, + 0x76, 0x77, 0x78, 0x80, 0x24, 0x15, 0x8C, 0x8D, + 0x8E, 0x41, 0x06, 0x17, 0x28, 0x29, 0x9D, 0x2A, + 0x2B, 0x2C, 0x09, 0x0A, 0xAC, 0x4A, 0xAE, 0xAF, + 0x1B, 0x30, 0x31, 0xFA, 0x1A, 0x33, 0x34, 0x35, + 0x36, 0x59, 0x08, 0x38, 0xBC, 0x39, 0xA0, 0xBF, + 0xCA, 0x3A, 0xFE, 0x3B, 0x04, 0xCF, 0xDA, 0x14, + 0xE1, 0x8F, 0x46, 0x75, 0xFD, 0xEB, 0xEE, 0xED, + 0x90, 0xEF, 0xB3, 0xFB, 0xB9, 0xEA, 0xBB, 0xFF +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 17:34:27 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + + /* End of data storage */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 13 : Entry prog : prog.cob */ + l_2:; + + /* Line: 13 : IF : prog.cob */ + if (((int)cob_cmp ((cob_field *)&c_1, (cob_field *)&c_2) >= 0)) + { + + /* Line: 15 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_3); + } + + /* Line: 17 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = cob_ascii_ebcdic; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:2453: \$COMPILE -o ascii ascii.c" +at_fn_check_prepare_dynamic "$COMPILE -o ascii ascii.c" "backcomp.at:2453" +( $at_check_trace; $COMPILE -o ascii ascii.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/backcomp.at:2453" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:2454: \$COBCRUN_DIRECT ./ascii" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ascii" "backcomp.at:2454" +( $at_check_trace; $COBCRUN_DIRECT ./ascii +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backcomp.at:2454" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:2456: \$COMPILE -o ebcdic ebcdic.c" +at_fn_check_prepare_dynamic "$COMPILE -o ebcdic ebcdic.c" "backcomp.at:2456" +( $at_check_trace; $COMPILE -o ebcdic ebcdic.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/backcomp.at:2456" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:2457: \$COBCRUN_DIRECT ./ebcdic" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ebcdic" "backcomp.at:2457" +( $at_check_trace; $COBCRUN_DIRECT ./ebcdic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backcomp.at:2457" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1314 +#AT_START_1315 +at_fn_group_banner 1315 'backcomp.at:2462' \ + "SORT: table with default COLLATING SEQUENCE" " " 6 +at_xfail=no +( + printf "%s\n" "1315. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >ascii.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:47:39 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 17:47:39" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 174739 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:47:39 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x01, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {10, (cob_u8_ptr)"12345abcde", &a_3}; + + +/* NATIVE table */ +static const unsigned char cob_native[256] = { + 0, 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, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255 +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 17:47:39 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[10] __attribute__((aligned)); /* Z */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {10, b_6, &a_2}; /* G */ + static cob_field f_9 = {1, b_6, &a_1}; /* X */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 16 : Entry prog : prog.cob */ + l_2:; + + /* Line: 16 : SORT : prog.cob */ + cob_table_sort_init (1, 0); + cob_table_sort_init_key (&f_9, 0, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_6 + 0, &a_2), 10); + + /* Line: 18 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_1) != 0)) + { + + /* Line: 24 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 26 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = cob_native; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "d4b2e1a3c5", 10); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +cat >ebcdic.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:48:46 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 17:48:46" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 174846 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:48:46 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x01, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {10, (cob_u8_ptr)"abcde12345", &a_3}; + + +/* ASCII to EBCDIC table */ +static const unsigned char cob_ascii_ebcdic[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, + 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, + 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, + 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, + 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, + 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, + 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, + 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, + 0xA7, 0xA8, 0xA9, 0xC0, 0x6A, 0xD0, 0xA1, 0x07, + 0x68, 0xDC, 0x51, 0x42, 0x43, 0x44, 0x47, 0x48, + 0x52, 0x53, 0x54, 0x57, 0x56, 0x58, 0x63, 0x67, + 0x71, 0x9C, 0x9E, 0xCB, 0xCC, 0xCD, 0xDB, 0xDD, + 0xDF, 0xEC, 0xFC, 0xB0, 0xB1, 0xB2, 0x3E, 0xB4, + 0x45, 0x55, 0xCE, 0xDE, 0x49, 0x69, 0x9A, 0x9B, + 0xAB, 0x9F, 0xBA, 0xB8, 0xB7, 0xAA, 0x8A, 0x8B, + 0xB6, 0xB5, 0x62, 0x4F, 0x64, 0x65, 0x66, 0x20, + 0x21, 0x22, 0x70, 0x23, 0x72, 0x73, 0x74, 0xBE, + 0x76, 0x77, 0x78, 0x80, 0x24, 0x15, 0x8C, 0x8D, + 0x8E, 0x41, 0x06, 0x17, 0x28, 0x29, 0x9D, 0x2A, + 0x2B, 0x2C, 0x09, 0x0A, 0xAC, 0x4A, 0xAE, 0xAF, + 0x1B, 0x30, 0x31, 0xFA, 0x1A, 0x33, 0x34, 0x35, + 0x36, 0x59, 0x08, 0x38, 0xBC, 0x39, 0xA0, 0xBF, + 0xCA, 0x3A, 0xFE, 0x3B, 0x04, 0xCF, 0xDA, 0x14, + 0xE1, 0x8F, 0x46, 0x75, 0xFD, 0xEB, 0xEE, 0xED, + 0x90, 0xEF, 0xB3, 0xFB, 0xB9, 0xEA, 0xBB, 0xFF +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 17:48:46 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[10] __attribute__((aligned)); /* Z */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {10, b_6, &a_2}; /* G */ + static cob_field f_9 = {1, b_6, &a_1}; /* X */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 16 : Entry prog : prog.cob */ + l_2:; + + /* Line: 16 : SORT : prog.cob */ + cob_table_sort_init (1, 0); + cob_table_sort_init_key (&f_9, 0, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_6 + 0, &a_2), 10); + + /* Line: 20 : IF : prog.cob */ + if (((int)cob_cmp (&f_7, (cob_field *)&c_1) != 0)) + { + + /* Line: 24 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 26 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = cob_ascii_ebcdic; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "d4b2e1a3c5", 10); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +cat >native.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:49:26 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 17:49:26" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 174926 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 17:49:26 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x01, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + + +/* Constants */ +static const cob_field c_1 = {10, (cob_u8_ptr)"12345abcde", &a_3}; +static const cob_field c_2 = {10, (cob_u8_ptr)"abcde12345", &a_3}; + + +/* NATIVE table */ +static const unsigned char cob_native[256] = { + 0, 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, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255 +}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int prog (); +static int prog_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (prog ()); +} + +/* Functions */ + +/* PROGRAM-ID 'prog' */ + +/* ENTRY 'prog' */ + +static int +prog () +{ + return prog_ (0); +} + +static int +prog_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 17:49:26 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto -fno-constant-folding prog.cob */ + + /* Program local variables for 'prog' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Local cob_field items */ + cob_field f0; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[10] __attribute__((aligned)); /* Z */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_7 = {10, b_6, &a_2}; /* G */ + static cob_field f_9 = {1, b_6, &a_1}; /* X */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 16 : Entry prog : prog.cob */ + l_2:; + + /* Line: 16 : SORT : prog.cob */ + cob_table_sort_init (1, 0); + cob_table_sort_init_key (&f_9, 0, 0); + cob_table_sort (COB_SET_FLD(f0, 1, b_6 + 0, &a_2), 10); + + /* Line: 22 : IF : prog.cob */ + if ((!((int)cob_cmp (&f_7, (cob_field *)&c_1) == 0) || + ((int)cob_cmp (&f_7, (cob_field *)&c_2) == 0))) + { + + /* Line: 24 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &f_7); + } + + /* Line: 26 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "prog"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())prog; + module->module_cancel.funcptr = (void *(*)())prog_; + module->collating_sequence = cob_native; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "d4b2e1a3c5", 10); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'prog' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3391: \$COMPILE -o ascii ascii.c" +at_fn_check_prepare_dynamic "$COMPILE -o ascii ascii.c" "backcomp.at:3391" +( $at_check_trace; $COMPILE -o ascii ascii.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/backcomp.at:3391" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3392: \$COBCRUN_DIRECT ./ascii" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ascii" "backcomp.at:3392" +( $at_check_trace; $COBCRUN_DIRECT ./ascii +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backcomp.at:3392" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3393: \$COMPILE -o ebcdic ebcdic.c" +at_fn_check_prepare_dynamic "$COMPILE -o ebcdic ebcdic.c" "backcomp.at:3393" +( $at_check_trace; $COMPILE -o ebcdic ebcdic.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/backcomp.at:3393" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3394: \$COBCRUN_DIRECT ./ebcdic" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./ebcdic" "backcomp.at:3394" +( $at_check_trace; $COBCRUN_DIRECT ./ebcdic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backcomp.at:3394" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3395: \$COMPILE -o native native.c" +at_fn_check_prepare_dynamic "$COMPILE -o native native.c" "backcomp.at:3395" +( $at_check_trace; $COMPILE -o native native.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/backcomp.at:3395" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3396: \$COBCRUN_DIRECT ./native" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./native" "backcomp.at:3396" +( $at_check_trace; $COBCRUN_DIRECT ./native +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backcomp.at:3396" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1315 +#AT_START_1316 +at_fn_group_banner 1316 'backcomp.at:3401' \ + "INSPECT/STRING/UNSTRING statements" " " 6 +at_xfail=no +( + printf "%s\n" "1316. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >prog.c <<'_ATEOF' + +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 16:22:10 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + +#include +#include +#include +#include +#include +#define COB_KEYWORD_INLINE __inline +#include + +#define COB_SOURCE_FILE "prog.cob" +#define COB_PACKAGE_VERSION "2.2" +#define COB_PATCH_LEVEL 0 +#define COB_MODULE_FORMATTED_DATE "juil. 23 2024 16:22:10" +#define COB_MODULE_DATE 20240723 +#define COB_MODULE_TIME 162210 + +/* Global variables */ +/* Generated by cobc 2.2.0 */ +/* Generated from prog.cob */ +/* Generated at juil. 23 2024 16:22:10 */ +/* GnuCOBOL build date Apr 10 2024 16:39:16 */ +/* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ +/* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + +/* Module path */ +static const char *cob_module_path = NULL; + +/* Number of call parameters */ +static int cob_call_params = 0; + +/* Attributes */ + +static const cob_field_attr a_1 = {0x21, 0, 0, 0x0000, NULL}; +static const cob_field_attr a_2 = {0x10, 2, 0, 0x0000, NULL}; +static const cob_field_attr a_3 = {0x21, 0, 0, 0x1000, NULL}; + +static const cob_field_attr cob_all_attr = {0x22, 0, 0, 0, NULL}; + + +/* Constants */ +static const cob_field c_1 = {1, (cob_u8_ptr)"u", &a_3}; +static const cob_field c_2 = {1, (cob_u8_ptr)"2", &a_3}; +static const cob_field c_3 = {1, (cob_u8_ptr)"S", &a_3}; +static const cob_field c_4 = {1, (cob_u8_ptr)"3", &a_3}; +static const cob_field c_5 = {1, (cob_u8_ptr)"4", &a_3}; +static const cob_field c_6 = {1, (cob_u8_ptr)"5", &a_3}; +static const cob_field c_7 = {1, (cob_u8_ptr)"6", &a_3}; +static const cob_field c_8 = {1, (cob_u8_ptr)"s", &a_3}; +static const cob_field c_9 = {1, (cob_u8_ptr)"7", &a_3}; +static const cob_field c_10 = {1, (cob_u8_ptr)"U", &a_3}; +static const cob_field c_11 = {1, (cob_u8_ptr)"8", &a_3}; +static const cob_field c_12 = {1, (cob_u8_ptr)"a", &a_3}; +static const cob_field c_13 = {1, (cob_u8_ptr)"9", &a_3}; +static const cob_field c_14 = {2, (cob_u8_ptr)"aa", &a_3}; +static const cob_field c_15 = {2, (cob_u8_ptr)"AA", &a_3}; +static const cob_field c_16 = {2, (cob_u8_ptr)"10", &a_3}; +static const cob_field c_17 = {2, (cob_u8_ptr)"11", &a_3}; +static const cob_field c_18 = {2, (cob_u8_ptr)"12", &a_3}; + +static cob_field cob_all_space = {1, (cob_u8_ptr)" ", &cob_all_attr}; + + /* Decimal constants */ + + +/* Function prototypes */ + +static int strings__stmt (); +static int strings__stmt_ (const int); + +/* Main function */ +int +main (int argc, char **argv) +{ + cob_init (argc, argv); + cob_stop_run (strings__stmt ()); +} + +/* Functions */ + +/* PROGRAM-ID 'strings-stmt' */ + +/* ENTRY 'strings__stmt' */ + +static int +strings__stmt () +{ + return strings__stmt_ (0); +} + +static int +strings__stmt_ (const int entry) +{ + /* Program local variables */ + /* Generated by cobc 2.2.0 */ + /* Generated from prog.cob */ + /* Generated at juil. 23 2024 16:22:10 */ + /* GnuCOBOL build date Apr 10 2024 16:39:16 */ + /* GnuCOBOL package date Sep 06 2017 18:45:29 UTC */ + /* Compile command /opt/gnucobol/gnucobol-2.2/bin/cobc -Cx -fno-computed-goto prog.cob */ + + /* Program local variables for 'strings-stmt' */ + + /* Module initialization indicator */ + static unsigned int initialized = 0; + + /* Module structure pointer */ + static cob_module *module = NULL; + + /* Global variable pointer */ + cob_global *cob_glob_ptr; + + + /* Call parameters */ + cob_field *cob_procedure_params[1]; + + /* Perform frame stack */ + struct cob_frame *frame_ptr; + struct cob_frame frame_stack[255]; + + + /* Data storage */ + static int b_2; /* RETURN-CODE */ + static cob_u8_t b_6[30] __attribute__((aligned)); /* ws-0 */ + static cob_u8_t b_7[10] __attribute__((aligned)); /* ws-1 */ + static cob_u8_t b_8[40] __attribute__((aligned)); /* ws-2 */ + static cob_u8_t b_9[28] __attribute__((aligned)); /* ws-words */ + static cob_u8_t b_13[2] __attribute__((aligned)); /* ws-count */ + + /* End of data storage */ + + + /* Fields */ + static cob_field f_6 = {30, b_6, &a_1}; /* ws-0 */ + static cob_field f_7 = {10, b_7, &a_1}; /* ws-1 */ + static cob_field f_8 = {40, b_8, &a_1}; /* ws-2 */ + static cob_field f_10 = {10, b_9, &a_1}; /* ws-words1 */ + static cob_field f_11 = {12, b_9 + 10, &a_1}; /* ws-words2 */ + static cob_field f_12 = {6, b_9 + 22, &a_1}; /* ws-words3 */ + static cob_field f_13 = {2, b_13, &a_2}; /* ws-count */ + + /* End of fields */ + + + + /* Start of function code */ + + /* CANCEL callback */ + if (unlikely(entry < 0)) { + if (entry == -20) + goto P_clear_decimal; + goto P_cancel; + } + + /* Check initialized, check module allocated, */ + /* set global pointer, */ + /* push module stack, save call parameter count */ + if (cob_module_global_enter (&module, &cob_glob_ptr, 0, entry, 0)) + return -1; + + /* Set address of module parameter list */ + module->cob_procedure_params = cob_procedure_params; + + /* Set frame stack pointer */ + frame_ptr = frame_stack; + frame_ptr->perform_through = 0; + + /* Initialize rest of program */ + if (unlikely(initialized == 0)) { + goto P_initialize; + } + P_ret_initialize: + + /* Increment module active */ + module->module_active++; + + /* Entry dispatch */ + goto l_2; + + /* PROCEDURE DIVISION */ + + /* Line: 16 : Entry strings-stmt : prog.cob */ + l_2:; + + /* Line: 16 : Paragraph main-section : prog.cob */ + + /* Line: 17 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_all (&f_13, (cob_field *)&c_1); + cob_inspect_finish (); + + /* Line: 18 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_13, 2, 2LL, 0) != 0)) + { + + /* Line: 18 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_2); + + /* Line: 19 : INITIALIZE : prog.cob */ + memset (b_13, 48, 2); + + /* Line: 21 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_leading (&f_13, (cob_field *)&c_3); + cob_inspect_finish (); + + /* Line: 22 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_13, 2, 2LL, 0) != 0)) + { + + /* Line: 22 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_4); + + /* Line: 23 : INITIALIZE : prog.cob */ + memset (b_13, 48, 2); + + /* Line: 25 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_before (&cob_all_space); + cob_inspect_characters (&f_13); + cob_inspect_finish (); + + /* Line: 27 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_13, 2, 10LL, 0) != 0)) + { + + /* Line: 27 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_5); + + /* Line: 28 : INITIALIZE : prog.cob */ + memset (b_13, 48, 2); + + /* Line: 30 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_before (&cob_all_space); + cob_inspect_all (&f_13, (cob_field *)&c_3); + cob_inspect_finish (); + + /* Line: 32 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_13, 2, 4LL, 0) != 0)) + { + + /* Line: 32 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_6); + + /* Line: 33 : INITIALIZE : prog.cob */ + memset (b_13, 48, 2); + + /* Line: 35 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_after (&cob_all_space); + cob_inspect_all (&f_13, (cob_field *)&c_3); + cob_inspect_finish (); + + /* Line: 37 : IF : prog.cob */ + if (((int)cob_cmp_numdisp (b_13, 2, 1LL, 0) != 0)) + { + + /* Line: 37 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_7); + + /* Line: 39 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 1); + cob_inspect_start (); + cob_inspect_leading ((cob_field *)&c_8, (cob_field *)&c_3); + cob_inspect_finish (); + + /* Line: 40 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"ssYNSSWuAK 06fLGvxwYRgr BjVuSk", 30) != 0)) + { + + /* Line: 41 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_9); + + /* Line: 43 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 1); + cob_inspect_start (); + cob_inspect_all ((cob_field *)&c_8, (cob_field *)&c_3); + cob_inspect_start (); + cob_inspect_all ((cob_field *)&c_10, (cob_field *)&c_1); + cob_inspect_finish (); + + /* Line: 45 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"ssYNssWUAK 06fLGvxwYRgr BjVUsk", 30) != 0)) + { + + /* Line: 46 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_11); + + /* Line: 48 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 1); + cob_inspect_start (); + cob_inspect_before (&cob_all_space); + cob_inspect_all ((cob_field *)&c_12, (cob_field *)&c_8); + cob_inspect_finish (); + + /* Line: 51 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"aaYNaaWUAK 06fLGvxwYRgr BjVUsk", 30) != 0)) + { + + /* Line: 52 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_13); + + /* Line: 54 : INSPECT : prog.cob */ + cob_inspect_init (&f_6, 0); + cob_inspect_start (); + cob_inspect_converting ((cob_field *)&c_14, (cob_field *)&c_15); + cob_inspect_finish (); + + /* Line: 55 : IF : prog.cob */ + if (((int)memcmp (b_6, (cob_u8_ptr)"AAYNAAWUAK 06fLGvxwYRgr BjVUsk", 30) != 0)) + { + + /* Line: 56 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_16); + + /* Line: 58 : STRING : prog.cob */ + cob_string_init (&f_8, NULL); + cob_string_delimited (NULL); + cob_string_append (&f_6); + cob_string_delimited (NULL); + cob_string_append (&f_7); + cob_string_finish (); + + /* Line: 61 : IF : prog.cob */ + if (((int)memcmp (b_8, (cob_u8_ptr)"AAYNAAWUAK 06fLGvxwYRgr BjVUskoNDT8a9awk", 40) != 0)) + { + + /* Line: 62 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_17); + + /* Line: 64 : UNSTRING : prog.cob */ + cob_unstring_init (&f_6, NULL, 1); + cob_unstring_delimited (&cob_all_space, 1); + cob_unstring_into (&f_10, 0, 0); + cob_unstring_into (&f_11, 0, 0); + cob_unstring_into (&f_12, 0, 0); + cob_unstring_finish (); + + /* Line: 68 : IF : prog.cob */ + if (((int)memcmp (b_9, (cob_u8_ptr)"AAYNAAWUAK06fLGvxwYRgrBjVUsk", 28) != 0)) + { + + /* Line: 69 : DISPLAY : prog.cob */ + cob_display (0, 1, 1, &c_18); + + /* Line: 71 : STOP RUN : prog.cob */ + cob_stop_run (b_2); + } + } + } + } + } + } + } + } + } + } + } + + /* Program exit */ + + /* Decrement module active count */ + if (module->module_active) { + module->module_active--; + } + + /* Pop module stack */ + cob_module_leave (module); + + /* Program return */ + return b_2; + + /* Frame stack jump table */ + P_switch: + cob_fatal_error (COB_FERROR_CODEGEN); + + + /* Program initialization */ + P_initialize: + + cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION, COB_PATCH_LEVEL); + + cob_module_path = cob_glob_ptr->cob_main_argv0; + + /* Initialize module structure */ + module->module_name = "strings-stmt"; + module->module_formatted_date = COB_MODULE_FORMATTED_DATE; + module->module_source = COB_SOURCE_FILE; + module->module_entry.funcptr = (void *(*)())strings__stmt; + module->module_cancel.funcptr = (void *(*)())strings__stmt_; + module->collating_sequence = NULL; + module->crt_status = NULL; + module->cursor_pos = NULL; + module->module_ref_count = NULL; + module->module_path = &cob_module_path; + module->module_active = 0; + module->module_date = COB_MODULE_DATE; + module->module_time = COB_MODULE_TIME; + module->module_type = 0; + module->module_param_cnt = 0; + module->module_returning = 0; + module->ebcdic_sign = 0; + module->decimal_point = '.'; + module->currency_symbol = '$'; + module->numeric_separator = ','; + module->flag_filename_mapping = 1; + module->flag_binary_truncate = 1; + module->flag_pretty_display = 1; + module->flag_host_sign = 0; + module->flag_no_phys_canc = 1; + module->flag_main = 1; + module->flag_fold_call = 0; + module->flag_exit_program = 0; + + /* Initialize cancel callback */ + cob_set_cancel (module); + + /* Initialize WORKING-STORAGE */ + b_2 = 0; + memcpy (b_6, "SSYNSSWuAK 06fLGvxwYRgr BjVuSk", 30); + memcpy (b_7, "oNDT8a9awk", 10); + memset (b_8, 32, 40); + memset (b_9, 32, 28); + memset (b_13, 48, 2); + + initialized = 1; + goto P_ret_initialize; + + /* CANCEL callback handling */ + P_cancel: + + if (!initialized) { + return 0; + } + if (module->module_active) { + cob_fatal_error (COB_FERROR_CANCEL); + } + + initialized = 0; + + P_clear_decimal: + + return 0; + +} + +/* End PROGRAM-ID 'strings-stmt' */ + +/* End functions */ + + +_ATEOF + + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3870: \$COMPILE prog.c" +at_fn_check_prepare_dynamic "$COMPILE prog.c" "backcomp.at:3870" +( $at_check_trace; $COMPILE 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/backcomp.at:3870" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/backcomp.at:3871: \$COBCRUN_DIRECT ./prog" +at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "backcomp.at:3871" +( $at_check_trace; $COBCRUN_DIRECT ./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/backcomp.at:3871" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1316